├── .cursorrules
├── .github
├── FUNDING.yml
├── ISSUE_TEMPLATE
│ ├── bug_report.yml
│ └── config.yml
├── composite-actions
│ └── install
│ │ └── action.yml
└── workflows
│ ├── pkg-pr.yml
│ └── quality.yml
├── .gitignore
├── .prettierrc
├── .storybook
├── styles.css
└── styles
│ ├── accordion.css
│ ├── angle-slider.css
│ ├── avatar.css
│ ├── carousel.css
│ ├── checkbox.css
│ ├── collapsible.css
│ ├── color-picker.css
│ ├── combobox.css
│ ├── date-picker.css
│ ├── dialog.css
│ ├── field.css
│ ├── file-upload.css
│ ├── floating-panel.css
│ ├── hover-card.css
│ ├── listbox.css
│ ├── menu.css
│ ├── number-input.css
│ ├── pagination.css
│ ├── password-input.css
│ ├── pin-input.css
│ ├── popover.css
│ ├── presence.css
│ ├── progress.css
│ ├── qr-code.css
│ ├── radio-group.css
│ ├── segment-group.css
│ ├── select.css
│ ├── signature-pad.css
│ ├── slider.css
│ ├── splitter.css
│ ├── steps.css
│ ├── switch.css
│ ├── tabs.css
│ ├── tags-input.css
│ ├── time-picker.css
│ ├── timer.css
│ ├── toast.css
│ ├── toggle-group.css
│ ├── tooltip.css
│ ├── tour.css
│ └── tree-view.css
├── .vscode
└── settings.json
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── biome.json
├── bun.lock
├── bunfig.toml
├── lefthook.yml
├── package.json
├── packages
├── react
│ ├── .storybook
│ │ ├── main.ts
│ │ └── preview.ts
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── clean-package.config.json
│ ├── package.json
│ ├── src
│ │ ├── components
│ │ │ ├── accordion
│ │ │ │ ├── accordion-context.tsx
│ │ │ │ ├── accordion-item-content.tsx
│ │ │ │ ├── accordion-item-context.tsx
│ │ │ │ ├── accordion-item-indicator.tsx
│ │ │ │ ├── accordion-item-trigger.tsx
│ │ │ │ ├── accordion-item.tsx
│ │ │ │ ├── accordion-root-provider.tsx
│ │ │ │ ├── accordion-root.tsx
│ │ │ │ ├── accordion.anatomy.ts
│ │ │ │ ├── accordion.stories.tsx
│ │ │ │ ├── accordion.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── collapsible.tsx
│ │ │ │ │ ├── context
│ │ │ │ │ │ ├── focusedValue.tsx
│ │ │ │ │ │ ├── getItemState.tsx
│ │ │ │ │ │ ├── setValue.tsx
│ │ │ │ │ │ └── value.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── horizontal.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── vertical.tsx
│ │ │ │ │ └── with-slider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── accordion.test.tsx
│ │ │ │ │ └── basic.tsx
│ │ │ │ ├── use-accordion-context.ts
│ │ │ │ ├── use-accordion-item-context.ts
│ │ │ │ ├── use-accordion-item-props-context.ts
│ │ │ │ └── use-accordion.ts
│ │ │ ├── anatomy.ts
│ │ │ ├── angle-slider
│ │ │ │ ├── angle-slider-context.tsx
│ │ │ │ ├── angle-slider-control.tsx
│ │ │ │ ├── angle-slider-hidden-input.tsx
│ │ │ │ ├── angle-slider-label.tsx
│ │ │ │ ├── angle-slider-marker-group.tsx
│ │ │ │ ├── angle-slider-marker.tsx
│ │ │ │ ├── angle-slider-root-provider.tsx
│ │ │ │ ├── angle-slider-root.tsx
│ │ │ │ ├── angle-slider-thumb.tsx
│ │ │ │ ├── angle-slider-value-text.tsx
│ │ │ │ ├── angle-slider.anatomy.tsx
│ │ │ │ ├── angle-slider.stories.tsx
│ │ │ │ ├── angle-slider.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ └── step.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── angle-slider.test.tsx
│ │ │ │ │ └── basic.tsx
│ │ │ │ ├── use-angle-slider-context.ts
│ │ │ │ └── use-angle-slider.ts
│ │ │ ├── avatar
│ │ │ │ ├── avatar-context.tsx
│ │ │ │ ├── avatar-fallback.tsx
│ │ │ │ ├── avatar-image.tsx
│ │ │ │ ├── avatar-root-provider.tsx
│ │ │ │ ├── avatar-root.tsx
│ │ │ │ ├── avatar.anatomy.ts
│ │ │ │ ├── avatar.stories.tsx
│ │ │ │ ├── avatar.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── closed.tsx
│ │ │ │ │ ├── context.tsx
│ │ │ │ │ ├── events.tsx
│ │ │ │ │ ├── provider.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── avatar.test.tsx
│ │ │ │ │ └── basic.tsx
│ │ │ │ ├── use-avatar-context.ts
│ │ │ │ └── use-avatar.ts
│ │ │ ├── carousel
│ │ │ │ ├── carousel-autoplay-trigger.tsx
│ │ │ │ ├── carousel-context.tsx
│ │ │ │ ├── carousel-control.tsx
│ │ │ │ ├── carousel-indicator-group.tsx
│ │ │ │ ├── carousel-indicator.tsx
│ │ │ │ ├── carousel-item-group.tsx
│ │ │ │ ├── carousel-item.tsx
│ │ │ │ ├── carousel-next-trigger.tsx
│ │ │ │ ├── carousel-prev-trigger.tsx
│ │ │ │ ├── carousel-root-provider.tsx
│ │ │ │ ├── carousel-root.tsx
│ │ │ │ ├── carousel.anatomy.ts
│ │ │ │ ├── carousel.stories.tsx
│ │ │ │ ├── carousel.test.tsx
│ │ │ │ ├── carousel.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── autoplay.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── use-carousel-context.ts
│ │ │ │ └── use-carousel.ts
│ │ │ ├── checkbox
│ │ │ │ ├── checkbox-context.tsx
│ │ │ │ ├── checkbox-control.tsx
│ │ │ │ ├── checkbox-group.tsx
│ │ │ │ ├── checkbox-hidden-input.tsx
│ │ │ │ ├── checkbox-indicator.tsx
│ │ │ │ ├── checkbox-label.tsx
│ │ │ │ ├── checkbox-root-provider.tsx
│ │ │ │ ├── checkbox-root.tsx
│ │ │ │ ├── checkbox.anatomy.ts
│ │ │ │ ├── checkbox.stories.tsx
│ │ │ │ ├── checkbox.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── group-controlled.tsx
│ │ │ │ │ ├── group-with-form.tsx
│ │ │ │ │ ├── group-with-invalid.tsx
│ │ │ │ │ ├── group-with-select-all.tsx
│ │ │ │ │ ├── group.tsx
│ │ │ │ │ ├── indeterminate.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── checkbox.test.tsx
│ │ │ │ │ └── controlled.tsx
│ │ │ │ ├── use-checkbox-context.ts
│ │ │ │ ├── use-checkbox-group-context.tsx
│ │ │ │ ├── use-checkbox-group.ts
│ │ │ │ └── use-checkbox.ts
│ │ │ ├── client-only
│ │ │ │ ├── client-only.stories.tsx
│ │ │ │ ├── client-only.tsx
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── with-fallback.tsx
│ │ │ │ └── index.ts
│ │ │ ├── clipboard
│ │ │ │ ├── clipboard-context.tsx
│ │ │ │ ├── clipboard-control.tsx
│ │ │ │ ├── clipboard-indicator.tsx
│ │ │ │ ├── clipboard-input.tsx
│ │ │ │ ├── clipboard-label.tsx
│ │ │ │ ├── clipboard-root-provider.tsx
│ │ │ │ ├── clipboard-root.tsx
│ │ │ │ ├── clipboard-trigger.tsx
│ │ │ │ ├── clipboard-value-text.tsx
│ │ │ │ ├── clipboard.anatomy.ts
│ │ │ │ ├── clipboard.stories.tsx
│ │ │ │ ├── clipboard.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ └── clipboard.test.tsx
│ │ │ │ ├── use-clipboard-context.ts
│ │ │ │ └── use-clipboard.ts
│ │ │ ├── collapsible
│ │ │ │ ├── collapsible-content.tsx
│ │ │ │ ├── collapsible-context.tsx
│ │ │ │ ├── collapsible-indicator.tsx
│ │ │ │ ├── collapsible-root-provider.tsx
│ │ │ │ ├── collapsible-root.tsx
│ │ │ │ ├── collapsible-trigger.tsx
│ │ │ │ ├── collapsible.anatomy.ts
│ │ │ │ ├── collapsible.stories.tsx
│ │ │ │ ├── collapsible.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── initial-open.tsx
│ │ │ │ │ ├── lazy-mount-and-unmount-on-exit.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── on-exit-complete.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── unmount-on-exit.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── split-collapsible-props.ts
│ │ │ │ ├── tests
│ │ │ │ │ └── collapsible.test.tsx
│ │ │ │ ├── use-collapsible-context.ts
│ │ │ │ └── use-collapsible.ts
│ │ │ ├── collection.ts
│ │ │ ├── color-picker
│ │ │ │ ├── color-picker-area-background.tsx
│ │ │ │ ├── color-picker-area-thumb.tsx
│ │ │ │ ├── color-picker-area.tsx
│ │ │ │ ├── color-picker-channel-input.tsx
│ │ │ │ ├── color-picker-channel-slider-label.tsx
│ │ │ │ ├── color-picker-channel-slider-thumb.tsx
│ │ │ │ ├── color-picker-channel-slider-track.tsx
│ │ │ │ ├── color-picker-channel-slider-value-text.tsx
│ │ │ │ ├── color-picker-channel-slider.tsx
│ │ │ │ ├── color-picker-content.tsx
│ │ │ │ ├── color-picker-context.tsx
│ │ │ │ ├── color-picker-control.tsx
│ │ │ │ ├── color-picker-eye-dropper-trigger.tsx
│ │ │ │ ├── color-picker-format-select.tsx
│ │ │ │ ├── color-picker-format-trigger.tsx
│ │ │ │ ├── color-picker-hidden-input.tsx
│ │ │ │ ├── color-picker-label.tsx
│ │ │ │ ├── color-picker-positioner.tsx
│ │ │ │ ├── color-picker-root-provider.tsx
│ │ │ │ ├── color-picker-root.tsx
│ │ │ │ ├── color-picker-swatch-group.tsx
│ │ │ │ ├── color-picker-swatch-indicator.tsx
│ │ │ │ ├── color-picker-swatch-trigger.tsx
│ │ │ │ ├── color-picker-swatch.tsx
│ │ │ │ ├── color-picker-transparency-grid.tsx
│ │ │ │ ├── color-picker-trigger.tsx
│ │ │ │ ├── color-picker-value-swatch.tsx
│ │ │ │ ├── color-picker-value-text.tsx
│ │ │ │ ├── color-picker-view.tsx
│ │ │ │ ├── color-picker.anatomy.ts
│ │ │ │ ├── color-picker.stories.tsx
│ │ │ │ ├── color-picker.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── _template.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── inline.tsx
│ │ │ │ │ ├── on-change-end.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── slider-only.tsx
│ │ │ │ │ ├── swatch-only.tsx
│ │ │ │ │ ├── with-field.tsx
│ │ │ │ │ └── with-form-register.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── color-picker.test.tsx
│ │ │ │ ├── use-color-picker-area-props-context.ts
│ │ │ │ ├── use-color-picker-channel-props-context.ts
│ │ │ │ ├── use-color-picker-context.ts
│ │ │ │ ├── use-color-picker-format-context.ts
│ │ │ │ ├── use-color-picker-swatch-props-context.ts
│ │ │ │ └── use-color-picker.ts
│ │ │ ├── combobox
│ │ │ │ ├── combobox-clear-trigger.tsx
│ │ │ │ ├── combobox-content.tsx
│ │ │ │ ├── combobox-context.tsx
│ │ │ │ ├── combobox-control.tsx
│ │ │ │ ├── combobox-input.tsx
│ │ │ │ ├── combobox-item-context.tsx
│ │ │ │ ├── combobox-item-group-label.tsx
│ │ │ │ ├── combobox-item-group.tsx
│ │ │ │ ├── combobox-item-indicator.tsx
│ │ │ │ ├── combobox-item-text.tsx
│ │ │ │ ├── combobox-item.tsx
│ │ │ │ ├── combobox-label.tsx
│ │ │ │ ├── combobox-list.tsx
│ │ │ │ ├── combobox-positioner.tsx
│ │ │ │ ├── combobox-root-provider.tsx
│ │ │ │ ├── combobox-root.tsx
│ │ │ │ ├── combobox-trigger.tsx
│ │ │ │ ├── combobox.anatomy.ts
│ │ │ │ ├── combobox.stories.tsx
│ │ │ │ ├── combobox.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── advanced.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── filter.tsx
│ │ │ │ │ ├── links.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── combobox.test.tsx
│ │ │ │ ├── use-combobox-context.ts
│ │ │ │ ├── use-combobox-item-context.ts
│ │ │ │ ├── use-combobox-item-group-props-context.ts
│ │ │ │ ├── use-combobox-item-props-context.ts
│ │ │ │ └── use-combobox.ts
│ │ │ ├── date-picker
│ │ │ │ ├── date-picker-clear-trigger.tsx
│ │ │ │ ├── date-picker-content.tsx
│ │ │ │ ├── date-picker-context.tsx
│ │ │ │ ├── date-picker-control.tsx
│ │ │ │ ├── date-picker-input.tsx
│ │ │ │ ├── date-picker-label.tsx
│ │ │ │ ├── date-picker-month-select.tsx
│ │ │ │ ├── date-picker-next-trigger.tsx
│ │ │ │ ├── date-picker-positioner.tsx
│ │ │ │ ├── date-picker-preset-trigger.tsx
│ │ │ │ ├── date-picker-prev-trigger.tsx
│ │ │ │ ├── date-picker-range-text.tsx
│ │ │ │ ├── date-picker-root-provider.tsx
│ │ │ │ ├── date-picker-root.tsx
│ │ │ │ ├── date-picker-table-body.tsx
│ │ │ │ ├── date-picker-table-cell-trigger.tsx
│ │ │ │ ├── date-picker-table-cell.tsx
│ │ │ │ ├── date-picker-table-head.tsx
│ │ │ │ ├── date-picker-table-header.tsx
│ │ │ │ ├── date-picker-table-row.tsx
│ │ │ │ ├── date-picker-table.tsx
│ │ │ │ ├── date-picker-trigger.tsx
│ │ │ │ ├── date-picker-view-control.tsx
│ │ │ │ ├── date-picker-view-trigger.tsx
│ │ │ │ ├── date-picker-view.tsx
│ │ │ │ ├── date-picker-year-select.tsx
│ │ │ │ ├── date-picker.anatomy.ts
│ │ │ │ ├── date-picker.stories.tsx
│ │ │ │ ├── date-picker.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── format-parse.tsx
│ │ │ │ │ ├── month-picker.tsx
│ │ │ │ │ ├── range.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── standalone.tsx
│ │ │ │ │ └── year-picker.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── date-picker.test.tsx
│ │ │ │ ├── use-date-picker-context.ts
│ │ │ │ ├── use-date-picker-table-cell-props-context.ts
│ │ │ │ ├── use-date-picker-table-props-context.ts
│ │ │ │ ├── use-date-picker-view-props-context.ts
│ │ │ │ └── use-date-picker.ts
│ │ │ ├── dialog
│ │ │ │ ├── dialog-backdrop.tsx
│ │ │ │ ├── dialog-close-trigger.tsx
│ │ │ │ ├── dialog-content.tsx
│ │ │ │ ├── dialog-context.tsx
│ │ │ │ ├── dialog-description.tsx
│ │ │ │ ├── dialog-positioner.tsx
│ │ │ │ ├── dialog-root-provider.tsx
│ │ │ │ ├── dialog-root.tsx
│ │ │ │ ├── dialog-title.tsx
│ │ │ │ ├── dialog-trigger.tsx
│ │ │ │ ├── dialog.anatomy.ts
│ │ │ │ ├── dialog.stories.tsx
│ │ │ │ ├── dialog.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── dialog.test.tsx
│ │ │ │ ├── use-dialog-context.ts
│ │ │ │ └── use-dialog.ts
│ │ │ ├── download-trigger
│ │ │ │ ├── download-trigger.stories.tsx
│ │ │ │ ├── download-trigger.tsx
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── svg.tsx
│ │ │ │ │ └── with-promise.tsx
│ │ │ │ └── index.ts
│ │ │ ├── editable
│ │ │ │ ├── editable-area.tsx
│ │ │ │ ├── editable-cancel-trigger.tsx
│ │ │ │ ├── editable-context.tsx
│ │ │ │ ├── editable-control.tsx
│ │ │ │ ├── editable-edit-trigger.tsx
│ │ │ │ ├── editable-input.tsx
│ │ │ │ ├── editable-label.tsx
│ │ │ │ ├── editable-preview.tsx
│ │ │ │ ├── editable-root-provider.tsx
│ │ │ │ ├── editable-root.tsx
│ │ │ │ ├── editable-submit-trigger.tsx
│ │ │ │ ├── editable.anatomy.ts
│ │ │ │ ├── editable.stories.tsx
│ │ │ │ ├── editable.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── custom-controls.tsx
│ │ │ │ │ ├── double-click.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ └── editable.test.tsx
│ │ │ │ ├── use-editable-context.ts
│ │ │ │ └── use-editable.ts
│ │ │ ├── factory.test.tsx
│ │ │ ├── factory.ts
│ │ │ ├── field
│ │ │ │ ├── examples
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── input.tsx
│ │ │ │ │ ├── invalid.tsx
│ │ │ │ │ ├── required-indicator.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── select.tsx
│ │ │ │ │ ├── shadow-dom.tsx
│ │ │ │ │ ├── textarea-autoresize.tsx
│ │ │ │ │ └── textarea.tsx
│ │ │ │ ├── field-context.tsx
│ │ │ │ ├── field-error-text.tsx
│ │ │ │ ├── field-helper-text.tsx
│ │ │ │ ├── field-input.tsx
│ │ │ │ ├── field-label.tsx
│ │ │ │ ├── field-required-indicator.tsx
│ │ │ │ ├── field-root-provider.tsx
│ │ │ │ ├── field-root.tsx
│ │ │ │ ├── field-select.tsx
│ │ │ │ ├── field-textarea.tsx
│ │ │ │ ├── field.anatomy.ts
│ │ │ │ ├── field.stories.tsx
│ │ │ │ ├── field.test.tsx
│ │ │ │ ├── field.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── use-field-context.ts
│ │ │ │ └── use-field.ts
│ │ │ ├── fieldset
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── phone-input.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── with-checkbox.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── fieldset-context.tsx
│ │ │ │ ├── fieldset-error-text.tsx
│ │ │ │ ├── fieldset-helper-text.tsx
│ │ │ │ ├── fieldset-legend.tsx
│ │ │ │ ├── fieldset-root-provider.tsx
│ │ │ │ ├── fieldset-root.tsx
│ │ │ │ ├── fieldset.anatomy.ts
│ │ │ │ ├── fieldset.stories.tsx
│ │ │ │ ├── fieldset.test.tsx
│ │ │ │ ├── fieldset.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── use-fieldset-context.ts
│ │ │ │ └── use-fieldset.ts
│ │ │ ├── file-upload
│ │ │ │ ├── examples
│ │ │ │ │ ├── accepted-file-types.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── clear-trigger.tsx
│ │ │ │ │ ├── directory-upload.tsx
│ │ │ │ │ ├── form-register.tsx
│ │ │ │ │ ├── form-set-value.tsx
│ │ │ │ │ ├── media-capture.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── validation.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── file-upload-clear-trigger.tsx
│ │ │ │ ├── file-upload-context.tsx
│ │ │ │ ├── file-upload-dropzone.tsx
│ │ │ │ ├── file-upload-hidden-input.tsx
│ │ │ │ ├── file-upload-item-delete-trigger.tsx
│ │ │ │ ├── file-upload-item-group.tsx
│ │ │ │ ├── file-upload-item-name.tsx
│ │ │ │ ├── file-upload-item-preview-image.tsx
│ │ │ │ ├── file-upload-item-preview.tsx
│ │ │ │ ├── file-upload-item-size-text.tsx
│ │ │ │ ├── file-upload-item.tsx
│ │ │ │ ├── file-upload-label.tsx
│ │ │ │ ├── file-upload-root-provider.tsx
│ │ │ │ ├── file-upload-root.tsx
│ │ │ │ ├── file-upload-trigger.tsx
│ │ │ │ ├── file-upload.anatomy.ts
│ │ │ │ ├── file-upload.stories.tsx
│ │ │ │ ├── file-upload.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── file-upload.test.tsx
│ │ │ │ ├── use-file-upload-context.ts
│ │ │ │ ├── use-file-upload-item-props-context.ts
│ │ │ │ └── use-file-upload.ts
│ │ │ ├── floating-panel
│ │ │ │ ├── examples
│ │ │ │ │ ├── anchor-position.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled-open.tsx
│ │ │ │ │ ├── controlled-position.tsx
│ │ │ │ │ ├── controlled-size.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ └── render-fn.tsx
│ │ │ │ ├── floating-panel-body.tsx
│ │ │ │ ├── floating-panel-close-trigger.tsx
│ │ │ │ ├── floating-panel-content.tsx
│ │ │ │ ├── floating-panel-context.tsx
│ │ │ │ ├── floating-panel-control.tsx
│ │ │ │ ├── floating-panel-drag-trigger.tsx
│ │ │ │ ├── floating-panel-header.tsx
│ │ │ │ ├── floating-panel-positioner.tsx
│ │ │ │ ├── floating-panel-resize-trigger.tsx
│ │ │ │ ├── floating-panel-root-provider.tsx
│ │ │ │ ├── floating-panel-root.tsx
│ │ │ │ ├── floating-panel-stage-trigger.tsx
│ │ │ │ ├── floating-panel-title.tsx
│ │ │ │ ├── floating-panel-trigger.tsx
│ │ │ │ ├── floating-panel.anatomy.ts
│ │ │ │ ├── floating-panel.stories.tsx
│ │ │ │ ├── floating-panel.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── use-floating-panel-context.ts
│ │ │ │ └── use-floating-panel.ts
│ │ │ ├── focus-trap
│ │ │ │ ├── examples
│ │ │ │ │ ├── autofocus.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── initial-focus.tsx
│ │ │ │ ├── focus-trap.stories.tsx
│ │ │ │ ├── focus-trap.tsx
│ │ │ │ └── index.ts
│ │ │ ├── format
│ │ │ │ ├── examples
│ │ │ │ │ ├── byte-basic.tsx
│ │ │ │ │ ├── byte-sizes.tsx
│ │ │ │ │ ├── byte-with-locale.tsx
│ │ │ │ │ ├── byte-with-unit-display.tsx
│ │ │ │ │ ├── byte-with-unit.tsx
│ │ │ │ │ ├── number-basic.tsx
│ │ │ │ │ ├── number-with-compact.tsx
│ │ │ │ │ ├── number-with-currency.tsx
│ │ │ │ │ ├── number-with-locale.tsx
│ │ │ │ │ ├── number-with-percentage.tsx
│ │ │ │ │ ├── number-with-unit.tsx
│ │ │ │ │ ├── relative-time-basic.tsx
│ │ │ │ │ └── relative-time-short.tsx
│ │ │ │ ├── format-byte.tsx
│ │ │ │ ├── format-number.tsx
│ │ │ │ ├── format-relative-time.tsx
│ │ │ │ ├── format.stories.tsx
│ │ │ │ ├── format.ts
│ │ │ │ └── index.ts
│ │ │ ├── frame
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── inherit-styles.tsx
│ │ │ │ │ ├── script.tsx
│ │ │ │ │ └── src-doc.tsx
│ │ │ │ ├── frame-content.tsx
│ │ │ │ ├── frame.stories.tsx
│ │ │ │ ├── frame.tsx
│ │ │ │ └── index.ts
│ │ │ ├── highlight
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── ignore-case.tsx
│ │ │ │ │ ├── match-all.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ ├── with-input.tsx
│ │ │ │ │ └── with-repeating-text.tsx
│ │ │ │ ├── highlight.stories.tsx
│ │ │ │ ├── highlight.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── use-highlight.ts
│ │ │ ├── hover-card
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── positioning.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── hover-card-arrow-tip.tsx
│ │ │ │ ├── hover-card-arrow.tsx
│ │ │ │ ├── hover-card-content.tsx
│ │ │ │ ├── hover-card-context.tsx
│ │ │ │ ├── hover-card-positioner.tsx
│ │ │ │ ├── hover-card-root-provider.tsx
│ │ │ │ ├── hover-card-root.tsx
│ │ │ │ ├── hover-card-trigger.tsx
│ │ │ │ ├── hover-card.anatomy.ts
│ │ │ │ ├── hover-card.stories.tsx
│ │ │ │ ├── hover-card.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── hover-card.test.tsx
│ │ │ │ ├── use-hover-card-context.ts
│ │ │ │ └── use-hover-card.ts
│ │ │ ├── index.ts
│ │ │ ├── listbox
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── group.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── value-text.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── listbox-content.tsx
│ │ │ │ ├── listbox-context.ts
│ │ │ │ ├── listbox-input.tsx
│ │ │ │ ├── listbox-item-group-label.tsx
│ │ │ │ ├── listbox-item-group.tsx
│ │ │ │ ├── listbox-item-indicator.tsx
│ │ │ │ ├── listbox-item-text.tsx
│ │ │ │ ├── listbox-item.tsx
│ │ │ │ ├── listbox-label.tsx
│ │ │ │ ├── listbox-root-provider.tsx
│ │ │ │ ├── listbox-root.tsx
│ │ │ │ ├── listbox-value-text.tsx
│ │ │ │ ├── listbox.anatomy.ts
│ │ │ │ ├── listbox.stories.tsx
│ │ │ │ ├── listbox.test.tsx
│ │ │ │ ├── listbox.ts
│ │ │ │ ├── use-listbox-context.ts
│ │ │ │ ├── use-listbox-item-context.ts
│ │ │ │ ├── use-listbox-item-group-props.ts
│ │ │ │ ├── use-listbox-item-props-context.ts
│ │ │ │ └── use-listbox.ts
│ │ │ ├── menu
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── checkbox.tsx
│ │ │ │ │ ├── context.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── group.tsx
│ │ │ │ │ ├── multiple-menu.tsx
│ │ │ │ │ ├── nested.tsx
│ │ │ │ │ ├── radio-group.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── select-event.tsx
│ │ │ │ │ └── separator.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── menu-arrow-tip.tsx
│ │ │ │ ├── menu-arrow.tsx
│ │ │ │ ├── menu-checkbox-item.tsx
│ │ │ │ ├── menu-content.tsx
│ │ │ │ ├── menu-context-trigger.tsx
│ │ │ │ ├── menu-context.tsx
│ │ │ │ ├── menu-indicator.tsx
│ │ │ │ ├── menu-item-context.tsx
│ │ │ │ ├── menu-item-group-label.tsx
│ │ │ │ ├── menu-item-group.tsx
│ │ │ │ ├── menu-item-indicator.tsx
│ │ │ │ ├── menu-item-text.tsx
│ │ │ │ ├── menu-item.tsx
│ │ │ │ ├── menu-positioner.tsx
│ │ │ │ ├── menu-radio-item-group.tsx
│ │ │ │ ├── menu-radio-item.tsx
│ │ │ │ ├── menu-root-provider.tsx
│ │ │ │ ├── menu-root.tsx
│ │ │ │ ├── menu-separator.tsx
│ │ │ │ ├── menu-trigger-item.tsx
│ │ │ │ ├── menu-trigger.tsx
│ │ │ │ ├── menu.anatomy.ts
│ │ │ │ ├── menu.stories.tsx
│ │ │ │ ├── menu.ts
│ │ │ │ ├── tests
│ │ │ │ │ └── menu.test.tsx
│ │ │ │ ├── use-menu-context.ts
│ │ │ │ ├── use-menu-item-context.ts
│ │ │ │ ├── use-menu-item-group-context.ts
│ │ │ │ ├── use-menu-machine-context.ts
│ │ │ │ ├── use-menu-option-item-props-context.ts
│ │ │ │ ├── use-menu-trigger-item-context.ts
│ │ │ │ └── use-menu.ts
│ │ │ ├── number-input
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── form-usage.tsx
│ │ │ │ │ ├── formatted.tsx
│ │ │ │ │ ├── fraction-digits.tsx
│ │ │ │ │ ├── min-max.tsx
│ │ │ │ │ ├── mouse-wheel.tsx
│ │ │ │ │ ├── no-clamp.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── scrubber.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── number-input-context.tsx
│ │ │ │ ├── number-input-control.tsx
│ │ │ │ ├── number-input-decrement-trigger.tsx
│ │ │ │ ├── number-input-increment-trigger.tsx
│ │ │ │ ├── number-input-input.tsx
│ │ │ │ ├── number-input-label.tsx
│ │ │ │ ├── number-input-root-provider.tsx
│ │ │ │ ├── number-input-root.tsx
│ │ │ │ ├── number-input-scrubber.tsx
│ │ │ │ ├── number-input-value-text.tsx
│ │ │ │ ├── number-input.anatomy.ts
│ │ │ │ ├── number-input.stories.tsx
│ │ │ │ ├── number-input.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── number-input.test.tsx
│ │ │ │ ├── use-number-input-context.ts
│ │ │ │ └── use-number-input.ts
│ │ │ ├── pagination
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── customized.tsx
│ │ │ │ │ ├── link.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── pagination-context.tsx
│ │ │ │ ├── pagination-ellipsis.tsx
│ │ │ │ ├── pagination-item.tsx
│ │ │ │ ├── pagination-next-trigger.tsx
│ │ │ │ ├── pagination-prev-trigger.tsx
│ │ │ │ ├── pagination-root-provider.tsx
│ │ │ │ ├── pagination-root.tsx
│ │ │ │ ├── pagination.anatomy.ts
│ │ │ │ ├── pagination.stories.tsx
│ │ │ │ ├── pagination.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── pagination.test.tsx
│ │ │ │ ├── use-pagination-context.ts
│ │ │ │ └── use-pagination.ts
│ │ │ ├── password-input
│ │ │ │ ├── examples
│ │ │ │ │ ├── autocomplete.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled-visibility.tsx
│ │ │ │ │ ├── ignore-password-manager.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── password-input-context.tsx
│ │ │ │ ├── password-input-control.tsx
│ │ │ │ ├── password-input-indicator.tsx
│ │ │ │ ├── password-input-input.tsx
│ │ │ │ ├── password-input-label.tsx
│ │ │ │ ├── password-input-root-provider.tsx
│ │ │ │ ├── password-input-root.tsx
│ │ │ │ ├── password-input-visibility-trigger.tsx
│ │ │ │ ├── password-input.anatomy.ts
│ │ │ │ ├── password-input.stories.tsx
│ │ │ │ ├── password-input.ts
│ │ │ │ ├── use-password-input-context.ts
│ │ │ │ └── use-password-input.ts
│ │ │ ├── pin-input
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── blurred.tsx
│ │ │ │ │ ├── customized.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── otp-mode.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── with-autofocus.tsx
│ │ │ │ │ ├── with-field.tsx
│ │ │ │ │ └── with-mask.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── pin-input-context.tsx
│ │ │ │ ├── pin-input-control.tsx
│ │ │ │ ├── pin-input-hidden-input.tsx
│ │ │ │ ├── pin-input-input.tsx
│ │ │ │ ├── pin-input-label.tsx
│ │ │ │ ├── pin-input-root-provider.tsx
│ │ │ │ ├── pin-input-root.tsx
│ │ │ │ ├── pin-input.anatomy.ts
│ │ │ │ ├── pin-input.stories.tsx
│ │ │ │ ├── pin-input.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── pin-input.test.tsx
│ │ │ │ ├── use-pin-input-context.ts
│ │ │ │ └── use-pin-input.ts
│ │ │ ├── popover
│ │ │ │ ├── examples
│ │ │ │ │ ├── anchor.tsx
│ │ │ │ │ ├── arrow.tsx
│ │ │ │ │ ├── as-child.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── close-behavior.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disable-outside-click.tsx
│ │ │ │ │ ├── factory.tsx
│ │ │ │ │ ├── initial-focus.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── modal.tsx
│ │ │ │ │ ├── nested-popover.tsx
│ │ │ │ │ ├── on-open-change.tsx
│ │ │ │ │ ├── portalled.tsx
│ │ │ │ │ ├── positioning.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── same-width.tsx
│ │ │ │ │ └── with-dialog.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── popover-anchor.tsx
│ │ │ │ ├── popover-arrow-tip.tsx
│ │ │ │ ├── popover-arrow.tsx
│ │ │ │ ├── popover-close-trigger.tsx
│ │ │ │ ├── popover-content.tsx
│ │ │ │ ├── popover-context.tsx
│ │ │ │ ├── popover-description.tsx
│ │ │ │ ├── popover-indicator.tsx
│ │ │ │ ├── popover-positioner.tsx
│ │ │ │ ├── popover-root-provider.tsx
│ │ │ │ ├── popover-root.tsx
│ │ │ │ ├── popover-title.tsx
│ │ │ │ ├── popover-trigger.tsx
│ │ │ │ ├── popover.anatomy.ts
│ │ │ │ ├── popover.stories.tsx
│ │ │ │ ├── popover.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ └── popover.test.tsx
│ │ │ │ ├── use-popover-context.ts
│ │ │ │ └── use-popover.ts
│ │ │ ├── portal
│ │ │ │ ├── index.ts
│ │ │ │ ├── portal.test.tsx
│ │ │ │ └── portal.tsx
│ │ │ ├── presence
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── lazy-mount-and-unmount-on-exit.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── skip-animation-on-mount.tsx
│ │ │ │ │ └── unmount-on-exit.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── presence.stories.tsx
│ │ │ │ ├── presence.test.tsx
│ │ │ │ ├── presence.tsx
│ │ │ │ ├── split-presence-props.ts
│ │ │ │ ├── use-presence-context.ts
│ │ │ │ └── use-presence.ts
│ │ │ ├── progress
│ │ │ │ ├── examples
│ │ │ │ │ ├── circular
│ │ │ │ │ │ ├── basic.tsx
│ │ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ │ ├── indeterminate.tsx
│ │ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ │ ├── min-max.tsx
│ │ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ │ └── value-text.tsx
│ │ │ │ │ └── linear
│ │ │ │ │ │ ├── basic.tsx
│ │ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ │ ├── indeterminate.tsx
│ │ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ │ ├── min-max.tsx
│ │ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ │ ├── value-text.tsx
│ │ │ │ │ │ └── vertical.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── progress-circle-range.tsx
│ │ │ │ ├── progress-circle-track.tsx
│ │ │ │ ├── progress-circle.tsx
│ │ │ │ ├── progress-circular.stories.tsx
│ │ │ │ ├── progress-context.tsx
│ │ │ │ ├── progress-label.tsx
│ │ │ │ ├── progress-linear.stories.tsx
│ │ │ │ ├── progress-range.tsx
│ │ │ │ ├── progress-root-provider.tsx
│ │ │ │ ├── progress-root.tsx
│ │ │ │ ├── progress-track.tsx
│ │ │ │ ├── progress-value-text.tsx
│ │ │ │ ├── progress-view.tsx
│ │ │ │ ├── progress.anatomy.ts
│ │ │ │ ├── progress.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── progress.test.tsx
│ │ │ │ ├── use-progress-context.ts
│ │ │ │ └── use-progress.ts
│ │ │ ├── qr-code
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── error-correction.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-overlay.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── qr-code-context.tsx
│ │ │ │ ├── qr-code-download-trigger.tsx
│ │ │ │ ├── qr-code-frame.tsx
│ │ │ │ ├── qr-code-overlay.tsx
│ │ │ │ ├── qr-code-pattern.tsx
│ │ │ │ ├── qr-code-root-provider.tsx
│ │ │ │ ├── qr-code-root.tsx
│ │ │ │ ├── qr-code.anatomy.ts
│ │ │ │ ├── qr-code.stories.tsx
│ │ │ │ ├── qr-code.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── qr-code.test.tsx
│ │ │ │ ├── use-qr-code-context.ts
│ │ │ │ └── use-qr-code.ts
│ │ │ ├── radio-group
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── on-event.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── radio-group-context.tsx
│ │ │ │ ├── radio-group-indicator.tsx
│ │ │ │ ├── radio-group-item-context.tsx
│ │ │ │ ├── radio-group-item-control.tsx
│ │ │ │ ├── radio-group-item-hidden-input.tsx
│ │ │ │ ├── radio-group-item-text.tsx
│ │ │ │ ├── radio-group-item.tsx
│ │ │ │ ├── radio-group-label.tsx
│ │ │ │ ├── radio-group-root-provider.tsx
│ │ │ │ ├── radio-group-root.tsx
│ │ │ │ ├── radio-group.anatomy.ts
│ │ │ │ ├── radio-group.stories.tsx
│ │ │ │ ├── radio-group.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── radio-group.test.tsx
│ │ │ │ ├── use-radio-group-context.ts
│ │ │ │ ├── use-radio-group-item-context.ts
│ │ │ │ ├── use-radio-group-item-props-context.ts
│ │ │ │ └── use-radio-group.ts
│ │ │ ├── rating-group
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── form-usage.tsx
│ │ │ │ │ ├── half-ratings.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── read-only.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── rating-group-context.tsx
│ │ │ │ ├── rating-group-control.tsx
│ │ │ │ ├── rating-group-hidden-input.tsx
│ │ │ │ ├── rating-group-item-context.tsx
│ │ │ │ ├── rating-group-item.tsx
│ │ │ │ ├── rating-group-label.tsx
│ │ │ │ ├── rating-group-root-provider.tsx
│ │ │ │ ├── rating-group-root.tsx
│ │ │ │ ├── rating-group.anatomy.ts
│ │ │ │ ├── rating-group.stories.tsx
│ │ │ │ ├── rating-group.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── rating-group.test.tsx
│ │ │ │ ├── use-rating-group-context.ts
│ │ │ │ ├── use-rating-group-item-context.ts
│ │ │ │ └── use-rating-group.ts
│ │ │ ├── segment-group
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── conditional.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── segment-group-context.tsx
│ │ │ │ ├── segment-group-indicator.tsx
│ │ │ │ ├── segment-group-item-context.tsx
│ │ │ │ ├── segment-group-item-control.tsx
│ │ │ │ ├── segment-group-item-hidden-input.tsx
│ │ │ │ ├── segment-group-item-text.tsx
│ │ │ │ ├── segment-group-item.tsx
│ │ │ │ ├── segment-group-label.tsx
│ │ │ │ ├── segment-group-root-provider.tsx
│ │ │ │ ├── segment-group-root.tsx
│ │ │ │ ├── segment-group.anatomy.ts
│ │ │ │ ├── segment-group.stories.tsx
│ │ │ │ ├── segment-group.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── segment-group.test.tsx
│ │ │ │ ├── use-segment-group-context.ts
│ │ │ │ ├── use-segment-group-item-context.ts
│ │ │ │ ├── use-segment-group-item-props-context.ts
│ │ │ │ └── use-segment-group.ts
│ │ │ ├── select
│ │ │ │ ├── examples
│ │ │ │ │ ├── advanced.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── form-library-with-default-value.tsx
│ │ │ │ │ ├── form-library.tsx
│ │ │ │ │ ├── fully-controlled.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ ├── overflow.tsx
│ │ │ │ │ ├── reactive-collection.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── select-all.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── select-clear-trigger.tsx
│ │ │ │ ├── select-content.tsx
│ │ │ │ ├── select-context.tsx
│ │ │ │ ├── select-control.tsx
│ │ │ │ ├── select-hidden-select.tsx
│ │ │ │ ├── select-indicator.tsx
│ │ │ │ ├── select-item-context.tsx
│ │ │ │ ├── select-item-group-label.tsx
│ │ │ │ ├── select-item-group.tsx
│ │ │ │ ├── select-item-indicator.tsx
│ │ │ │ ├── select-item-text.tsx
│ │ │ │ ├── select-item.tsx
│ │ │ │ ├── select-label.tsx
│ │ │ │ ├── select-list.tsx
│ │ │ │ ├── select-positioner.tsx
│ │ │ │ ├── select-root-provider.tsx
│ │ │ │ ├── select-root.tsx
│ │ │ │ ├── select-trigger.tsx
│ │ │ │ ├── select-value-text.tsx
│ │ │ │ ├── select.anatomy.ts
│ │ │ │ ├── select.stories.tsx
│ │ │ │ ├── select.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── select.test.tsx
│ │ │ │ ├── use-select-context.ts
│ │ │ │ ├── use-select-item-context.ts
│ │ │ │ ├── use-select-item-group-props.tsx
│ │ │ │ ├── use-select-item-props-context.ts
│ │ │ │ └── use-select.ts
│ │ │ ├── signature-pad
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── image-preview.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── signature-pad-clear-trigger.tsx
│ │ │ │ ├── signature-pad-context.tsx
│ │ │ │ ├── signature-pad-control.tsx
│ │ │ │ ├── signature-pad-guide.tsx
│ │ │ │ ├── signature-pad-hidden-input.tsx
│ │ │ │ ├── signature-pad-label.tsx
│ │ │ │ ├── signature-pad-root-provider.tsx
│ │ │ │ ├── signature-pad-root.tsx
│ │ │ │ ├── signature-pad-segment.tsx
│ │ │ │ ├── signature-pad.anatomy.ts
│ │ │ │ ├── signature-pad.stories.tsx
│ │ │ │ ├── signature-pad.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── signature-pad.test.tsx
│ │ │ │ ├── use-signature-pad-context.ts
│ │ │ │ └── use-signature-pad.ts
│ │ │ ├── slider
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── center-origin.tsx
│ │ │ │ │ ├── dragging-indicator.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── min-max.tsx
│ │ │ │ │ ├── on-event.tsx
│ │ │ │ │ ├── range.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── step.tsx
│ │ │ │ │ ├── thumb-overlap.tsx
│ │ │ │ │ ├── vertical.tsx
│ │ │ │ │ └── with-marks.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── slider-context.tsx
│ │ │ │ ├── slider-control.tsx
│ │ │ │ ├── slider-dragging-indicator.tsx
│ │ │ │ ├── slider-hidden-input.tsx
│ │ │ │ ├── slider-label.tsx
│ │ │ │ ├── slider-marker-group.tsx
│ │ │ │ ├── slider-marker.tsx
│ │ │ │ ├── slider-range.tsx
│ │ │ │ ├── slider-root-provider.tsx
│ │ │ │ ├── slider-root.tsx
│ │ │ │ ├── slider-thumb.tsx
│ │ │ │ ├── slider-track.tsx
│ │ │ │ ├── slider-value-text.tsx
│ │ │ │ ├── slider.anatomy.ts
│ │ │ │ ├── slider.stories.tsx
│ │ │ │ ├── slider.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── slider.test.tsx
│ │ │ │ ├── use-slider-context.ts
│ │ │ │ ├── use-slider-thumb-props-context.ts
│ │ │ │ └── use-slider.ts
│ │ │ ├── splitter
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── collapsible.tsx
│ │ │ │ │ ├── events.tsx
│ │ │ │ │ ├── multiple-panels.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── vertical.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── splitter-context.tsx
│ │ │ │ ├── splitter-panel.tsx
│ │ │ │ ├── splitter-resize-trigger.tsx
│ │ │ │ ├── splitter-root-provider.tsx
│ │ │ │ ├── splitter-root.tsx
│ │ │ │ ├── splitter.anatomy.ts
│ │ │ │ ├── splitter.stories.tsx
│ │ │ │ ├── splitter.test.tsx
│ │ │ │ ├── splitter.ts
│ │ │ │ ├── tests
│ │ │ │ │ └── basic.tsx
│ │ │ │ ├── use-splitter-context.ts
│ │ │ │ └── use-splitter.ts
│ │ │ ├── steps
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── steps-completed-content.tsx
│ │ │ │ ├── steps-content.tsx
│ │ │ │ ├── steps-context.tsx
│ │ │ │ ├── steps-indicator.tsx
│ │ │ │ ├── steps-item-context.tsx
│ │ │ │ ├── steps-item.tsx
│ │ │ │ ├── steps-list.tsx
│ │ │ │ ├── steps-next-trigger.tsx
│ │ │ │ ├── steps-prev-trigger.tsx
│ │ │ │ ├── steps-progress.tsx
│ │ │ │ ├── steps-root-provider.tsx
│ │ │ │ ├── steps-root.tsx
│ │ │ │ ├── steps-separator.tsx
│ │ │ │ ├── steps-trigger.tsx
│ │ │ │ ├── steps.anatomy.ts
│ │ │ │ ├── steps.stories.tsx
│ │ │ │ ├── steps.ts
│ │ │ │ ├── use-steps-context.ts
│ │ │ │ ├── use-steps-item-context.ts
│ │ │ │ ├── use-steps-item-props-context.ts
│ │ │ │ └── use-steps.ts
│ │ │ ├── switch
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── switch-context.tsx
│ │ │ │ ├── switch-control.tsx
│ │ │ │ ├── switch-hidden-input.tsx
│ │ │ │ ├── switch-label.tsx
│ │ │ │ ├── switch-root-provider.tsx
│ │ │ │ ├── switch-root.tsx
│ │ │ │ ├── switch-thumb.tsx
│ │ │ │ ├── switch.anatomy.ts
│ │ │ │ ├── switch.stories.tsx
│ │ │ │ ├── switch.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── switch.test.tsx
│ │ │ │ ├── use-switch-context.ts
│ │ │ │ └── use-switch.ts
│ │ │ ├── tabs
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled-forced.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled-tab.tsx
│ │ │ │ │ ├── indicator.tsx
│ │ │ │ │ ├── initial-tab.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── link-trigger.tsx
│ │ │ │ │ ├── manual.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── vertical.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tab-content.tsx
│ │ │ │ ├── tab-indicator.tsx
│ │ │ │ ├── tab-list.tsx
│ │ │ │ ├── tab-trigger.tsx
│ │ │ │ ├── tabs-context.tsx
│ │ │ │ ├── tabs-root-provider.tsx
│ │ │ │ ├── tabs-root.tsx
│ │ │ │ ├── tabs.anatomy.ts
│ │ │ │ ├── tabs.stories.tsx
│ │ │ │ ├── tabs.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── tabs.test.tsx
│ │ │ │ ├── use-tabs-context.ts
│ │ │ │ └── use-tabs.ts
│ │ │ ├── tags-input
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── blur-behavior.tsx
│ │ │ │ │ ├── disabled-editing.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── max-with-overflow.tsx
│ │ │ │ │ ├── on-event.tsx
│ │ │ │ │ ├── paste-behavior.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── validated.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tags-input-clear-trigger.tsx
│ │ │ │ ├── tags-input-context.tsx
│ │ │ │ ├── tags-input-control.tsx
│ │ │ │ ├── tags-input-hidden-input.tsx
│ │ │ │ ├── tags-input-input.tsx
│ │ │ │ ├── tags-input-item-context.tsx
│ │ │ │ ├── tags-input-item-delete-trigger.tsx
│ │ │ │ ├── tags-input-item-input.tsx
│ │ │ │ ├── tags-input-item-preview.tsx
│ │ │ │ ├── tags-input-item-text.tsx
│ │ │ │ ├── tags-input-item.tsx
│ │ │ │ ├── tags-input-label.tsx
│ │ │ │ ├── tags-input-root-provider.tsx
│ │ │ │ ├── tags-input-root.tsx
│ │ │ │ ├── tags-input.anatomy.ts
│ │ │ │ ├── tags-input.stories.tsx
│ │ │ │ ├── tags-input.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── tags-input.test.tsx
│ │ │ │ ├── use-tags-input-context.ts
│ │ │ │ ├── use-tags-input-item-context.ts
│ │ │ │ ├── use-tags-input-item-props-context.ts
│ │ │ │ └── use-tags-input.ts
│ │ │ ├── time-picker
│ │ │ │ ├── examples
│ │ │ │ │ ├── advanced.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── time-picker.test.tsx
│ │ │ │ ├── time-picker-cell.tsx
│ │ │ │ ├── time-picker-clear-trigger.tsx
│ │ │ │ ├── time-picker-column.tsx
│ │ │ │ ├── time-picker-content.tsx
│ │ │ │ ├── time-picker-context.tsx
│ │ │ │ ├── time-picker-control.tsx
│ │ │ │ ├── time-picker-input.tsx
│ │ │ │ ├── time-picker-label.tsx
│ │ │ │ ├── time-picker-positioner.tsx
│ │ │ │ ├── time-picker-root-provider.tsx
│ │ │ │ ├── time-picker-root.tsx
│ │ │ │ ├── time-picker-spacer.tsx
│ │ │ │ ├── time-picker-trigger.tsx
│ │ │ │ ├── time-picker.anatomy.ts
│ │ │ │ ├── time-picker.stories.tsx
│ │ │ │ ├── time-picker.ts
│ │ │ │ ├── use-time-picker-column-props-context.ts
│ │ │ │ ├── use-time-picker-context.ts
│ │ │ │ └── use-time-picker.ts
│ │ │ ├── timer
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── countdown.tsx
│ │ │ │ │ ├── custom-interval.tsx
│ │ │ │ │ ├── events.tsx
│ │ │ │ │ ├── pomodoro.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── timer.test.tsx
│ │ │ │ ├── timer-action-trigger.tsx
│ │ │ │ ├── timer-area.tsx
│ │ │ │ ├── timer-context.tsx
│ │ │ │ ├── timer-control.tsx
│ │ │ │ ├── timer-item.tsx
│ │ │ │ ├── timer-root-provider.tsx
│ │ │ │ ├── timer-root.tsx
│ │ │ │ ├── timer-separator.tsx
│ │ │ │ ├── timer.anatomy.ts
│ │ │ │ ├── timer.stories.tsx
│ │ │ │ ├── timer.ts
│ │ │ │ ├── use-timer-context.ts
│ │ │ │ └── use-timer.ts
│ │ │ ├── toast
│ │ │ │ ├── create-toaster.tsx
│ │ │ │ ├── examples
│ │ │ │ │ ├── action.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── update.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── toast.test.tsx
│ │ │ │ ├── toast-action-trigger.tsx
│ │ │ │ ├── toast-close-trigger.tsx
│ │ │ │ ├── toast-context.tsx
│ │ │ │ ├── toast-description.tsx
│ │ │ │ ├── toast-root.tsx
│ │ │ │ ├── toast-title.tsx
│ │ │ │ ├── toast.anatomy.ts
│ │ │ │ ├── toast.stories.tsx
│ │ │ │ ├── toast.ts
│ │ │ │ ├── toaster.tsx
│ │ │ │ └── use-toast-context.ts
│ │ │ ├── toggle-group
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── toggle-group.test.tsx
│ │ │ │ ├── toggle-group-context.tsx
│ │ │ │ ├── toggle-group-item.tsx
│ │ │ │ ├── toggle-group-root-provider.tsx
│ │ │ │ ├── toggle-group-root.tsx
│ │ │ │ ├── toggle-group.anatomy.ts
│ │ │ │ ├── toggle-group.stories.tsx
│ │ │ │ ├── toggle-group.ts
│ │ │ │ ├── use-toggle-group-context.ts
│ │ │ │ └── use-toggle-group.ts
│ │ │ ├── toggle
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ └── indicator.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── toggle-context.tsx
│ │ │ │ ├── toggle-indicator.tsx
│ │ │ │ ├── toggle-root.tsx
│ │ │ │ ├── toggle.anatomy.ts
│ │ │ │ ├── toggle.stories.tsx
│ │ │ │ ├── toggle.ts
│ │ │ │ ├── use-toggle-context.ts
│ │ │ │ └── use-toggle.ts
│ │ │ ├── tooltip
│ │ │ │ ├── examples
│ │ │ │ │ ├── arrow.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── positioning.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── timings.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── tooltip.test.tsx
│ │ │ │ ├── tooltip-arrow-tip.tsx
│ │ │ │ ├── tooltip-arrow.tsx
│ │ │ │ ├── tooltip-content.tsx
│ │ │ │ ├── tooltip-context.tsx
│ │ │ │ ├── tooltip-positioner.tsx
│ │ │ │ ├── tooltip-root-provider.tsx
│ │ │ │ ├── tooltip-root.tsx
│ │ │ │ ├── tooltip-trigger.tsx
│ │ │ │ ├── tooltip.anatomy.ts
│ │ │ │ ├── tooltip.stories.tsx
│ │ │ │ ├── tooltip.ts
│ │ │ │ ├── use-tooltip-context.ts
│ │ │ │ └── use-tooltip.ts
│ │ │ ├── tour
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── steps.tsx
│ │ │ │ │ └── tour.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tour-action-trigger.tsx
│ │ │ │ ├── tour-actions.tsx
│ │ │ │ ├── tour-arrow-tip.tsx
│ │ │ │ ├── tour-arrow.tsx
│ │ │ │ ├── tour-backdrop.tsx
│ │ │ │ ├── tour-close-trigger.tsx
│ │ │ │ ├── tour-content.tsx
│ │ │ │ ├── tour-context.tsx
│ │ │ │ ├── tour-control.tsx
│ │ │ │ ├── tour-description.tsx
│ │ │ │ ├── tour-positioner.tsx
│ │ │ │ ├── tour-progress-text.tsx
│ │ │ │ ├── tour-root.tsx
│ │ │ │ ├── tour-spotlight.tsx
│ │ │ │ ├── tour-title.tsx
│ │ │ │ ├── tour.anatomy.ts
│ │ │ │ ├── tour.stories.tsx
│ │ │ │ ├── tour.ts
│ │ │ │ ├── use-tour-context.ts
│ │ │ │ └── use-tour.ts
│ │ │ └── tree-view
│ │ │ │ ├── examples
│ │ │ │ ├── basic.tsx
│ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── tests
│ │ │ │ └── tree-view.test.tsx
│ │ │ │ ├── tree-view-branch-content.tsx
│ │ │ │ ├── tree-view-branch-control.tsx
│ │ │ │ ├── tree-view-branch-indent-guide.tsx
│ │ │ │ ├── tree-view-branch-indicator.tsx
│ │ │ │ ├── tree-view-branch-text.tsx
│ │ │ │ ├── tree-view-branch-trigger.tsx
│ │ │ │ ├── tree-view-branch.tsx
│ │ │ │ ├── tree-view-context.tsx
│ │ │ │ ├── tree-view-item-indicator.tsx
│ │ │ │ ├── tree-view-item-text.tsx
│ │ │ │ ├── tree-view-item.tsx
│ │ │ │ ├── tree-view-label.tsx
│ │ │ │ ├── tree-view-node-context.tsx
│ │ │ │ ├── tree-view-node-provider.tsx
│ │ │ │ ├── tree-view-root-provider.tsx
│ │ │ │ ├── tree-view-root.tsx
│ │ │ │ ├── tree-view-tree.tsx
│ │ │ │ ├── tree-view.anatomy.ts
│ │ │ │ ├── tree-view.stories.tsx
│ │ │ │ ├── tree-view.ts
│ │ │ │ ├── use-tree-view-context.ts
│ │ │ │ ├── use-tree-view-node-context.ts
│ │ │ │ ├── use-tree-view-node-props-context.ts
│ │ │ │ └── use-tree-view.ts
│ │ ├── index.ts
│ │ ├── providers
│ │ │ ├── environment
│ │ │ │ ├── environment-provider.tsx
│ │ │ │ ├── environment.stories.tsx
│ │ │ │ ├── environment.test.tsx
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── setup.tsx
│ │ │ │ │ ├── shadow-root.tsx
│ │ │ │ │ └── usage.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── use-environment-context.ts
│ │ │ ├── index.ts
│ │ │ └── locale
│ │ │ │ ├── examples
│ │ │ │ ├── basic.tsx
│ │ │ │ ├── setup.tsx
│ │ │ │ └── usage.tsx
│ │ │ │ ├── index.ts
│ │ │ │ ├── locale-provider.tsx
│ │ │ │ ├── locale.stories.tsx
│ │ │ │ ├── use-filter.ts
│ │ │ │ └── use-locale-context.ts
│ │ ├── setup-test.ts
│ │ ├── types.ts
│ │ ├── use-debugger.ts
│ │ └── utils
│ │ │ ├── compose-refs.ts
│ │ │ ├── create-context.ts
│ │ │ ├── create-split-props.test.ts
│ │ │ ├── create-split-props.ts
│ │ │ ├── render-strategy.ts
│ │ │ ├── run-if-fn.test.ts
│ │ │ ├── run-if-fn.ts
│ │ │ ├── use-controllable-state.ts
│ │ │ ├── use-debounce.ts
│ │ │ ├── use-effect-once.ts
│ │ │ ├── use-event.ts
│ │ │ └── use-safe-layout-effect.ts
│ ├── tsconfig.json
│ ├── v5.svg
│ └── vite.config.mts
├── solid
│ ├── .storybook
│ │ ├── main.ts
│ │ └── preview.ts
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── biome.json
│ ├── clean-package.config.json
│ ├── package.json
│ ├── src
│ │ ├── components
│ │ │ ├── accordion
│ │ │ │ ├── accordion-context.tsx
│ │ │ │ ├── accordion-item-content.tsx
│ │ │ │ ├── accordion-item-context.tsx
│ │ │ │ ├── accordion-item-indicator.tsx
│ │ │ │ ├── accordion-item-trigger.tsx
│ │ │ │ ├── accordion-item.tsx
│ │ │ │ ├── accordion-root-provider.tsx
│ │ │ │ ├── accordion-root.tsx
│ │ │ │ ├── accordion.anatomy.ts
│ │ │ │ ├── accordion.stories.tsx
│ │ │ │ ├── accordion.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── collapsible.tsx
│ │ │ │ │ ├── context
│ │ │ │ │ │ ├── focusedValue.tsx
│ │ │ │ │ │ ├── getItemState.tsx
│ │ │ │ │ │ ├── setValue.tsx
│ │ │ │ │ │ └── value.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── horizontal.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── vertical.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── accordion.test.tsx
│ │ │ │ │ └── basic.tsx
│ │ │ │ ├── use-accordion-context.ts
│ │ │ │ ├── use-accordion-item-context.ts
│ │ │ │ ├── use-accordion-item-props-context.ts
│ │ │ │ └── use-accordion.ts
│ │ │ ├── anatomy.ts
│ │ │ ├── angle-slider
│ │ │ │ ├── angle-slider-context.tsx
│ │ │ │ ├── angle-slider-control.tsx
│ │ │ │ ├── angle-slider-hidden-input.tsx
│ │ │ │ ├── angle-slider-label.tsx
│ │ │ │ ├── angle-slider-marker-group.tsx
│ │ │ │ ├── angle-slider-marker.tsx
│ │ │ │ ├── angle-slider-root-provider.tsx
│ │ │ │ ├── angle-slider-root.tsx
│ │ │ │ ├── angle-slider-thumb.tsx
│ │ │ │ ├── angle-slider-value-text.tsx
│ │ │ │ ├── angle-slider.anatomy.tsx
│ │ │ │ ├── angle-slider.stories.tsx
│ │ │ │ ├── angle-slider.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ └── step.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── use-angle-slider-context.ts
│ │ │ │ └── use-angle-slider.ts
│ │ │ ├── avatar
│ │ │ │ ├── avatar-context.tsx
│ │ │ │ ├── avatar-fallback.tsx
│ │ │ │ ├── avatar-image.tsx
│ │ │ │ ├── avatar-root-provider.tsx
│ │ │ │ ├── avatar-root.tsx
│ │ │ │ ├── avatar.anatomy.ts
│ │ │ │ ├── avatar.stories.tsx
│ │ │ │ ├── avatar.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── closed.tsx
│ │ │ │ │ ├── context.tsx
│ │ │ │ │ ├── events.tsx
│ │ │ │ │ ├── provider.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── avatar.test.tsx
│ │ │ │ │ └── basic.tsx
│ │ │ │ ├── use-avatar-context.ts
│ │ │ │ └── use-avatar.ts
│ │ │ ├── carousel
│ │ │ │ ├── carousel-autoplay-trigger.tsx
│ │ │ │ ├── carousel-context.tsx
│ │ │ │ ├── carousel-control.tsx
│ │ │ │ ├── carousel-indicator-group.tsx
│ │ │ │ ├── carousel-indicator.tsx
│ │ │ │ ├── carousel-item-group.tsx
│ │ │ │ ├── carousel-item.tsx
│ │ │ │ ├── carousel-next-trigger.tsx
│ │ │ │ ├── carousel-prev-trigger.tsx
│ │ │ │ ├── carousel-root-provider.tsx
│ │ │ │ ├── carousel-root.tsx
│ │ │ │ ├── carousel.anatomy.ts
│ │ │ │ ├── carousel.stories.tsx
│ │ │ │ ├── carousel.test.tsx
│ │ │ │ ├── carousel.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── autoplay.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── use-carousel-context.ts
│ │ │ │ └── use-carousel.ts
│ │ │ ├── checkbox
│ │ │ │ ├── checkbox-context.tsx
│ │ │ │ ├── checkbox-control.tsx
│ │ │ │ ├── checkbox-group.tsx
│ │ │ │ ├── checkbox-hidden-input.tsx
│ │ │ │ ├── checkbox-indicator.tsx
│ │ │ │ ├── checkbox-label.tsx
│ │ │ │ ├── checkbox-root-provider.tsx
│ │ │ │ ├── checkbox-root.tsx
│ │ │ │ ├── checkbox.anatomy.ts
│ │ │ │ ├── checkbox.stories.tsx
│ │ │ │ ├── checkbox.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── group.tsx
│ │ │ │ │ ├── indeterminate.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── checkbox.test.tsx
│ │ │ │ │ └── controlled.tsx
│ │ │ │ ├── use-checkbox-context.ts
│ │ │ │ ├── use-checkbox-group-context.tsx
│ │ │ │ ├── use-checkbox-group.ts
│ │ │ │ └── use-checkbox.ts
│ │ │ ├── client-only
│ │ │ │ ├── client-only.stories.tsx
│ │ │ │ ├── client-only.tsx
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── with-fallback.tsx
│ │ │ │ └── index.ts
│ │ │ ├── clipboard
│ │ │ │ ├── clipboard-context.tsx
│ │ │ │ ├── clipboard-control.tsx
│ │ │ │ ├── clipboard-indicator.tsx
│ │ │ │ ├── clipboard-input.tsx
│ │ │ │ ├── clipboard-label.tsx
│ │ │ │ ├── clipboard-root-provider.tsx
│ │ │ │ ├── clipboard-root.tsx
│ │ │ │ ├── clipboard-trigger.tsx
│ │ │ │ ├── clipboard-value-text.tsx
│ │ │ │ ├── clipboard.anatomy.ts
│ │ │ │ ├── clipboard.stories.tsx
│ │ │ │ ├── clipboard.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ └── clipboard.test.tsx
│ │ │ │ ├── use-clipboard-context.ts
│ │ │ │ └── use-clipboard.ts
│ │ │ ├── collapsible
│ │ │ │ ├── collapsible-content.tsx
│ │ │ │ ├── collapsible-context.tsx
│ │ │ │ ├── collapsible-indicator.tsx
│ │ │ │ ├── collapsible-root-provider.tsx
│ │ │ │ ├── collapsible-root.tsx
│ │ │ │ ├── collapsible-trigger.tsx
│ │ │ │ ├── collapsible.anatomy.ts
│ │ │ │ ├── collapsible.stories.tsx
│ │ │ │ ├── collapsible.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── initial-open.tsx
│ │ │ │ │ ├── lazy-mount-and-unmount-on-exit.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── on-exit-complete.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── unmount-on-exit.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ └── collapsible.test.tsx
│ │ │ │ ├── use-collapsible-context.ts
│ │ │ │ └── use-collapsible.ts
│ │ │ ├── collection.ts
│ │ │ ├── color-picker
│ │ │ │ ├── color-picker-area-background.tsx
│ │ │ │ ├── color-picker-area-thumb.tsx
│ │ │ │ ├── color-picker-area.tsx
│ │ │ │ ├── color-picker-channel-input.tsx
│ │ │ │ ├── color-picker-channel-slider-label.tsx
│ │ │ │ ├── color-picker-channel-slider-thumb.tsx
│ │ │ │ ├── color-picker-channel-slider-track.tsx
│ │ │ │ ├── color-picker-channel-slider-value-text.tsx
│ │ │ │ ├── color-picker-channel-slider.tsx
│ │ │ │ ├── color-picker-content.tsx
│ │ │ │ ├── color-picker-context.tsx
│ │ │ │ ├── color-picker-control.tsx
│ │ │ │ ├── color-picker-eye-dropper-trigger.tsx
│ │ │ │ ├── color-picker-format-select.tsx
│ │ │ │ ├── color-picker-format-trigger.tsx
│ │ │ │ ├── color-picker-hidden-input.tsx
│ │ │ │ ├── color-picker-label.tsx
│ │ │ │ ├── color-picker-positioner.tsx
│ │ │ │ ├── color-picker-root-provider.tsx
│ │ │ │ ├── color-picker-root.tsx
│ │ │ │ ├── color-picker-swatch-group.tsx
│ │ │ │ ├── color-picker-swatch-indicator.tsx
│ │ │ │ ├── color-picker-swatch-trigger.tsx
│ │ │ │ ├── color-picker-swatch.tsx
│ │ │ │ ├── color-picker-transparency-grid.tsx
│ │ │ │ ├── color-picker-trigger.tsx
│ │ │ │ ├── color-picker-value-swatch.tsx
│ │ │ │ ├── color-picker-value-text.tsx
│ │ │ │ ├── color-picker-view.tsx
│ │ │ │ ├── color-picker.anatomy.ts
│ │ │ │ ├── color-picker.stories.tsx
│ │ │ │ ├── color-picker.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── color-picker.test.tsx
│ │ │ │ ├── use-color-picker-area-props-context.ts
│ │ │ │ ├── use-color-picker-channel-props-context.ts
│ │ │ │ ├── use-color-picker-context.ts
│ │ │ │ ├── use-color-picker-format-context.ts
│ │ │ │ ├── use-color-picker-swatch-props-context.ts
│ │ │ │ └── use-color-picker.ts
│ │ │ ├── combobox
│ │ │ │ ├── combobox-clear-trigger.tsx
│ │ │ │ ├── combobox-content.tsx
│ │ │ │ ├── combobox-context.tsx
│ │ │ │ ├── combobox-control.tsx
│ │ │ │ ├── combobox-input.tsx
│ │ │ │ ├── combobox-item-context.tsx
│ │ │ │ ├── combobox-item-group-label.tsx
│ │ │ │ ├── combobox-item-group.tsx
│ │ │ │ ├── combobox-item-indicator.tsx
│ │ │ │ ├── combobox-item-text.tsx
│ │ │ │ ├── combobox-item.tsx
│ │ │ │ ├── combobox-label.tsx
│ │ │ │ ├── combobox-list.tsx
│ │ │ │ ├── combobox-positioner.tsx
│ │ │ │ ├── combobox-root-provider.tsx
│ │ │ │ ├── combobox-root.tsx
│ │ │ │ ├── combobox-trigger.tsx
│ │ │ │ ├── combobox.anatomy.ts
│ │ │ │ ├── combobox.stories.tsx
│ │ │ │ ├── combobox.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── advanced.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── links.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── combobox.test.tsx
│ │ │ │ ├── use-combobox-context.ts
│ │ │ │ ├── use-combobox-item-context.ts
│ │ │ │ ├── use-combobox-item-group-props-context.ts
│ │ │ │ ├── use-combobox-item-props-context.ts
│ │ │ │ └── use-combobox.ts
│ │ │ ├── date-picker
│ │ │ │ ├── date-picker-clear-trigger.tsx
│ │ │ │ ├── date-picker-content.tsx
│ │ │ │ ├── date-picker-context.tsx
│ │ │ │ ├── date-picker-control.tsx
│ │ │ │ ├── date-picker-input.tsx
│ │ │ │ ├── date-picker-label.tsx
│ │ │ │ ├── date-picker-month-select.tsx
│ │ │ │ ├── date-picker-next-trigger.tsx
│ │ │ │ ├── date-picker-positioner.tsx
│ │ │ │ ├── date-picker-preset-trigger.tsx
│ │ │ │ ├── date-picker-prev-trigger.tsx
│ │ │ │ ├── date-picker-range-text.tsx
│ │ │ │ ├── date-picker-root-provider.tsx
│ │ │ │ ├── date-picker-root.tsx
│ │ │ │ ├── date-picker-table-body.tsx
│ │ │ │ ├── date-picker-table-cell-trigger.tsx
│ │ │ │ ├── date-picker-table-cell.tsx
│ │ │ │ ├── date-picker-table-head.tsx
│ │ │ │ ├── date-picker-table-header.tsx
│ │ │ │ ├── date-picker-table-row.tsx
│ │ │ │ ├── date-picker-table.tsx
│ │ │ │ ├── date-picker-trigger.tsx
│ │ │ │ ├── date-picker-view-control.tsx
│ │ │ │ ├── date-picker-view-trigger.tsx
│ │ │ │ ├── date-picker-view.tsx
│ │ │ │ ├── date-picker-year-select.tsx
│ │ │ │ ├── date-picker.anatomy.ts
│ │ │ │ ├── date-picker.stories.tsx
│ │ │ │ ├── date-picker.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── range.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── standalone.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── date-picker.test.tsx
│ │ │ │ ├── use-date-picker-context.ts
│ │ │ │ ├── use-date-picker-table-cell-props-context.ts
│ │ │ │ ├── use-date-picker-table-props-context.ts
│ │ │ │ ├── use-date-picker-view-props-context.ts
│ │ │ │ └── use-date-picker.ts
│ │ │ ├── dialog
│ │ │ │ ├── dialog-backdrop.tsx
│ │ │ │ ├── dialog-close-trigger.tsx
│ │ │ │ ├── dialog-content.tsx
│ │ │ │ ├── dialog-context.tsx
│ │ │ │ ├── dialog-description.tsx
│ │ │ │ ├── dialog-positioner.tsx
│ │ │ │ ├── dialog-root-provider.tsx
│ │ │ │ ├── dialog-root.tsx
│ │ │ │ ├── dialog-title.tsx
│ │ │ │ ├── dialog-trigger.tsx
│ │ │ │ ├── dialog.anatomy.ts
│ │ │ │ ├── dialog.stories.tsx
│ │ │ │ ├── dialog.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── dialog.test.tsx
│ │ │ │ ├── use-dialog-context.ts
│ │ │ │ └── use-dialog.ts
│ │ │ ├── download-trigger
│ │ │ │ ├── download-trigger.stories.tsx
│ │ │ │ ├── download-trigger.tsx
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── svg.tsx
│ │ │ │ │ └── with-promise.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── editable
│ │ │ │ ├── editable-area.tsx
│ │ │ │ ├── editable-cancel-trigger.tsx
│ │ │ │ ├── editable-context.tsx
│ │ │ │ ├── editable-control.tsx
│ │ │ │ ├── editable-edit-trigger.tsx
│ │ │ │ ├── editable-input.tsx
│ │ │ │ ├── editable-label.tsx
│ │ │ │ ├── editable-preview.tsx
│ │ │ │ ├── editable-root-provider.tsx
│ │ │ │ ├── editable-root.tsx
│ │ │ │ ├── editable-submit-trigger.tsx
│ │ │ │ ├── editable.anatomy.ts
│ │ │ │ ├── editable.stories.tsx
│ │ │ │ ├── editable.ts
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── custom-controls.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ └── editable.test.tsx
│ │ │ │ ├── use-editable-context.ts
│ │ │ │ └── use-editable.ts
│ │ │ ├── factory.test.tsx
│ │ │ ├── factory.tsx
│ │ │ ├── field
│ │ │ │ ├── examples
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── input.tsx
│ │ │ │ │ ├── required-indicator.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── select.tsx
│ │ │ │ │ ├── textarea-autoresize.tsx
│ │ │ │ │ └── textarea.tsx
│ │ │ │ ├── field-context.tsx
│ │ │ │ ├── field-error-text.tsx
│ │ │ │ ├── field-helper-text.tsx
│ │ │ │ ├── field-input.tsx
│ │ │ │ ├── field-label.tsx
│ │ │ │ ├── field-required-indicator.tsx
│ │ │ │ ├── field-root-provider.tsx
│ │ │ │ ├── field-root.tsx
│ │ │ │ ├── field-select.tsx
│ │ │ │ ├── field-textarea.tsx
│ │ │ │ ├── field.anatomy.ts
│ │ │ │ ├── field.stories.tsx
│ │ │ │ ├── field.test.tsx
│ │ │ │ ├── field.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── use-field-context.ts
│ │ │ │ └── use-field.ts
│ │ │ ├── fieldset
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── phone-input.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── with-checkbox.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── fieldset-context.tsx
│ │ │ │ ├── fieldset-error-text.tsx
│ │ │ │ ├── fieldset-helper-text.tsx
│ │ │ │ ├── fieldset-legend.tsx
│ │ │ │ ├── fieldset-root-provider.tsx
│ │ │ │ ├── fieldset-root.tsx
│ │ │ │ ├── fieldset.anatomy.ts
│ │ │ │ ├── fieldset.stories.tsx
│ │ │ │ ├── fieldset.test.tsx
│ │ │ │ ├── fieldset.ts
│ │ │ │ ├── fieldset.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── use-fieldset-context.ts
│ │ │ │ └── use-fieldset.ts
│ │ │ ├── file-upload
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── file-upload-clear-trigger.tsx
│ │ │ │ ├── file-upload-context.tsx
│ │ │ │ ├── file-upload-dropzone.tsx
│ │ │ │ ├── file-upload-hidden-input.tsx
│ │ │ │ ├── file-upload-item-delete-trigger.tsx
│ │ │ │ ├── file-upload-item-group.tsx
│ │ │ │ ├── file-upload-item-name.tsx
│ │ │ │ ├── file-upload-item-preview-image.tsx
│ │ │ │ ├── file-upload-item-preview.tsx
│ │ │ │ ├── file-upload-item-size-text.tsx
│ │ │ │ ├── file-upload-item.tsx
│ │ │ │ ├── file-upload-label.tsx
│ │ │ │ ├── file-upload-root-provider.tsx
│ │ │ │ ├── file-upload-root.tsx
│ │ │ │ ├── file-upload-trigger.tsx
│ │ │ │ ├── file-upload.anatomy.ts
│ │ │ │ ├── file-upload.stories.tsx
│ │ │ │ ├── file-upload.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── file-upload.test.tsx
│ │ │ │ ├── use-file-upload-context.ts
│ │ │ │ ├── use-file-upload-item-props-context.ts
│ │ │ │ └── use-file-upload.ts
│ │ │ ├── floating-panel
│ │ │ │ ├── examples
│ │ │ │ │ ├── anchor-position.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled-open.tsx
│ │ │ │ │ ├── controlled-position.tsx
│ │ │ │ │ ├── controlled-size.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ └── render-fn.tsx
│ │ │ │ ├── floating-panel-body.tsx
│ │ │ │ ├── floating-panel-close-trigger.tsx
│ │ │ │ ├── floating-panel-content.tsx
│ │ │ │ ├── floating-panel-context.tsx
│ │ │ │ ├── floating-panel-control.tsx
│ │ │ │ ├── floating-panel-drag-trigger.tsx
│ │ │ │ ├── floating-panel-header.tsx
│ │ │ │ ├── floating-panel-positioner.tsx
│ │ │ │ ├── floating-panel-resize-trigger.tsx
│ │ │ │ ├── floating-panel-root-provider.tsx
│ │ │ │ ├── floating-panel-root.tsx
│ │ │ │ ├── floating-panel-stage-trigger.tsx
│ │ │ │ ├── floating-panel-title.tsx
│ │ │ │ ├── floating-panel-trigger.tsx
│ │ │ │ ├── floating-panel.anatomy.ts
│ │ │ │ ├── floating-panel.stories.tsx
│ │ │ │ ├── floating-panel.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── use-floating-panel-context.ts
│ │ │ │ └── use-floating-panel.ts
│ │ │ ├── focus-trap
│ │ │ │ ├── examples
│ │ │ │ │ ├── autofocus.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── initial-focus.tsx
│ │ │ │ ├── focus-trap.stories.tsx
│ │ │ │ ├── focus-trap.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── format
│ │ │ │ ├── examples
│ │ │ │ │ ├── byte-basic.tsx
│ │ │ │ │ ├── byte-sizes.tsx
│ │ │ │ │ ├── byte-with-locale.tsx
│ │ │ │ │ ├── byte-with-unit-display.tsx
│ │ │ │ │ ├── byte-with-unit.tsx
│ │ │ │ │ ├── number-basic.tsx
│ │ │ │ │ ├── number-with-compact.tsx
│ │ │ │ │ ├── number-with-currency.tsx
│ │ │ │ │ ├── number-with-locale.tsx
│ │ │ │ │ ├── number-with-percentage.tsx
│ │ │ │ │ ├── number-with-unit.tsx
│ │ │ │ │ ├── relative-time-basic.tsx
│ │ │ │ │ └── relative-time-short.tsx
│ │ │ │ ├── format-byte.tsx
│ │ │ │ ├── format-number.tsx
│ │ │ │ ├── format-relative-time.tsx
│ │ │ │ ├── format.stories.tsx
│ │ │ │ ├── format.ts
│ │ │ │ └── index.tsx
│ │ │ ├── frame
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── script.tsx
│ │ │ │ │ └── src-doc.tsx
│ │ │ │ ├── frame-content.tsx
│ │ │ │ ├── frame.stories.tsx
│ │ │ │ ├── frame.tsx
│ │ │ │ └── index.tsx
│ │ │ ├── highlight
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── ignore-case.tsx
│ │ │ │ │ ├── match-all.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ └── with-input.tsx
│ │ │ │ ├── highlight.stories.tsx
│ │ │ │ ├── highlight.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── use-highlight.ts
│ │ │ ├── hover-card
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── positioning.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── hover-card-arrow-tip.tsx
│ │ │ │ ├── hover-card-arrow.tsx
│ │ │ │ ├── hover-card-content.tsx
│ │ │ │ ├── hover-card-context.tsx
│ │ │ │ ├── hover-card-positioner.tsx
│ │ │ │ ├── hover-card-root-provider.tsx
│ │ │ │ ├── hover-card-root.tsx
│ │ │ │ ├── hover-card-trigger.tsx
│ │ │ │ ├── hover-card.anatomy.ts
│ │ │ │ ├── hover-card.stories.tsx
│ │ │ │ ├── hover-card.ts
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── hover-card.test.tsx
│ │ │ │ ├── use-hover-card-context.ts
│ │ │ │ └── use-hover-card.ts
│ │ │ ├── index.tsx
│ │ │ ├── listbox
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── group.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── value-text.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── listbox-content.tsx
│ │ │ │ ├── listbox-input.tsx
│ │ │ │ ├── listbox-item-group-label.tsx
│ │ │ │ ├── listbox-item-group.tsx
│ │ │ │ ├── listbox-item-indicator.tsx
│ │ │ │ ├── listbox-item-text.tsx
│ │ │ │ ├── listbox-item.tsx
│ │ │ │ ├── listbox-label.tsx
│ │ │ │ ├── listbox-root-provider.tsx
│ │ │ │ ├── listbox-root.tsx
│ │ │ │ ├── listbox-value-text.tsx
│ │ │ │ ├── listbox.anatomy.ts
│ │ │ │ ├── listbox.stories.tsx
│ │ │ │ ├── listbox.test.tsx
│ │ │ │ ├── listbox.ts
│ │ │ │ ├── use-listbox-context.ts
│ │ │ │ ├── use-listbox-item-context.ts
│ │ │ │ ├── use-listbox-item-group-props-context.ts
│ │ │ │ ├── use-listbox-item-props-context.ts
│ │ │ │ └── use-listbox.ts
│ │ │ ├── menu
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── checkbox.tsx
│ │ │ │ │ ├── context.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── group.tsx
│ │ │ │ │ ├── nested.tsx
│ │ │ │ │ ├── radio-group.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── select-event.tsx
│ │ │ │ │ └── separator.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── menu-arrow-tip.tsx
│ │ │ │ ├── menu-arrow.tsx
│ │ │ │ ├── menu-checkbox-item.tsx
│ │ │ │ ├── menu-content.tsx
│ │ │ │ ├── menu-context-trigger.tsx
│ │ │ │ ├── menu-context.tsx
│ │ │ │ ├── menu-indicator.tsx
│ │ │ │ ├── menu-item-context.tsx
│ │ │ │ ├── menu-item-group-label.tsx
│ │ │ │ ├── menu-item-group.tsx
│ │ │ │ ├── menu-item-indicator.tsx
│ │ │ │ ├── menu-item-text.tsx
│ │ │ │ ├── menu-item.tsx
│ │ │ │ ├── menu-positioner.tsx
│ │ │ │ ├── menu-radio-item-group.tsx
│ │ │ │ ├── menu-radio-item.tsx
│ │ │ │ ├── menu-root-provider.tsx
│ │ │ │ ├── menu-root.tsx
│ │ │ │ ├── menu-separator.tsx
│ │ │ │ ├── menu-trigger-item.tsx
│ │ │ │ ├── menu-trigger.tsx
│ │ │ │ ├── menu.anatomy.ts
│ │ │ │ ├── menu.stories.tsx
│ │ │ │ ├── menu.ts
│ │ │ │ ├── tests
│ │ │ │ │ └── menu.test.tsx
│ │ │ │ ├── use-menu-context.ts
│ │ │ │ ├── use-menu-item-context.ts
│ │ │ │ ├── use-menu-item-group-context.ts
│ │ │ │ ├── use-menu-machine-context.ts
│ │ │ │ ├── use-menu-option-item-props-context.ts
│ │ │ │ ├── use-menu-trigger-item-context.ts
│ │ │ │ └── use-menu.ts
│ │ │ ├── number-input
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── form-usage.tsx
│ │ │ │ │ ├── formatted.tsx
│ │ │ │ │ ├── fraction-digits.tsx
│ │ │ │ │ ├── min-max.tsx
│ │ │ │ │ ├── mouse-wheel.tsx
│ │ │ │ │ ├── no-clamp.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── scrubber.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── number-input-context.tsx
│ │ │ │ ├── number-input-control.tsx
│ │ │ │ ├── number-input-decrement-trigger.tsx
│ │ │ │ ├── number-input-increment-trigger.tsx
│ │ │ │ ├── number-input-input.tsx
│ │ │ │ ├── number-input-label.tsx
│ │ │ │ ├── number-input-root-provider.tsx
│ │ │ │ ├── number-input-root.tsx
│ │ │ │ ├── number-input-scrubber.tsx
│ │ │ │ ├── number-input-value-text.tsx
│ │ │ │ ├── number-input.anatomy.ts
│ │ │ │ ├── number-input.stories.tsx
│ │ │ │ ├── number-input.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── number-input.test.tsx
│ │ │ │ ├── use-number-input-context.ts
│ │ │ │ └── use-number-input.ts
│ │ │ ├── pagination
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── customized.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── pagination-context.tsx
│ │ │ │ ├── pagination-ellipsis.tsx
│ │ │ │ ├── pagination-item.tsx
│ │ │ │ ├── pagination-next-trigger.tsx
│ │ │ │ ├── pagination-prev-trigger.tsx
│ │ │ │ ├── pagination-root-provider.tsx
│ │ │ │ ├── pagination-root.tsx
│ │ │ │ ├── pagination.anatomy.ts
│ │ │ │ ├── pagination.stories.tsx
│ │ │ │ ├── pagination.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── pagination.test.tsx
│ │ │ │ ├── use-pagination-context.ts
│ │ │ │ └── use-pagination.ts
│ │ │ ├── password-input
│ │ │ │ ├── examples
│ │ │ │ │ ├── autocomplete.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled-visibility.tsx
│ │ │ │ │ ├── ignore-password-manager.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── password-input-context.tsx
│ │ │ │ ├── password-input-control.tsx
│ │ │ │ ├── password-input-indicator.tsx
│ │ │ │ ├── password-input-input.tsx
│ │ │ │ ├── password-input-label.tsx
│ │ │ │ ├── password-input-root-provider.tsx
│ │ │ │ ├── password-input-root.tsx
│ │ │ │ ├── password-input-visibility-trigger.tsx
│ │ │ │ ├── password-input.anatomy.ts
│ │ │ │ ├── password-input.stories.tsx
│ │ │ │ ├── password-input.ts
│ │ │ │ ├── use-password-input-context.ts
│ │ │ │ └── use-password-input.ts
│ │ │ ├── pin-input
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── blurred.tsx
│ │ │ │ │ ├── customized.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── otp-mode.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── with-field.tsx
│ │ │ │ │ └── with-mask.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── pin-input-context.tsx
│ │ │ │ ├── pin-input-control.tsx
│ │ │ │ ├── pin-input-hidden-input.tsx
│ │ │ │ ├── pin-input-input.tsx
│ │ │ │ ├── pin-input-label.tsx
│ │ │ │ ├── pin-input-root-provider.tsx
│ │ │ │ ├── pin-input-root.tsx
│ │ │ │ ├── pin-input.anatomy.ts
│ │ │ │ ├── pin-input.stories.tsx
│ │ │ │ ├── pin-input.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── pin-input.test.tsx
│ │ │ │ ├── use-pin-input-context.ts
│ │ │ │ └── use-pin-input.ts
│ │ │ ├── popover
│ │ │ │ ├── examples
│ │ │ │ │ ├── arrow.tsx
│ │ │ │ │ ├── as-child.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── close-behavior.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── factory.tsx
│ │ │ │ │ ├── modal.tsx
│ │ │ │ │ ├── on-open-change.tsx
│ │ │ │ │ ├── portalled.tsx
│ │ │ │ │ ├── positioning.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── popover-anchor.tsx
│ │ │ │ ├── popover-arrow-tip.tsx
│ │ │ │ ├── popover-arrow.tsx
│ │ │ │ ├── popover-close-trigger.tsx
│ │ │ │ ├── popover-content.tsx
│ │ │ │ ├── popover-context.tsx
│ │ │ │ ├── popover-description.tsx
│ │ │ │ ├── popover-indicator.tsx
│ │ │ │ ├── popover-positioner.tsx
│ │ │ │ ├── popover-root-provider.tsx
│ │ │ │ ├── popover-root.tsx
│ │ │ │ ├── popover-title.tsx
│ │ │ │ ├── popover-trigger.tsx
│ │ │ │ ├── popover.anatomy.ts
│ │ │ │ ├── popover.stories.tsx
│ │ │ │ ├── popover.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ └── popover.test.tsx
│ │ │ │ ├── use-popover-context.ts
│ │ │ │ └── use-popover.ts
│ │ │ ├── presence
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── lazy-mount-and-unmount-on-exit.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── skip-animation-on-mount.tsx
│ │ │ │ │ └── unmount-on-exit.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── presence.stories.tsx
│ │ │ │ ├── presence.test.tsx
│ │ │ │ ├── presence.tsx
│ │ │ │ ├── split-presence-props.ts
│ │ │ │ ├── use-presence-context.ts
│ │ │ │ └── use-presence.ts
│ │ │ ├── progress
│ │ │ │ ├── examples
│ │ │ │ │ ├── circular
│ │ │ │ │ │ ├── basic.tsx
│ │ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ │ ├── indeterminate.tsx
│ │ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ │ ├── min-max.tsx
│ │ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ │ └── value-text.tsx
│ │ │ │ │ └── linear
│ │ │ │ │ │ ├── basic.tsx
│ │ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ │ ├── indeterminate.tsx
│ │ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ │ ├── min-max.tsx
│ │ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ │ ├── value-text.tsx
│ │ │ │ │ │ └── vertical.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── progress-circle-range.tsx
│ │ │ │ ├── progress-circle-track.tsx
│ │ │ │ ├── progress-circle.tsx
│ │ │ │ ├── progress-circular.stories.tsx
│ │ │ │ ├── progress-context.tsx
│ │ │ │ ├── progress-label.tsx
│ │ │ │ ├── progress-linear.stories.tsx
│ │ │ │ ├── progress-range.tsx
│ │ │ │ ├── progress-root-provider.tsx
│ │ │ │ ├── progress-root.tsx
│ │ │ │ ├── progress-track.tsx
│ │ │ │ ├── progress-value-text.tsx
│ │ │ │ ├── progress-view.tsx
│ │ │ │ ├── progress.anatomy.ts
│ │ │ │ ├── progress.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── progress.test.tsx
│ │ │ │ ├── use-progress-context.ts
│ │ │ │ └── use-progress.ts
│ │ │ ├── qr-code
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── error-correction.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-overlay.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── qr-code-context.ts
│ │ │ │ ├── qr-code-download-trigger.tsx
│ │ │ │ ├── qr-code-frame.tsx
│ │ │ │ ├── qr-code-overlay.tsx
│ │ │ │ ├── qr-code-pattern.tsx
│ │ │ │ ├── qr-code-root-provider.tsx
│ │ │ │ ├── qr-code-root.tsx
│ │ │ │ ├── qr-code.anatomy.ts
│ │ │ │ ├── qr-code.stories.tsx
│ │ │ │ ├── qr-code.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── qr-code.test.tsx
│ │ │ │ ├── use-qr-code-context.ts
│ │ │ │ └── use-qr-code.ts
│ │ │ ├── radio-group
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── on-event.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── radio-group-context.tsx
│ │ │ │ ├── radio-group-indicator.tsx
│ │ │ │ ├── radio-group-item-context.tsx
│ │ │ │ ├── radio-group-item-control.tsx
│ │ │ │ ├── radio-group-item-hidden-input.tsx
│ │ │ │ ├── radio-group-item-text.tsx
│ │ │ │ ├── radio-group-item.tsx
│ │ │ │ ├── radio-group-label.tsx
│ │ │ │ ├── radio-group-root-provider.tsx
│ │ │ │ ├── radio-group-root.tsx
│ │ │ │ ├── radio-group.anatomy.ts
│ │ │ │ ├── radio-group.stories.tsx
│ │ │ │ ├── radio-group.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── radio-group.test.tsx
│ │ │ │ ├── use-radio-group-context.ts
│ │ │ │ ├── use-radio-group-item-context.ts
│ │ │ │ ├── use-radio-group-item-props-context.ts
│ │ │ │ └── use-radio-group.ts
│ │ │ ├── rating-group
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── form-usage.tsx
│ │ │ │ │ ├── half-ratings.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── read-only.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── rating-group-context.tsx
│ │ │ │ ├── rating-group-control.tsx
│ │ │ │ ├── rating-group-hidden-input.tsx
│ │ │ │ ├── rating-group-item-context.tsx
│ │ │ │ ├── rating-group-item.tsx
│ │ │ │ ├── rating-group-label.tsx
│ │ │ │ ├── rating-group-root-provider.tsx
│ │ │ │ ├── rating-group-root.tsx
│ │ │ │ ├── rating-group.anatomy.ts
│ │ │ │ ├── rating-group.stories.tsx
│ │ │ │ ├── rating-group.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── rating-group.test.tsx
│ │ │ │ ├── use-rating-group-context.ts
│ │ │ │ ├── use-rating-group-item-context.ts
│ │ │ │ └── use-rating-group.ts
│ │ │ ├── segment-group
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── segment-group-context.tsx
│ │ │ │ ├── segment-group-indicator.tsx
│ │ │ │ ├── segment-group-item-context.tsx
│ │ │ │ ├── segment-group-item-control.tsx
│ │ │ │ ├── segment-group-item-hidden-input.tsx
│ │ │ │ ├── segment-group-item-text.tsx
│ │ │ │ ├── segment-group-item.tsx
│ │ │ │ ├── segment-group-label.tsx
│ │ │ │ ├── segment-group-root-provider.tsx
│ │ │ │ ├── segment-group-root.tsx
│ │ │ │ ├── segment-group.anatomy.ts
│ │ │ │ ├── segment-group.stories.tsx
│ │ │ │ ├── segment-group.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── segment-group.test.tsx
│ │ │ │ ├── use-segment-group-context.ts
│ │ │ │ ├── use-segment-group-item-context.ts
│ │ │ │ ├── use-segment-group-item-props-context.ts
│ │ │ │ └── use-segment-group.ts
│ │ │ ├── select
│ │ │ │ ├── examples
│ │ │ │ │ ├── advanced.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── dynamic-items.tsx
│ │ │ │ │ ├── form-library.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ ├── reactive-collection.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── select-all.tsx
│ │ │ │ │ ├── with-field.tsx
│ │ │ │ │ └── with-shadow-root.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── select-clear-trigger.tsx
│ │ │ │ ├── select-content.tsx
│ │ │ │ ├── select-context.tsx
│ │ │ │ ├── select-control.tsx
│ │ │ │ ├── select-hidden-select.tsx
│ │ │ │ ├── select-indicator.tsx
│ │ │ │ ├── select-item-context.tsx
│ │ │ │ ├── select-item-group-label.tsx
│ │ │ │ ├── select-item-group.tsx
│ │ │ │ ├── select-item-indicator.tsx
│ │ │ │ ├── select-item-text.tsx
│ │ │ │ ├── select-item.tsx
│ │ │ │ ├── select-label.tsx
│ │ │ │ ├── select-list.tsx
│ │ │ │ ├── select-positioner.tsx
│ │ │ │ ├── select-root-provider.tsx
│ │ │ │ ├── select-root.tsx
│ │ │ │ ├── select-trigger.tsx
│ │ │ │ ├── select-value-text.tsx
│ │ │ │ ├── select.anatomy.ts
│ │ │ │ ├── select.stories.tsx
│ │ │ │ ├── select.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── select.test.tsx
│ │ │ │ ├── use-select-context.ts
│ │ │ │ ├── use-select-item-context.ts
│ │ │ │ ├── use-select-item-group-props-context.ts
│ │ │ │ ├── use-select-item-props-context.ts
│ │ │ │ └── use-select.ts
│ │ │ ├── signature-pad
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── image-preview.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── signature-pad-clear-trigger.tsx
│ │ │ │ ├── signature-pad-context.tsx
│ │ │ │ ├── signature-pad-control.tsx
│ │ │ │ ├── signature-pad-guide.tsx
│ │ │ │ ├── signature-pad-hidden-input.tsx
│ │ │ │ ├── signature-pad-label.tsx
│ │ │ │ ├── signature-pad-root-provider.tsx
│ │ │ │ ├── signature-pad-root.tsx
│ │ │ │ ├── signature-pad-segment.tsx
│ │ │ │ ├── signature-pad.anatomy.ts
│ │ │ │ ├── signature-pad.stories.tsx
│ │ │ │ ├── signature-pad.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── signature-pad.test.tsx
│ │ │ │ ├── use-signature-pad-context.ts
│ │ │ │ └── use-signature-pad.ts
│ │ │ ├── slider
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── center-origin.tsx
│ │ │ │ │ ├── dragging-indicator.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── min-max.tsx
│ │ │ │ │ ├── on-event.tsx
│ │ │ │ │ ├── range.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── step.tsx
│ │ │ │ │ ├── thumb-overlap.tsx
│ │ │ │ │ ├── vertical.tsx
│ │ │ │ │ └── with-marks.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── slider-context.tsx
│ │ │ │ ├── slider-control.tsx
│ │ │ │ ├── slider-dragging-indicator.tsx
│ │ │ │ ├── slider-hidden-input.tsx
│ │ │ │ ├── slider-label.tsx
│ │ │ │ ├── slider-marker-group.tsx
│ │ │ │ ├── slider-marker.tsx
│ │ │ │ ├── slider-range.tsx
│ │ │ │ ├── slider-root-provider.tsx
│ │ │ │ ├── slider-root.tsx
│ │ │ │ ├── slider-thumb.tsx
│ │ │ │ ├── slider-track.tsx
│ │ │ │ ├── slider-value-text.tsx
│ │ │ │ ├── slider.anatomy.ts
│ │ │ │ ├── slider.stories.tsx
│ │ │ │ ├── slider.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── slider.test.tsx
│ │ │ │ ├── use-slider-context.ts
│ │ │ │ ├── use-slider-thumb-props-context.ts
│ │ │ │ └── use-slider.ts
│ │ │ ├── splitter
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── collapsible.tsx
│ │ │ │ │ ├── events.tsx
│ │ │ │ │ ├── multiple-panels.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── vertical.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── splitter-context.tsx
│ │ │ │ ├── splitter-panel.tsx
│ │ │ │ ├── splitter-resize-trigger.tsx
│ │ │ │ ├── splitter-root-provider.tsx
│ │ │ │ ├── splitter-root.tsx
│ │ │ │ ├── splitter.anatomy.ts
│ │ │ │ ├── splitter.stories.tsx
│ │ │ │ ├── splitter.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── splitter.test.tsx
│ │ │ │ ├── use-splitter-context.ts
│ │ │ │ └── use-splitter.ts
│ │ │ ├── steps
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── steps-completed-content.tsx
│ │ │ │ ├── steps-content.tsx
│ │ │ │ ├── steps-context.tsx
│ │ │ │ ├── steps-indicator.tsx
│ │ │ │ ├── steps-item-context.tsx
│ │ │ │ ├── steps-item.tsx
│ │ │ │ ├── steps-list.tsx
│ │ │ │ ├── steps-next-trigger.tsx
│ │ │ │ ├── steps-prev-trigger.tsx
│ │ │ │ ├── steps-progress.tsx
│ │ │ │ ├── steps-root-provider.tsx
│ │ │ │ ├── steps-root.tsx
│ │ │ │ ├── steps-separator.tsx
│ │ │ │ ├── steps-trigger.tsx
│ │ │ │ ├── steps.anatomy.ts
│ │ │ │ ├── steps.stories.tsx
│ │ │ │ ├── steps.ts
│ │ │ │ ├── use-steps-context.ts
│ │ │ │ ├── use-steps-item-context.ts
│ │ │ │ ├── use-steps-item-props-context.ts
│ │ │ │ └── use-steps.ts
│ │ │ ├── switch
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── render-prop.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── switch-context.tsx
│ │ │ │ ├── switch-control.tsx
│ │ │ │ ├── switch-hidden-input.tsx
│ │ │ │ ├── switch-label.tsx
│ │ │ │ ├── switch-root-provider.tsx
│ │ │ │ ├── switch-root.tsx
│ │ │ │ ├── switch-thumb.tsx
│ │ │ │ ├── switch.anatomy.ts
│ │ │ │ ├── switch.stories.tsx
│ │ │ │ ├── switch.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── switch.test.tsx
│ │ │ │ ├── use-switch-context.ts
│ │ │ │ └── use-switch.ts
│ │ │ ├── tabs
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled-tab.tsx
│ │ │ │ │ ├── indicator.tsx
│ │ │ │ │ ├── initial-tab.tsx
│ │ │ │ │ ├── lazy-mount.tsx
│ │ │ │ │ ├── manual.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── vertical.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tab-content.tsx
│ │ │ │ ├── tab-indicator.tsx
│ │ │ │ ├── tab-list.tsx
│ │ │ │ ├── tab-trigger.tsx
│ │ │ │ ├── tabs-context.tsx
│ │ │ │ ├── tabs-root-provider.tsx
│ │ │ │ ├── tabs-root.tsx
│ │ │ │ ├── tabs.anatomy.ts
│ │ │ │ ├── tabs.stories.tsx
│ │ │ │ ├── tabs.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── tabs.test.tsx
│ │ │ │ ├── use-tabs-context.ts
│ │ │ │ └── use-tabs.ts
│ │ │ ├── tags-input
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── blur-behavior.tsx
│ │ │ │ │ ├── disabled-editing.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── max-with-overflow.tsx
│ │ │ │ │ ├── on-event.tsx
│ │ │ │ │ ├── paste-behavior.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ ├── validated.tsx
│ │ │ │ │ └── with-field.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tags-input-clear-trigger.tsx
│ │ │ │ ├── tags-input-context.tsx
│ │ │ │ ├── tags-input-control.tsx
│ │ │ │ ├── tags-input-hidden-input.tsx
│ │ │ │ ├── tags-input-input.tsx
│ │ │ │ ├── tags-input-item-context.tsx
│ │ │ │ ├── tags-input-item-delete-trigger.tsx
│ │ │ │ ├── tags-input-item-input.tsx
│ │ │ │ ├── tags-input-item-preview.tsx
│ │ │ │ ├── tags-input-item-text.tsx
│ │ │ │ ├── tags-input-item.tsx
│ │ │ │ ├── tags-input-label.tsx
│ │ │ │ ├── tags-input-root-provider.tsx
│ │ │ │ ├── tags-input-root.tsx
│ │ │ │ ├── tags-input.anatomy.ts
│ │ │ │ ├── tags-input.stories.tsx
│ │ │ │ ├── tags-input.ts
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── tags-input.test.tsx
│ │ │ │ ├── use-tags-input-context.ts
│ │ │ │ ├── use-tags-input-item-context.ts
│ │ │ │ ├── use-tags-input-item-props-context.ts
│ │ │ │ └── use-tags-input.ts
│ │ │ ├── time-picker
│ │ │ │ ├── examples
│ │ │ │ │ ├── advanced.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── time-picker-cell.tsx
│ │ │ │ ├── time-picker-clear-trigger.tsx
│ │ │ │ ├── time-picker-column.tsx
│ │ │ │ ├── time-picker-content.tsx
│ │ │ │ ├── time-picker-context.tsx
│ │ │ │ ├── time-picker-control.tsx
│ │ │ │ ├── time-picker-input.tsx
│ │ │ │ ├── time-picker-label.tsx
│ │ │ │ ├── time-picker-positioner.tsx
│ │ │ │ ├── time-picker-root-provider.tsx
│ │ │ │ ├── time-picker-root.tsx
│ │ │ │ ├── time-picker-spacer.tsx
│ │ │ │ ├── time-picker-trigger.tsx
│ │ │ │ ├── time-picker.anatomy.ts
│ │ │ │ ├── time-picker.stories.tsx
│ │ │ │ ├── time-picker.ts
│ │ │ │ ├── use-time-picker-column-props-context.ts
│ │ │ │ ├── use-time-picker-context.ts
│ │ │ │ └── use-time-picker.ts
│ │ │ ├── timer
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── countdown.tsx
│ │ │ │ │ ├── events.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── timer-action-trigger.tsx
│ │ │ │ ├── timer-area.tsx
│ │ │ │ ├── timer-context.tsx
│ │ │ │ ├── timer-control.tsx
│ │ │ │ ├── timer-item.tsx
│ │ │ │ ├── timer-root-provider.tsx
│ │ │ │ ├── timer-root.tsx
│ │ │ │ ├── timer-separator.tsx
│ │ │ │ ├── timer.anatomy.ts
│ │ │ │ ├── timer.stories.tsx
│ │ │ │ ├── timer.ts
│ │ │ │ ├── use-timer-context.ts
│ │ │ │ └── use-timer.ts
│ │ │ ├── toast
│ │ │ │ ├── create-toaster.tsx
│ │ │ │ ├── examples
│ │ │ │ │ ├── action.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── update.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── toast.test.tsx
│ │ │ │ ├── toast-action-trigger.tsx
│ │ │ │ ├── toast-close-trigger.tsx
│ │ │ │ ├── toast-context.tsx
│ │ │ │ ├── toast-description.tsx
│ │ │ │ ├── toast-root.tsx
│ │ │ │ ├── toast-title.tsx
│ │ │ │ ├── toast.anatomy.ts
│ │ │ │ ├── toast.stories.tsx
│ │ │ │ ├── toast.ts
│ │ │ │ ├── toaster.tsx
│ │ │ │ └── use-toast-context.ts
│ │ │ ├── toggle-group
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── initial-value.tsx
│ │ │ │ │ ├── multiple.tsx
│ │ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── toggle-group.test.tsx
│ │ │ │ ├── toggle-group-context.tsx
│ │ │ │ ├── toggle-group-item.tsx
│ │ │ │ ├── toggle-group-root-provider.tsx
│ │ │ │ ├── toggle-group-root.tsx
│ │ │ │ ├── toggle-group.anatomy.ts
│ │ │ │ ├── toggle-group.stories.tsx
│ │ │ │ ├── toggle-group.ts
│ │ │ │ ├── use-toggle-group-context.ts
│ │ │ │ └── use-toggle-group.ts
│ │ │ ├── toggle
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── disabled.tsx
│ │ │ │ │ └── indicator.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── toggle-context.tsx
│ │ │ │ ├── toggle-indicator.tsx
│ │ │ │ ├── toggle-root.tsx
│ │ │ │ ├── toggle.anatomy.ts
│ │ │ │ ├── toggle.stories.tsx
│ │ │ │ ├── toggle.ts
│ │ │ │ ├── use-toggle-context.ts
│ │ │ │ └── use-toggle.ts
│ │ │ ├── tooltip
│ │ │ │ ├── examples
│ │ │ │ │ ├── arrow.tsx
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── controlled.tsx
│ │ │ │ │ ├── positioning.tsx
│ │ │ │ │ ├── render-fn.tsx
│ │ │ │ │ ├── root-provider.tsx
│ │ │ │ │ └── timings.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ └── tooltip.test.tsx
│ │ │ │ ├── tooltip-arrow-tip.tsx
│ │ │ │ ├── tooltip-arrow.tsx
│ │ │ │ ├── tooltip-content.tsx
│ │ │ │ ├── tooltip-context.tsx
│ │ │ │ ├── tooltip-positioner.tsx
│ │ │ │ ├── tooltip-root-provider.tsx
│ │ │ │ ├── tooltip-root.tsx
│ │ │ │ ├── tooltip-trigger.tsx
│ │ │ │ ├── tooltip.anatomy.ts
│ │ │ │ ├── tooltip.stories.tsx
│ │ │ │ ├── tooltip.ts
│ │ │ │ ├── use-tooltip-context.ts
│ │ │ │ └── use-tooltip.ts
│ │ │ ├── tour
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── steps.tsx
│ │ │ │ │ └── tour.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tour-action-trigger.tsx
│ │ │ │ ├── tour-actions.tsx
│ │ │ │ ├── tour-arrow-tip.tsx
│ │ │ │ ├── tour-arrow.tsx
│ │ │ │ ├── tour-backdrop.tsx
│ │ │ │ ├── tour-close-trigger.tsx
│ │ │ │ ├── tour-content.tsx
│ │ │ │ ├── tour-context.tsx
│ │ │ │ ├── tour-control.tsx
│ │ │ │ ├── tour-description.tsx
│ │ │ │ ├── tour-positioner.tsx
│ │ │ │ ├── tour-progress-text.tsx
│ │ │ │ ├── tour-root.tsx
│ │ │ │ ├── tour-spotlight.tsx
│ │ │ │ ├── tour-title.tsx
│ │ │ │ ├── tour.anatomy.ts
│ │ │ │ ├── tour.stories.tsx
│ │ │ │ ├── tour.ts
│ │ │ │ ├── use-tour-context.ts
│ │ │ │ └── use-tour.ts
│ │ │ └── tree-view
│ │ │ │ ├── examples
│ │ │ │ ├── basic.tsx
│ │ │ │ └── root-provider.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── tests
│ │ │ │ └── tree-view.test.tsx
│ │ │ │ ├── tree-view-branch-content.tsx
│ │ │ │ ├── tree-view-branch-control.tsx
│ │ │ │ ├── tree-view-branch-indent-guide.tsx
│ │ │ │ ├── tree-view-branch-indicator.tsx
│ │ │ │ ├── tree-view-branch-text.tsx
│ │ │ │ ├── tree-view-branch-trigger.tsx
│ │ │ │ ├── tree-view-branch.tsx
│ │ │ │ ├── tree-view-context.tsx
│ │ │ │ ├── tree-view-item-indicator.tsx
│ │ │ │ ├── tree-view-item-text.tsx
│ │ │ │ ├── tree-view-item.tsx
│ │ │ │ ├── tree-view-label.tsx
│ │ │ │ ├── tree-view-node-context.ts
│ │ │ │ ├── tree-view-node-provider.tsx
│ │ │ │ ├── tree-view-root-provider.tsx
│ │ │ │ ├── tree-view-root.tsx
│ │ │ │ ├── tree-view-tree.tsx
│ │ │ │ ├── tree-view.anatomy.ts
│ │ │ │ ├── tree-view.stories.tsx
│ │ │ │ ├── tree-view.ts
│ │ │ │ ├── use-tree-view-context.ts
│ │ │ │ ├── use-tree-view-node-context.ts
│ │ │ │ ├── use-tree-view-node-props-context.ts
│ │ │ │ └── use-tree-view.ts
│ │ ├── index.tsx
│ │ ├── providers
│ │ │ ├── environment
│ │ │ │ ├── environment-provider.tsx
│ │ │ │ ├── environment.stories.tsx
│ │ │ │ ├── environment.test.tsx
│ │ │ │ ├── examples
│ │ │ │ │ ├── basic.tsx
│ │ │ │ │ ├── setup.tsx
│ │ │ │ │ └── usage.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ └── use-environment-context.ts
│ │ │ ├── index.tsx
│ │ │ └── locale
│ │ │ │ ├── examples
│ │ │ │ ├── basic.tsx
│ │ │ │ ├── setup.tsx
│ │ │ │ └── usage.tsx
│ │ │ │ ├── index.tsx
│ │ │ │ ├── locale-provider.tsx
│ │ │ │ ├── locale.stories.tsx
│ │ │ │ ├── use-filter.ts
│ │ │ │ └── use-locale-context.ts
│ │ ├── setup-test.ts
│ │ ├── types.ts
│ │ ├── use-debugger.ts
│ │ └── utils
│ │ │ ├── compose-refs.ts
│ │ │ ├── create-context.ts
│ │ │ ├── create-split-props.test.ts
│ │ │ ├── create-split-props.ts
│ │ │ ├── render-strategy.ts
│ │ │ ├── run-if-fn.test.ts
│ │ │ ├── run-if-fn.ts
│ │ │ └── use-controllable-state.ts
│ ├── tsconfig.json
│ ├── tsup.config.ts
│ └── vite.config.mts
├── svelte
│ ├── .storybook
│ │ ├── main.ts
│ │ └── preview.ts
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ │ ├── app.d.ts
│ │ ├── app.html
│ │ ├── lib
│ │ │ ├── components
│ │ │ │ ├── anatomy.ts
│ │ │ │ ├── avatar
│ │ │ │ │ ├── avatar-context.svelte
│ │ │ │ │ ├── avatar-fallback.svelte
│ │ │ │ │ ├── avatar-image.svelte
│ │ │ │ │ ├── avatar-root-provider.svelte
│ │ │ │ │ ├── avatar-root.svelte
│ │ │ │ │ ├── avatar.anatomy.ts
│ │ │ │ │ ├── avatar.stories.ts
│ │ │ │ │ ├── avatar.test.ts
│ │ │ │ │ ├── avatar.ts
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── basic.svelte
│ │ │ │ │ │ ├── context.svelte
│ │ │ │ │ │ └── root-provider.svelte
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── use-avatar-context.ts
│ │ │ │ │ └── use-avatar.svelte.ts
│ │ │ │ ├── collection.ts
│ │ │ │ ├── factory
│ │ │ │ │ ├── examples
│ │ │ │ │ │ └── basic.svelte
│ │ │ │ │ ├── factory.svelte
│ │ │ │ │ ├── factory.test.ts
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── svg-element.svelte
│ │ │ │ ├── format
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── byte-basic.svelte
│ │ │ │ │ │ ├── byte-sizes.svelte
│ │ │ │ │ │ ├── byte-with-locale.svelte
│ │ │ │ │ │ ├── byte-with-unit-display.svelte
│ │ │ │ │ │ ├── byte-with-unit.svelte
│ │ │ │ │ │ ├── number-basic.svelte
│ │ │ │ │ │ ├── number-with-compact.svelte
│ │ │ │ │ │ ├── number-with-currency.svelte
│ │ │ │ │ │ ├── number-with-locale.svelte
│ │ │ │ │ │ ├── number-with-percentage.svelte
│ │ │ │ │ │ └── number-with-unit.svelte
│ │ │ │ │ ├── format-byte.svelte
│ │ │ │ │ ├── format-number.svelte
│ │ │ │ │ ├── format.stories.ts
│ │ │ │ │ ├── format.ts
│ │ │ │ │ └── index.ts
│ │ │ │ ├── frame
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── basic.svelte
│ │ │ │ │ │ ├── script.svelte
│ │ │ │ │ │ └── src-doc.svelte
│ │ │ │ │ ├── frame-content.svelte
│ │ │ │ │ ├── frame.stories.tsx
│ │ │ │ │ ├── frame.svelte
│ │ │ │ │ └── index.ts
│ │ │ │ ├── highlight
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── basic.svelte
│ │ │ │ │ │ ├── ignore-case.svelte
│ │ │ │ │ │ └── match-all.svelte
│ │ │ │ │ ├── highlight.stories.ts
│ │ │ │ │ ├── highlight.svelte
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── use-highlight.svelte.ts
│ │ │ │ ├── index.ts
│ │ │ │ ├── portal
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── portal-consumer.svelte
│ │ │ │ │ └── portal.svelte
│ │ │ │ ├── presence
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── basic.svelte
│ │ │ │ │ │ ├── lazy-mount-and-unmount-on-exit.svelte
│ │ │ │ │ │ ├── lazy-mount.svelte
│ │ │ │ │ │ ├── skip-animation-on-mount.svelte
│ │ │ │ │ │ └── unmount-on-exit.svelte
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── presence.stories.ts
│ │ │ │ │ ├── presence.svelte
│ │ │ │ │ ├── presence.test.ts
│ │ │ │ │ ├── split-presence-props.svelte.ts
│ │ │ │ │ ├── use-presence-context.ts
│ │ │ │ │ └── use-presence.svelte.ts
│ │ │ │ ├── progress
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── circular
│ │ │ │ │ │ │ ├── basic.svelte
│ │ │ │ │ │ │ ├── indeterminate.svelte
│ │ │ │ │ │ │ ├── initial-value.svelte
│ │ │ │ │ │ │ ├── min-max.svelte
│ │ │ │ │ │ │ ├── root-provider.svelte
│ │ │ │ │ │ │ └── value-text.svelte
│ │ │ │ │ │ └── linear
│ │ │ │ │ │ │ ├── basic.svelte
│ │ │ │ │ │ │ ├── indeterminate.svelte
│ │ │ │ │ │ │ ├── initial-value.svelte
│ │ │ │ │ │ │ ├── min-max.svelte
│ │ │ │ │ │ │ ├── root-provider.svelte
│ │ │ │ │ │ │ └── value-text.svelte
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── progress-circle-range.svelte
│ │ │ │ │ ├── progress-circle-track.svelte
│ │ │ │ │ ├── progress-circle.svelte
│ │ │ │ │ ├── progress-circular.stories.ts
│ │ │ │ │ ├── progress-context.svelte
│ │ │ │ │ ├── progress-label.svelte
│ │ │ │ │ ├── progress-linear.stories.ts
│ │ │ │ │ ├── progress-range.svelte
│ │ │ │ │ ├── progress-root-provider.svelte
│ │ │ │ │ ├── progress-root.svelte
│ │ │ │ │ ├── progress-track.svelte
│ │ │ │ │ ├── progress-value-text.svelte
│ │ │ │ │ ├── progress-view.svelte
│ │ │ │ │ ├── progress.anatomy.ts
│ │ │ │ │ ├── progress.ts
│ │ │ │ │ ├── use-progress-context.ts
│ │ │ │ │ └── use-progress.svelte.ts
│ │ │ │ ├── qr-code
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── basic.svelte
│ │ │ │ │ │ ├── context.svelte
│ │ │ │ │ │ ├── error-correction.svelte
│ │ │ │ │ │ ├── root-provider.svelte
│ │ │ │ │ │ └── with-overlay.svelte
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── qr-code-context.svelte
│ │ │ │ │ ├── qr-code-download-trigger.svelte
│ │ │ │ │ ├── qr-code-frame.svelte
│ │ │ │ │ ├── qr-code-overlay.svelte
│ │ │ │ │ ├── qr-code-pattern.svelte
│ │ │ │ │ ├── qr-code-root-provider.svelte
│ │ │ │ │ ├── qr-code-root.svelte
│ │ │ │ │ ├── qr-code.anatomy.ts
│ │ │ │ │ ├── qr-code.stories.ts
│ │ │ │ │ ├── qr-code.ts
│ │ │ │ │ ├── use-qr-code-context.ts
│ │ │ │ │ └── use-qr-code.svelte.ts
│ │ │ │ ├── slider
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── basic.svelte
│ │ │ │ │ │ ├── center-origin.svelte
│ │ │ │ │ │ ├── dragging-indicator.svelte
│ │ │ │ │ │ ├── initial-value.svelte
│ │ │ │ │ │ ├── min-max.svelte
│ │ │ │ │ │ ├── on-event.svelte
│ │ │ │ │ │ ├── range.svelte
│ │ │ │ │ │ ├── root-provider.svelte
│ │ │ │ │ │ ├── step.svelte
│ │ │ │ │ │ ├── thumb-overlap.svelte
│ │ │ │ │ │ ├── vertical.svelte
│ │ │ │ │ │ └── with-marks.svelte
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── slider-context.svelte
│ │ │ │ │ ├── slider-control.svelte
│ │ │ │ │ ├── slider-dragging-indicator.svelte
│ │ │ │ │ ├── slider-hidden-input.svelte
│ │ │ │ │ ├── slider-label.svelte
│ │ │ │ │ ├── slider-marker-group.svelte
│ │ │ │ │ ├── slider-marker.svelte
│ │ │ │ │ ├── slider-range.svelte
│ │ │ │ │ ├── slider-root-provider.svelte
│ │ │ │ │ ├── slider-root.svelte
│ │ │ │ │ ├── slider-thumb-props-provider.svelte
│ │ │ │ │ ├── slider-thumb.svelte
│ │ │ │ │ ├── slider-track.svelte
│ │ │ │ │ ├── slider-value-text.svelte
│ │ │ │ │ ├── slider.anatomy.ts
│ │ │ │ │ ├── slider.stories.ts
│ │ │ │ │ ├── slider.ts
│ │ │ │ │ ├── use-slider-context.ts
│ │ │ │ │ ├── use-slider-thumb-props-context.ts
│ │ │ │ │ └── use-slider.svelte.ts
│ │ │ │ └── timer
│ │ │ │ │ ├── examples
│ │ │ │ │ ├── basic.svelte
│ │ │ │ │ ├── countdown.svelte
│ │ │ │ │ ├── custom-interval.svelte
│ │ │ │ │ ├── events.svelte
│ │ │ │ │ ├── pomodoro.svelte
│ │ │ │ │ └── root-provider.svelte
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── timer-action-trigger.svelte
│ │ │ │ │ ├── timer-area.svelte
│ │ │ │ │ ├── timer-context.svelte
│ │ │ │ │ ├── timer-control.svelte
│ │ │ │ │ ├── timer-item.svelte
│ │ │ │ │ ├── timer-root-provider.svelte
│ │ │ │ │ ├── timer-root.svelte
│ │ │ │ │ ├── timer-separator.svelte
│ │ │ │ │ ├── timer.anatomy.ts
│ │ │ │ │ ├── timer.stories.ts
│ │ │ │ │ ├── timer.ts
│ │ │ │ │ ├── use-timer-context.ts
│ │ │ │ │ └── use-timer.svelte.ts
│ │ │ ├── index.ts
│ │ │ ├── providers
│ │ │ │ ├── environment
│ │ │ │ │ ├── environment-provider.svelte
│ │ │ │ │ ├── environment.stories.ts
│ │ │ │ │ ├── examples
│ │ │ │ │ │ ├── basic.svelte
│ │ │ │ │ │ ├── setup.svelte
│ │ │ │ │ │ └── usage.svelte
│ │ │ │ │ ├── index.ts
│ │ │ │ │ └── use-environment-context.ts
│ │ │ │ ├── index.ts
│ │ │ │ └── locale
│ │ │ │ │ ├── examples
│ │ │ │ │ ├── basic.svelte
│ │ │ │ │ ├── setup.svelte
│ │ │ │ │ └── usage.svelte
│ │ │ │ │ ├── index.ts
│ │ │ │ │ ├── locale-provider.svelte
│ │ │ │ │ ├── locale.stories.ts
│ │ │ │ │ └── use-locale-context.ts
│ │ │ ├── types.ts
│ │ │ └── utils
│ │ │ │ ├── create-context.ts
│ │ │ │ ├── create-split-props.ts
│ │ │ │ ├── render-strategy.ts
│ │ │ │ ├── run-if-fn.ts
│ │ │ │ └── tags.ts
│ │ ├── routes
│ │ │ └── +page.svelte
│ │ └── test-setup.ts
│ ├── svelte.config.js
│ ├── tsconfig.json
│ └── vite.config.ts
├── tsconfig.json
└── vue
│ ├── .storybook
│ └── main.ts
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── README.md
│ ├── clean-package.config.json
│ ├── histoire.config.ts
│ ├── package.json
│ ├── src
│ ├── components
│ │ ├── accordion
│ │ │ ├── accordion-context.vue
│ │ │ ├── accordion-item-content.vue
│ │ │ ├── accordion-item-context.vue
│ │ │ ├── accordion-item-indicator.vue
│ │ │ ├── accordion-item-trigger.vue
│ │ │ ├── accordion-item.vue
│ │ │ ├── accordion-root-provider.vue
│ │ │ ├── accordion-root.vue
│ │ │ ├── accordion.anatomy.ts
│ │ │ ├── accordion.stories.vue
│ │ │ ├── accordion.ts
│ │ │ ├── accordion.types.ts
│ │ │ ├── examples
│ │ │ │ ├── accordion.vue
│ │ │ │ ├── basic.vue
│ │ │ │ ├── collapsible.vue
│ │ │ │ ├── context
│ │ │ │ │ ├── focusedValue.vue
│ │ │ │ │ ├── getItemState.vue
│ │ │ │ │ ├── setValue.vue
│ │ │ │ │ └── value.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── disabled.vue
│ │ │ │ ├── horizontal.vue
│ │ │ │ ├── multiple.vue
│ │ │ │ ├── render-prop.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── vertical.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── accordion.test.ts
│ │ │ │ └── accordion.test.vue
│ │ │ ├── use-accordion-context.ts
│ │ │ ├── use-accordion-item-context.ts
│ │ │ ├── use-accordion-item-props-context.ts
│ │ │ └── use-accordion.ts
│ │ ├── anatomy.ts
│ │ ├── angle-slider
│ │ │ ├── angle-slider-context.vue
│ │ │ ├── angle-slider-control.vue
│ │ │ ├── angle-slider-hidden-input.vue
│ │ │ ├── angle-slider-label.vue
│ │ │ ├── angle-slider-marker-group.vue
│ │ │ ├── angle-slider-marker.vue
│ │ │ ├── angle-slider-root-provider.vue
│ │ │ ├── angle-slider-root.vue
│ │ │ ├── angle-slider-thumb.vue
│ │ │ ├── angle-slider-value-text.vue
│ │ │ ├── angle-slider.anatomy.ts
│ │ │ ├── angle-slider.stories.vue
│ │ │ ├── angle-slider.ts
│ │ │ ├── angle-slider.types.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ └── steps.vue
│ │ │ ├── index.ts
│ │ │ ├── use-angle-slider-context.ts
│ │ │ └── use-angle-slider.ts
│ │ ├── avatar
│ │ │ ├── avatar-context.vue
│ │ │ ├── avatar-fallback.vue
│ │ │ ├── avatar-image.vue
│ │ │ ├── avatar-root-provider.vue
│ │ │ ├── avatar-root.vue
│ │ │ ├── avatar.anatomy.ts
│ │ │ ├── avatar.stories.vue
│ │ │ ├── avatar.ts
│ │ │ ├── avatar.types.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── closed.vue
│ │ │ │ ├── context.vue
│ │ │ │ ├── events.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── use-avatar-context.ts
│ │ │ └── use-avatar.ts
│ │ ├── carousel
│ │ │ ├── carousel-autoplay-trigger.vue
│ │ │ ├── carousel-context.vue
│ │ │ ├── carousel-control.vue
│ │ │ ├── carousel-indicator-group.vue
│ │ │ ├── carousel-indicator.vue
│ │ │ ├── carousel-item-group.vue
│ │ │ ├── carousel-item.vue
│ │ │ ├── carousel-next-trigger.vue
│ │ │ ├── carousel-prev-trigger.vue
│ │ │ ├── carousel-root-provider.vue
│ │ │ ├── carousel-root.vue
│ │ │ ├── carousel.anatomy.ts
│ │ │ ├── carousel.stories.vue
│ │ │ ├── carousel.test.ts
│ │ │ ├── carousel.ts
│ │ │ ├── carousel.types.ts
│ │ │ ├── examples
│ │ │ │ ├── autoplay.vue
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── use-carousel-context.ts
│ │ │ └── use-carousel.ts
│ │ ├── checkbox
│ │ │ ├── checkbox-context.vue
│ │ │ ├── checkbox-control.vue
│ │ │ ├── checkbox-group.types.ts
│ │ │ ├── checkbox-group.vue
│ │ │ ├── checkbox-hidden-input.vue
│ │ │ ├── checkbox-indicator.vue
│ │ │ ├── checkbox-label.vue
│ │ │ ├── checkbox-root-provider.vue
│ │ │ ├── checkbox-root.vue
│ │ │ ├── checkbox.anatomy.ts
│ │ │ ├── checkbox.stories.vue
│ │ │ ├── checkbox.ts
│ │ │ ├── checkbox.types.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── group-controlled.vue
│ │ │ │ ├── group.vue
│ │ │ │ ├── indeterminate.vue
│ │ │ │ ├── render-prop.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── checkbox.test.ts
│ │ │ │ ├── checkbox.test.vue
│ │ │ │ └── controlled-checkbox.test.vue
│ │ │ ├── use-checkbox-context.ts
│ │ │ ├── use-checkbox-group-context.tsx
│ │ │ ├── use-checkbox-group.ts
│ │ │ └── use-checkbox.ts
│ │ ├── client-only
│ │ │ ├── client-only.vue
│ │ │ └── index.ts
│ │ ├── clipboard
│ │ │ ├── clipboard-context.vue
│ │ │ ├── clipboard-control.vue
│ │ │ ├── clipboard-indicator.vue
│ │ │ ├── clipboard-input.vue
│ │ │ ├── clipboard-label.vue
│ │ │ ├── clipboard-root-provider.vue
│ │ │ ├── clipboard-root.vue
│ │ │ ├── clipboard-trigger.vue
│ │ │ ├── clipboard-value-text.vue
│ │ │ ├── clipboard.anatomy.ts
│ │ │ ├── clipboard.stories.vue
│ │ │ ├── clipboard.ts
│ │ │ ├── clipboard.types.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── render-fn.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ └── clipboard.test.vue
│ │ │ ├── use-clipboard-context.ts
│ │ │ └── use-clipboard.ts
│ │ ├── collapsible
│ │ │ ├── collapsible-content.vue
│ │ │ ├── collapsible-context.vue
│ │ │ ├── collapsible-indicator.vue
│ │ │ ├── collapsible-root-provider.vue
│ │ │ ├── collapsible-root.vue
│ │ │ ├── collapsible-trigger.vue
│ │ │ ├── collapsible.anatomy.ts
│ │ │ ├── collapsible.stories.vue
│ │ │ ├── collapsible.test.ts
│ │ │ ├── collapsible.ts
│ │ │ ├── collapsible.types.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── lazy-mount-and-unmount-on-exit.vue
│ │ │ │ ├── lazy-mount.vue
│ │ │ │ ├── on-exit-complete.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── unmount-on-exit.vue
│ │ │ ├── index.ts
│ │ │ ├── use-collapsible-context.ts
│ │ │ └── use-collapsible.ts
│ │ ├── collection.ts
│ │ ├── color-picker
│ │ │ ├── color-picker-area-background.vue
│ │ │ ├── color-picker-area-thumb.vue
│ │ │ ├── color-picker-area.vue
│ │ │ ├── color-picker-channel-input.vue
│ │ │ ├── color-picker-channel-slider-label.vue
│ │ │ ├── color-picker-channel-slider-thumb.vue
│ │ │ ├── color-picker-channel-slider-track.vue
│ │ │ ├── color-picker-channel-slider-value-text.vue
│ │ │ ├── color-picker-channel-slider.vue
│ │ │ ├── color-picker-content.vue
│ │ │ ├── color-picker-context.vue
│ │ │ ├── color-picker-control.vue
│ │ │ ├── color-picker-eye-dropper-trigger.vue
│ │ │ ├── color-picker-format-select.vue
│ │ │ ├── color-picker-format-trigger.vue
│ │ │ ├── color-picker-hidden-input.vue
│ │ │ ├── color-picker-label.vue
│ │ │ ├── color-picker-positioner.vue
│ │ │ ├── color-picker-root-provider.vue
│ │ │ ├── color-picker-root.vue
│ │ │ ├── color-picker-swatch-group.vue
│ │ │ ├── color-picker-swatch-indicator.vue
│ │ │ ├── color-picker-swatch-trigger.vue
│ │ │ ├── color-picker-swatch.vue
│ │ │ ├── color-picker-transparency-grid.vue
│ │ │ ├── color-picker-trigger.vue
│ │ │ ├── color-picker-value-swatch.vue
│ │ │ ├── color-picker-value-text.vue
│ │ │ ├── color-picker-view.vue
│ │ │ ├── color-picker.anatomy.ts
│ │ │ ├── color-picker.stories.vue
│ │ │ ├── color-picker.ts
│ │ │ ├── color-picker.types.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled-open.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── color-picker.test.ts
│ │ │ │ └── color-picker.test.vue
│ │ │ ├── use-color-picker-area-props-context.ts
│ │ │ ├── use-color-picker-channel-props-context.ts
│ │ │ ├── use-color-picker-context.ts
│ │ │ ├── use-color-picker-format-context.ts
│ │ │ ├── use-color-picker-swatch-props-context.ts
│ │ │ └── use-color-picker.ts
│ │ ├── combobox
│ │ │ ├── combobox-clear-trigger.vue
│ │ │ ├── combobox-content.vue
│ │ │ ├── combobox-context.vue
│ │ │ ├── combobox-control.vue
│ │ │ ├── combobox-input.vue
│ │ │ ├── combobox-item-context.vue
│ │ │ ├── combobox-item-group-label.vue
│ │ │ ├── combobox-item-group.vue
│ │ │ ├── combobox-item-indicator.vue
│ │ │ ├── combobox-item-text.vue
│ │ │ ├── combobox-item.vue
│ │ │ ├── combobox-label.vue
│ │ │ ├── combobox-list.vue
│ │ │ ├── combobox-positioner.vue
│ │ │ ├── combobox-root-provider.vue
│ │ │ ├── combobox-root.vue
│ │ │ ├── combobox-trigger.vue
│ │ │ ├── combobox.anatomy.ts
│ │ │ ├── combobox.stories.vue
│ │ │ ├── combobox.ts
│ │ │ ├── combobox.types.ts
│ │ │ ├── examples
│ │ │ │ ├── advanced.vue
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── links.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── combobox.test.ts
│ │ │ │ └── combobox.test.vue
│ │ │ ├── use-combobox-context.ts
│ │ │ ├── use-combobox-item-context.ts
│ │ │ ├── use-combobox-item-group-props-context.ts
│ │ │ ├── use-combobox-item-props-context.ts
│ │ │ └── use-combobox.ts
│ │ ├── create-split-props.ts
│ │ ├── date-picker
│ │ │ ├── date-picker-clear-trigger.vue
│ │ │ ├── date-picker-content.vue
│ │ │ ├── date-picker-context.vue
│ │ │ ├── date-picker-control.vue
│ │ │ ├── date-picker-input.vue
│ │ │ ├── date-picker-label.vue
│ │ │ ├── date-picker-month-select.vue
│ │ │ ├── date-picker-next-trigger.vue
│ │ │ ├── date-picker-positioner.vue
│ │ │ ├── date-picker-preset-trigger.vue
│ │ │ ├── date-picker-prev-trigger.vue
│ │ │ ├── date-picker-range-text.vue
│ │ │ ├── date-picker-root-provider.vue
│ │ │ ├── date-picker-root.vue
│ │ │ ├── date-picker-table-body.vue
│ │ │ ├── date-picker-table-cell-trigger.vue
│ │ │ ├── date-picker-table-cell.vue
│ │ │ ├── date-picker-table-head.vue
│ │ │ ├── date-picker-table-header.vue
│ │ │ ├── date-picker-table-row.vue
│ │ │ ├── date-picker-table.vue
│ │ │ ├── date-picker-trigger.vue
│ │ │ ├── date-picker-view-control.vue
│ │ │ ├── date-picker-view-trigger.vue
│ │ │ ├── date-picker-view.vue
│ │ │ ├── date-picker-year-select.vue
│ │ │ ├── date-picker.anatomy.ts
│ │ │ ├── date-picker.stories.vue
│ │ │ ├── date-picker.ts
│ │ │ ├── date-picker.types.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── range.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── standalone.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── date-picker.test.ts
│ │ │ │ └── date-picker.test.vue
│ │ │ ├── use-date-picker-context.ts
│ │ │ ├── use-date-picker-table-cell-props-context.ts
│ │ │ ├── use-date-picker-table-props-context.ts
│ │ │ ├── use-date-picker-view-props-context.ts
│ │ │ └── use-date-picker.ts
│ │ ├── dialog
│ │ │ ├── dialog-backdrop.vue
│ │ │ ├── dialog-close-trigger.vue
│ │ │ ├── dialog-content.vue
│ │ │ ├── dialog-context.vue
│ │ │ ├── dialog-description.vue
│ │ │ ├── dialog-positioner.vue
│ │ │ ├── dialog-root-provider.vue
│ │ │ ├── dialog-root.vue
│ │ │ ├── dialog-title.vue
│ │ │ ├── dialog-trigger.vue
│ │ │ ├── dialog.anatomy.ts
│ │ │ ├── dialog.stories.vue
│ │ │ ├── dialog.ts
│ │ │ ├── dialog.types.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── lazy-mount.vue
│ │ │ │ ├── render-fn.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── dialog.test.ts
│ │ │ │ └── dialog.test.vue
│ │ │ ├── use-dialog-context.ts
│ │ │ └── use-dialog.ts
│ │ ├── download-trigger
│ │ │ ├── download-trigger.stories.vue
│ │ │ ├── download-trigger.vue
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── svg.vue
│ │ │ │ └── with-promise.vue
│ │ │ └── index.ts
│ │ ├── editable
│ │ │ ├── editable-area.vue
│ │ │ ├── editable-cancel-trigger.vue
│ │ │ ├── editable-context.vue
│ │ │ ├── editable-control.vue
│ │ │ ├── editable-edit-trigger.vue
│ │ │ ├── editable-input.vue
│ │ │ ├── editable-label.vue
│ │ │ ├── editable-preview.vue
│ │ │ ├── editable-root-provider.vue
│ │ │ ├── editable-root.vue
│ │ │ ├── editable-submit-trigger.vue
│ │ │ ├── editable.anatomy.ts
│ │ │ ├── editable.stories.vue
│ │ │ ├── editable.ts
│ │ │ ├── editable.types.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── custom-controls.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── controlled-editable.test.vue
│ │ │ │ ├── editable.test.ts
│ │ │ │ └── editable.test.vue
│ │ │ ├── use-editable-context.ts
│ │ │ └── use-editable.ts
│ │ ├── factory.test.tsx
│ │ ├── factory.ts
│ │ ├── field
│ │ │ ├── examples
│ │ │ │ ├── disabled.vue
│ │ │ │ ├── input-controlled.vue
│ │ │ │ ├── input.vue
│ │ │ │ ├── reactive-invalid.vue
│ │ │ │ ├── required-indicator.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ ├── select-controlled.vue
│ │ │ │ ├── select.vue
│ │ │ │ ├── textarea-autoresize.vue
│ │ │ │ ├── textarea-controlled.vue
│ │ │ │ └── textarea.vue
│ │ │ ├── field-context.vue
│ │ │ ├── field-error-text.vue
│ │ │ ├── field-helper-text.vue
│ │ │ ├── field-input.vue
│ │ │ ├── field-label.vue
│ │ │ ├── field-required-indicator.vue
│ │ │ ├── field-root-provider.vue
│ │ │ ├── field-root.vue
│ │ │ ├── field-select.vue
│ │ │ ├── field-textarea.vue
│ │ │ ├── field.anatomy.ts
│ │ │ ├── field.stories.vue
│ │ │ ├── field.ts
│ │ │ ├── field.types.ts
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── field.test.tsx
│ │ │ │ └── field.test.vue
│ │ │ ├── use-field-context.ts
│ │ │ └── use-field.ts
│ │ ├── fieldset
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── phone-input.vue
│ │ │ │ ├── with-checkbox.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── fieldset-context.vue
│ │ │ ├── fieldset-error-text.vue
│ │ │ ├── fieldset-helper-text.vue
│ │ │ ├── fieldset-legend.vue
│ │ │ ├── fieldset-root-provider.vue
│ │ │ ├── fieldset-root.vue
│ │ │ ├── fieldset.anatomy.ts
│ │ │ ├── fieldset.stories.vue
│ │ │ ├── fieldset.ts
│ │ │ ├── fieldset.types.ts
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── fieldset.test.tsx
│ │ │ │ └── fieldset.test.vue
│ │ │ ├── use-fieldset-context.ts
│ │ │ └── use-fieldset.ts
│ │ ├── file-upload
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── file-upload-clear-trigger.vue
│ │ │ ├── file-upload-context.vue
│ │ │ ├── file-upload-dropzone.vue
│ │ │ ├── file-upload-hidden-input.vue
│ │ │ ├── file-upload-item-delete-trigger.vue
│ │ │ ├── file-upload-item-group.vue
│ │ │ ├── file-upload-item-name.vue
│ │ │ ├── file-upload-item-preview-image.vue
│ │ │ ├── file-upload-item-preview.vue
│ │ │ ├── file-upload-item-size-text.vue
│ │ │ ├── file-upload-item.vue
│ │ │ ├── file-upload-label.vue
│ │ │ ├── file-upload-root-provider.vue
│ │ │ ├── file-upload-root.vue
│ │ │ ├── file-upload-trigger.vue
│ │ │ ├── file-upload.anatomy.ts
│ │ │ ├── file-upload.stories.vue
│ │ │ ├── file-upload.ts
│ │ │ ├── file-upload.types.ts
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── file-upload.test.ts
│ │ │ │ └── file-upload.test.vue
│ │ │ ├── use-file-upload-context.ts
│ │ │ ├── use-file-upload-item-props-context.ts
│ │ │ └── use-file-upload.ts
│ │ ├── floating-panel
│ │ │ ├── examples
│ │ │ │ ├── anchor-position.vue
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled-open.vue
│ │ │ │ ├── controlled-position.vue
│ │ │ │ ├── controlled-size.vue
│ │ │ │ ├── lazy-mount.vue
│ │ │ │ └── render-fn.vue
│ │ │ ├── floating-panel-body.vue
│ │ │ ├── floating-panel-close-trigger.vue
│ │ │ ├── floating-panel-content.vue
│ │ │ ├── floating-panel-context.vue
│ │ │ ├── floating-panel-control.vue
│ │ │ ├── floating-panel-drag-trigger.vue
│ │ │ ├── floating-panel-header.vue
│ │ │ ├── floating-panel-positioner.vue
│ │ │ ├── floating-panel-resize-trigger.vue
│ │ │ ├── floating-panel-root-provider.vue
│ │ │ ├── floating-panel-root.vue
│ │ │ ├── floating-panel-stage-trigger.vue
│ │ │ ├── floating-panel-title.vue
│ │ │ ├── floating-panel-trigger.vue
│ │ │ ├── floating-panel.anatomy.ts
│ │ │ ├── floating-panel.stories.vue
│ │ │ ├── floating-panel.ts
│ │ │ ├── floating-panel.types.ts
│ │ │ ├── index.ts
│ │ │ ├── use-floating-panel-context.ts
│ │ │ └── use-floating-panel.ts
│ │ ├── focus-trap
│ │ │ ├── examples
│ │ │ │ ├── autofocus.vue
│ │ │ │ ├── basic.vue
│ │ │ │ └── initial-focus.vue
│ │ │ ├── focus-trap.stories.vue
│ │ │ ├── focus-trap.types.ts
│ │ │ ├── focus-trap.vue
│ │ │ └── index.ts
│ │ ├── format
│ │ │ ├── examples
│ │ │ │ ├── byte-basic.vue
│ │ │ │ ├── byte-sizes.vue
│ │ │ │ ├── byte-with-locale.vue
│ │ │ │ ├── byte-with-unit-display.vue
│ │ │ │ ├── byte-with-unit.vue
│ │ │ │ ├── number-basic.vue
│ │ │ │ ├── number-with-compact.vue
│ │ │ │ ├── number-with-currency.vue
│ │ │ │ ├── number-with-locale.vue
│ │ │ │ ├── number-with-percentage.vue
│ │ │ │ ├── number-with-unit.vue
│ │ │ │ ├── relative-time-basic.vue
│ │ │ │ └── relative-time-short.vue
│ │ │ ├── format-byte.vue
│ │ │ ├── format-number.vue
│ │ │ ├── format-relative-time.vue
│ │ │ ├── format.stories.vue
│ │ │ ├── format.ts
│ │ │ └── index.ts
│ │ ├── frame
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── script.vue
│ │ │ │ └── src-doc.vue
│ │ │ ├── frame-content.vue
│ │ │ ├── frame.stories.vue
│ │ │ ├── frame.vue
│ │ │ └── index.ts
│ │ ├── highlight
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── ignore-case.vue
│ │ │ │ ├── match-all.vue
│ │ │ │ ├── multiple.vue
│ │ │ │ └── with-input.vue
│ │ │ ├── highlight.stories.vue
│ │ │ ├── highlight.types.ts
│ │ │ ├── highlight.vue
│ │ │ ├── index.ts
│ │ │ └── use-highlight.ts
│ │ ├── hover-card
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── positioning.vue
│ │ │ │ ├── render-prop.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── hover-card-arrow-tip.vue
│ │ │ ├── hover-card-arrow.vue
│ │ │ ├── hover-card-content.vue
│ │ │ ├── hover-card-context.vue
│ │ │ ├── hover-card-positioner.vue
│ │ │ ├── hover-card-root-provider.vue
│ │ │ ├── hover-card-root.vue
│ │ │ ├── hover-card-trigger.vue
│ │ │ ├── hover-card.anatomy.ts
│ │ │ ├── hover-card.stories.vue
│ │ │ ├── hover-card.ts
│ │ │ ├── hover-card.types.ts
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── hover-card.test.ts
│ │ │ │ └── hover-card.test.vue
│ │ │ ├── use-hover-card-context.ts
│ │ │ └── use-hover-card.ts
│ │ ├── index.ts
│ │ ├── listbox
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── disabled.vue
│ │ │ │ ├── group.vue
│ │ │ │ ├── multiple.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── value-text.vue
│ │ │ ├── index.ts
│ │ │ ├── listbox-content.vue
│ │ │ ├── listbox-input.vue
│ │ │ ├── listbox-item-group-label.vue
│ │ │ ├── listbox-item-group.vue
│ │ │ ├── listbox-item-indicator.vue
│ │ │ ├── listbox-item-text.vue
│ │ │ ├── listbox-item.vue
│ │ │ ├── listbox-label.vue
│ │ │ ├── listbox-root-provider.vue
│ │ │ ├── listbox-root.vue
│ │ │ ├── listbox-value-text.vue
│ │ │ ├── listbox.anatomy.ts
│ │ │ ├── listbox.stories.vue
│ │ │ ├── listbox.ts
│ │ │ ├── listbox.types.ts
│ │ │ ├── tests
│ │ │ │ ├── listbox.test.ts
│ │ │ │ └── listbox.test.vue
│ │ │ ├── use-listbox-context.ts
│ │ │ ├── use-listbox-item-context.ts
│ │ │ ├── use-listbox-item-group-props-context.ts
│ │ │ ├── use-listbox-item-props-context.ts
│ │ │ └── use-listbox.ts
│ │ ├── menu
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── checkbox.vue
│ │ │ │ ├── context.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── group.vue
│ │ │ │ ├── nested.vue
│ │ │ │ ├── radio-group.vue
│ │ │ │ ├── render-prop.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ ├── select-event.vue
│ │ │ │ └── separator.vue
│ │ │ ├── index.ts
│ │ │ ├── menu-arrow-tip.vue
│ │ │ ├── menu-arrow.vue
│ │ │ ├── menu-checkbox-item.vue
│ │ │ ├── menu-content.vue
│ │ │ ├── menu-context-trigger.vue
│ │ │ ├── menu-context.vue
│ │ │ ├── menu-indicator.vue
│ │ │ ├── menu-item-context.vue
│ │ │ ├── menu-item-group-label.vue
│ │ │ ├── menu-item-group.vue
│ │ │ ├── menu-item-indicator.vue
│ │ │ ├── menu-item-text.vue
│ │ │ ├── menu-item.vue
│ │ │ ├── menu-positioner.vue
│ │ │ ├── menu-radio-item-group.vue
│ │ │ ├── menu-radio-item.vue
│ │ │ ├── menu-root-provider.vue
│ │ │ ├── menu-root.vue
│ │ │ ├── menu-separator.vue
│ │ │ ├── menu-trigger-item.vue
│ │ │ ├── menu-trigger.vue
│ │ │ ├── menu.anatomy.ts
│ │ │ ├── menu.stories.vue
│ │ │ ├── menu.ts
│ │ │ ├── menu.types.ts
│ │ │ ├── tests
│ │ │ │ ├── menu.test.ts
│ │ │ │ └── menu.test.vue
│ │ │ ├── use-menu-context.ts
│ │ │ ├── use-menu-item-context.ts
│ │ │ ├── use-menu-item-group-context.ts
│ │ │ ├── use-menu-machine-context.ts
│ │ │ ├── use-menu-option-item-props-context.ts
│ │ │ ├── use-menu-trigger-item-context.ts
│ │ │ └── use-menu.ts
│ │ ├── number-input
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── form-usage.vue
│ │ │ │ ├── formatted.vue
│ │ │ │ ├── fraction-digits.vue
│ │ │ │ ├── min-max.vue
│ │ │ │ ├── mouse-wheel.vue
│ │ │ │ ├── no-clamp.vue
│ │ │ │ ├── render-fn.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ ├── scrubber.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── number-input-context.vue
│ │ │ ├── number-input-control.vue
│ │ │ ├── number-input-decrement-trigger.vue
│ │ │ ├── number-input-increment-trigger.vue
│ │ │ ├── number-input-input.vue
│ │ │ ├── number-input-label.vue
│ │ │ ├── number-input-root-provider.vue
│ │ │ ├── number-input-root.vue
│ │ │ ├── number-input-scrubber.vue
│ │ │ ├── number-input-value-text.vue
│ │ │ ├── number-input.anatomy.ts
│ │ │ ├── number-input.stories.vue
│ │ │ ├── number-input.ts
│ │ │ ├── number-input.types.ts
│ │ │ ├── tests
│ │ │ │ ├── number-input.test.ts
│ │ │ │ └── number-input.test.vue
│ │ │ ├── use-number-input-context.ts
│ │ │ └── use-number-input.ts
│ │ ├── pagination
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── customized.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── pagination-context.vue
│ │ │ ├── pagination-ellipsis.vue
│ │ │ ├── pagination-item.vue
│ │ │ ├── pagination-next-trigger.vue
│ │ │ ├── pagination-prev-trigger.vue
│ │ │ ├── pagination-root-provider.vue
│ │ │ ├── pagination-root.vue
│ │ │ ├── pagination.anatomy.ts
│ │ │ ├── pagination.stories.vue
│ │ │ ├── pagination.ts
│ │ │ ├── pagination.types.ts
│ │ │ ├── tests
│ │ │ │ ├── pagination.test.ts
│ │ │ │ └── pagination.test.vue
│ │ │ ├── use-pagination-context.ts
│ │ │ └── use-pagination.ts
│ │ ├── password-input
│ │ │ ├── examples
│ │ │ │ ├── autocomplete.vue
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled-visibility.vue
│ │ │ │ ├── ignore-password-manager.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── password-input-context.vue
│ │ │ ├── password-input-control.vue
│ │ │ ├── password-input-indicator.vue
│ │ │ ├── password-input-input.vue
│ │ │ ├── password-input-label.vue
│ │ │ ├── password-input-root-provider.vue
│ │ │ ├── password-input-root.vue
│ │ │ ├── password-input-visibility-trigger.vue
│ │ │ ├── password-input.anatomy.ts
│ │ │ ├── password-input.stories.vue
│ │ │ ├── password-input.ts
│ │ │ ├── password-input.types.ts
│ │ │ ├── use-password-input-context.ts
│ │ │ └── use-password-input.ts
│ │ ├── pin-input
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── blurred.vue
│ │ │ │ ├── customized.vue
│ │ │ │ ├── initial-value.vue
│ │ │ │ ├── otp-mode.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ ├── with-field.vue
│ │ │ │ └── with-mask.vue
│ │ │ ├── index.ts
│ │ │ ├── pin-input-context.vue
│ │ │ ├── pin-input-control.vue
│ │ │ ├── pin-input-hidden-input.vue
│ │ │ ├── pin-input-input.vue
│ │ │ ├── pin-input-label.vue
│ │ │ ├── pin-input-root-provider.vue
│ │ │ ├── pin-input-root.vue
│ │ │ ├── pin-input.anatomy.ts
│ │ │ ├── pin-input.stories.vue
│ │ │ ├── pin-input.ts
│ │ │ ├── pin-input.types.ts
│ │ │ ├── tests
│ │ │ │ ├── pin-input.test.ts
│ │ │ │ └── pin-input.test.vue
│ │ │ ├── use-pin-input-context.ts
│ │ │ └── use-pin-input.ts
│ │ ├── popover
│ │ │ ├── examples
│ │ │ │ ├── arrow.vue
│ │ │ │ ├── as-child.vue
│ │ │ │ ├── basic.vue
│ │ │ │ ├── close-behavior.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── factory.vue
│ │ │ │ ├── modal.vue
│ │ │ │ ├── on-open-change.vue
│ │ │ │ ├── portalled.vue
│ │ │ │ ├── positioning.vue
│ │ │ │ ├── render-fn.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── popover-anchor.vue
│ │ │ ├── popover-arrow-tip.vue
│ │ │ ├── popover-arrow.vue
│ │ │ ├── popover-close-trigger.vue
│ │ │ ├── popover-content.vue
│ │ │ ├── popover-context.vue
│ │ │ ├── popover-description.vue
│ │ │ ├── popover-indicator.vue
│ │ │ ├── popover-positioner.vue
│ │ │ ├── popover-root-provider.vue
│ │ │ ├── popover-root.vue
│ │ │ ├── popover-title.vue
│ │ │ ├── popover-trigger.vue
│ │ │ ├── popover.anatomy.ts
│ │ │ ├── popover.stories.vue
│ │ │ ├── popover.ts
│ │ │ ├── popover.types.ts
│ │ │ ├── tests
│ │ │ │ ├── controlled-popover.test.vue
│ │ │ │ ├── popover.test.ts
│ │ │ │ └── popover.test.vue
│ │ │ ├── use-popover-context.ts
│ │ │ └── use-popover.ts
│ │ ├── presence
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── lazy-mount-and-unmount-on-exit.vue
│ │ │ │ ├── lazy-mount.vue
│ │ │ │ ├── skip-animation-on-mount.vue
│ │ │ │ └── unmount-on-exit.vue
│ │ │ ├── index.ts
│ │ │ ├── presence.stories.vue
│ │ │ ├── presence.types.ts
│ │ │ ├── presence.vue
│ │ │ ├── tests
│ │ │ │ ├── presence.test.ts
│ │ │ │ └── presence.test.vue
│ │ │ ├── use-presence-context.ts
│ │ │ └── use-presence.ts
│ │ ├── progress
│ │ │ ├── examples
│ │ │ │ ├── circular
│ │ │ │ │ ├── basic.vue
│ │ │ │ │ ├── controlled.vue
│ │ │ │ │ ├── indeterminate.vue
│ │ │ │ │ ├── initial-value.vue
│ │ │ │ │ ├── min-max.vue
│ │ │ │ │ ├── root-provider.vue
│ │ │ │ │ └── value-text.vue
│ │ │ │ └── linear
│ │ │ │ │ ├── basic.vue
│ │ │ │ │ ├── controlled.vue
│ │ │ │ │ ├── indeterminate.vue
│ │ │ │ │ ├── initial-value.vue
│ │ │ │ │ ├── min-max.vue
│ │ │ │ │ ├── root-provider.vue
│ │ │ │ │ └── value-text.vue
│ │ │ ├── index.ts
│ │ │ ├── progress-circle-range.vue
│ │ │ ├── progress-circle-track.vue
│ │ │ ├── progress-circle.vue
│ │ │ ├── progress-circular.stories.vue
│ │ │ ├── progress-context.vue
│ │ │ ├── progress-label.vue
│ │ │ ├── progress-linear.stories.vue
│ │ │ ├── progress-range.vue
│ │ │ ├── progress-root-provider.vue
│ │ │ ├── progress-root.vue
│ │ │ ├── progress-track.vue
│ │ │ ├── progress-value-text.vue
│ │ │ ├── progress-view.vue
│ │ │ ├── progress.anatomy.ts
│ │ │ ├── progress.ts
│ │ │ ├── progress.types.ts
│ │ │ ├── tests
│ │ │ │ ├── progress.test.ts
│ │ │ │ └── progress.test.vue
│ │ │ ├── use-progress-context.ts
│ │ │ └── use-progress.ts
│ │ ├── qr-code
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── error-correction.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-overlay.vue
│ │ │ ├── index.ts
│ │ │ ├── qr-code-context.vue
│ │ │ ├── qr-code-download-trigger.vue
│ │ │ ├── qr-code-frame.vue
│ │ │ ├── qr-code-overlay.vue
│ │ │ ├── qr-code-pattern.vue
│ │ │ ├── qr-code-root-provider.vue
│ │ │ ├── qr-code-root.vue
│ │ │ ├── qr-code.anatomy.ts
│ │ │ ├── qr-code.stories.vue
│ │ │ ├── qr-code.ts
│ │ │ ├── qr-code.types.ts
│ │ │ ├── tests
│ │ │ │ └── basic.vue
│ │ │ ├── use-qr-code-context.ts
│ │ │ └── use-qr-code.ts
│ │ ├── radio-group
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── disabled.vue
│ │ │ │ ├── initial-value.vue
│ │ │ │ ├── on-event.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── radio-group-context.vue
│ │ │ ├── radio-group-indicator.vue
│ │ │ ├── radio-group-item-context.vue
│ │ │ ├── radio-group-item-control.vue
│ │ │ ├── radio-group-item-hidden-input.vue
│ │ │ ├── radio-group-item-text.vue
│ │ │ ├── radio-group-item.vue
│ │ │ ├── radio-group-label.vue
│ │ │ ├── radio-group-root-provider.vue
│ │ │ ├── radio-group-root.vue
│ │ │ ├── radio-group.anatomy.ts
│ │ │ ├── radio-group.stories.vue
│ │ │ ├── radio-group.ts
│ │ │ ├── radio-group.types.ts
│ │ │ ├── tests
│ │ │ │ ├── radio-group.test.ts
│ │ │ │ └── radio-group.test.vue
│ │ │ ├── use-radio-group-context.ts
│ │ │ ├── use-radio-group-item-context.ts
│ │ │ ├── use-radio-group-item-props-context.ts
│ │ │ └── use-radio-group.ts
│ │ ├── rating-group
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── disabled.vue
│ │ │ │ ├── form-usage.vue
│ │ │ │ ├── half-ratings.vue
│ │ │ │ ├── initial-value.vue
│ │ │ │ ├── read-only.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── rating-group-context.vue
│ │ │ ├── rating-group-control.vue
│ │ │ ├── rating-group-hidden-input.vue
│ │ │ ├── rating-group-item-context.vue
│ │ │ ├── rating-group-item.vue
│ │ │ ├── rating-group-label.vue
│ │ │ ├── rating-group-root-provider.vue
│ │ │ ├── rating-group-root.vue
│ │ │ ├── rating-group.anatomy.ts
│ │ │ ├── rating-group.stories.vue
│ │ │ ├── rating-group.ts
│ │ │ ├── rating-group.types.ts
│ │ │ ├── tests
│ │ │ │ ├── rating-group.test.ts
│ │ │ │ └── rating-group.test.vue
│ │ │ ├── use-rating-group-context.ts
│ │ │ ├── use-rating-group-item-context.ts
│ │ │ └── use-rating-group.ts
│ │ ├── segment-group
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── disabled.vue
│ │ │ │ ├── initial-value.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── segment-group-context.vue
│ │ │ ├── segment-group-indicator.vue
│ │ │ ├── segment-group-item-context.vue
│ │ │ ├── segment-group-item-control.vue
│ │ │ ├── segment-group-item-hidden-input.vue
│ │ │ ├── segment-group-item-text.vue
│ │ │ ├── segment-group-item.vue
│ │ │ ├── segment-group-label.vue
│ │ │ ├── segment-group-root-provider.vue
│ │ │ ├── segment-group-root.vue
│ │ │ ├── segment-group.anatomy.ts
│ │ │ ├── segment-group.stories.vue
│ │ │ ├── segment-group.ts
│ │ │ ├── segment-group.types.ts
│ │ │ ├── tests
│ │ │ │ ├── segment-group.test.ts
│ │ │ │ └── segment-group.test.vue
│ │ │ ├── use-segment-group-context.ts
│ │ │ ├── use-segment-group-item-context.ts
│ │ │ ├── use-segment-group-item-props-context.ts
│ │ │ └── use-segment-group.ts
│ │ ├── select
│ │ │ ├── examples
│ │ │ │ ├── advanced.vue
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── multiple.vue
│ │ │ │ ├── reactive-collection.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── select-clear-trigger.vue
│ │ │ ├── select-content.vue
│ │ │ ├── select-context.vue
│ │ │ ├── select-control.vue
│ │ │ ├── select-hidden-select.vue
│ │ │ ├── select-indicator.vue
│ │ │ ├── select-item-context.vue
│ │ │ ├── select-item-group-label.vue
│ │ │ ├── select-item-group.vue
│ │ │ ├── select-item-indicator.vue
│ │ │ ├── select-item-text.vue
│ │ │ ├── select-item.vue
│ │ │ ├── select-label.vue
│ │ │ ├── select-list.vue
│ │ │ ├── select-positioner.vue
│ │ │ ├── select-root-provider.vue
│ │ │ ├── select-root.vue
│ │ │ ├── select-trigger.vue
│ │ │ ├── select-value-text.vue
│ │ │ ├── select.anatomy.ts
│ │ │ ├── select.stories.vue
│ │ │ ├── select.ts
│ │ │ ├── select.types.ts
│ │ │ ├── tests
│ │ │ │ ├── select.test.ts
│ │ │ │ └── select.test.vue
│ │ │ ├── use-select-context.ts
│ │ │ ├── use-select-item-context.ts
│ │ │ ├── use-select-item-group-props-context.ts
│ │ │ ├── use-select-item-props-context.ts
│ │ │ └── use-select.ts
│ │ ├── signature-pad
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── image-preview.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── signature-pad-clear-trigger.vue
│ │ │ ├── signature-pad-context.vue
│ │ │ ├── signature-pad-control.vue
│ │ │ ├── signature-pad-guide.vue
│ │ │ ├── signature-pad-hidden-input.vue
│ │ │ ├── signature-pad-label.vue
│ │ │ ├── signature-pad-root-provider.vue
│ │ │ ├── signature-pad-root.vue
│ │ │ ├── signature-pad-segment.vue
│ │ │ ├── signature-pad.anatomy.ts
│ │ │ ├── signature-pad.stories.vue
│ │ │ ├── signature-pad.ts
│ │ │ ├── signature-pad.types.ts
│ │ │ ├── tests
│ │ │ │ ├── signature-pad.test.ts
│ │ │ │ └── signature-pad.test.vue
│ │ │ ├── use-signature-pad-context.ts
│ │ │ └── use-signature-pad.ts
│ │ ├── slider
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── center-origin.vue
│ │ │ │ ├── dragging-indicator.vue
│ │ │ │ ├── initial-value.vue
│ │ │ │ ├── min-max.vue
│ │ │ │ ├── on-event.vue
│ │ │ │ ├── range.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ ├── step.vue
│ │ │ │ ├── vertical.vue
│ │ │ │ └── with-marks.vue
│ │ │ ├── index.ts
│ │ │ ├── slider-context.vue
│ │ │ ├── slider-control.vue
│ │ │ ├── slider-dragging-indicator.vue
│ │ │ ├── slider-hidden-input.vue
│ │ │ ├── slider-label.vue
│ │ │ ├── slider-marker-group.vue
│ │ │ ├── slider-marker.vue
│ │ │ ├── slider-range.vue
│ │ │ ├── slider-root-provider.vue
│ │ │ ├── slider-root.vue
│ │ │ ├── slider-thumb.vue
│ │ │ ├── slider-track.vue
│ │ │ ├── slider-value-text.vue
│ │ │ ├── slider.anatomy.ts
│ │ │ ├── slider.stories.vue
│ │ │ ├── slider.ts
│ │ │ ├── slider.types.ts
│ │ │ ├── tests
│ │ │ │ ├── slider.test.ts
│ │ │ │ └── slider.test.vue
│ │ │ ├── use-slider-context.ts
│ │ │ ├── use-slider-thumb-props-context.ts
│ │ │ └── use-slider.ts
│ │ ├── splitter
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── collapsible.vue
│ │ │ │ ├── events.vue
│ │ │ │ ├── multiple-panels.vue
│ │ │ │ ├── render-prop.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── vertical.vue
│ │ │ ├── index.ts
│ │ │ ├── splitter-context.vue
│ │ │ ├── splitter-panel.vue
│ │ │ ├── splitter-resize-trigger.vue
│ │ │ ├── splitter-root-provider.vue
│ │ │ ├── splitter-root.vue
│ │ │ ├── splitter.anatomy.ts
│ │ │ ├── splitter.stories.vue
│ │ │ ├── splitter.ts
│ │ │ ├── splitter.types.ts
│ │ │ ├── tests
│ │ │ │ └── splitter.test.vue
│ │ │ ├── use-splitter-context.ts
│ │ │ └── use-splitter.ts
│ │ ├── steps
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── steps-completed-content.vue
│ │ │ ├── steps-content.vue
│ │ │ ├── steps-context.vue
│ │ │ ├── steps-indicator.vue
│ │ │ ├── steps-item-context.vue
│ │ │ ├── steps-item.vue
│ │ │ ├── steps-list.vue
│ │ │ ├── steps-next-trigger.vue
│ │ │ ├── steps-prev-trigger.vue
│ │ │ ├── steps-progress.vue
│ │ │ ├── steps-root-provider.vue
│ │ │ ├── steps-root.vue
│ │ │ ├── steps-separator.vue
│ │ │ ├── steps-trigger.vue
│ │ │ ├── steps.anatomy.ts
│ │ │ ├── steps.stories.vue
│ │ │ ├── steps.ts
│ │ │ ├── steps.types.ts
│ │ │ ├── use-steps-context.ts
│ │ │ ├── use-steps-item-context.ts
│ │ │ ├── use-steps-item-props-context.ts
│ │ │ └── use-steps.ts
│ │ ├── switch
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── disabled.vue
│ │ │ │ ├── initial-value.vue
│ │ │ │ ├── render-prop.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── switch-context.vue
│ │ │ ├── switch-control.vue
│ │ │ ├── switch-hidden-input.vue
│ │ │ ├── switch-label.vue
│ │ │ ├── switch-root-provider.vue
│ │ │ ├── switch-root.vue
│ │ │ ├── switch-thumb.vue
│ │ │ ├── switch.anatomy.ts
│ │ │ ├── switch.stories.vue
│ │ │ ├── switch.ts
│ │ │ ├── switch.types.ts
│ │ │ ├── tests
│ │ │ │ ├── switch.test.ts
│ │ │ │ └── switch.test.vue
│ │ │ ├── use-switch-context.ts
│ │ │ └── use-switch.ts
│ │ ├── tabs
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── disabled-tab.vue
│ │ │ │ ├── indicator.vue
│ │ │ │ ├── initial-tab.vue
│ │ │ │ ├── lazy-mount.vue
│ │ │ │ ├── manual.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── vertical.vue
│ │ │ ├── index.ts
│ │ │ ├── tab-content.vue
│ │ │ ├── tab-indicator.vue
│ │ │ ├── tab-list.vue
│ │ │ ├── tab-trigger.vue
│ │ │ ├── tabs-context.vue
│ │ │ ├── tabs-root-provider.vue
│ │ │ ├── tabs-root.vue
│ │ │ ├── tabs.anatomy.ts
│ │ │ ├── tabs.stories.vue
│ │ │ ├── tabs.ts
│ │ │ ├── tabs.types.ts
│ │ │ ├── tests
│ │ │ │ ├── tabs.test.ts
│ │ │ │ └── tabs.test.vue
│ │ │ ├── use-tabs-context.ts
│ │ │ └── use-tabs.ts
│ │ ├── tags-input
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── blur-behavior.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── disabled-editing.vue
│ │ │ │ ├── initial-value.vue
│ │ │ │ ├── max-with-overflow.vue
│ │ │ │ ├── on-event.vue
│ │ │ │ ├── paste-behavior.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ ├── validated.vue
│ │ │ │ └── with-field.vue
│ │ │ ├── index.ts
│ │ │ ├── tags-input-clear-trigger.vue
│ │ │ ├── tags-input-context.vue
│ │ │ ├── tags-input-control.vue
│ │ │ ├── tags-input-hidden-input.vue
│ │ │ ├── tags-input-input.vue
│ │ │ ├── tags-input-item-context.vue
│ │ │ ├── tags-input-item-delete-trigger.vue
│ │ │ ├── tags-input-item-input.vue
│ │ │ ├── tags-input-item-preview.vue
│ │ │ ├── tags-input-item-text.vue
│ │ │ ├── tags-input-item.vue
│ │ │ ├── tags-input-label.vue
│ │ │ ├── tags-input-root-provider.vue
│ │ │ ├── tags-input-root.vue
│ │ │ ├── tags-input.anatomy.ts
│ │ │ ├── tags-input.stories.vue
│ │ │ ├── tags-input.ts
│ │ │ ├── tags-input.types.ts
│ │ │ ├── tests
│ │ │ │ ├── tags-input.test.ts
│ │ │ │ └── tags-input.test.vue
│ │ │ ├── use-tags-input-context.ts
│ │ │ ├── use-tags-input-item-context.ts
│ │ │ ├── use-tags-input-item-props-context.ts
│ │ │ └── use-tags-input.ts
│ │ ├── time-picker
│ │ │ ├── examples
│ │ │ │ ├── advanced.vue
│ │ │ │ ├── basic.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── time-picker.test.ts
│ │ │ │ └── time-picker.test.vue
│ │ │ ├── time-picker-cell.vue
│ │ │ ├── time-picker-clear-trigger.vue
│ │ │ ├── time-picker-column.vue
│ │ │ ├── time-picker-content.vue
│ │ │ ├── time-picker-context.vue
│ │ │ ├── time-picker-control.vue
│ │ │ ├── time-picker-input.vue
│ │ │ ├── time-picker-label.vue
│ │ │ ├── time-picker-positioner.vue
│ │ │ ├── time-picker-root-provider.vue
│ │ │ ├── time-picker-root.vue
│ │ │ ├── time-picker-spacer.vue
│ │ │ ├── time-picker-trigger.vue
│ │ │ ├── time-picker.anatomy.ts
│ │ │ ├── time-picker.stories.vue
│ │ │ ├── time-picker.ts
│ │ │ ├── time-picker.types.ts
│ │ │ ├── use-time-picker-column-props-context.ts
│ │ │ ├── use-time-picker-context.ts
│ │ │ └── use-time-picker.ts
│ │ ├── timer
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── countdown.vue
│ │ │ │ ├── events.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── timer-action-trigger.vue
│ │ │ ├── timer-area.vue
│ │ │ ├── timer-context.vue
│ │ │ ├── timer-control.vue
│ │ │ ├── timer-item.vue
│ │ │ ├── timer-root-provider.vue
│ │ │ ├── timer-root.vue
│ │ │ ├── timer-separator.vue
│ │ │ ├── timer.anatomy.ts
│ │ │ ├── timer.stories.vue
│ │ │ ├── timer.ts
│ │ │ ├── timer.types.ts
│ │ │ ├── use-timer-context.ts
│ │ │ └── use-timer.ts
│ │ ├── toast
│ │ │ ├── create-toaster.ts
│ │ │ ├── examples
│ │ │ │ ├── action.vue
│ │ │ │ ├── basic.vue
│ │ │ │ └── update.vue
│ │ │ ├── index.ts
│ │ │ ├── toast-action-trigger.vue
│ │ │ ├── toast-close-trigger.vue
│ │ │ ├── toast-context.vue
│ │ │ ├── toast-description.vue
│ │ │ ├── toast-root.vue
│ │ │ ├── toast-title.vue
│ │ │ ├── toast.anatomy.ts
│ │ │ ├── toast.stories.vue
│ │ │ ├── toast.test.ts
│ │ │ ├── toast.ts
│ │ │ ├── toaster.tsx
│ │ │ └── use-toast-context.ts
│ │ ├── toggle-group
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── initial-value.vue
│ │ │ │ ├── multiple.vue
│ │ │ │ └── root-provider.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── toggle-group.test.ts
│ │ │ │ └── toggle-group.test.vue
│ │ │ ├── toggle-group-context.vue
│ │ │ ├── toggle-group-item.vue
│ │ │ ├── toggle-group-root-provider.vue
│ │ │ ├── toggle-group-root.vue
│ │ │ ├── toggle-group.anatomy.ts
│ │ │ ├── toggle-group.stories.vue
│ │ │ ├── toggle-group.ts
│ │ │ ├── toggle-group.types.ts
│ │ │ ├── use-toggle-group-context.ts
│ │ │ └── use-toggle-group.ts
│ │ ├── toggle
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── disabled.vue
│ │ │ │ └── indicator.vue
│ │ │ ├── index.ts
│ │ │ ├── toggle-context.vue
│ │ │ ├── toggle-indicator.vue
│ │ │ ├── toggle-root.vue
│ │ │ ├── toggle.anatomy.ts
│ │ │ ├── toggle.stories.vue
│ │ │ ├── toggle.ts
│ │ │ ├── toggle.types.ts
│ │ │ ├── use-toggle-context.ts
│ │ │ └── use-toggle.ts
│ │ ├── tooltip
│ │ │ ├── examples
│ │ │ │ ├── arrow.vue
│ │ │ │ ├── basic.vue
│ │ │ │ ├── controlled.vue
│ │ │ │ ├── positioning.vue
│ │ │ │ ├── render-fn.vue
│ │ │ │ ├── root-provider.vue
│ │ │ │ └── timings.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ ├── tooltip.test.ts
│ │ │ │ └── tooltip.test.vue
│ │ │ ├── tooltip-arrow-tip.vue
│ │ │ ├── tooltip-arrow.vue
│ │ │ ├── tooltip-content.vue
│ │ │ ├── tooltip-context.vue
│ │ │ ├── tooltip-positioner.vue
│ │ │ ├── tooltip-root-provider.vue
│ │ │ ├── tooltip-root.vue
│ │ │ ├── tooltip-trigger.vue
│ │ │ ├── tooltip.anatomy.ts
│ │ │ ├── tooltip.stories.vue
│ │ │ ├── tooltip.ts
│ │ │ ├── tooltip.types.ts
│ │ │ ├── use-tooltip-context.ts
│ │ │ └── use-tooltip.ts
│ │ ├── tour
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── steps.tsx
│ │ │ │ └── tour.vue
│ │ │ ├── index.ts
│ │ │ ├── tour-action-trigger.vue
│ │ │ ├── tour-actions.vue
│ │ │ ├── tour-arrow-tip.vue
│ │ │ ├── tour-arrow.vue
│ │ │ ├── tour-backdrop.vue
│ │ │ ├── tour-close-trigger.vue
│ │ │ ├── tour-content.vue
│ │ │ ├── tour-context.vue
│ │ │ ├── tour-control.vue
│ │ │ ├── tour-description.vue
│ │ │ ├── tour-positioner.vue
│ │ │ ├── tour-progress-text.vue
│ │ │ ├── tour-root.vue
│ │ │ ├── tour-spotlight.vue
│ │ │ ├── tour-title.vue
│ │ │ ├── tour.anatomy.ts
│ │ │ ├── tour.stories.vue
│ │ │ ├── tour.ts
│ │ │ ├── tour.types.ts
│ │ │ ├── use-tour-context.ts
│ │ │ └── use-tour.ts
│ │ ├── tree-view
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ └── tree-node.vue
│ │ │ ├── index.ts
│ │ │ ├── tests
│ │ │ │ └── tree-view.test.ts
│ │ │ ├── tree-view-branch-content.vue
│ │ │ ├── tree-view-branch-control.vue
│ │ │ ├── tree-view-branch-indent-guide.vue
│ │ │ ├── tree-view-branch-indicator.vue
│ │ │ ├── tree-view-branch-text.vue
│ │ │ ├── tree-view-branch-trigger.vue
│ │ │ ├── tree-view-branch.vue
│ │ │ ├── tree-view-context.vue
│ │ │ ├── tree-view-item-indicator.vue
│ │ │ ├── tree-view-item-text.vue
│ │ │ ├── tree-view-item.vue
│ │ │ ├── tree-view-label.vue
│ │ │ ├── tree-view-node-context.vue
│ │ │ ├── tree-view-node-provider.vue
│ │ │ ├── tree-view-root-provider.vue
│ │ │ ├── tree-view-root.vue
│ │ │ ├── tree-view-tree.vue
│ │ │ ├── tree-view.anatomy.ts
│ │ │ ├── tree-view.stories.vue
│ │ │ ├── tree-view.ts
│ │ │ ├── tree-view.types.ts
│ │ │ ├── use-tree-view-context.ts
│ │ │ ├── use-tree-view-node-context.ts
│ │ │ ├── use-tree-view-node-props-context.ts
│ │ │ └── use-tree-view.ts
│ │ └── use-v-model.ts
│ ├── index.ts
│ ├── providers
│ │ ├── environment
│ │ │ ├── environment-provider.vue
│ │ │ ├── environment.stories.vue
│ │ │ ├── environment.test.ts
│ │ │ ├── examples
│ │ │ │ ├── basic.vue
│ │ │ │ ├── setup.vue
│ │ │ │ └── usage.vue
│ │ │ ├── index.ts
│ │ │ └── use-environment-context.ts
│ │ ├── index.ts
│ │ └── locale
│ │ │ ├── examples
│ │ │ ├── basic.vue
│ │ │ ├── setup.vue
│ │ │ └── usage.vue
│ │ │ ├── index.ts
│ │ │ ├── locale-provider.vue
│ │ │ ├── locale.stories.vue
│ │ │ ├── use-filter.ts
│ │ │ └── use-locale-context.ts
│ ├── setup-test.ts
│ ├── types.ts
│ ├── utils
│ │ ├── clean-props.ts
│ │ ├── create-context.ts
│ │ ├── dynamic.ts
│ │ ├── index.ts
│ │ ├── run-if-fn.test.ts
│ │ ├── run-if-fn.ts
│ │ ├── unref-element.ts
│ │ ├── use-emits-as-props.ts
│ │ ├── use-forward-expose.ts
│ │ ├── use-forward-props-emits.ts
│ │ ├── use-forward-props.ts
│ │ └── use-render-strategy.ts
│ └── vue.d.ts
│ ├── tsconfig.json
│ └── vite.config.mts
├── patches
└── happy-dom@17.4.4.patch
├── release-it.json
├── renovate.json
├── scripts
├── package.json
├── src
│ ├── check-exports.ts
│ ├── check-nodes.ts
│ ├── exports-check-local.ts
│ ├── exports-files.ts
│ ├── exports-sync.ts
│ ├── extend-types-with-tags.ts
│ ├── generate-prompt.ts
│ ├── generate-type-docs.ts
│ ├── generate-types.ts
│ ├── generate-vue-props.ts
│ ├── play.ts
│ └── symlink.ts
└── tsconfig.json
├── templates
├── next-js
│ ├── README.md
│ ├── next-env.d.ts
│ ├── next.config.ts
│ ├── package.json
│ ├── src
│ │ ├── app
│ │ │ ├── favicon.ico
│ │ │ ├── layout.tsx
│ │ │ └── page.tsx
│ │ └── components
│ │ │ ├── avatar.css
│ │ │ └── avatar.tsx
│ └── tsconfig.json
├── nuxt
│ ├── .gitignore
│ ├── README.md
│ ├── app.vue
│ ├── components
│ │ ├── avatar.css
│ │ └── avatar.vue
│ ├── nuxt.config.ts
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ └── robots.txt
│ ├── server
│ │ └── tsconfig.json
│ └── tsconfig.json
└── solid-start
│ ├── README.md
│ ├── app.config.ts
│ ├── package.json
│ ├── public
│ └── favicon.ico
│ ├── src
│ ├── app.css
│ ├── app.tsx
│ ├── components
│ │ ├── avatar.css
│ │ └── avatar.tsx
│ ├── entry-client.tsx
│ ├── entry-server.tsx
│ ├── global.d.ts
│ └── routes
│ │ ├── [...404].tsx
│ │ ├── about.tsx
│ │ └── index.tsx
│ └── tsconfig.json
├── turbo.json
└── website
├── README.md
├── docker-compose.yml
├── environment.d.ts
├── next-env.d.ts
├── next.config.mjs
├── package.json
├── panda.config.ts
├── park-ui.json
├── postcss.config.cjs
├── public
├── icon-192.png
├── icon-512.png
├── images
│ ├── architecture_dark.svg
│ ├── architecture_light.svg
│ ├── ark-logo-on-brand.svg
│ ├── hero.svg
│ ├── hero_dark.svg
│ ├── og-image.png
│ ├── pattern.svg
│ ├── pattern_dark.svg
│ ├── universe.svg
│ └── universe_dark.svg
└── static
│ └── v5-14071630.svg
├── schema.prisma
├── src
├── app
│ ├── (llms)
│ │ ├── llms-full.txt
│ │ │ └── route.ts
│ │ ├── llms-react.txt
│ │ │ └── route.ts
│ │ ├── llms-solid.txt
│ │ │ └── route.ts
│ │ ├── llms-svelte.txt
│ │ │ └── route.ts
│ │ ├── llms-vue.txt
│ │ │ └── route.ts
│ │ ├── llms.txt
│ │ │ └── route.ts
│ │ └── shared.ts
│ ├── actions.ts
│ ├── api
│ │ ├── auth
│ │ │ └── [...nextauth]
│ │ │ │ └── route.ts
│ │ ├── lemon
│ │ │ └── webhook
│ │ │ │ └── route.ts
│ │ └── types
│ │ │ └── [framework]
│ │ │ ├── [component]
│ │ │ └── route.ts
│ │ │ └── route.ts
│ ├── apple-icon.png
│ ├── auth
│ │ └── signin
│ │ │ └── page.tsx
│ ├── blog
│ │ ├── [slug]
│ │ │ └── page.tsx
│ │ └── page.tsx
│ ├── docs
│ │ ├── [...slug]
│ │ │ └── page.tsx
│ │ └── layout.tsx
│ ├── examples
│ │ ├── [id]
│ │ │ └── page.tsx
│ │ └── layout.tsx
│ ├── favicon.ico
│ ├── global.css
│ ├── icon.svg
│ ├── layout.tsx
│ ├── license
│ │ ├── layout.tsx
│ │ └── page.tsx
│ ├── manifest.ts
│ ├── opengraph-image.png
│ ├── page.tsx
│ ├── plus
│ │ ├── layout.tsx
│ │ ├── page.tsx
│ │ └── thank-you
│ │ │ └── page.tsx
│ ├── robots.ts
│ ├── sitemap.ts
│ └── twitter-image.png
├── components
│ ├── anatomy.tsx
│ ├── auth
│ │ ├── email-signin-form.tsx
│ │ ├── github-signin-button.tsx
│ │ ├── google-signin-button.tsx
│ │ ├── sign-in-button.tsx
│ │ ├── sign-in-link.tsx
│ │ ├── sign-out-button.tsx
│ │ └── user-button.tsx
│ ├── code-preview.tsx
│ ├── code-tabs.tsx
│ ├── color-mode-button.tsx
│ ├── command-menu.tsx
│ ├── component-preview.tsx
│ ├── component-types.tsx
│ ├── contact-dialog.tsx
│ ├── copy-to-clipboard-button.tsx
│ ├── data-attr-table.tsx
│ ├── emits-table.tsx
│ ├── example-preview.tsx
│ ├── example.tsx
│ ├── examples-preview.tsx
│ ├── faq.tsx
│ ├── iframe-example.tsx
│ ├── install-cmd.tsx
│ ├── key-bindings-table.tsx
│ ├── logo.tsx
│ ├── marketing
│ │ ├── code-examples.tsx
│ │ ├── code-snippets.ts
│ │ ├── community.tsx
│ │ ├── enterprise.tsx
│ │ ├── footer.tsx
│ │ ├── hero.tsx
│ │ ├── highlights.tsx
│ │ ├── icons.tsx
│ │ ├── navbar.tsx
│ │ ├── showcases.tsx
│ │ └── universe.tsx
│ ├── navigation
│ │ ├── breadcrumbs.tsx
│ │ ├── docs
│ │ │ ├── docs-footer.tsx
│ │ │ ├── docs-navbar.tsx
│ │ │ └── docs-sidebar.tsx
│ │ ├── examples
│ │ │ ├── examples-footer.tsx
│ │ │ ├── examples-navbar.tsx
│ │ │ └── examples-sidebar.tsx
│ │ ├── framework-select.tsx
│ │ ├── github-link.tsx
│ │ ├── mobile-navbar-links.tsx
│ │ ├── mobile-navbar.tsx
│ │ ├── mobile-sidebar-container.tsx
│ │ ├── navbar-container.tsx
│ │ ├── navbar-links.tsx
│ │ ├── navbar.tsx
│ │ ├── sidebar-container.tsx
│ │ ├── sidebar.recipe.ts
│ │ └── version-select.tsx
│ ├── page-header.tsx
│ ├── plus
│ │ ├── activation-form.tsx
│ │ ├── faqs.tsx
│ │ ├── get-in-touch.tsx
│ │ ├── mail-to-support.tsx
│ │ └── pricing-card.tsx
│ ├── pre.tsx
│ ├── props-table.tsx
│ ├── quickstart.tsx
│ ├── section-header.tsx
│ ├── submit-button.tsx
│ ├── table-of-content.tsx
│ ├── theme-image.tsx
│ ├── toaster.tsx
│ └── ui
│ │ ├── accordion.tsx
│ │ ├── alert.tsx
│ │ ├── avatar-group.tsx
│ │ ├── avatar.tsx
│ │ ├── badge.tsx
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ ├── carousel.tsx
│ │ ├── checkbox.tsx
│ │ ├── clipboard.tsx
│ │ ├── code.tsx
│ │ ├── collapsible.tsx
│ │ ├── color-picker.tsx
│ │ ├── combobox.tsx
│ │ ├── date-picker.tsx
│ │ ├── dialog.tsx
│ │ ├── drawer.tsx
│ │ ├── editable.tsx
│ │ ├── field.tsx
│ │ ├── file-upload.tsx
│ │ ├── form-label.tsx
│ │ ├── heading.tsx
│ │ ├── hover-card.tsx
│ │ ├── icon-button.tsx
│ │ ├── icon.tsx
│ │ ├── input.tsx
│ │ ├── kbd.tsx
│ │ ├── link.tsx
│ │ ├── menu.tsx
│ │ ├── number-input.tsx
│ │ ├── pagination.tsx
│ │ ├── pin-input.tsx
│ │ ├── popover.tsx
│ │ ├── primitives
│ │ ├── accordion.tsx
│ │ ├── alert.tsx
│ │ ├── avatar.tsx
│ │ ├── badge.tsx
│ │ ├── button.tsx
│ │ ├── card.tsx
│ │ ├── carousel.tsx
│ │ ├── checkbox.tsx
│ │ ├── clipboard.tsx
│ │ ├── code.tsx
│ │ ├── collapsible.tsx
│ │ ├── color-picker.tsx
│ │ ├── combobox.tsx
│ │ ├── date-picker.tsx
│ │ ├── dialog.tsx
│ │ ├── drawer.tsx
│ │ ├── editable.tsx
│ │ ├── field.tsx
│ │ ├── file-upload.tsx
│ │ ├── form-label.tsx
│ │ ├── heading.tsx
│ │ ├── hover-card.tsx
│ │ ├── icon-button.tsx
│ │ ├── icon.tsx
│ │ ├── input.tsx
│ │ ├── kbd.tsx
│ │ ├── link.tsx
│ │ ├── menu.tsx
│ │ ├── number-input.tsx
│ │ ├── pagination.tsx
│ │ ├── pin-input.tsx
│ │ ├── popover.tsx
│ │ ├── progress.tsx
│ │ ├── qr-code.tsx
│ │ ├── radio-button-group.tsx
│ │ ├── radio-group.tsx
│ │ ├── rating-group.tsx
│ │ ├── segment-group.tsx
│ │ ├── select.tsx
│ │ ├── signature-pad.tsx
│ │ ├── skeleton.tsx
│ │ ├── slider.tsx
│ │ ├── spinner.tsx
│ │ ├── splitter.tsx
│ │ ├── switch.tsx
│ │ ├── table.tsx
│ │ ├── tabs.tsx
│ │ ├── tags-input.tsx
│ │ ├── text.tsx
│ │ ├── textarea.tsx
│ │ ├── toast.tsx
│ │ ├── toggle-group.tsx
│ │ ├── tooltip.tsx
│ │ ├── tour.tsx
│ │ └── tree-view.tsx
│ │ ├── progress.tsx
│ │ ├── prose.tsx
│ │ ├── qr-code.tsx
│ │ ├── radio-button-group.tsx
│ │ ├── radio-group.tsx
│ │ ├── rating-group.tsx
│ │ ├── segment-group.tsx
│ │ ├── select.tsx
│ │ ├── signature-pad.tsx
│ │ ├── skeleton.tsx
│ │ ├── slider.tsx
│ │ ├── spinner.tsx
│ │ ├── splitter.tsx
│ │ ├── stepper.tsx
│ │ ├── switch.tsx
│ │ ├── table.tsx
│ │ ├── tabs.tsx
│ │ ├── tags-input.tsx
│ │ ├── text.tsx
│ │ ├── textarea.tsx
│ │ ├── toast.tsx
│ │ ├── toggle-group.tsx
│ │ ├── tooltip.tsx
│ │ ├── tour.tsx
│ │ └── tree-view.tsx
├── content
│ ├── blog
│ │ └── hello-world.mdx
│ ├── pages
│ │ ├── components
│ │ │ ├── accordion.mdx
│ │ │ ├── angle-slider.mdx
│ │ │ ├── avatar.mdx
│ │ │ ├── carousel.mdx
│ │ │ ├── checkbox.mdx
│ │ │ ├── clipboard.mdx
│ │ │ ├── collapsible.mdx
│ │ │ ├── color-picker.mdx
│ │ │ ├── combobox.mdx
│ │ │ ├── date-picker.mdx
│ │ │ ├── dialog.mdx
│ │ │ ├── editable.mdx
│ │ │ ├── field.mdx
│ │ │ ├── fieldset.mdx
│ │ │ ├── file-upload.mdx
│ │ │ ├── floating-panel.mdx
│ │ │ ├── hover-card.mdx
│ │ │ ├── listbox.mdx
│ │ │ ├── menu.mdx
│ │ │ ├── number-input.mdx
│ │ │ ├── pagination.mdx
│ │ │ ├── password-input.mdx
│ │ │ ├── pin-input.mdx
│ │ │ ├── popover.mdx
│ │ │ ├── progress-circular.mdx
│ │ │ ├── progress-linear.mdx
│ │ │ ├── qr-code.mdx
│ │ │ ├── radio-group.mdx
│ │ │ ├── rating-group.mdx
│ │ │ ├── segment-group.mdx
│ │ │ ├── select.mdx
│ │ │ ├── signature-pad.mdx
│ │ │ ├── slider.mdx
│ │ │ ├── splitter.mdx
│ │ │ ├── steps.mdx
│ │ │ ├── switch.mdx
│ │ │ ├── tabs.mdx
│ │ │ ├── tags-input.mdx
│ │ │ ├── timer.mdx
│ │ │ ├── toast.mdx
│ │ │ ├── toggle-group.mdx
│ │ │ ├── toggle.mdx
│ │ │ ├── tooltip.mdx
│ │ │ ├── tour.mdx
│ │ │ └── tree-view.mdx
│ │ ├── guides
│ │ │ ├── animation.mdx
│ │ │ ├── closed-components.mdx
│ │ │ ├── collection.mdx
│ │ │ ├── component-state.mdx
│ │ │ ├── composition.mdx
│ │ │ └── styling.mdx
│ │ ├── license.mdx
│ │ ├── overview
│ │ │ ├── about.mdx
│ │ │ ├── getting-started.mdx
│ │ │ ├── introduction.mdx
│ │ │ └── llms.txt.mdx
│ │ └── utilities
│ │ │ ├── download-trigger.mdx
│ │ │ ├── environment.mdx
│ │ │ ├── focus-trap.mdx
│ │ │ ├── format-byte.mdx
│ │ │ ├── format-number.mdx
│ │ │ ├── format-relative-time.mdx
│ │ │ ├── frame.mdx
│ │ │ ├── highlight.mdx
│ │ │ ├── locale.mdx
│ │ │ └── presence.mdx
│ ├── showcases.json
│ └── types
│ │ ├── react
│ │ ├── accordion.types.json
│ │ ├── angle-slider.types.json
│ │ ├── avatar.types.json
│ │ ├── carousel.types.json
│ │ ├── checkbox.types.json
│ │ ├── client-only.types.json
│ │ ├── clipboard.types.json
│ │ ├── collapsible.types.json
│ │ ├── color-picker.types.json
│ │ ├── combobox.types.json
│ │ ├── date-picker.types.json
│ │ ├── dialog.types.json
│ │ ├── download-trigger.types.json
│ │ ├── editable.types.json
│ │ ├── environment.types.json
│ │ ├── field.types.json
│ │ ├── fieldset.types.json
│ │ ├── file-upload.types.json
│ │ ├── floating-panel.types.json
│ │ ├── focus-trap.types.json
│ │ ├── format.types.json
│ │ ├── frame.types.json
│ │ ├── highlight.types.json
│ │ ├── hover-card.types.json
│ │ ├── listbox.types.json
│ │ ├── locale.types.json
│ │ ├── menu.types.json
│ │ ├── number-input.types.json
│ │ ├── pagination.types.json
│ │ ├── password-input.types.json
│ │ ├── pin-input.types.json
│ │ ├── popover.types.json
│ │ ├── portal.types.json
│ │ ├── presence.types.json
│ │ ├── progress.types.json
│ │ ├── qr-code.types.json
│ │ ├── radio-group.types.json
│ │ ├── rating-group.types.json
│ │ ├── segment-group.types.json
│ │ ├── select.types.json
│ │ ├── signature-pad.types.json
│ │ ├── slider.types.json
│ │ ├── splitter.types.json
│ │ ├── steps.types.json
│ │ ├── switch.types.json
│ │ ├── tabs.types.json
│ │ ├── tags-input.types.json
│ │ ├── time-picker.types.json
│ │ ├── timer.types.json
│ │ ├── toast.types.json
│ │ ├── toggle-group.types.json
│ │ ├── toggle.types.json
│ │ ├── tooltip.types.json
│ │ ├── tour.types.json
│ │ └── tree-view.types.json
│ │ ├── solid
│ │ ├── accordion.types.json
│ │ ├── angle-slider.types.json
│ │ ├── avatar.types.json
│ │ ├── carousel.types.json
│ │ ├── checkbox.types.json
│ │ ├── client-only.types.json
│ │ ├── clipboard.types.json
│ │ ├── collapsible.types.json
│ │ ├── color-picker.types.json
│ │ ├── combobox.types.json
│ │ ├── date-picker.types.json
│ │ ├── dialog.types.json
│ │ ├── download-trigger.types.json
│ │ ├── editable.types.json
│ │ ├── environment.types.json
│ │ ├── field.types.json
│ │ ├── fieldset.types.json
│ │ ├── file-upload.types.json
│ │ ├── floating-panel.types.json
│ │ ├── focus-trap.types.json
│ │ ├── format.types.json
│ │ ├── frame.types.json
│ │ ├── highlight.types.json
│ │ ├── hover-card.types.json
│ │ ├── listbox.types.json
│ │ ├── locale.types.json
│ │ ├── menu.types.json
│ │ ├── number-input.types.json
│ │ ├── pagination.types.json
│ │ ├── password-input.types.json
│ │ ├── pin-input.types.json
│ │ ├── popover.types.json
│ │ ├── presence.types.json
│ │ ├── progress.types.json
│ │ ├── qr-code.types.json
│ │ ├── radio-group.types.json
│ │ ├── rating-group.types.json
│ │ ├── segment-group.types.json
│ │ ├── select.types.json
│ │ ├── signature-pad.types.json
│ │ ├── slider.types.json
│ │ ├── splitter.types.json
│ │ ├── steps.types.json
│ │ ├── switch.types.json
│ │ ├── tabs.types.json
│ │ ├── tags-input.types.json
│ │ ├── time-picker.types.json
│ │ ├── timer.types.json
│ │ ├── toast.types.json
│ │ ├── toggle-group.types.json
│ │ ├── toggle.types.json
│ │ ├── tooltip.types.json
│ │ ├── tour.types.json
│ │ └── tree-view.types.json
│ │ └── vue
│ │ ├── accordion.types.json
│ │ ├── angle-slider.types.json
│ │ ├── avatar.types.json
│ │ ├── carousel.types.json
│ │ ├── checkbox.types.json
│ │ ├── client-only.types.json
│ │ ├── clipboard.types.json
│ │ ├── collapsible.types.json
│ │ ├── color-picker.types.json
│ │ ├── combobox.types.json
│ │ ├── date-picker.types.json
│ │ ├── dialog.types.json
│ │ ├── download-trigger.types.json
│ │ ├── editable.types.json
│ │ ├── environment.types.json
│ │ ├── field.types.json
│ │ ├── fieldset.types.json
│ │ ├── file-upload.types.json
│ │ ├── floating-panel.types.json
│ │ ├── focus-trap.types.json
│ │ ├── format.types.json
│ │ ├── frame.types.json
│ │ ├── highlight.types.json
│ │ ├── hover-card.types.json
│ │ ├── listbox.types.json
│ │ ├── locale.types.json
│ │ ├── menu.types.json
│ │ ├── number-input.types.json
│ │ ├── pagination.types.json
│ │ ├── password-input.types.json
│ │ ├── pin-input.types.json
│ │ ├── popover.types.json
│ │ ├── presence.types.json
│ │ ├── progress.types.json
│ │ ├── qr-code.types.json
│ │ ├── radio-group.types.json
│ │ ├── rating-group.types.json
│ │ ├── segment-group.types.json
│ │ ├── select.types.json
│ │ ├── signature-pad.types.json
│ │ ├── slider.types.json
│ │ ├── splitter.types.json
│ │ ├── steps.types.json
│ │ ├── switch.types.json
│ │ ├── tabs.types.json
│ │ ├── tags-input.types.json
│ │ ├── time-picker.types.json
│ │ ├── timer.types.json
│ │ ├── toast.types.json
│ │ ├── toggle-group.types.json
│ │ ├── toggle.types.json
│ │ ├── tooltip.types.json
│ │ ├── tour.types.json
│ │ └── tree-view.types.json
├── coral.ts
├── demos
│ ├── accordion.demo.tsx
│ ├── angle-slider.demo.tsx
│ ├── avatar.demo.tsx
│ ├── carousel.demo.tsx
│ ├── checkbox.demo.tsx
│ ├── clipboard.demo.tsx
│ ├── collapsible.demo.tsx
│ ├── color-picker.demo.tsx
│ ├── combobox.demo.tsx
│ ├── context-menu.demo.tsx
│ ├── date-picker.demo.tsx
│ ├── date-range-picker.demo.tsx
│ ├── dialog.demo.tsx
│ ├── editable.demo.tsx
│ ├── field.demo.tsx
│ ├── file-upload.demo.tsx
│ ├── floating-panel.demo.tsx
│ ├── format-byte.demo.tsx
│ ├── format-number.demo.tsx
│ ├── format-relative-time.demo.tsx
│ ├── frame.demo.tsx
│ ├── highlight.demo.tsx
│ ├── hover-card.demo.tsx
│ ├── index.ts
│ ├── listbox.demo.tsx
│ ├── menu.demo.tsx
│ ├── nested-menu.demo.tsx
│ ├── number-input.demo.tsx
│ ├── pagination.demo.tsx
│ ├── password-input.demo.tsx
│ ├── pin-input.demo.tsx
│ ├── popover.demo.tsx
│ ├── progress-circular.demo.tsx
│ ├── progress-linear.demo.tsx
│ ├── qr-code.demo.tsx
│ ├── radio-group.demo.tsx
│ ├── range-slider.demo.tsx
│ ├── rating-group.demo.tsx
│ ├── segment-group.demo.tsx
│ ├── select.demo.tsx
│ ├── signature-pad.demo.tsx
│ ├── slider.demo.tsx
│ ├── splitter.demo.tsx
│ ├── steps.demo.tsx
│ ├── switch.demo.tsx
│ ├── tabs.demo.tsx
│ ├── tags-input.demo.tsx
│ ├── timer.demo.tsx
│ ├── toast.demo.tsx
│ ├── toggle-group.demo.tsx
│ ├── toggle.demo.tsx
│ ├── tooltip.demo.tsx
│ ├── tour.demo.tsx
│ └── tree-view.demo.tsx
├── lib
│ ├── auth.ts
│ ├── create-style-context.tsx
│ ├── errors.ts
│ ├── examples.ts
│ ├── frameworks.ts
│ ├── license-key.ts
│ ├── nav-links.ts
│ ├── prisma.ts
│ ├── search.ts
│ ├── server-context.ts
│ ├── sidebar.ts
│ ├── stackblitz-react.ts
│ ├── stackblitz-solid.ts
│ ├── stackblitz-vue.ts
│ └── use-update-effect.ts
├── mdx-content.tsx
└── theme
│ └── recipes
│ ├── field.ts
│ └── tour.ts
├── tsconfig.json
└── velite.config.ts
/.storybook/styles/field.css:
--------------------------------------------------------------------------------
1 | [data-scope='field'][data-part='root'] {
2 | display: flex;
3 | flex-direction: column;
4 | gap: 6px;
5 | align-items: start;
6 | }
7 |
--------------------------------------------------------------------------------
/.storybook/styles/number-input.css:
--------------------------------------------------------------------------------
1 | [data-scope='number-input'][data-part='scrubber'] {
2 | width: 16px;
3 | height: 16px;
4 | background-color: red;
5 | }
6 |
--------------------------------------------------------------------------------
/.storybook/styles/tags-input.css:
--------------------------------------------------------------------------------
1 | [data-scope='tags-input'][data-part='item-preview'] {
2 | border-radius: 4px;
3 | padding: 0 8px;
4 | margin-right: 8px;
5 | }
6 |
7 | [data-scope='tags-input'][data-part='control'] {
8 | display: flex;
9 | gap: 2px;
10 | }
11 |
12 | [data-scope='tags-input'][data-part='item-preview'][data-highlighted] {
13 | background-color: aqua;
14 | }
15 |
--------------------------------------------------------------------------------
/.storybook/styles/toggle-group.css:
--------------------------------------------------------------------------------
1 | [data-state='on'] {
2 | border-color: blue;
3 | }
4 |
--------------------------------------------------------------------------------
/bunfig.toml:
--------------------------------------------------------------------------------
1 | [install]
2 | exact = true
--------------------------------------------------------------------------------
/packages/react/.storybook/preview.ts:
--------------------------------------------------------------------------------
1 | import type { Preview } from '@storybook/react'
2 | import '../../../.storybook/styles.css'
3 |
4 | const preview: Preview = {
5 | parameters: {
6 | options: {
7 | storySort: {
8 | method: 'alphabetical',
9 | },
10 | },
11 | layout: 'padded',
12 | },
13 | }
14 |
15 | export default preview
16 |
--------------------------------------------------------------------------------
/packages/react/src/components/accordion/accordion.anatomy.ts:
--------------------------------------------------------------------------------
1 | export { anatomy as accordionAnatomy } from '@zag-js/accordion'
2 |
--------------------------------------------------------------------------------
/packages/react/src/components/anatomy.ts:
--------------------------------------------------------------------------------
1 | export * from '@zag-js/anatomy'
2 |
--------------------------------------------------------------------------------
/packages/react/src/components/angle-slider/angle-slider.anatomy.tsx:
--------------------------------------------------------------------------------
1 | export { anatomy as angleSliderAnatomy } from '@zag-js/angle-slider'
2 |
--------------------------------------------------------------------------------
/packages/react/src/components/angle-slider/angle-slider.stories.tsx:
--------------------------------------------------------------------------------
1 | import type { Meta } from '@storybook/react'
2 |
3 | const meta: Meta = {
4 | title: 'Components / Angle Slider',
5 | }
6 |
7 | export default meta
8 |
9 | export { Basic } from './examples/basic'
10 | export { Step } from './examples/step'
11 | export { Controlled } from './examples/controlled'
12 |
--------------------------------------------------------------------------------
/packages/react/src/components/avatar/avatar-context.tsx:
--------------------------------------------------------------------------------
1 | import type { ReactNode } from 'react'
2 | import { type UseAvatarContext, useAvatarContext } from './use-avatar-context'
3 |
4 | export interface AvatarContextProps {
5 | children: (context: UseAvatarContext) => ReactNode
6 | }
7 |
8 | export const AvatarContext = (props: AvatarContextProps) => props.children(useAvatarContext())
9 |
--------------------------------------------------------------------------------
/packages/react/src/components/avatar/avatar.anatomy.ts:
--------------------------------------------------------------------------------
1 | export { anatomy as avatarAnatomy } from '@zag-js/avatar'
2 |
--------------------------------------------------------------------------------
/packages/react/src/components/avatar/examples/basic.tsx:
--------------------------------------------------------------------------------
1 | import { Avatar } from '@ark-ui/react/avatar'
2 |
3 | export const Basic = () => (
4 |
{JSON.stringify(getRootNode(), null, 2)}7 | } 8 | -------------------------------------------------------------------------------- /packages/react/src/providers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './environment' 2 | export * from './locale' 3 | -------------------------------------------------------------------------------- /packages/react/src/providers/locale/examples/basic.tsx: -------------------------------------------------------------------------------- 1 | import { LocaleProvider } from '@ark-ui/react/locale' 2 | import { Usage } from './usage' 3 | 4 | export const Basic = () => { 5 | return ( 6 |
{JSON.stringify({ locale, dir }, null, 2)}7 | } 8 | -------------------------------------------------------------------------------- /packages/react/src/providers/locale/index.ts: -------------------------------------------------------------------------------- 1 | export { LocaleProvider, type LocaleProviderProps } from './locale-provider' 2 | export { useFilter, type UseFilterProps, type UseFilterReturn } from './use-filter' 3 | export { useLocaleContext, type UseLocaleContext } from './use-locale-context' 4 | -------------------------------------------------------------------------------- /packages/react/src/providers/locale/locale.stories.tsx: -------------------------------------------------------------------------------- 1 | import type { Meta } from '@storybook/react' 2 | 3 | const meta: Meta = { 4 | title: 'Providers / Locale', 5 | } 6 | 7 | export default meta 8 | 9 | export { Basic } from './examples/basic' 10 | -------------------------------------------------------------------------------- /packages/react/src/setup-test.ts: -------------------------------------------------------------------------------- 1 | import '@testing-library/jest-dom/vitest' 2 | import 'vitest-axe/extend-expect' 3 | -------------------------------------------------------------------------------- /packages/react/src/types.ts: -------------------------------------------------------------------------------- 1 | export type Assign
{JSON.stringify(environment().getRootNode(), null, 2)}7 | } 8 | -------------------------------------------------------------------------------- /packages/solid/src/providers/index.tsx: -------------------------------------------------------------------------------- 1 | export * from './environment' 2 | export * from './locale' 3 | -------------------------------------------------------------------------------- /packages/solid/src/providers/locale/examples/basic.tsx: -------------------------------------------------------------------------------- 1 | import { LocaleProvider } from '@ark-ui/solid/locale' 2 | import { Usage } from './usage' 3 | 4 | export const Basic = () => { 5 | return ( 6 |
{JSON.stringify(locale(), null, 2)}7 | } 8 | -------------------------------------------------------------------------------- /packages/solid/src/providers/locale/index.tsx: -------------------------------------------------------------------------------- 1 | export { LocaleProvider, type LocaleProviderProps } from './locale-provider' 2 | export { useFilter, type UseFilterProps, type UseFilterReturn } from './use-filter' 3 | export { useLocaleContext, type UseLocaleContext } from './use-locale-context' 4 | -------------------------------------------------------------------------------- /packages/solid/src/providers/locale/locale.stories.tsx: -------------------------------------------------------------------------------- 1 | import type { Meta } from 'storybook-solidjs' 2 | 3 | const meta: Meta = { 4 | title: 'Providers / Locale', 5 | } 6 | 7 | export default meta 8 | 9 | export { Basic } from './examples/basic' 10 | -------------------------------------------------------------------------------- /packages/solid/src/types.ts: -------------------------------------------------------------------------------- 1 | import type { Accessor } from 'solid-js' 2 | 3 | export type Assign
{JSON.stringify(environment?.getRootNode(), null, 2)}8 | -------------------------------------------------------------------------------- /packages/svelte/src/lib/providers/environment/index.ts: -------------------------------------------------------------------------------- 1 | export { default as EnvironmentProvider, type EnvironmentProviderProps } from './environment-provider.svelte' 2 | export { useEnvironmentContext, type RootNode, type UseEnvironmentContext } from './use-environment-context' 3 | -------------------------------------------------------------------------------- /packages/svelte/src/lib/providers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './locale' 2 | -------------------------------------------------------------------------------- /packages/svelte/src/lib/providers/locale/examples/basic.svelte: -------------------------------------------------------------------------------- 1 | 5 | 6 |
{JSON.stringify(locale, null, 2)}8 | -------------------------------------------------------------------------------- /packages/svelte/src/lib/providers/locale/index.ts: -------------------------------------------------------------------------------- 1 | export { default as LocaleProvider, type LocaleProviderProps } from './locale-provider.svelte' 2 | export { useLocaleContext, type UseLocaleContext } from './use-locale-context' 3 | -------------------------------------------------------------------------------- /packages/svelte/src/routes/+page.svelte: -------------------------------------------------------------------------------- 1 | 4 | 5 |
{{ JSON.stringify(environment.getRootNode(), null, 2) }}9 | 10 | -------------------------------------------------------------------------------- /packages/vue/src/providers/index.ts: -------------------------------------------------------------------------------- 1 | export * from './environment' 2 | export * from './locale' 3 | -------------------------------------------------------------------------------- /packages/vue/src/providers/locale/examples/basic.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 |
{{ JSON.stringify(locale, null, 2) }}9 | 10 | -------------------------------------------------------------------------------- /packages/vue/src/providers/locale/index.ts: -------------------------------------------------------------------------------- 1 | export { default as LocaleProvider, type LocaleProviderProps } from './locale-provider.vue' 2 | export { useFilter, type UseFilterProps, type UseFilterReturn } from './use-filter' 3 | export { DEFAULT_LOCALE, useLocaleContext, type LocaleContext } from './use-locale-context' 4 | -------------------------------------------------------------------------------- /packages/vue/src/providers/locale/locale.stories.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 6 |