{"id":14962149,"url":"https://github.com/captaincodeman/svelte-headlessui","last_synced_at":"2025-05-14T14:08:29.669Z","repository":{"id":63452956,"uuid":"523527828","full_name":"CaptainCodeman/svelte-headlessui","owner":"CaptainCodeman","description":"HeadlessUI components for Svelte","archived":false,"fork":false,"pushed_at":"2025-01-26T21:43:39.000Z","size":5920,"stargazers_count":588,"open_issues_count":14,"forks_count":28,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-14T10:33:53.551Z","etag":null,"topics":["autocomplete","button","combobox","dialog","disclosure","dropdown","headless","listbox","menu","modal","popover","radio","renderless","select","svelte","svelte-components","tabs","tailwind","toggle","transition"],"latest_commit_sha":null,"homepage":"https://captaincodeman.github.io/svelte-headlessui/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CaptainCodeman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"license","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-08-10T23:40:58.000Z","updated_at":"2025-05-12T06:44:01.000Z","dependencies_parsed_at":"2023-10-17T03:15:43.828Z","dependency_job_id":"3d943697-5361-4a37-813f-91fbb74713fd","html_url":"https://github.com/CaptainCodeman/svelte-headlessui","commit_stats":{"total_commits":257,"total_committers":11,"mean_commits":"23.363636363636363","dds":0.06614785992217898,"last_synced_commit":"84aa291f164ff6ec9245820ef1f374e29e967758"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainCodeman%2Fsvelte-headlessui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainCodeman%2Fsvelte-headlessui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainCodeman%2Fsvelte-headlessui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CaptainCodeman%2Fsvelte-headlessui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CaptainCodeman","download_url":"https://codeload.github.com/CaptainCodeman/svelte-headlessui/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254160373,"owners_count":22024568,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autocomplete","button","combobox","dialog","disclosure","dropdown","headless","listbox","menu","modal","popover","radio","renderless","select","svelte","svelte-components","tabs","tailwind","toggle","transition"],"created_at":"2024-09-24T13:29:33.960Z","updated_at":"2025-05-14T14:08:29.651Z","avatar_url":"https://github.com/CaptainCodeman.png","language":"TypeScript","readme":"![minified](https://img.shields.io/bundlephobia/min/svelte-headlessui/0.0.25?style=for-the-badge)\n![minified + zipped](https://img.shields.io/bundlephobia/minzip/svelte-headlessui/0.0.25?style=for-the-badge)\n\n# Svelte-HeadlessUI\n\n![Svelte Headless-UI](https://raw.githubusercontent.com/CaptainCodeman/svelte-headlessui/8e312a2fc243e811d5d9b50e78457e10f650df49/packages/lib/static/svelte-headlessui-solid-text.svg?sanitize=true)\n\n`svelte-headlessui` is an unofficial implementation of [Tailwind HeadlessUI](https://headlessui.com/) for [Svelte](https://svelte.dev/). Just like the official implementation, they are:\n\n- ✅ Completely unstyled\n- ✅ Fully WIA-ARIA accessible UI components\n- ✅ Fully typed with Typescript\n- ✅ Designed to integrate beautifully with Tailwind CSS\n\nBut also:\n\n- ✅ Designed to integrate beautifully with Svelte and SvelteKit\n- ✅ Less than 14kB minified / 4kB minified gzipped\n\n## BREAKING CHANGE (v0.0.39)\n\nThe 0.0.39 release switched to using \"change\" instead of \"select\" as the event fired when the selected item changes for semantic correctness and to better match native inputs. Be sure to change listeners from `onselect` to `onchange`!\n\n## Installation\n\nInstall using your package manager of choice, e.g.\n\n    pnpm install svelte-headlessui\n\nImport the appropriate `create...` factory method in your component and use the custom store it returns to manage your component state and attach `use:action` behaviors to your elements.\n\nSee the individual component pages for usage examples.\n\n## Alternative\n\nYou may be interested in evaluating [@rgossiaux/svelte-headlessui](https://svelte-headlessui.goss.io). This package aligns closer to the official components in it's approach although I believe that approach (driven by React / Vue) contributes to the [larger size of 173kB minified / 29kB minified + gzipped](https://bundlephobia.com/package/@rgossiaux/svelte-headlessui@1.0.2).\n\n## Logo\n\nSpecial thanks to [Shoob](https://github.com/hshoob) for the awesome logo!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaptaincodeman%2Fsvelte-headlessui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcaptaincodeman%2Fsvelte-headlessui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcaptaincodeman%2Fsvelte-headlessui/lists"}