@solid2-aria/components 0.0.0-stage → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +58 -2
- package/dist/LICENSES/Apache-2.0.txt +201 -0
- package/dist/LICENSES/react-spectrum-NOTICE.txt +242 -0
- package/dist/NOTICE.txt +636 -0
- package/dist/browser/autocomplete.d.ts +35 -0
- package/dist/browser/autocomplete.js +69 -0
- package/dist/browser/autocomplete.js.map +1 -0
- package/dist/browser/breadcrumbs.d.ts +71 -0
- package/dist/browser/breadcrumbs.js +121 -0
- package/dist/browser/breadcrumbs.js.map +1 -0
- package/dist/browser/button.d.ts +36 -0
- package/dist/browser/button.js +156 -0
- package/dist/browser/button.js.map +1 -0
- package/dist/browser/calendar.d.ts +103 -0
- package/dist/browser/calendar.js +581 -0
- package/dist/browser/calendar.js.map +1 -0
- package/dist/browser/checkbox.d.ts +67 -0
- package/dist/browser/checkbox.js +345 -0
- package/dist/browser/checkbox.js.map +1 -0
- package/dist/browser/collection-dnd.d.ts +56 -0
- package/dist/browser/collection-dnd.js +156 -0
- package/dist/browser/collection-dnd.js.map +1 -0
- package/dist/browser/collection.d.ts +153 -0
- package/dist/browser/collection.js +106 -0
- package/dist/browser/collection.js.map +1 -0
- package/dist/browser/color-area.d.ts +21 -0
- package/dist/browser/color-area.js +94 -0
- package/dist/browser/color-area.js.map +1 -0
- package/dist/browser/color-field.d.ts +39 -0
- package/dist/browser/color-field.js +232 -0
- package/dist/browser/color-field.js.map +1 -0
- package/dist/browser/color-picker.d.ts +30 -0
- package/dist/browser/color-picker.js +84 -0
- package/dist/browser/color-picker.js.map +1 -0
- package/dist/browser/color-slider.d.ts +23 -0
- package/dist/browser/color-slider.js +132 -0
- package/dist/browser/color-slider.js.map +1 -0
- package/dist/browser/color-swatch-picker.d.ts +29 -0
- package/dist/browser/color-swatch-picker.js +131 -0
- package/dist/browser/color-swatch-picker.js.map +1 -0
- package/dist/browser/color-swatch.d.ts +19 -0
- package/dist/browser/color-swatch.js +42 -0
- package/dist/browser/color-swatch.js.map +1 -0
- package/dist/browser/color-thumb.d.ts +42 -0
- package/dist/browser/color-thumb.js +114 -0
- package/dist/browser/color-thumb.js.map +1 -0
- package/dist/browser/color-wheel.d.ts +29 -0
- package/dist/browser/color-wheel.js +109 -0
- package/dist/browser/color-wheel.js.map +1 -0
- package/dist/browser/combo-box.d.ts +113 -0
- package/dist/browser/combo-box.js +394 -0
- package/dist/browser/combo-box.js.map +1 -0
- package/dist/browser/create-drag-and-drop.d.ts +61 -0
- package/dist/browser/create-drag-and-drop.js +56 -0
- package/dist/browser/create-drag-and-drop.js.map +1 -0
- package/dist/browser/date-field.d.ts +71 -0
- package/dist/browser/date-field.js +508 -0
- package/dist/browser/date-field.js.map +1 -0
- package/dist/browser/date-picker.d.ts +50 -0
- package/dist/browser/date-picker.js +403 -0
- package/dist/browser/date-picker.js.map +1 -0
- package/dist/browser/dialog.d.ts +35 -0
- package/dist/browser/dialog.js +148 -0
- package/dist/browser/dialog.js.map +1 -0
- package/dist/browser/disclosure.d.ts +56 -0
- package/dist/browser/disclosure.js +180 -0
- package/dist/browser/disclosure.js.map +1 -0
- package/dist/browser/drag-and-drop.d.ts +43 -0
- package/dist/browser/drag-and-drop.js +66 -0
- package/dist/browser/drag-and-drop.js.map +1 -0
- package/dist/browser/drop-zone.d.ts +33 -0
- package/dist/browser/drop-zone.js +161 -0
- package/dist/browser/drop-zone.js.map +1 -0
- package/dist/browser/field-error.d.ts +28 -0
- package/dist/browser/field-error.js +60 -0
- package/dist/browser/field-error.js.map +1 -0
- package/dist/browser/file-trigger.d.ts +30 -0
- package/dist/browser/file-trigger.js +66 -0
- package/dist/browser/file-trigger.js.map +1 -0
- package/dist/browser/form.d.ts +28 -0
- package/dist/browser/form.js +64 -0
- package/dist/browser/form.js.map +1 -0
- package/dist/browser/grid-layout.d.ts +22 -0
- package/dist/browser/grid-layout.js +30 -0
- package/dist/browser/grid-layout.js.map +1 -0
- package/dist/browser/grid-list.d.ts +95 -0
- package/dist/browser/grid-list.js +609 -0
- package/dist/browser/grid-list.js.map +1 -0
- package/dist/browser/group.d.ts +35 -0
- package/dist/browser/group.js +92 -0
- package/dist/browser/group.js.map +1 -0
- package/dist/browser/header.d.ts +25 -0
- package/dist/browser/header.js +57 -0
- package/dist/browser/header.js.map +1 -0
- package/dist/browser/heading.d.ts +26 -0
- package/dist/browser/heading.js +53 -0
- package/dist/browser/heading.js.map +1 -0
- package/dist/browser/hidden-date-input.d.ts +34 -0
- package/dist/browser/hidden-date-input.js +84 -0
- package/dist/browser/hidden-date-input.js.map +1 -0
- package/dist/browser/index.d.ts +133 -0
- package/dist/browser/index.js +98 -0
- package/dist/browser/input.d.ts +33 -0
- package/dist/browser/input.js +94 -0
- package/dist/browser/input.js.map +1 -0
- package/dist/browser/intl/ar-AE.js +11 -0
- package/dist/browser/intl/ar-AE.js.map +1 -0
- package/dist/browser/intl/bg-BG.js +11 -0
- package/dist/browser/intl/bg-BG.js.map +1 -0
- package/dist/browser/intl/cs-CZ.js +11 -0
- package/dist/browser/intl/cs-CZ.js.map +1 -0
- package/dist/browser/intl/da-DK.js +11 -0
- package/dist/browser/intl/da-DK.js.map +1 -0
- package/dist/browser/intl/de-DE.js +11 -0
- package/dist/browser/intl/de-DE.js.map +1 -0
- package/dist/browser/intl/el-GR.js +11 -0
- package/dist/browser/intl/el-GR.js.map +1 -0
- package/dist/browser/intl/en-US.js +11 -0
- package/dist/browser/intl/en-US.js.map +1 -0
- package/dist/browser/intl/es-ES.js +11 -0
- package/dist/browser/intl/es-ES.js.map +1 -0
- package/dist/browser/intl/et-EE.js +11 -0
- package/dist/browser/intl/et-EE.js.map +1 -0
- package/dist/browser/intl/fi-FI.js +11 -0
- package/dist/browser/intl/fi-FI.js.map +1 -0
- package/dist/browser/intl/fr-FR.js +11 -0
- package/dist/browser/intl/fr-FR.js.map +1 -0
- package/dist/browser/intl/he-IL.js +11 -0
- package/dist/browser/intl/he-IL.js.map +1 -0
- package/dist/browser/intl/hr-HR.js +11 -0
- package/dist/browser/intl/hr-HR.js.map +1 -0
- package/dist/browser/intl/hu-HU.js +11 -0
- package/dist/browser/intl/hu-HU.js.map +1 -0
- package/dist/browser/intl/index.js +75 -0
- package/dist/browser/intl/index.js.map +1 -0
- package/dist/browser/intl/it-IT.js +11 -0
- package/dist/browser/intl/it-IT.js.map +1 -0
- package/dist/browser/intl/ja-JP.js +11 -0
- package/dist/browser/intl/ja-JP.js.map +1 -0
- package/dist/browser/intl/ko-KR.js +11 -0
- package/dist/browser/intl/ko-KR.js.map +1 -0
- package/dist/browser/intl/lt-LT.js +11 -0
- package/dist/browser/intl/lt-LT.js.map +1 -0
- package/dist/browser/intl/lv-LV.js +11 -0
- package/dist/browser/intl/lv-LV.js.map +1 -0
- package/dist/browser/intl/nb-NO.js +11 -0
- package/dist/browser/intl/nb-NO.js.map +1 -0
- package/dist/browser/intl/nl-NL.js +11 -0
- package/dist/browser/intl/nl-NL.js.map +1 -0
- package/dist/browser/intl/pl-PL.js +11 -0
- package/dist/browser/intl/pl-PL.js.map +1 -0
- package/dist/browser/intl/pt-BR.js +11 -0
- package/dist/browser/intl/pt-BR.js.map +1 -0
- package/dist/browser/intl/pt-PT.js +11 -0
- package/dist/browser/intl/pt-PT.js.map +1 -0
- package/dist/browser/intl/ro-RO.js +11 -0
- package/dist/browser/intl/ro-RO.js.map +1 -0
- package/dist/browser/intl/ru-RU.js +11 -0
- package/dist/browser/intl/ru-RU.js.map +1 -0
- package/dist/browser/intl/sk-SK.js +11 -0
- package/dist/browser/intl/sk-SK.js.map +1 -0
- package/dist/browser/intl/sl-SI.js +11 -0
- package/dist/browser/intl/sl-SI.js.map +1 -0
- package/dist/browser/intl/sr-SP.js +11 -0
- package/dist/browser/intl/sr-SP.js.map +1 -0
- package/dist/browser/intl/sv-SE.js +11 -0
- package/dist/browser/intl/sv-SE.js.map +1 -0
- package/dist/browser/intl/tr-TR.js +11 -0
- package/dist/browser/intl/tr-TR.js.map +1 -0
- package/dist/browser/intl/uk-UA.js +11 -0
- package/dist/browser/intl/uk-UA.js.map +1 -0
- package/dist/browser/intl/zh-CN.js +11 -0
- package/dist/browser/intl/zh-CN.js.map +1 -0
- package/dist/browser/intl/zh-TW.js +11 -0
- package/dist/browser/intl/zh-TW.js.map +1 -0
- package/dist/browser/keyboard.d.ts +25 -0
- package/dist/browser/keyboard.js +50 -0
- package/dist/browser/keyboard.js.map +1 -0
- package/dist/browser/label.d.ts +26 -0
- package/dist/browser/label.js +53 -0
- package/dist/browser/label.js.map +1 -0
- package/dist/browser/link.d.ts +34 -0
- package/dist/browser/link.js +92 -0
- package/dist/browser/link.js.map +1 -0
- package/dist/browser/list-box.d.ts +171 -0
- package/dist/browser/list-box.js +547 -0
- package/dist/browser/list-box.js.map +1 -0
- package/dist/browser/menu.d.ts +150 -0
- package/dist/browser/menu.js +597 -0
- package/dist/browser/menu.js.map +1 -0
- package/dist/browser/meter.d.ts +29 -0
- package/dist/browser/meter.js +73 -0
- package/dist/browser/meter.js.map +1 -0
- package/dist/browser/modal.d.ts +48 -0
- package/dist/browser/modal.js +190 -0
- package/dist/browser/modal.js.map +1 -0
- package/dist/browser/navigation-tree.d.ts +54 -0
- package/dist/browser/navigation-tree.js +233 -0
- package/dist/browser/navigation-tree.js.map +1 -0
- package/dist/browser/number-field.d.ts +36 -0
- package/dist/browser/number-field.js +179 -0
- package/dist/browser/number-field.js.map +1 -0
- package/dist/browser/overlay-arrow.d.ts +32 -0
- package/dist/browser/overlay-arrow.js +65 -0
- package/dist/browser/overlay-arrow.js.map +1 -0
- package/dist/browser/overlay-contexts.d.ts +22 -0
- package/dist/browser/overlay-contexts.js +24 -0
- package/dist/browser/overlay-contexts.js.map +1 -0
- package/dist/browser/popover.d.ts +50 -0
- package/dist/browser/popover.js +255 -0
- package/dist/browser/popover.js.map +1 -0
- package/dist/browser/preview-trigger.d.ts +25 -0
- package/dist/browser/preview-trigger.js +93 -0
- package/dist/browser/preview-trigger.js.map +1 -0
- package/dist/browser/progress-bar.d.ts +30 -0
- package/dist/browser/progress-bar.js +76 -0
- package/dist/browser/progress-bar.js.map +1 -0
- package/dist/browser/radio-group.d.ts +67 -0
- package/dist/browser/radio-group.js +336 -0
- package/dist/browser/radio-group.js.map +1 -0
- package/dist/browser/search-field.d.ts +34 -0
- package/dist/browser/search-field.js +156 -0
- package/dist/browser/search-field.js.map +1 -0
- package/dist/browser/select.d.ts +115 -0
- package/dist/browser/select.js +351 -0
- package/dist/browser/select.js.map +1 -0
- package/dist/browser/selection-indicator.d.ts +25 -0
- package/dist/browser/selection-indicator.js +40 -0
- package/dist/browser/selection-indicator.js.map +1 -0
- package/dist/browser/separator.d.ts +30 -0
- package/dist/browser/separator.js +68 -0
- package/dist/browser/separator.js.map +1 -0
- package/dist/browser/shared-element-transition.d.ts +35 -0
- package/dist/browser/shared-element-transition.js +141 -0
- package/dist/browser/shared-element-transition.js.map +1 -0
- package/dist/browser/sheet.d.ts +64 -0
- package/dist/browser/sheet.js +982 -0
- package/dist/browser/sheet.js.map +1 -0
- package/dist/browser/slider.d.ts +77 -0
- package/dist/browser/slider.js +318 -0
- package/dist/browser/slider.js.map +1 -0
- package/dist/browser/switch.d.ts +54 -0
- package/dist/browser/switch.js +240 -0
- package/dist/browser/switch.js.map +1 -0
- package/dist/browser/table-layout.d.ts +22 -0
- package/dist/browser/table-layout.js +31 -0
- package/dist/browser/table-layout.js.map +1 -0
- package/dist/browser/table.d.ts +184 -0
- package/dist/browser/table.js +1268 -0
- package/dist/browser/table.js.map +1 -0
- package/dist/browser/tabs.d.ts +194 -0
- package/dist/browser/tabs.js +378 -0
- package/dist/browser/tabs.js.map +1 -0
- package/dist/browser/tag-group.d.ts +112 -0
- package/dist/browser/tag-group.js +291 -0
- package/dist/browser/tag-group.js.map +1 -0
- package/dist/browser/text-area.d.ts +16 -0
- package/dist/browser/text-area.js +75 -0
- package/dist/browser/text-area.js.map +1 -0
- package/dist/browser/text-field.d.ts +31 -0
- package/dist/browser/text-field.js +152 -0
- package/dist/browser/text-field.js.map +1 -0
- package/dist/browser/text.d.ts +25 -0
- package/dist/browser/text.js +52 -0
- package/dist/browser/text.js.map +1 -0
- package/dist/browser/toast.d.ts +66 -0
- package/dist/browser/toast.js +226 -0
- package/dist/browser/toast.js.map +1 -0
- package/dist/browser/toggle-button-group.d.ts +32 -0
- package/dist/browser/toggle-button-group.js +74 -0
- package/dist/browser/toggle-button-group.js.map +1 -0
- package/dist/browser/toggle-button.d.ts +33 -0
- package/dist/browser/toggle-button.js +119 -0
- package/dist/browser/toggle-button.js.map +1 -0
- package/dist/browser/token-field.d.ts +124 -0
- package/dist/browser/token-field.js +277 -0
- package/dist/browser/token-field.js.map +1 -0
- package/dist/browser/toolbar.d.ts +28 -0
- package/dist/browser/toolbar.js +51 -0
- package/dist/browser/toolbar.js.map +1 -0
- package/dist/browser/tooltip.d.ts +44 -0
- package/dist/browser/tooltip.js +183 -0
- package/dist/browser/tooltip.js.map +1 -0
- package/dist/browser/tree-drop-target-delegate.d.ts +33 -0
- package/dist/browser/tree-drop-target-delegate.js +178 -0
- package/dist/browser/tree-drop-target-delegate.js.map +1 -0
- package/dist/browser/tree.d.ts +98 -0
- package/dist/browser/tree.js +699 -0
- package/dist/browser/tree.js.map +1 -0
- package/dist/browser/utils.d.ts +94 -0
- package/dist/browser/utils.js +173 -0
- package/dist/browser/utils.js.map +1 -0
- package/dist/browser/virtualizer.d.ts +33 -0
- package/dist/browser/virtualizer.js +179 -0
- package/dist/browser/virtualizer.js.map +1 -0
- package/dist/server/autocomplete.js +125 -0
- package/dist/server/autocomplete.js.map +1 -0
- package/dist/server/breadcrumbs.js +185 -0
- package/dist/server/breadcrumbs.js.map +1 -0
- package/dist/server/button.js +252 -0
- package/dist/server/button.js.map +1 -0
- package/dist/server/calendar.js +1054 -0
- package/dist/server/calendar.js.map +1 -0
- package/dist/server/checkbox.js +595 -0
- package/dist/server/checkbox.js.map +1 -0
- package/dist/server/collection-dnd.js +217 -0
- package/dist/server/collection-dnd.js.map +1 -0
- package/dist/server/collection.js +106 -0
- package/dist/server/collection.js.map +1 -0
- package/dist/server/color-area.js +142 -0
- package/dist/server/color-area.js.map +1 -0
- package/dist/server/color-field.js +394 -0
- package/dist/server/color-field.js.map +1 -0
- package/dist/server/color-picker.js +170 -0
- package/dist/server/color-picker.js.map +1 -0
- package/dist/server/color-slider.js +328 -0
- package/dist/server/color-slider.js.map +1 -0
- package/dist/server/color-swatch-picker.js +234 -0
- package/dist/server/color-swatch-picker.js.map +1 -0
- package/dist/server/color-swatch.js +52 -0
- package/dist/server/color-swatch.js.map +1 -0
- package/dist/server/color-thumb.js +132 -0
- package/dist/server/color-thumb.js.map +1 -0
- package/dist/server/color-wheel.js +188 -0
- package/dist/server/color-wheel.js.map +1 -0
- package/dist/server/combo-box.js +914 -0
- package/dist/server/combo-box.js.map +1 -0
- package/dist/server/create-drag-and-drop.js +56 -0
- package/dist/server/create-drag-and-drop.js.map +1 -0
- package/dist/server/date-field.js +1055 -0
- package/dist/server/date-field.js.map +1 -0
- package/dist/server/date-picker.js +1079 -0
- package/dist/server/date-picker.js.map +1 -0
- package/dist/server/dialog.js +295 -0
- package/dist/server/dialog.js.map +1 -0
- package/dist/server/disclosure.js +292 -0
- package/dist/server/disclosure.js.map +1 -0
- package/dist/server/drag-and-drop.js +66 -0
- package/dist/server/drag-and-drop.js.map +1 -0
- package/dist/server/drop-zone.js +241 -0
- package/dist/server/drop-zone.js.map +1 -0
- package/dist/server/field-error.js +90 -0
- package/dist/server/field-error.js.map +1 -0
- package/dist/server/file-trigger.js +98 -0
- package/dist/server/file-trigger.js.map +1 -0
- package/dist/server/form.js +116 -0
- package/dist/server/form.js.map +1 -0
- package/dist/server/grid-layout.js +30 -0
- package/dist/server/grid-layout.js.map +1 -0
- package/dist/server/grid-list.js +1015 -0
- package/dist/server/grid-list.js.map +1 -0
- package/dist/server/group.js +146 -0
- package/dist/server/group.js.map +1 -0
- package/dist/server/header.js +72 -0
- package/dist/server/header.js.map +1 -0
- package/dist/server/heading.js +68 -0
- package/dist/server/heading.js.map +1 -0
- package/dist/server/hidden-date-input.js +79 -0
- package/dist/server/hidden-date-input.js.map +1 -0
- package/dist/server/index.js +98 -0
- package/dist/server/input.js +134 -0
- package/dist/server/input.js.map +1 -0
- package/dist/server/intl/ar-AE.js +11 -0
- package/dist/server/intl/ar-AE.js.map +1 -0
- package/dist/server/intl/bg-BG.js +11 -0
- package/dist/server/intl/bg-BG.js.map +1 -0
- package/dist/server/intl/cs-CZ.js +11 -0
- package/dist/server/intl/cs-CZ.js.map +1 -0
- package/dist/server/intl/da-DK.js +11 -0
- package/dist/server/intl/da-DK.js.map +1 -0
- package/dist/server/intl/de-DE.js +11 -0
- package/dist/server/intl/de-DE.js.map +1 -0
- package/dist/server/intl/el-GR.js +11 -0
- package/dist/server/intl/el-GR.js.map +1 -0
- package/dist/server/intl/en-US.js +11 -0
- package/dist/server/intl/en-US.js.map +1 -0
- package/dist/server/intl/es-ES.js +11 -0
- package/dist/server/intl/es-ES.js.map +1 -0
- package/dist/server/intl/et-EE.js +11 -0
- package/dist/server/intl/et-EE.js.map +1 -0
- package/dist/server/intl/fi-FI.js +11 -0
- package/dist/server/intl/fi-FI.js.map +1 -0
- package/dist/server/intl/fr-FR.js +11 -0
- package/dist/server/intl/fr-FR.js.map +1 -0
- package/dist/server/intl/he-IL.js +11 -0
- package/dist/server/intl/he-IL.js.map +1 -0
- package/dist/server/intl/hr-HR.js +11 -0
- package/dist/server/intl/hr-HR.js.map +1 -0
- package/dist/server/intl/hu-HU.js +11 -0
- package/dist/server/intl/hu-HU.js.map +1 -0
- package/dist/server/intl/index.js +75 -0
- package/dist/server/intl/index.js.map +1 -0
- package/dist/server/intl/it-IT.js +11 -0
- package/dist/server/intl/it-IT.js.map +1 -0
- package/dist/server/intl/ja-JP.js +11 -0
- package/dist/server/intl/ja-JP.js.map +1 -0
- package/dist/server/intl/ko-KR.js +11 -0
- package/dist/server/intl/ko-KR.js.map +1 -0
- package/dist/server/intl/lt-LT.js +11 -0
- package/dist/server/intl/lt-LT.js.map +1 -0
- package/dist/server/intl/lv-LV.js +11 -0
- package/dist/server/intl/lv-LV.js.map +1 -0
- package/dist/server/intl/nb-NO.js +11 -0
- package/dist/server/intl/nb-NO.js.map +1 -0
- package/dist/server/intl/nl-NL.js +11 -0
- package/dist/server/intl/nl-NL.js.map +1 -0
- package/dist/server/intl/pl-PL.js +11 -0
- package/dist/server/intl/pl-PL.js.map +1 -0
- package/dist/server/intl/pt-BR.js +11 -0
- package/dist/server/intl/pt-BR.js.map +1 -0
- package/dist/server/intl/pt-PT.js +11 -0
- package/dist/server/intl/pt-PT.js.map +1 -0
- package/dist/server/intl/ro-RO.js +11 -0
- package/dist/server/intl/ro-RO.js.map +1 -0
- package/dist/server/intl/ru-RU.js +11 -0
- package/dist/server/intl/ru-RU.js.map +1 -0
- package/dist/server/intl/sk-SK.js +11 -0
- package/dist/server/intl/sk-SK.js.map +1 -0
- package/dist/server/intl/sl-SI.js +11 -0
- package/dist/server/intl/sl-SI.js.map +1 -0
- package/dist/server/intl/sr-SP.js +11 -0
- package/dist/server/intl/sr-SP.js.map +1 -0
- package/dist/server/intl/sv-SE.js +11 -0
- package/dist/server/intl/sv-SE.js.map +1 -0
- package/dist/server/intl/tr-TR.js +11 -0
- package/dist/server/intl/tr-TR.js.map +1 -0
- package/dist/server/intl/uk-UA.js +11 -0
- package/dist/server/intl/uk-UA.js.map +1 -0
- package/dist/server/intl/zh-CN.js +11 -0
- package/dist/server/intl/zh-CN.js.map +1 -0
- package/dist/server/intl/zh-TW.js +11 -0
- package/dist/server/intl/zh-TW.js.map +1 -0
- package/dist/server/keyboard.js +65 -0
- package/dist/server/keyboard.js.map +1 -0
- package/dist/server/label.js +68 -0
- package/dist/server/label.js.map +1 -0
- package/dist/server/link.js +138 -0
- package/dist/server/link.js.map +1 -0
- package/dist/server/list-box.js +906 -0
- package/dist/server/list-box.js.map +1 -0
- package/dist/server/menu.js +1188 -0
- package/dist/server/menu.js.map +1 -0
- package/dist/server/meter.js +101 -0
- package/dist/server/meter.js.map +1 -0
- package/dist/server/modal.js +360 -0
- package/dist/server/modal.js.map +1 -0
- package/dist/server/navigation-tree.js +316 -0
- package/dist/server/navigation-tree.js.map +1 -0
- package/dist/server/number-field.js +371 -0
- package/dist/server/number-field.js.map +1 -0
- package/dist/server/overlay-arrow.js +81 -0
- package/dist/server/overlay-arrow.js.map +1 -0
- package/dist/server/overlay-contexts.js +24 -0
- package/dist/server/overlay-contexts.js.map +1 -0
- package/dist/server/popover.js +455 -0
- package/dist/server/popover.js.map +1 -0
- package/dist/server/preview-trigger.js +153 -0
- package/dist/server/preview-trigger.js.map +1 -0
- package/dist/server/progress-bar.js +104 -0
- package/dist/server/progress-bar.js.map +1 -0
- package/dist/server/radio-group.js +586 -0
- package/dist/server/radio-group.js.map +1 -0
- package/dist/server/search-field.js +288 -0
- package/dist/server/search-field.js.map +1 -0
- package/dist/server/select.js +771 -0
- package/dist/server/select.js.map +1 -0
- package/dist/server/selection-indicator.js +54 -0
- package/dist/server/selection-indicator.js.map +1 -0
- package/dist/server/separator.js +91 -0
- package/dist/server/separator.js.map +1 -0
- package/dist/server/shared-element-transition.js +189 -0
- package/dist/server/shared-element-transition.js.map +1 -0
- package/dist/server/sheet.js +1197 -0
- package/dist/server/sheet.js.map +1 -0
- package/dist/server/slider.js +581 -0
- package/dist/server/slider.js.map +1 -0
- package/dist/server/switch.js +400 -0
- package/dist/server/switch.js.map +1 -0
- package/dist/server/table-layout.js +31 -0
- package/dist/server/table-layout.js.map +1 -0
- package/dist/server/table.js +2075 -0
- package/dist/server/table.js.map +1 -0
- package/dist/server/tabs.js +668 -0
- package/dist/server/tabs.js.map +1 -0
- package/dist/server/tag-group.js +538 -0
- package/dist/server/tag-group.js.map +1 -0
- package/dist/server/text-area.js +115 -0
- package/dist/server/text-area.js.map +1 -0
- package/dist/server/text-field.js +272 -0
- package/dist/server/text-field.js.map +1 -0
- package/dist/server/text.js +67 -0
- package/dist/server/text.js.map +1 -0
- package/dist/server/toast.js +449 -0
- package/dist/server/toast.js.map +1 -0
- package/dist/server/toggle-button-group.js +125 -0
- package/dist/server/toggle-button-group.js.map +1 -0
- package/dist/server/toggle-button.js +183 -0
- package/dist/server/toggle-button.js.map +1 -0
- package/dist/server/token-field.js +457 -0
- package/dist/server/token-field.js.map +1 -0
- package/dist/server/toolbar.js +67 -0
- package/dist/server/toolbar.js.map +1 -0
- package/dist/server/tooltip.js +331 -0
- package/dist/server/tooltip.js.map +1 -0
- package/dist/server/tree-drop-target-delegate.js +178 -0
- package/dist/server/tree-drop-target-delegate.js.map +1 -0
- package/dist/server/tree.js +1096 -0
- package/dist/server/tree.js.map +1 -0
- package/dist/server/utils.js +184 -0
- package/dist/server/utils.js.map +1 -0
- package/dist/server/virtualizer.js +254 -0
- package/dist/server/virtualizer.js.map +1 -0
- package/package.json +437 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.js","names":["ref={props.ref}","setPanelRef={(element: HTMLDivElement) => {\n setPanelRef(element);\n }}","tabsRef={setRef}","ref={input.tabsRef}","<Element\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n merge(() => aria.tabProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n },\n ]}\n data-selected={aria.isSelected || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-hovered={hover.isHovered || undefined}\n data-pressed={aria.isPressed || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n {render.children}\n </SelectionIndicatorContext>\n </Element>","dom.div","<dom.div\n {\n // oxlint-disable solid/reactivity -- Keep prop filtering in the renderer's lazy evaluation.\n ...omit(filterDOMProps(props, { global: true, labelable: true }), \"id\")\n // oxlint-enable solid/reactivity\n }\n ref={props.ref}\n render={props.render}\n class={props.class ?? \"solid2-aria-TabPanels\"}\n style={props.style}\n >\n <Collection {...props} />\n </dom.div>","<dom.div\n {...mergeProps(\n omit(filterDOMProps(input.props, { global: true }), \"id\"),\n merge(() => aria.tabPanelProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n input.setPanelRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => input.props.ref),\n element\n );\n },\n ]}\n inert={!selected() || input.props.inert}\n data-entering={values.isEntering || undefined}\n data-exiting={values.isExiting || undefined}\n data-inert={!selected() || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <TabsContext value={null}>\n <TabListStateContext value={null}>\n <CollectionRendererContext value={DefaultCollectionRenderer}>\n {render.children}\n </CollectionRendererContext>\n </TabListStateContext>\n </TabsContext>\n </dom.div>","<TabCollection\n {...props}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />","ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}","<dom.div\n {...mergeProps(\n filterDOMProps(input.props, { global: true }),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={input.tabsRef}\n slot={input.props.slot ?? undefined}\n data-orientation={values.orientation}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-disabled={state.isDisabled || undefined}\n >\n <TabsContext value={tabProps}>\n <TabListStateContext value={state}>\n {render.children}\n </TabListStateContext>\n </TabsContext>\n </dom.div>","<dom.div\n {...mergeProps(\n omit(filterDOMProps(input.props, { global: true }), \"id\"),\n merge(() => aria.tabListProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => input.props.ref),\n element\n );\n },\n ]}\n data-orientation={values.orientation}\n >\n <Root collection={input.state.collection} />\n </dom.div>","_$applyRef","_$mergeProps"],"sources":["../../src/tabs.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n/*\n * Derived from Adobe React Spectrum: packages/react-aria-components/src/Tabs.tsx.\n * Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, and reactive properties for Solid 2; uses Solid class props.\n * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.\n */\n\nimport {\n ItemNode,\n BaseCollection,\n} from \"@solid2-aria/core/collections/base-collection\";\nimport {\n Collection,\n CollectionBuilder,\n createLeafComponent,\n} from \"@solid2-aria/core/collections/collection-builder\";\nimport { createIsHidden } from \"@solid2-aria/core/collections/hidden\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\nimport { createTab } from \"@solid2-aria/core/tabs/create-tab\";\nimport { createTabList } from \"@solid2-aria/core/tabs/create-tab-list\";\nimport type { AriaTabListProps } from \"@solid2-aria/core/tabs/create-tab-list\";\nimport { createTabPanel } from \"@solid2-aria/core/tabs/create-tab-panel\";\nimport type { AriaTabPanelProps } from \"@solid2-aria/core/tabs/create-tab-panel\";\nimport {\n createEnterAnimation,\n createExitAnimation,\n} from \"@solid2-aria/core/utils/animation\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { isTruthy } from \"@solid2-aria/core/utils/truthy\";\nimport { createTabListState } from \"@solid2-aria/stately/tabs/create-tab-list-state\";\nimport type { TabListState } from \"@solid2-aria/stately/tabs/create-tab-list-state\";\nimport type {\n AriaLabelingProps,\n FocusEvents,\n HoverEvents,\n Key,\n LinkDOMProps,\n PressEvents,\n Orientation,\n Node,\n} from \"@solid2-aria/types-shared\";\nimport type { GlobalDOMAttributes } from \"@solid2-aria/types-shared-web\";\nimport { dynamic } from \"@solidjs/web\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n merge,\n createSignal,\n createContext,\n useContext,\n omit,\n Show,\n untrack,\n} from \"solid-js\";\nimport type { Accessor } from \"solid-js\";\n\nimport {\n CollectionRendererContext,\n DefaultCollectionRenderer,\n} from \"./collection\";\nimport type { CollectionProps } from \"./collection\";\nimport { SelectionIndicatorContext } from \"./selection-indicator\";\nimport {\n dom,\n createContextProps,\n createRenderProps,\n createSlottedContext,\n assignRef,\n} from \"./utils\";\nimport type {\n Ref,\n ClassOrFunction,\n DOMRenderProps,\n PossibleLinkDOMRenderProps,\n RenderProps,\n SlotProps,\n StyleProps,\n StyleRenderProps,\n ContextValue,\n} from \"./utils\";\n\nexport const TabsContext =\n createContext<ContextValue<TabsProps, HTMLDivElement>>(null);\n\nexport const TabListStateContext = createContext<TabListState<unknown> | null>(\n null\n);\n\nexport interface TabsProps\n // oxlint-disable-next-line typescript/no-explicit-any -- Collection contexts erase item types; each typed factory restores its owner's item contract.\n extends\n Omit<AriaTabListProps<unknown>, \"items\" | \"children\">,\n RenderProps<TabsRenderProps>,\n SlotProps,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-Tabs'\n */\n class?: ClassOrFunction<TabsRenderProps>;\n}\n\nexport interface TabsRenderProps {\n /**\n * The orientation of the tabs.\n *\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation;\n}\n\nexport interface TabListProps<T>\n extends\n StyleRenderProps<TabListRenderProps>,\n AriaLabelingProps,\n Omit<CollectionProps<T>, \"disabledKeys\">,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-TabList'\n */\n class?: ClassOrFunction<TabListRenderProps>;\n}\n\nexport interface TabListRenderProps {\n /**\n * The orientation of the tab list.\n *\n * @selector [data-orientation=\"horizontal | vertical\"]\n */\n orientation: Orientation;\n /**\n * State of the tab list.\n */\n state: TabListState<unknown>;\n}\n\nexport interface TabProps\n extends\n Omit<RenderProps<TabRenderProps>, \"render\">,\n PossibleLinkDOMRenderProps<\"div\", TabRenderProps>,\n AriaLabelingProps,\n LinkDOMProps,\n HoverEvents,\n FocusEvents,\n PressEvents,\n Omit<GlobalDOMAttributes<HTMLDivElement>, \"onClick\"> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-Tab'\n */\n class?: ClassOrFunction<TabRenderProps>;\n /** The unique id of the tab. */\n id?: Key;\n /** Whether the tab is disabled. */\n isDisabled?: boolean;\n}\n\nexport interface TabRenderProps {\n /**\n * Whether the tab is currently hovered with a mouse.\n *\n * @selector [data-hovered]\n */\n isHovered: boolean;\n /**\n * Whether the tab is currently in a pressed state.\n *\n * @selector [data-pressed]\n */\n isPressed: boolean;\n /**\n * Whether the tab is currently selected.\n *\n * @selector [data-selected]\n */\n isSelected: boolean;\n /**\n * Whether the tab is currently focused.\n *\n * @selector [data-focused]\n */\n isFocused: boolean;\n /**\n * Whether the tab is currently keyboard focused.\n *\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean;\n /**\n * Whether the tab is disabled.\n *\n * @selector [data-disabled]\n */\n isDisabled: boolean;\n}\n\nexport interface TabPanelProps\n extends\n AriaTabPanelProps,\n RenderProps<TabPanelRenderProps>,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-TabPanel'\n */\n class?: ClassOrFunction<TabPanelRenderProps>;\n /**\n * Whether to mount the tab panel in the DOM even when it is not currently selected. Inactive tab\n * panels are inert and cannot be interacted with. They must be styled appropriately so this is\n * clear to the user visually.\n *\n * @default false\n */\n shouldForceMount?: boolean;\n}\n\nexport interface TabPanelRenderProps {\n /**\n * Whether the tab panel is currently focused.\n *\n * @selector [data-focused]\n */\n isFocused: boolean;\n /**\n * Whether the tab panel is currently keyboard focused.\n *\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean;\n /**\n * Whether the tab panel is currently non-interactive. This occurs when the\n * `shouldForceMount` prop is true, and the corresponding tab is not selected.\n *\n * @selector [data-inert]\n */\n isInert: boolean;\n /**\n * Whether the tab panel is currently entering. Use this to apply animations.\n *\n * @selector [data-entering]\n */\n isEntering: boolean;\n /**\n * Whether the tab panel is currently exiting. Use this to apply animations.\n *\n * @selector [data-exiting]\n */\n isExiting: boolean;\n /**\n * State of the tab list.\n */\n state: TabListState<unknown>;\n}\n\nexport interface TabPanelsProps<T>\n extends\n Omit<CollectionProps<T>, \"disabledKeys\">,\n StyleProps,\n DOMRenderProps<\"div\", undefined>,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element.\n *\n * @default 'react-aria-TabPanels'\n */\n class?: JSX.ClassValue;\n}\n\nconst TabCollection = createLeafComponent(\n ItemNode,\n (\n props: TabProps,\n forwardedRef: Ref<HTMLDivElement>,\n node: Node<unknown>\n ): JSX.Element => {\n const state = useContext(TabListStateContext);\n\n if (!state) {\n throw new Error(\"Tab must be rendered in Tabs.\");\n }\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const aria = createTab(\n mergeProps(props, {\n get key() {\n return node.key;\n },\n }),\n state,\n ref\n );\n\n const focus = createFocusRing();\n\n const hover = createHover(\n mergeProps(props, {\n get isDisabled() {\n return aria.isDisabled;\n },\n })\n );\n\n const values: TabRenderProps = {\n get isDisabled() {\n return aria.isDisabled;\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n get isHovered() {\n return hover.isHovered;\n },\n get isPressed() {\n return aria.isPressed;\n },\n get isSelected() {\n return aria.isSelected;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Tab\", values })\n );\n\n const Element = dynamic(() => (isTruthy(props.href) ? dom.a : dom.div));\n\n return (\n <Element\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n merge(() => aria.tabProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n },\n ]}\n data-selected={aria.isSelected || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-hovered={hover.isHovered || undefined}\n data-pressed={aria.isPressed || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n {render.children}\n </SelectionIndicatorContext>\n </Element>\n );\n }\n);\n\nexport function TabPanels<T>(\n props: TabPanelsProps<T> & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n if (createIsHidden()) {\n // oxlint-disable-next-line solid/components-return-once -- Static collection traversal and context registration are fixed when the owner is created.\n return null;\n }\n\n return (\n <dom.div\n {\n // oxlint-disable solid/reactivity -- Keep prop filtering in the renderer's lazy evaluation.\n ...omit(filterDOMProps(props, { global: true, labelable: true }), \"id\")\n // oxlint-enable solid/reactivity\n }\n ref={props.ref}\n render={props.render}\n class={props.class ?? \"solid2-aria-TabPanels\"}\n style={props.style}\n >\n <Collection {...props} />\n </dom.div>\n );\n}\n\nexport function TabPanel(\n props: TabPanelProps & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n if (createIsHidden()) {\n // oxlint-disable-next-line solid/components-return-once -- Static collection traversal and context registration are fixed when the owner is created.\n return null;\n }\n\n const state = useContext(TabListStateContext);\n\n if (!state) {\n throw new Error(\"TabPanel must be rendered in Tabs.\");\n }\n\n const [panelRef, setPanelRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const initiallySelected = untrack(() => state.selectedKey === props.id);\n\n const exiting = createExitAnimation(\n panelRef,\n () => state.selectedKey === props.id\n );\n\n return (\n <Show\n when={\n (state.selectedKey === props.id || props.shouldForceMount) ?? exiting()\n }\n >\n <TabPanelInner\n props={props}\n state={state}\n panelRef={panelRef}\n setPanelRef={(element: HTMLDivElement) => {\n setPanelRef(element);\n }}\n initiallySelected={initiallySelected}\n exiting={exiting}\n />\n </Show>\n );\n}\n\nfunction TabPanelInner(input: {\n props: TabPanelProps & { ref?: Ref<HTMLDivElement> };\n state: TabListState<unknown>;\n panelRef: Accessor<HTMLDivElement | null>;\n setPanelRef: (element: HTMLDivElement) => void;\n initiallySelected: boolean;\n exiting: () => boolean;\n}): JSX.Element {\n const ref = untrack(() => input.panelRef);\n\n const aria = createTabPanel(\n untrack(() => input.props),\n untrack(() => input.state),\n ref\n );\n\n const focus = createFocusRing();\n const selected = () => input.state.selectedKey === input.props.id;\n const entering = createEnterAnimation(ref);\n\n const values: TabPanelRenderProps = {\n get isEntering() {\n return !input.initiallySelected && entering();\n },\n get isExiting() {\n return input.exiting();\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n get isInert() {\n return !selected();\n },\n get state() {\n return input.state;\n },\n };\n\n const render = createRenderProps(\n mergeProps(\n merge(() => input.props ?? {}),\n { defaultClass: \"solid2-aria-TabPanel\", values }\n )\n );\n\n return (\n <dom.div\n {...mergeProps(\n omit(filterDOMProps(input.props, { global: true }), \"id\"),\n merge(() => aria.tabPanelProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n input.setPanelRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => input.props.ref),\n element\n );\n },\n ]}\n inert={!selected() || input.props.inert}\n data-entering={values.isEntering || undefined}\n data-exiting={values.isExiting || undefined}\n data-inert={!selected() || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <TabsContext value={null}>\n <TabListStateContext value={null}>\n <CollectionRendererContext value={DefaultCollectionRenderer}>\n {render.children}\n </CollectionRendererContext>\n </TabListStateContext>\n </TabsContext>\n </dom.div>\n );\n}\n\nexport function Tab(\n props: TabProps & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n return (\n <TabCollection\n {...props}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />\n );\n}\n\nexport function Tabs(\n input: TabsProps & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n TabsContext\n );\n\n const values: TabsRenderProps = {\n get orientation() {\n return props.orientation ?? \"horizontal\";\n },\n };\n\n const content = () => {\n const child = props.children;\n\n return typeof child === \"function\"\n ? child({ ...values, defaultChildren: undefined })\n : child;\n };\n\n return (\n <TabListStateContext value={null}>\n <CollectionBuilder\n createCollection={() => new BaseCollection<object>()}\n content={content()}\n >\n {(collection) => (\n <TabsInner props={props} collection={collection} tabsRef={setRef} />\n )}\n </CollectionBuilder>\n </TabListStateContext>\n );\n}\n\nfunction TabsInner(input: {\n props: TabsProps;\n collection: BaseCollection<object>;\n tabsRef: (element: HTMLDivElement) => void;\n}): JSX.Element {\n const state = createTabListState(\n mergeProps(\n merge(() => input.props ?? {}),\n {\n children: undefined,\n get collection() {\n return input.collection;\n },\n }\n )\n );\n\n const focus = createFocusRing({ within: true });\n\n const values: TabsRenderProps = {\n get orientation() {\n return input.props.orientation ?? \"horizontal\";\n },\n };\n\n const render = createRenderProps(\n mergeProps(\n merge(() => input.props ?? {}),\n { defaultClass: \"solid2-aria-Tabs\", values }\n )\n );\n\n const tabProps = merge(() => input.props);\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(input.props, { global: true }),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={input.tabsRef}\n slot={input.props.slot ?? undefined}\n data-orientation={values.orientation}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-disabled={state.isDisabled || undefined}\n >\n <TabsContext value={tabProps}>\n <TabListStateContext value={state}>\n {render.children}\n </TabListStateContext>\n </TabsContext>\n </dom.div>\n );\n}\n\nexport function TabList<T>(\n props: TabListProps<T> & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n const state = useContext(TabListStateContext);\n\n if (!state) {\n // oxlint-disable-next-line solid/components-return-once -- Static collection traversal and context registration are fixed when the owner is created.\n return <Collection {...props} />;\n }\n\n return <TabListInner props={props} state={state} />;\n}\n\nfunction TabListInner<T>(input: {\n props: TabListProps<T> & { ref?: Ref<HTMLDivElement> };\n state: TabListState<unknown>;\n}): JSX.Element {\n const context = createSlottedContext(TabsContext);\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const renderer = useContext(CollectionRendererContext);\n const Root = renderer.CollectionRoot;\n\n const aria = createTabList(\n mergeProps(\n merge(() => input.props ?? {}),\n {\n get keyboardActivation() {\n return context?.keyboardActivation;\n },\n get orientation() {\n return context?.orientation;\n },\n }\n ),\n untrack(() => input.state),\n ref\n );\n\n const values: TabListRenderProps = {\n get orientation() {\n return context?.orientation ?? \"horizontal\";\n },\n get state() {\n return input.state;\n },\n };\n\n const render = createRenderProps(\n mergeProps(\n merge(() => input.props ?? {}),\n {\n children: undefined,\n defaultClass: \"solid2-aria-TabList\",\n values,\n }\n )\n );\n\n return (\n <dom.div\n {...mergeProps(\n omit(filterDOMProps(input.props, { global: true }), \"id\"),\n merge(() => aria.tabListProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => input.props.ref),\n element\n );\n },\n ]}\n data-orientation={values.orientation}\n >\n <Root collection={input.state.collection} />\n </dom.div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2022 Adobe. All rights reserved.
|
|
3
|
+
* This file is licensed to you under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License. You may obtain a copy
|
|
5
|
+
* of the License at http://www.apache.org/licenses/LICENSE-2.0
|
|
6
|
+
*
|
|
7
|
+
* Unless required by applicable law or agreed to in writing, software distributed under
|
|
8
|
+
* the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
|
|
9
|
+
* OF ANY KIND, either express or implied. See the License for the specific language
|
|
10
|
+
* governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
/*
|
|
13
|
+
* Derived from Adobe React Spectrum: packages/react-aria-components/src/TagGroup.tsx.
|
|
14
|
+
* Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, and reactive properties for Solid 2; uses Solid class props.
|
|
15
|
+
* Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.
|
|
16
|
+
*/
|
|
17
|
+
import { assignRef, createContextProps, createRenderProps, createSlot, createSlottedContext, dom } from "./utils.js";
|
|
18
|
+
import { SelectableCollectionContext } from "./autocomplete.js";
|
|
19
|
+
import { CollectionRendererContext } from "./collection.js";
|
|
20
|
+
import { LabelContext } from "./label.js";
|
|
21
|
+
import { ButtonContext } from "./button.js";
|
|
22
|
+
import { TextContext } from "./text.js";
|
|
23
|
+
import { SelectionIndicatorContext } from "./selection-indicator.js";
|
|
24
|
+
import { ListStateContext } from "./list-box.js";
|
|
25
|
+
import { mergeProps } from "@solid2-aria/core/utils/merge-props";
|
|
26
|
+
import { createContext, createSignal, merge, omit, untrack, useContext } from "solid-js";
|
|
27
|
+
import { applyRef, memo, mergeProps as mergeProps$1 } from "@solidjs/web";
|
|
28
|
+
import { BaseCollection, ItemNode } from "@solid2-aria/core/collections/base-collection";
|
|
29
|
+
import { Collection, CollectionBuilder, createLeafComponent } from "@solid2-aria/core/collections/collection-builder";
|
|
30
|
+
import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
|
|
31
|
+
import { createFocusRing } from "@solid2-aria/core/focus/create-focus-ring";
|
|
32
|
+
import { createHover } from "@solid2-aria/core/interactions/create-hover";
|
|
33
|
+
import { isTruthy } from "@solid2-aria/core/utils/truthy";
|
|
34
|
+
import { createListState } from "@solid2-aria/stately/list/create-list-state";
|
|
35
|
+
import { createTag } from "@solid2-aria/core/tag/create-tag";
|
|
36
|
+
import { createTagGroup } from "@solid2-aria/core/tag/create-tag-group";
|
|
37
|
+
// src/tag-group.tsx
|
|
38
|
+
var _m$ = Symbol();
|
|
39
|
+
var _m$2 = Symbol();
|
|
40
|
+
var _m$3 = Symbol();
|
|
41
|
+
var _m$4 = Symbol();
|
|
42
|
+
var _m$5 = Symbol();
|
|
43
|
+
var _m$6 = Symbol();
|
|
44
|
+
var _d$ = {
|
|
45
|
+
get() {
|
|
46
|
+
return this[_m$].children;
|
|
47
|
+
},
|
|
48
|
+
enumerable: true,
|
|
49
|
+
configurable: true
|
|
50
|
+
};
|
|
51
|
+
function _P$(_p, _p2) {
|
|
52
|
+
this[_m$] = _p;
|
|
53
|
+
this.value = _p2;
|
|
54
|
+
Object.defineProperty(this, "children", _d$);
|
|
55
|
+
}
|
|
56
|
+
_P$.prototype = Object.prototype;
|
|
57
|
+
var _d$2 = {
|
|
58
|
+
get() {
|
|
59
|
+
const render = this[_m$];
|
|
60
|
+
const aria = this[_m$2];
|
|
61
|
+
return SelectionIndicatorContext(new _P$(render, { get isSelected() {
|
|
62
|
+
return aria.isSelected;
|
|
63
|
+
} }));
|
|
64
|
+
},
|
|
65
|
+
enumerable: true,
|
|
66
|
+
configurable: true
|
|
67
|
+
};
|
|
68
|
+
function _P$2(_p3, _p4, _p5) {
|
|
69
|
+
this[_m$] = _p3;
|
|
70
|
+
this[_m$2] = _p4;
|
|
71
|
+
this.value = _p5;
|
|
72
|
+
Object.defineProperty(this, "children", _d$2);
|
|
73
|
+
}
|
|
74
|
+
_P$2.prototype = Object.prototype;
|
|
75
|
+
var _d$3 = {
|
|
76
|
+
get() {
|
|
77
|
+
const render = this[_m$];
|
|
78
|
+
const aria = this[_m$2];
|
|
79
|
+
return ButtonContext(new _P$2(render, aria, { slots: { get remove() {
|
|
80
|
+
return aria.removeButtonProps;
|
|
81
|
+
} } }));
|
|
82
|
+
},
|
|
83
|
+
enumerable: true,
|
|
84
|
+
configurable: true
|
|
85
|
+
};
|
|
86
|
+
function _P$3(_p6, _p7) {
|
|
87
|
+
this[_m$] = _p6;
|
|
88
|
+
this[_m$2] = _p7;
|
|
89
|
+
Object.defineProperty(this, "children", _d$3);
|
|
90
|
+
}
|
|
91
|
+
_P$3.prototype = Object.prototype;
|
|
92
|
+
var _d$4 = {
|
|
93
|
+
get() {
|
|
94
|
+
return this[_m$].isSelected || void 0;
|
|
95
|
+
},
|
|
96
|
+
enumerable: true,
|
|
97
|
+
configurable: true
|
|
98
|
+
};
|
|
99
|
+
var _d$5 = {
|
|
100
|
+
get() {
|
|
101
|
+
return this[_m$].isDisabled || void 0;
|
|
102
|
+
},
|
|
103
|
+
enumerable: true,
|
|
104
|
+
configurable: true
|
|
105
|
+
};
|
|
106
|
+
var _d$6 = {
|
|
107
|
+
get() {
|
|
108
|
+
return this[_m$2].isHovered || void 0;
|
|
109
|
+
},
|
|
110
|
+
enumerable: true,
|
|
111
|
+
configurable: true
|
|
112
|
+
};
|
|
113
|
+
var _d$7 = {
|
|
114
|
+
get() {
|
|
115
|
+
return this[_m$].isFocused || void 0;
|
|
116
|
+
},
|
|
117
|
+
enumerable: true,
|
|
118
|
+
configurable: true
|
|
119
|
+
};
|
|
120
|
+
var _d$8 = {
|
|
121
|
+
get() {
|
|
122
|
+
return this[_m$3].isFocusVisible || void 0;
|
|
123
|
+
},
|
|
124
|
+
enumerable: true,
|
|
125
|
+
configurable: true
|
|
126
|
+
};
|
|
127
|
+
var _d$9 = {
|
|
128
|
+
get() {
|
|
129
|
+
return this[_m$].isPressed || void 0;
|
|
130
|
+
},
|
|
131
|
+
enumerable: true,
|
|
132
|
+
configurable: true
|
|
133
|
+
};
|
|
134
|
+
var _d$10 = {
|
|
135
|
+
get() {
|
|
136
|
+
return this[_m$].allowsRemoving || void 0;
|
|
137
|
+
},
|
|
138
|
+
enumerable: true,
|
|
139
|
+
configurable: true
|
|
140
|
+
};
|
|
141
|
+
var _d$11 = {
|
|
142
|
+
get() {
|
|
143
|
+
const state = this[_m$4];
|
|
144
|
+
return memo(() => {
|
|
145
|
+
return state.selectionManager.selectionMode === "none";
|
|
146
|
+
})() ? void 0 : state.selectionManager.selectionMode;
|
|
147
|
+
},
|
|
148
|
+
enumerable: true,
|
|
149
|
+
configurable: true
|
|
150
|
+
};
|
|
151
|
+
var _d$12 = {
|
|
152
|
+
get() {
|
|
153
|
+
const aria = this[_m$];
|
|
154
|
+
const render = this[_m$5];
|
|
155
|
+
return dom.div(mergeProps$1(() => {
|
|
156
|
+
return aria.gridCellProps;
|
|
157
|
+
}, new _P$3(render, aria)));
|
|
158
|
+
},
|
|
159
|
+
enumerable: true,
|
|
160
|
+
configurable: true
|
|
161
|
+
};
|
|
162
|
+
function _P$4(_p8, _p9, _p0, _p1, _p10, _p11) {
|
|
163
|
+
this[_m$] = _p8;
|
|
164
|
+
this[_m$2] = _p9;
|
|
165
|
+
this[_m$3] = _p0;
|
|
166
|
+
this[_m$4] = _p1;
|
|
167
|
+
this[_m$5] = _p10;
|
|
168
|
+
this.ref = _p11;
|
|
169
|
+
Object.defineProperty(this, "data-selected", _d$4);
|
|
170
|
+
Object.defineProperty(this, "data-disabled", _d$5);
|
|
171
|
+
Object.defineProperty(this, "data-hovered", _d$6);
|
|
172
|
+
Object.defineProperty(this, "data-focused", _d$7);
|
|
173
|
+
Object.defineProperty(this, "data-focus-visible", _d$8);
|
|
174
|
+
Object.defineProperty(this, "data-pressed", _d$9);
|
|
175
|
+
Object.defineProperty(this, "data-allows-removing", _d$10);
|
|
176
|
+
Object.defineProperty(this, "data-selection-mode", _d$11);
|
|
177
|
+
Object.defineProperty(this, "children", _d$12);
|
|
178
|
+
}
|
|
179
|
+
_P$4.prototype = Object.prototype;
|
|
180
|
+
var _d$13 = {
|
|
181
|
+
get() {
|
|
182
|
+
return this[_m$].children;
|
|
183
|
+
},
|
|
184
|
+
enumerable: true,
|
|
185
|
+
configurable: true
|
|
186
|
+
};
|
|
187
|
+
function _P$5(_p12, _p13, _p14) {
|
|
188
|
+
this[_m$] = _p12;
|
|
189
|
+
this.createCollection = _p13;
|
|
190
|
+
Object.defineProperty(this, "content", _d$13);
|
|
191
|
+
this.children = _p14;
|
|
192
|
+
}
|
|
193
|
+
_P$5.prototype = Object.prototype;
|
|
194
|
+
var _d$14 = {
|
|
195
|
+
get() {
|
|
196
|
+
const props = this[_m$];
|
|
197
|
+
const setRef = this[_m$2];
|
|
198
|
+
return CollectionBuilder(new _P$5(props, () => new BaseCollection(), (collection) => TagGroupInner({
|
|
199
|
+
props,
|
|
200
|
+
collection,
|
|
201
|
+
groupRef: setRef
|
|
202
|
+
})));
|
|
203
|
+
},
|
|
204
|
+
enumerable: true,
|
|
205
|
+
configurable: true
|
|
206
|
+
};
|
|
207
|
+
function _P$6(_p15, _p16, _p17) {
|
|
208
|
+
this[_m$] = _p15;
|
|
209
|
+
this[_m$2] = _p16;
|
|
210
|
+
this.value = _p17;
|
|
211
|
+
Object.defineProperty(this, "children", _d$14);
|
|
212
|
+
}
|
|
213
|
+
_P$6.prototype = Object.prototype;
|
|
214
|
+
var _d$15 = {
|
|
215
|
+
get() {
|
|
216
|
+
return this[_m$].children;
|
|
217
|
+
},
|
|
218
|
+
enumerable: true,
|
|
219
|
+
configurable: true
|
|
220
|
+
};
|
|
221
|
+
function _P$7(_p18, _p19) {
|
|
222
|
+
this[_m$] = _p18;
|
|
223
|
+
this.value = _p19;
|
|
224
|
+
Object.defineProperty(this, "children", _d$15);
|
|
225
|
+
}
|
|
226
|
+
_P$7.prototype = Object.prototype;
|
|
227
|
+
var _d$16 = {
|
|
228
|
+
get() {
|
|
229
|
+
const props = this[_m$];
|
|
230
|
+
const aria = this[_m$2];
|
|
231
|
+
return TextContext(new _P$7(props, { slots: {
|
|
232
|
+
get description() {
|
|
233
|
+
return aria.descriptionProps;
|
|
234
|
+
},
|
|
235
|
+
get errorMessage() {
|
|
236
|
+
return aria.errorMessageProps;
|
|
237
|
+
}
|
|
238
|
+
} }));
|
|
239
|
+
},
|
|
240
|
+
enumerable: true,
|
|
241
|
+
configurable: true
|
|
242
|
+
};
|
|
243
|
+
function _P$8(_p20, _p21, _p22) {
|
|
244
|
+
this[_m$] = _p20;
|
|
245
|
+
this[_m$2] = _p21;
|
|
246
|
+
this.value = _p22;
|
|
247
|
+
Object.defineProperty(this, "children", _d$16);
|
|
248
|
+
}
|
|
249
|
+
_P$8.prototype = Object.prototype;
|
|
250
|
+
var _d$17 = {
|
|
251
|
+
get() {
|
|
252
|
+
const props = this[_m$];
|
|
253
|
+
const aria = this[_m$2];
|
|
254
|
+
const state = this[_m$3];
|
|
255
|
+
return ListStateContext(new _P$8(props, aria, state));
|
|
256
|
+
},
|
|
257
|
+
enumerable: true,
|
|
258
|
+
configurable: true
|
|
259
|
+
};
|
|
260
|
+
function _P$9(_p23, _p24, _p25, _p26) {
|
|
261
|
+
this[_m$] = _p23;
|
|
262
|
+
this[_m$2] = _p24;
|
|
263
|
+
this[_m$3] = _p25;
|
|
264
|
+
this.value = _p26;
|
|
265
|
+
Object.defineProperty(this, "children", _d$17);
|
|
266
|
+
}
|
|
267
|
+
_P$9.prototype = Object.prototype;
|
|
268
|
+
var _d$18 = {
|
|
269
|
+
get() {
|
|
270
|
+
const aria = this[_m$];
|
|
271
|
+
const registerLabel = this[_m$2];
|
|
272
|
+
return mergeProps(merge(() => aria.labelProps ?? {}), {
|
|
273
|
+
get elementType() {
|
|
274
|
+
return "span";
|
|
275
|
+
},
|
|
276
|
+
registerSlot: registerLabel
|
|
277
|
+
});
|
|
278
|
+
},
|
|
279
|
+
enumerable: true,
|
|
280
|
+
configurable: true
|
|
281
|
+
};
|
|
282
|
+
var _d$19 = {
|
|
283
|
+
get() {
|
|
284
|
+
const props = this[_m$3];
|
|
285
|
+
const aria = this[_m$];
|
|
286
|
+
const state = this[_m$4];
|
|
287
|
+
const setListRef = this[_m$5];
|
|
288
|
+
return TagListContext(new _P$9(props, aria, state, {
|
|
289
|
+
get gridProps() {
|
|
290
|
+
return aria.gridProps;
|
|
291
|
+
},
|
|
292
|
+
ref: (element) => {
|
|
293
|
+
setListRef(element);
|
|
294
|
+
}
|
|
295
|
+
}));
|
|
296
|
+
},
|
|
297
|
+
enumerable: true,
|
|
298
|
+
configurable: true
|
|
299
|
+
};
|
|
300
|
+
function _P$10(_p27, _p28, _p29, _p30, _p31) {
|
|
301
|
+
this[_m$] = _p27;
|
|
302
|
+
this[_m$2] = _p28;
|
|
303
|
+
this[_m$3] = _p29;
|
|
304
|
+
this[_m$4] = _p30;
|
|
305
|
+
this[_m$5] = _p31;
|
|
306
|
+
Object.defineProperty(this, "value", _d$18);
|
|
307
|
+
Object.defineProperty(this, "children", _d$19);
|
|
308
|
+
}
|
|
309
|
+
_P$10.prototype = Object.prototype;
|
|
310
|
+
var _d$20 = {
|
|
311
|
+
get() {
|
|
312
|
+
return this[_m$2].render;
|
|
313
|
+
},
|
|
314
|
+
enumerable: true,
|
|
315
|
+
configurable: true
|
|
316
|
+
};
|
|
317
|
+
var _d$21 = {
|
|
318
|
+
get() {
|
|
319
|
+
return this[_m$2].class ?? "solid2-aria-TagGroup";
|
|
320
|
+
},
|
|
321
|
+
enumerable: true,
|
|
322
|
+
configurable: true
|
|
323
|
+
};
|
|
324
|
+
var _d$22 = {
|
|
325
|
+
get() {
|
|
326
|
+
return this[_m$2].style;
|
|
327
|
+
},
|
|
328
|
+
enumerable: true,
|
|
329
|
+
configurable: true
|
|
330
|
+
};
|
|
331
|
+
var _d$23 = {
|
|
332
|
+
get() {
|
|
333
|
+
return this[_m$2].slot ?? void 0;
|
|
334
|
+
},
|
|
335
|
+
enumerable: true,
|
|
336
|
+
configurable: true
|
|
337
|
+
};
|
|
338
|
+
var _d$24 = {
|
|
339
|
+
get() {
|
|
340
|
+
const aria = this[_m$3];
|
|
341
|
+
const registerLabel = this[_m$4];
|
|
342
|
+
const props = this[_m$2];
|
|
343
|
+
const state = this[_m$5];
|
|
344
|
+
const setListRef = this[_m$6];
|
|
345
|
+
return LabelContext(new _P$10(aria, registerLabel, props, state, setListRef));
|
|
346
|
+
},
|
|
347
|
+
enumerable: true,
|
|
348
|
+
configurable: true
|
|
349
|
+
};
|
|
350
|
+
function _P$11(_p32, _p33, _p34, _p35, _p36, _p37) {
|
|
351
|
+
this[_m$] = _p32;
|
|
352
|
+
this[_m$2] = _p33;
|
|
353
|
+
this[_m$3] = _p34;
|
|
354
|
+
this[_m$4] = _p35;
|
|
355
|
+
this[_m$5] = _p36;
|
|
356
|
+
this[_m$6] = _p37;
|
|
357
|
+
this.ref = (r$) => {
|
|
358
|
+
const input = this[_m$];
|
|
359
|
+
var _ref$ = input.groupRef;
|
|
360
|
+
typeof _ref$ === "function" || Array.isArray(_ref$) ? applyRef(_ref$, r$) : input.groupRef = r$;
|
|
361
|
+
};
|
|
362
|
+
Object.defineProperty(this, "render", _d$20);
|
|
363
|
+
Object.defineProperty(this, "class", _d$21);
|
|
364
|
+
Object.defineProperty(this, "style", _d$22);
|
|
365
|
+
Object.defineProperty(this, "slot", _d$23);
|
|
366
|
+
Object.defineProperty(this, "children", _d$24);
|
|
367
|
+
}
|
|
368
|
+
_P$11.prototype = Object.prototype;
|
|
369
|
+
var _d$25 = {
|
|
370
|
+
get() {
|
|
371
|
+
return this[_m$].collection;
|
|
372
|
+
},
|
|
373
|
+
enumerable: true,
|
|
374
|
+
configurable: true
|
|
375
|
+
};
|
|
376
|
+
function _P$12(_p38) {
|
|
377
|
+
this[_m$] = _p38;
|
|
378
|
+
Object.defineProperty(this, "collection", _d$25);
|
|
379
|
+
}
|
|
380
|
+
_P$12.prototype = Object.prototype;
|
|
381
|
+
var _d$26 = {
|
|
382
|
+
get() {
|
|
383
|
+
return this[_m$].isEmpty || void 0;
|
|
384
|
+
},
|
|
385
|
+
enumerable: true,
|
|
386
|
+
configurable: true
|
|
387
|
+
};
|
|
388
|
+
var _d$27 = {
|
|
389
|
+
get() {
|
|
390
|
+
return this[_m$2].isFocused || void 0;
|
|
391
|
+
},
|
|
392
|
+
enumerable: true,
|
|
393
|
+
configurable: true
|
|
394
|
+
};
|
|
395
|
+
var _d$28 = {
|
|
396
|
+
get() {
|
|
397
|
+
return this[_m$2].isFocusVisible || void 0;
|
|
398
|
+
},
|
|
399
|
+
enumerable: true,
|
|
400
|
+
configurable: true
|
|
401
|
+
};
|
|
402
|
+
var _d$29 = {
|
|
403
|
+
get() {
|
|
404
|
+
const Root = this[_m$3];
|
|
405
|
+
const state = this[_m$4];
|
|
406
|
+
const values = this[_m$];
|
|
407
|
+
const props = this[_m$5];
|
|
408
|
+
return [Root(new _P$12(state)), memo(() => {
|
|
409
|
+
return memo(() => {
|
|
410
|
+
return !!(values.isEmpty && props.renderEmptyState);
|
|
411
|
+
})() ? props.renderEmptyState(values) : null;
|
|
412
|
+
})];
|
|
413
|
+
},
|
|
414
|
+
enumerable: true,
|
|
415
|
+
configurable: true
|
|
416
|
+
};
|
|
417
|
+
function _P$13(_p39, _p40, _p41, _p42, _p43, _p44) {
|
|
418
|
+
this[_m$] = _p39;
|
|
419
|
+
this[_m$2] = _p40;
|
|
420
|
+
this[_m$3] = _p41;
|
|
421
|
+
this[_m$4] = _p42;
|
|
422
|
+
this[_m$5] = _p43;
|
|
423
|
+
this.ref = _p44;
|
|
424
|
+
Object.defineProperty(this, "data-empty", _d$26);
|
|
425
|
+
Object.defineProperty(this, "data-focused", _d$27);
|
|
426
|
+
Object.defineProperty(this, "data-focus-visible", _d$28);
|
|
427
|
+
Object.defineProperty(this, "children", _d$29);
|
|
428
|
+
}
|
|
429
|
+
_P$13.prototype = Object.prototype;
|
|
430
|
+
const TagGroupContext = createContext(null);
|
|
431
|
+
const TagListContext = createContext(null);
|
|
432
|
+
const TagCollection = createLeafComponent(ItemNode, (props, forwardedRef, item) => {
|
|
433
|
+
const state = useContext(ListStateContext);
|
|
434
|
+
if (!state) throw new Error("Tag must be rendered in a TagGroup.");
|
|
435
|
+
const [ref, setRef] = createSignal(null, { ownedWrite: true });
|
|
436
|
+
const aria = createTag({ item }, state, ref);
|
|
437
|
+
const focus = createFocusRing();
|
|
438
|
+
const hover = createHover(mergeProps(props, { get isDisabled() {
|
|
439
|
+
return aria.isDisabled;
|
|
440
|
+
} }));
|
|
441
|
+
const render = createRenderProps(mergeProps(props, {
|
|
442
|
+
defaultClass: "solid2-aria-Tag",
|
|
443
|
+
values: {
|
|
444
|
+
get allowsRemoving() {
|
|
445
|
+
return aria.allowsRemoving;
|
|
446
|
+
},
|
|
447
|
+
get isDisabled() {
|
|
448
|
+
return aria.isDisabled;
|
|
449
|
+
},
|
|
450
|
+
get isFocusVisible() {
|
|
451
|
+
return focus.isFocusVisible;
|
|
452
|
+
},
|
|
453
|
+
get isFocused() {
|
|
454
|
+
return aria.isFocused;
|
|
455
|
+
},
|
|
456
|
+
get isHovered() {
|
|
457
|
+
return hover.isHovered;
|
|
458
|
+
},
|
|
459
|
+
get isPressed() {
|
|
460
|
+
return aria.isPressed;
|
|
461
|
+
},
|
|
462
|
+
get isSelected() {
|
|
463
|
+
return aria.isSelected;
|
|
464
|
+
},
|
|
465
|
+
get selectionBehavior() {
|
|
466
|
+
return state.selectionManager.selectionBehavior;
|
|
467
|
+
},
|
|
468
|
+
get selectionMode() {
|
|
469
|
+
return state.selectionManager.selectionMode;
|
|
470
|
+
}
|
|
471
|
+
}
|
|
472
|
+
}));
|
|
473
|
+
return dom.div(mergeProps$1(() => {
|
|
474
|
+
return mergeProps(omit(filterDOMProps(props, { global: true }), "id", "onClick"), render, merge(() => aria.rowProps ?? {}), merge(() => focus.focusProps ?? {}), merge(() => hover.hoverProps ?? {}));
|
|
475
|
+
}, new _P$4(aria, hover, focus, state, render, [(element) => {
|
|
476
|
+
setRef(element);
|
|
477
|
+
}, (element) => {
|
|
478
|
+
assignRef(forwardedRef, element);
|
|
479
|
+
}])));
|
|
480
|
+
});
|
|
481
|
+
function Tag(props) {
|
|
482
|
+
return TagCollection(mergeProps$1(props, { ref: (element) => {
|
|
483
|
+
assignRef(untrack(() => props.ref), element);
|
|
484
|
+
} }));
|
|
485
|
+
}
|
|
486
|
+
function TagGroup(input) {
|
|
487
|
+
const [props, , setRef] = createContextProps(input, untrack(() => input.ref), TagGroupContext);
|
|
488
|
+
return ListStateContext(new _P$6(props, setRef, null));
|
|
489
|
+
}
|
|
490
|
+
function TagGroupInner(input) {
|
|
491
|
+
const [props, listRef, setListRef] = createContextProps(untrack(() => input.props), void 0, SelectableCollectionContext);
|
|
492
|
+
const [registerLabel, label] = createSlot(() => !isTruthy(props["aria-label"]) && !isTruthy(props["aria-labelledby"]));
|
|
493
|
+
const state = createListState(mergeProps(omit(props, "filter"), {
|
|
494
|
+
children: void 0,
|
|
495
|
+
get collection() {
|
|
496
|
+
return props.filter ? input.collection.filter(props.filter) : input.collection;
|
|
497
|
+
}
|
|
498
|
+
}));
|
|
499
|
+
const aria = createTagGroup(mergeProps(props, { get label() {
|
|
500
|
+
return label();
|
|
501
|
+
} }), state, listRef);
|
|
502
|
+
return dom.div(mergeProps$1(() => {
|
|
503
|
+
return filterDOMProps(input.props, { global: true });
|
|
504
|
+
}, new _P$11(input, props, aria, registerLabel, state, setListRef)));
|
|
505
|
+
}
|
|
506
|
+
function TagList(input) {
|
|
507
|
+
const state = useContext(ListStateContext);
|
|
508
|
+
if (!state) return Collection(input);
|
|
509
|
+
const [props, , setRef] = createContextProps(input, untrack(() => input.ref), TagListContext);
|
|
510
|
+
const context = createSlottedContext(TagListContext);
|
|
511
|
+
const Root = useContext(CollectionRendererContext).CollectionRoot;
|
|
512
|
+
const focus = createFocusRing();
|
|
513
|
+
const values = {
|
|
514
|
+
get isEmpty() {
|
|
515
|
+
return state.collection.size === 0;
|
|
516
|
+
},
|
|
517
|
+
get isFocusVisible() {
|
|
518
|
+
return focus.isFocusVisible;
|
|
519
|
+
},
|
|
520
|
+
get isFocused() {
|
|
521
|
+
return focus.isFocused;
|
|
522
|
+
},
|
|
523
|
+
state
|
|
524
|
+
};
|
|
525
|
+
const render = createRenderProps(mergeProps(props, {
|
|
526
|
+
children: void 0,
|
|
527
|
+
defaultClass: "solid2-aria-TagList",
|
|
528
|
+
values
|
|
529
|
+
}));
|
|
530
|
+
return dom.div(mergeProps$1(() => {
|
|
531
|
+
return mergeProps(filterDOMProps(props, { global: true }), merge(() => context?.gridProps ?? {}), merge(() => focus.focusProps ?? {}), render);
|
|
532
|
+
}, new _P$13(values, focus, Root, state, props, (element) => {
|
|
533
|
+
setRef(element);
|
|
534
|
+
})));
|
|
535
|
+
}
|
|
536
|
+
export { Tag, TagGroup, TagGroupContext, TagList, TagListContext };
|
|
537
|
+
|
|
538
|
+
//# sourceMappingURL=tag-group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tag-group.js","names":["state.selectionManager.selectionMode === \"none\"\n ? undefined\n : state.selectionManager.selectionMode","dom.div","<dom.div {...aria.gridCellProps}>\n <ButtonContext\n value={{\n slots: {\n get remove() {\n return aria.removeButtonProps;\n },\n },\n }}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n {render.children}\n </SelectionIndicatorContext>\n </ButtonContext>\n </dom.div>","groupRef={setRef}","ref={input.groupRef}","{values.isEmpty && props.renderEmptyState\n ? props.renderEmptyState(values)\n : null}","<dom.div\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n render,\n merge(() => aria.rowProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n },\n ]}\n data-selected={aria.isSelected || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={aria.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-pressed={aria.isPressed || undefined}\n data-allows-removing={aria.allowsRemoving || undefined}\n data-selection-mode={\n state.selectionManager.selectionMode === \"none\"\n ? undefined\n : state.selectionManager.selectionMode\n }\n >\n <dom.div {...aria.gridCellProps}>\n <ButtonContext\n value={{\n slots: {\n get remove() {\n return aria.removeButtonProps;\n },\n },\n }}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n {render.children}\n </SelectionIndicatorContext>\n </ButtonContext>\n </dom.div>\n </dom.div>","<TagCollection\n {...props}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />","ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}","<dom.div\n {...filterDOMProps(input.props, { global: true })}\n ref={input.groupRef}\n render={props.render}\n class={props.class ?? \"solid2-aria-TagGroup\"}\n style={props.style}\n slot={props.slot ?? undefined}\n >\n <LabelContext\n value={mergeProps(\n merge(() => aria.labelProps ?? {}),\n {\n get elementType(): \"span\" {\n return \"span\";\n },\n registerSlot: registerLabel,\n }\n )}\n >\n <TagListContext\n value={{\n get gridProps() {\n return aria.gridProps;\n },\n ref: (element: HTMLElement) => {\n setListRef(element);\n },\n }}\n >\n <ListStateContext value={state}>\n <TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n {props.children}\n </TextContext>\n </ListStateContext>\n </TagListContext>\n </LabelContext>\n </dom.div>","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => context?.gridProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n data-empty={values.isEmpty || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <Root collection={state.collection} />\n {values.isEmpty && props.renderEmptyState\n ? props.renderEmptyState(values)\n : null}\n </dom.div>","_$memo","_$mergeProps","_$applyRef"],"sources":["../../src/tag-group.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n/*\n * Derived from Adobe React Spectrum: packages/react-aria-components/src/TagGroup.tsx.\n * Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, and reactive properties for Solid 2; uses Solid class props.\n * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.\n */\n\nimport {\n BaseCollection,\n ItemNode,\n} from \"@solid2-aria/core/collections/base-collection\";\nimport {\n Collection,\n CollectionBuilder,\n createLeafComponent,\n} from \"@solid2-aria/core/collections/collection-builder\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\nimport { createTag } from \"@solid2-aria/core/tag/create-tag\";\nimport { createTagGroup } from \"@solid2-aria/core/tag/create-tag-group\";\nimport type { AriaTagGroupProps } from \"@solid2-aria/core/tag/create-tag-group\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { isTruthy } from \"@solid2-aria/core/utils/truthy\";\nimport { createListState } from \"@solid2-aria/stately/list/create-list-state\";\nimport type { ListState } from \"@solid2-aria/stately/list/create-list-state\";\nimport type {\n FocusEvents,\n HoverEvents,\n Key,\n LinkDOMProps,\n PressEvents,\n Node,\n} from \"@solid2-aria/types-shared\";\nimport type {\n DOMAttributes,\n GlobalDOMAttributes,\n} from \"@solid2-aria/types-shared-web\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n merge,\n untrack,\n createSignal,\n createContext,\n useContext,\n omit,\n} from \"solid-js\";\n\nimport { SelectableCollectionContext } from \"./autocomplete\";\nimport type { SelectableCollectionContextValue } from \"./autocomplete\";\nimport { ButtonContext } from \"./button\";\nimport { CollectionRendererContext } from \"./collection\";\nimport type { CollectionProps, ItemRenderProps } from \"./collection\";\nimport { LabelContext } from \"./label\";\nimport { ListStateContext } from \"./list-box\";\nimport { SelectionIndicatorContext } from \"./selection-indicator\";\nimport { TextContext } from \"./text\";\nimport {\n dom,\n createContextProps,\n createRenderProps,\n createSlot,\n createSlottedContext,\n assignRef,\n} from \"./utils\";\nimport type {\n Ref,\n ClassOrFunction,\n DOMProps,\n DOMRenderProps,\n RenderProps,\n SlotProps,\n StyleRenderProps,\n ContextValue,\n} from \"./utils\";\n\nexport const TagGroupContext =\n createContext<ContextValue<TagGroupProps, HTMLElement>>(null);\n\nexport const TagListContext = createContext<\n ContextValue<\n TagListProps<unknown> & {\n gridProps?: DOMAttributes;\n },\n HTMLElement\n >\n>(null);\n\nexport interface TagGroupProps\n extends\n Omit<\n AriaTagGroupProps<unknown>,\n | \"children\"\n | \"items\"\n | \"label\"\n | \"description\"\n | \"errorMessage\"\n | \"keyboardDelegate\"\n >,\n DOMProps,\n SlotProps,\n DOMRenderProps<\"div\", undefined>,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element.\n *\n * @default 'react-aria-TagGroup'\n */\n class?: JSX.ClassValue;\n}\n\nexport interface TagListRenderProps {\n /**\n * Whether the tag list has no items and should display its empty state.\n *\n * @selector [data-empty]\n */\n isEmpty: boolean;\n /**\n * Whether the tag list is currently focused.\n *\n * @selector [data-focused]\n */\n isFocused: boolean;\n /**\n * Whether the tag list is currently keyboard focused.\n *\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean;\n /**\n * State of the TagGroup.\n */\n state: ListState<unknown>;\n}\n\nexport interface TagListProps<T>\n extends\n Omit<CollectionProps<T>, \"disabledKeys\">,\n StyleRenderProps<TagListRenderProps>,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-TagList'\n */\n class?: ClassOrFunction<TagListRenderProps>;\n /** Provides content to display when there are no items in the tag list. */\n renderEmptyState?: (props: TagListRenderProps) => JSX.Element;\n}\n\nexport interface TagRenderProps extends Omit<\n ItemRenderProps,\n \"allowsDragging\" | \"isDragging\" | \"isDropTarget\"\n> {\n /**\n * Whether the tag group allows items to be removed.\n *\n * @selector [data-allows-removing]\n */\n allowsRemoving: boolean;\n}\n\nexport interface TagProps\n extends\n RenderProps<TagRenderProps>,\n LinkDOMProps,\n HoverEvents,\n FocusEvents,\n PressEvents,\n Omit<GlobalDOMAttributes<HTMLDivElement>, \"onClick\"> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-Tag'\n */\n class?: ClassOrFunction<TagRenderProps>;\n /** A unique id for the tag. */\n id?: Key;\n /**\n * A string representation of the tags's contents, used for accessibility.\n * Required if children is not a plain text string.\n */\n textValue?: string;\n /** Whether the tag is disabled. */\n isDisabled?: boolean;\n /**\n * Handler that is called when a user performs an action on the item. The exact user event depends\n * on the collection's `selectionBehavior` prop and the interaction modality.\n */\n onAction?: () => void;\n}\n\nconst TagCollection = createLeafComponent(\n ItemNode,\n (\n props: TagProps,\n forwardedRef: Ref<HTMLDivElement>,\n item: Node<unknown>\n ): JSX.Element => {\n const state = useContext(ListStateContext);\n\n if (!state) {\n throw new Error(\"Tag must be rendered in a TagGroup.\");\n }\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const aria = createTag({ item }, state, ref);\n const focus = createFocusRing();\n\n const hover = createHover(\n mergeProps(props, {\n get isDisabled() {\n return aria.isDisabled;\n },\n })\n );\n\n const values: TagRenderProps = {\n get allowsRemoving() {\n return aria.allowsRemoving;\n },\n get isDisabled() {\n return aria.isDisabled;\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return aria.isFocused;\n },\n get isHovered() {\n return hover.isHovered;\n },\n get isPressed() {\n return aria.isPressed;\n },\n get isSelected() {\n return aria.isSelected;\n },\n get selectionBehavior() {\n return state.selectionManager.selectionBehavior;\n },\n get selectionMode() {\n return state.selectionManager.selectionMode;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Tag\", values })\n );\n\n return (\n <dom.div\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n render,\n merge(() => aria.rowProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n },\n ]}\n data-selected={aria.isSelected || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={aria.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-pressed={aria.isPressed || undefined}\n data-allows-removing={aria.allowsRemoving || undefined}\n data-selection-mode={\n state.selectionManager.selectionMode === \"none\"\n ? undefined\n : state.selectionManager.selectionMode\n }\n >\n <dom.div {...aria.gridCellProps}>\n <ButtonContext\n value={{\n slots: {\n get remove() {\n return aria.removeButtonProps;\n },\n },\n }}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n {render.children}\n </SelectionIndicatorContext>\n </ButtonContext>\n </dom.div>\n </dom.div>\n );\n }\n);\n\nexport function Tag(\n props: TagProps & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n return (\n <TagCollection\n {...props}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />\n );\n}\n\nexport function TagGroup(\n input: TagGroupProps & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n TagGroupContext\n );\n\n return (\n <ListStateContext value={null}>\n <CollectionBuilder\n createCollection={() => new BaseCollection<object>()}\n content={props.children}\n >\n {(collection) => (\n <TagGroupInner\n props={props}\n collection={collection}\n groupRef={setRef}\n />\n )}\n </CollectionBuilder>\n </ListStateContext>\n );\n}\n\nfunction TagGroupInner(input: {\n props: TagGroupProps & SelectableCollectionContextValue<object>;\n collection: BaseCollection<object>;\n groupRef: (element: HTMLDivElement) => void;\n}): JSX.Element {\n const [props, listRef, setListRef] = createContextProps(\n untrack(() => input.props),\n undefined,\n SelectableCollectionContext\n );\n\n const [registerLabel, label] = createSlot(\n () => !isTruthy(props[\"aria-label\"]) && !isTruthy(props[\"aria-labelledby\"])\n );\n\n const state = createListState(\n mergeProps(omit(props, \"filter\"), {\n children: undefined,\n get collection() {\n return props.filter\n ? input.collection.filter(props.filter)\n : input.collection;\n },\n })\n );\n\n const aria = createTagGroup(\n mergeProps(props, {\n get label() {\n return label();\n },\n }),\n state,\n listRef\n );\n\n return (\n <dom.div\n {...filterDOMProps(input.props, { global: true })}\n ref={input.groupRef}\n render={props.render}\n class={props.class ?? \"solid2-aria-TagGroup\"}\n style={props.style}\n slot={props.slot ?? undefined}\n >\n <LabelContext\n value={mergeProps(\n merge(() => aria.labelProps ?? {}),\n {\n get elementType(): \"span\" {\n return \"span\";\n },\n registerSlot: registerLabel,\n }\n )}\n >\n <TagListContext\n value={{\n get gridProps() {\n return aria.gridProps;\n },\n ref: (element: HTMLElement) => {\n setListRef(element);\n },\n }}\n >\n <ListStateContext value={state}>\n <TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n {props.children}\n </TextContext>\n </ListStateContext>\n </TagListContext>\n </LabelContext>\n </dom.div>\n );\n}\n\nexport function TagList<T>(\n input: TagListProps<T> & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n const state = useContext(ListStateContext);\n\n if (!state) {\n // oxlint-disable-next-line solid/components-return-once -- Static collection traversal and context registration are fixed when the owner is created.\n return <Collection {...input} />;\n }\n\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n TagListContext\n );\n\n const context = createSlottedContext(TagListContext);\n const renderer = useContext(CollectionRendererContext);\n const Root = renderer.CollectionRoot;\n const focus = createFocusRing();\n\n const values: TagListRenderProps = {\n get isEmpty() {\n return state.collection.size === 0;\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n children: undefined,\n defaultClass: \"solid2-aria-TagList\",\n values,\n })\n );\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => context?.gridProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n data-empty={values.isEmpty || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <Root collection={state.collection} />\n {values.isEmpty && props.renderEmptyState\n ? props.renderEmptyState(values)\n : null}\n </dom.div>\n );\n}\n"],"mappings":"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"}
|