@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":"disclosure.js","names":["dom.div","<dom.div\n {...filterDOMProps(props, { global: true })}\n {...render}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n data-disabled={state.isDisabled || undefined}\n >\n <DisclosureGroupStateContext value={state}>\n {render.children}\n </DisclosureGroupStateContext>\n </dom.div>","<dom.div\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n data-expanded={state.isExpanded || undefined}\n data-disabled={values.isDisabled || undefined}\n data-focus-visible-within={values.isFocusVisibleWithin || undefined}\n >\n <DisclosureStateContext value={state}>\n <PanelContext value={panel}>\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get trigger() {\n return aria.buttonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </PanelContext>\n </DisclosureStateContext>\n </dom.div>","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => context.panelProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n role={props.role ?? \"group\"}\n ref={[\n (element: HTMLDivElement) => {\n context.setPanelRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-focus-visible-within={values.isFocusVisibleWithin || undefined}\n >\n {render.children}\n </dom.div>","_$mergeProps"],"sources":["../../src/disclosure.tsx"],"sourcesContent":["/*\n * Copyright 2024 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/Disclosure.tsx.\n * Modified for Solid Aria: adapted components, contexts, refs, 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 { createDisclosure } from \"@solid2-aria/core/disclosure/create-disclosure\";\nimport type { AriaDisclosureProps } from \"@solid2-aria/core/disclosure/create-disclosure\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { createDisclosureGroupState } from \"@solid2-aria/stately/disclosure/create-disclosure-group-state\";\nimport type {\n DisclosureGroupState,\n DisclosureGroupProps as GroupOptions,\n} from \"@solid2-aria/stately/disclosure/create-disclosure-group-state\";\nimport { createDisclosureState } from \"@solid2-aria/stately/disclosure/create-disclosure-state\";\nimport type { DisclosureState } from \"@solid2-aria/stately/disclosure/create-disclosure-state\";\nimport type { Key } from \"@solid2-aria/types-shared\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n merge,\n untrack,\n createSignal,\n createContext,\n createUniqueId,\n useContext,\n omit,\n} from \"solid-js\";\nimport type { Accessor } from \"solid-js\";\n\nimport { ButtonContext } from \"./button\";\nimport {\n assignRef,\n dom,\n DEFAULT_SLOT,\n createContextProps,\n createRenderProps,\n} from \"./utils\";\nimport type { ContextValue, Ref, RenderProps, SlotProps } from \"./utils\";\n\nexport interface DisclosureGroupRenderProps {\n isDisabled: boolean;\n state: DisclosureGroupState;\n}\n\nexport interface DisclosureGroupProps\n extends GroupOptions, RenderProps<DisclosureGroupRenderProps> {\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface DisclosureRenderProps {\n isExpanded: boolean;\n isFocusVisibleWithin: boolean;\n isDisabled: boolean;\n state: DisclosureState;\n}\n\nexport interface DisclosureProps\n extends AriaDisclosureProps, RenderProps<DisclosureRenderProps>, SlotProps {\n id?: Key;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface DisclosurePanelRenderProps {\n isFocusVisibleWithin: boolean;\n}\n\nexport interface DisclosurePanelProps extends RenderProps<DisclosurePanelRenderProps> {\n ref?: Ref<HTMLDivElement>;\n role?: \"group\" | \"region\";\n shouldForceMount?: boolean;\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n}\n\nexport const DisclosureGroupStateContext =\n createContext<DisclosureGroupState | null>(null);\n\nexport const DisclosureStateContext = createContext<DisclosureState | null>(\n null\n);\n\nexport const DisclosureContext =\n createContext<ContextValue<DisclosureProps, HTMLDivElement>>(null);\n\nconst PanelContext = createContext<{\n panelProps: JSX.HTMLAttributes<HTMLElement>;\n panelRef: Accessor<HTMLDivElement | null>;\n setPanelRef: (element: HTMLDivElement) => void;\n} | null>(null);\n\nexport function DisclosureGroup(props: DisclosureGroupProps): JSX.Element {\n const state = createDisclosureGroupState(props);\n\n const values = {\n get isDisabled() {\n return state.isDisabled;\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n defaultClass: \"solid2-aria-DisclosureGroup\",\n values,\n })\n );\n\n return (\n <dom.div\n {...filterDOMProps(props, { global: true })}\n {...render}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n data-disabled={state.isDisabled || undefined}\n >\n <DisclosureGroupStateContext value={state}>\n {render.children}\n </DisclosureGroupStateContext>\n </dom.div>\n );\n}\n\nexport function Disclosure(input: DisclosureProps): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n DisclosureContext\n );\n\n const group = useContext(DisclosureGroupStateContext);\n const defaultId = createUniqueId();\n const id = () => props.id ?? defaultId;\n\n const options = mergeProps(props, {\n get isDisabled() {\n return props.isDisabled ?? group?.isDisabled;\n },\n get isExpanded() {\n return group ? group.expandedKeys.has(id()) : props.isExpanded;\n },\n onExpandedChange(expanded: boolean) {\n group?.toggleKey(id());\n props.onExpandedChange?.(expanded);\n },\n });\n\n const state = createDisclosureState(options);\n\n const [panelRef, setPanelRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const aria = createDisclosure(options, state, panelRef);\n const focus = createFocusRing({ within: true });\n\n const values: DisclosureRenderProps = {\n get isDisabled() {\n return options.isDisabled === true;\n },\n get isExpanded() {\n return state.isExpanded;\n },\n get isFocusVisibleWithin() {\n return focus.isFocusVisible;\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Disclosure\", values })\n );\n\n const panel = {\n get panelProps() {\n return aria.panelProps;\n },\n panelRef,\n setPanelRef: (element: HTMLDivElement) => {\n setPanelRef(element);\n },\n };\n\n return (\n <dom.div\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n data-expanded={state.isExpanded || undefined}\n data-disabled={values.isDisabled || undefined}\n data-focus-visible-within={values.isFocusVisibleWithin || undefined}\n >\n <DisclosureStateContext value={state}>\n <PanelContext value={panel}>\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get trigger() {\n return aria.buttonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </PanelContext>\n </DisclosureStateContext>\n </dom.div>\n );\n}\n\nexport function DisclosurePanel(props: DisclosurePanelProps): JSX.Element {\n const context = useContext(PanelContext);\n\n if (!context) {\n throw new Error(\"DisclosurePanel requires Disclosure\");\n }\n\n const focus = createFocusRing({ within: true });\n\n const values = {\n get isFocusVisibleWithin() {\n return focus.isFocusVisible;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n defaultClass: \"solid2-aria-DisclosurePanel\",\n values,\n })\n );\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => context.panelProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n role={props.role ?? \"group\"}\n ref={[\n (element: HTMLDivElement) => {\n context.setPanelRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-focus-visible-within={values.isFocusVisibleWithin || undefined}\n >\n {render.children}\n </dom.div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2024 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/DragAndDrop.tsx.
|
|
14
|
+
* Modified for Solid Aria: contexts and indicator rendering use Solid reactive ownership.
|
|
15
|
+
* Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.
|
|
16
|
+
*/
|
|
17
|
+
import { createContext, untrack, useContext } from "solid-js";
|
|
18
|
+
import { memo } from "@solidjs/web";
|
|
19
|
+
import { isPresent } from "@solid2-aria/core/utils/is-present";
|
|
20
|
+
// src/drag-and-drop.tsx
|
|
21
|
+
const DragAndDropContext = createContext({});
|
|
22
|
+
const DropIndicatorContext = createContext(null);
|
|
23
|
+
function DropIndicator(props) {
|
|
24
|
+
const context = useContext(DropIndicatorContext);
|
|
25
|
+
if (!context) throw new Error("DropIndicator must be rendered in a droppable collection.");
|
|
26
|
+
return context.render(props, untrack(() => props.ref));
|
|
27
|
+
}
|
|
28
|
+
function createRenderDropIndicator(hooks, state) {
|
|
29
|
+
if (!hooks?.createDropIndicator) return;
|
|
30
|
+
return (target) => {
|
|
31
|
+
if (hooks.isVirtualDragging?.() !== true && state?.isDropTarget(target) !== true) return null;
|
|
32
|
+
return memo(() => {
|
|
33
|
+
return memo(() => {
|
|
34
|
+
return !!hooks.renderDropIndicator;
|
|
35
|
+
})() ? hooks.renderDropIndicator(target) : DropIndicator({ target });
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function createDndPersistedKeys(manager, hooks, state) {
|
|
40
|
+
let dropKey = null;
|
|
41
|
+
if (hooks?.isVirtualDragging?.() === true && state?.target?.type === "item") {
|
|
42
|
+
dropKey = state.target.key;
|
|
43
|
+
if (state.target.dropPosition === "after") {
|
|
44
|
+
let next = state.collection.getKeyAfter(dropKey);
|
|
45
|
+
let last = null;
|
|
46
|
+
const level = state.collection.getItem(dropKey)?.level ?? 0;
|
|
47
|
+
while (isPresent(next)) {
|
|
48
|
+
const node = state.collection.getItem(next);
|
|
49
|
+
if (!node) break;
|
|
50
|
+
if (node.type === "item") {
|
|
51
|
+
if ((node.level ?? 0) <= level) break;
|
|
52
|
+
last = next;
|
|
53
|
+
}
|
|
54
|
+
next = state.collection.getKeyAfter(next);
|
|
55
|
+
}
|
|
56
|
+
dropKey = next ?? last ?? dropKey;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const keys = /* @__PURE__ */ new Set();
|
|
60
|
+
if (isPresent(manager.focusedKey)) keys.add(manager.focusedKey);
|
|
61
|
+
if (isPresent(dropKey)) keys.add(dropKey);
|
|
62
|
+
return keys;
|
|
63
|
+
}
|
|
64
|
+
export { DragAndDropContext, DropIndicator, DropIndicatorContext, createDndPersistedKeys, createRenderDropIndicator };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=drag-and-drop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drag-and-drop.js","names":["{hooks.renderDropIndicator ? (\n hooks.renderDropIndicator(target)\n ) : (\n <DropIndicator target={target} />\n )}","_$memo"],"sources":["../../src/drag-and-drop.tsx"],"sourcesContent":["/*\n * Copyright 2024 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/DragAndDrop.tsx.\n * Modified for Solid Aria: contexts and indicator rendering use Solid reactive ownership.\n * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.\n */\n\nimport type { DropIndicatorProps as AriaDropIndicatorProps } from \"@solid2-aria/core/dnd/create-drop-indicator\";\nimport { isPresent } from \"@solid2-aria/core/utils/is-present\";\nimport type { DraggableCollectionState } from \"@solid2-aria/stately/dnd/create-draggable-collection-state\";\nimport type { DroppableCollectionState } from \"@solid2-aria/stately/dnd/create-droppable-collection-state\";\nimport type { MultipleSelectionManager } from \"@solid2-aria/stately/selection/types\";\nimport type { ItemDropTarget, Key } from \"@solid2-aria/types-shared\";\nimport type { JSX } from \"@solidjs/web\";\nimport { untrack, createContext, useContext } from \"solid-js\";\n\nimport type { DragAndDropHooks } from \"./create-drag-and-drop\";\nimport type { Ref, RenderProps } from \"./utils\";\n\nexport interface DragAndDropContextValue {\n // oxlint-disable-next-line typescript/no-explicit-any -- The collection owner and its descendants share one item type through this context.\n dragAndDropHooks?: DragAndDropHooks<any>;\n dragState?: DraggableCollectionState;\n dropState?: DroppableCollectionState;\n}\n\nexport interface DropIndicatorRenderProps {\n isDropTarget: boolean;\n}\n\nexport interface DropIndicatorProps\n extends\n Omit<AriaDropIndicatorProps, \"activateButtonRef\">,\n RenderProps<DropIndicatorRenderProps> {\n ref?: Ref<HTMLElement>;\n}\n\nexport const DragAndDropContext = createContext<DragAndDropContextValue>({});\n\nexport const DropIndicatorContext = createContext<{\n render: (props: DropIndicatorProps, ref?: Ref<HTMLElement>) => JSX.Element;\n} | null>(null);\n\nexport function DropIndicator(props: DropIndicatorProps): JSX.Element {\n const context = useContext(DropIndicatorContext);\n\n if (!context) {\n throw new Error(\n \"DropIndicator must be rendered in a droppable collection.\"\n );\n }\n\n return context.render(\n props,\n untrack(() => props.ref)\n );\n}\n\nexport function createRenderDropIndicator<T>(\n hooks?: DragAndDropHooks<T>,\n state?: DroppableCollectionState\n): ((target: ItemDropTarget) => JSX.Element) | undefined {\n if (!hooks?.createDropIndicator) {\n return undefined;\n }\n\n return (target): JSX.Element => {\n if (\n hooks.isVirtualDragging?.() !== true &&\n state?.isDropTarget(target) !== true\n ) {\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 <>\n {hooks.renderDropIndicator ? (\n hooks.renderDropIndicator(target)\n ) : (\n <DropIndicator target={target} />\n )}\n </>\n );\n };\n}\n\nexport function createDndPersistedKeys<T>(\n manager: MultipleSelectionManager,\n hooks?: DragAndDropHooks<T>,\n state?: DroppableCollectionState\n): Set<Key> {\n let dropKey: Key | null = null;\n\n if (hooks?.isVirtualDragging?.() === true && state?.target?.type === \"item\") {\n dropKey = state.target.key;\n\n if (state.target.dropPosition === \"after\") {\n let next = state.collection.getKeyAfter(dropKey);\n let last: Key | null = null;\n const level = state.collection.getItem(dropKey)?.level ?? 0;\n\n while (isPresent(next)) {\n const node = state.collection.getItem(next);\n\n if (!node) {\n break;\n }\n\n if (node.type === \"item\") {\n if ((node.level ?? 0) <= level) {\n break;\n }\n\n last = next;\n }\n\n next = state.collection.getKeyAfter(next);\n }\n\n dropKey = next ?? last ?? dropKey;\n }\n }\n\n const keys = new Set<Key>();\n\n if (isPresent(manager.focusedKey)) {\n keys.add(manager.focusedKey);\n }\n\n if (isPresent(dropKey)) {\n keys.add(dropKey);\n }\n\n return keys;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA+CA,MAAa,qBAAqB,cAAuC,CAAC,CAAC;AAE3E,MAAa,uBAAuB,cAE1B,IAAI;AAEd,SAAgB,cAAc,OAAwC;CACpE,MAAM,UAAU,WAAW,oBAAoB;CAE/C,IAAI,CAAC,SACH,MAAM,IAAI,MACR,2DACF;CAGF,OAAO,QAAQ,OACb,OACA,cAAc,MAAM,GAAG,CACzB;AACF;AAEA,SAAgB,0BACd,OACA,OACuD;CACvD,IAAI,CAAC,OAAO,qBACV;CAGF,QAAQ,WAAwB;EAC9B,IACE,MAAM,oBAAoB,MAAM,QAChC,OAAO,aAAa,MAAM,MAAM,MAGhC,OAAO;EAGT,OAEIA,WAAAA;;IAAC,OAAA,CAAA,CAAA,MAAM;GAIN,CAAA,CAAC,CAAD,IAHC,MAAM,oBAAoB,MAAM,IAAA,cAEhC,EAAuB,OAAS,CAAA;EACjC,CAAA;CAGP;AACF;AAEA,SAAgB,uBACd,SACA,OACA,OACU;CACV,IAAI,UAAsB;CAE1B,IAAI,OAAO,oBAAoB,MAAM,QAAQ,OAAO,QAAQ,SAAS,QAAQ;EAC3E,UAAU,MAAM,OAAO;EAEvB,IAAI,MAAM,OAAO,iBAAiB,SAAS;GACzC,IAAI,OAAO,MAAM,WAAW,YAAY,OAAO;GAC/C,IAAI,OAAmB;GACvB,MAAM,QAAQ,MAAM,WAAW,QAAQ,OAAO,CAAC,EAAE,SAAS;GAE1D,OAAO,UAAU,IAAI,GAAG;IACtB,MAAM,OAAO,MAAM,WAAW,QAAQ,IAAI;IAE1C,IAAI,CAAC,MACH;IAGF,IAAI,KAAK,SAAS,QAAQ;KACxB,KAAK,KAAK,SAAS,MAAM,OACvB;KAGF,OAAO;IACT;IAEA,OAAO,MAAM,WAAW,YAAY,IAAI;GAC1C;GAEA,UAAU,QAAQ,QAAQ;EAC5B;CACF;CAEA,MAAM,uBAAO,IAAI,IAAS;CAE1B,IAAI,UAAU,QAAQ,UAAU,GAC9B,KAAK,IAAI,QAAQ,UAAU;CAG7B,IAAI,UAAU,OAAO,GACnB,KAAK,IAAI,OAAO;CAGlB,OAAO;AACT"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 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/DropZone.tsx.
|
|
14
|
+
* Modified for Solid Aria: DOM refs, focus, drag, clipboard and render state use Solid factories; 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 { createContextProps, createRenderProps, dom } from "./utils.js";
|
|
18
|
+
import { TextContext } from "./text.js";
|
|
19
|
+
import intl_default from "./intl/index.js";
|
|
20
|
+
import { mergeProps } from "@solid2-aria/core/utils/merge-props";
|
|
21
|
+
import { createContext, createSignal, merge, untrack } from "solid-js";
|
|
22
|
+
import { memo, mergeProps as mergeProps$1, ssrElement } from "@solidjs/web";
|
|
23
|
+
import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
|
|
24
|
+
import { createFocusRing } from "@solid2-aria/core/focus/create-focus-ring";
|
|
25
|
+
import { createHover } from "@solid2-aria/core/interactions/create-hover";
|
|
26
|
+
import { createButton } from "@solid2-aria/core/button/create-button";
|
|
27
|
+
import { createVisuallyHidden } from "@solid2-aria/core/visually-hidden/visually-hidden";
|
|
28
|
+
import { createLocalizedStringFormatter } from "@solid2-aria/core/i18n/create-localized-string-formatter";
|
|
29
|
+
import { createClipboard } from "@solid2-aria/core/dnd/create-clipboard";
|
|
30
|
+
import { createDrop } from "@solid2-aria/core/dnd/create-drop";
|
|
31
|
+
import { createSlotId } from "@solid2-aria/core/utils/create-id";
|
|
32
|
+
import { createLabels } from "@solid2-aria/core/utils/create-labels";
|
|
33
|
+
import { focusWithoutScrolling } from "@solid2-aria/core/utils/focus-without-scrolling";
|
|
34
|
+
import { isFocusable } from "@solid2-aria/core/utils/is-focusable";
|
|
35
|
+
// src/drop-zone.tsx
|
|
36
|
+
var _m$ = Symbol();
|
|
37
|
+
var _m$2 = Symbol();
|
|
38
|
+
var _m$3 = Symbol();
|
|
39
|
+
var _m$4 = Symbol();
|
|
40
|
+
var _m$5 = Symbol();
|
|
41
|
+
var _m$6 = Symbol();
|
|
42
|
+
var _m$7 = Symbol();
|
|
43
|
+
var _m$8 = Symbol();
|
|
44
|
+
var _m$9 = Symbol();
|
|
45
|
+
var _m$10 = Symbol();
|
|
46
|
+
var _m$11 = Symbol();
|
|
47
|
+
var _m$12 = Symbol();
|
|
48
|
+
var _d$ = {
|
|
49
|
+
get() {
|
|
50
|
+
return this[_m$].slot ?? void 0;
|
|
51
|
+
},
|
|
52
|
+
enumerable: true,
|
|
53
|
+
configurable: true
|
|
54
|
+
};
|
|
55
|
+
var _d$2 = {
|
|
56
|
+
get() {
|
|
57
|
+
return this[_m$2].isHovered || void 0;
|
|
58
|
+
},
|
|
59
|
+
enumerable: true,
|
|
60
|
+
configurable: true
|
|
61
|
+
};
|
|
62
|
+
var _d$3 = {
|
|
63
|
+
get() {
|
|
64
|
+
return this[_m$3].isFocused || void 0;
|
|
65
|
+
},
|
|
66
|
+
enumerable: true,
|
|
67
|
+
configurable: true
|
|
68
|
+
};
|
|
69
|
+
var _d$4 = {
|
|
70
|
+
get() {
|
|
71
|
+
return this[_m$3].isFocusVisible || void 0;
|
|
72
|
+
},
|
|
73
|
+
enumerable: true,
|
|
74
|
+
configurable: true
|
|
75
|
+
};
|
|
76
|
+
var _d$5 = {
|
|
77
|
+
get() {
|
|
78
|
+
return this[_m$4].isDropTarget || void 0;
|
|
79
|
+
},
|
|
80
|
+
enumerable: true,
|
|
81
|
+
configurable: true
|
|
82
|
+
};
|
|
83
|
+
var _d$6 = {
|
|
84
|
+
get() {
|
|
85
|
+
return this[_m$].isDisabled ?? void 0;
|
|
86
|
+
},
|
|
87
|
+
enumerable: true,
|
|
88
|
+
configurable: true
|
|
89
|
+
};
|
|
90
|
+
var _d$7 = {
|
|
91
|
+
get() {
|
|
92
|
+
const hidden = this[_m$5];
|
|
93
|
+
const button = this[_m$6];
|
|
94
|
+
const focus = this[_m$3];
|
|
95
|
+
const clipboard = this[_m$7];
|
|
96
|
+
const labels = this[_m$8];
|
|
97
|
+
const render = this[_m$9];
|
|
98
|
+
return [ssrElement("div", hidden.visuallyHiddenProps, () => {
|
|
99
|
+
return ssrElement("button", mergeProps(merge(() => button.buttonProps ?? {}), merge(() => focus.focusProps ?? {}), merge(() => clipboard.clipboardProps ?? {}), labels), void 0, false);
|
|
100
|
+
}, true), memo(() => {
|
|
101
|
+
return render.children;
|
|
102
|
+
})];
|
|
103
|
+
},
|
|
104
|
+
enumerable: true,
|
|
105
|
+
configurable: true
|
|
106
|
+
};
|
|
107
|
+
function _P$(_p, _p2, _p3, _p4, _p5, _p6, _p7, _p8, _p9, _p0, _p1) {
|
|
108
|
+
this[_m$] = _p;
|
|
109
|
+
this[_m$2] = _p2;
|
|
110
|
+
this[_m$3] = _p3;
|
|
111
|
+
this[_m$4] = _p4;
|
|
112
|
+
this[_m$5] = _p5;
|
|
113
|
+
this[_m$6] = _p6;
|
|
114
|
+
this[_m$7] = _p7;
|
|
115
|
+
this[_m$8] = _p8;
|
|
116
|
+
this[_m$9] = _p9;
|
|
117
|
+
this.ref = _p0;
|
|
118
|
+
Object.defineProperty(this, "slot", _d$);
|
|
119
|
+
Object.defineProperty(this, "data-hovered", _d$2);
|
|
120
|
+
Object.defineProperty(this, "data-focused", _d$3);
|
|
121
|
+
Object.defineProperty(this, "data-focus-visible", _d$4);
|
|
122
|
+
Object.defineProperty(this, "data-drop-target", _d$5);
|
|
123
|
+
Object.defineProperty(this, "data-disabled", _d$6);
|
|
124
|
+
this.onClick = _p1;
|
|
125
|
+
Object.defineProperty(this, "children", _d$7);
|
|
126
|
+
}
|
|
127
|
+
_P$.prototype = Object.prototype;
|
|
128
|
+
var _d$8 = {
|
|
129
|
+
get() {
|
|
130
|
+
const props = this[_m$];
|
|
131
|
+
const render = this[_m$2];
|
|
132
|
+
const drop = this[_m$3];
|
|
133
|
+
const hover = this[_m$4];
|
|
134
|
+
const focus = this[_m$5];
|
|
135
|
+
const hidden = this[_m$6];
|
|
136
|
+
const button = this[_m$7];
|
|
137
|
+
const clipboard = this[_m$8];
|
|
138
|
+
const labels = this[_m$9];
|
|
139
|
+
const setRef = this[_m$10];
|
|
140
|
+
const ref = this[_m$11];
|
|
141
|
+
const buttonRef = this[_m$12];
|
|
142
|
+
return dom.div(mergeProps$1(() => {
|
|
143
|
+
return mergeProps(filterDOMProps(props, { global: true }), render, merge(() => drop.dropProps ?? {}), merge(() => hover.hoverProps ?? {}));
|
|
144
|
+
}, new _P$(props, hover, focus, drop, hidden, button, clipboard, labels, render, (element) => {
|
|
145
|
+
setRef(element);
|
|
146
|
+
}, (event) => {
|
|
147
|
+
let target = event.target instanceof HTMLElement ? event.target : null;
|
|
148
|
+
while (target && ref()?.contains(target) === true) {
|
|
149
|
+
if (isFocusable(target)) break;
|
|
150
|
+
const focusTarget = buttonRef();
|
|
151
|
+
if (target === ref() && focusTarget) {
|
|
152
|
+
focusWithoutScrolling(focusTarget);
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
target = target.parentElement;
|
|
156
|
+
}
|
|
157
|
+
})));
|
|
158
|
+
},
|
|
159
|
+
enumerable: true,
|
|
160
|
+
configurable: true
|
|
161
|
+
};
|
|
162
|
+
function _P$2(_p10, _p11, _p12, _p13, _p14, _p15, _p16, _p17, _p18, _p19, _p20, _p21, _p22) {
|
|
163
|
+
this[_m$] = _p10;
|
|
164
|
+
this[_m$2] = _p11;
|
|
165
|
+
this[_m$3] = _p12;
|
|
166
|
+
this[_m$4] = _p13;
|
|
167
|
+
this[_m$5] = _p14;
|
|
168
|
+
this[_m$6] = _p15;
|
|
169
|
+
this[_m$7] = _p16;
|
|
170
|
+
this[_m$8] = _p17;
|
|
171
|
+
this[_m$9] = _p18;
|
|
172
|
+
this[_m$10] = _p19;
|
|
173
|
+
this[_m$11] = _p20;
|
|
174
|
+
this[_m$12] = _p21;
|
|
175
|
+
this.value = _p22;
|
|
176
|
+
Object.defineProperty(this, "children", _d$8);
|
|
177
|
+
}
|
|
178
|
+
_P$2.prototype = Object.prototype;
|
|
179
|
+
const DropZoneContext = createContext(null);
|
|
180
|
+
function DropZone(input) {
|
|
181
|
+
const [props, ref, setRef] = createContextProps(input, untrack(() => input.ref), DropZoneContext);
|
|
182
|
+
const [buttonRef, setButtonRef] = createSignal(null, { ownedWrite: true });
|
|
183
|
+
const drop = createDrop(mergeProps(props, {
|
|
184
|
+
hasDropButton: true,
|
|
185
|
+
ref: buttonRef
|
|
186
|
+
}));
|
|
187
|
+
const button = createButton(mergeProps({ get children() {
|
|
188
|
+
return props.children;
|
|
189
|
+
} }, drop.dropButtonProps ?? {}), buttonRef);
|
|
190
|
+
const hover = createHover(props);
|
|
191
|
+
const focus = createFocusRing();
|
|
192
|
+
const hidden = createVisuallyHidden();
|
|
193
|
+
const textId = createSlotId();
|
|
194
|
+
const formatter = createLocalizedStringFormatter(intl_default, "@solid2-aria/components");
|
|
195
|
+
const labels = createLabels({
|
|
196
|
+
get "aria-label"() {
|
|
197
|
+
return props["aria-label"] ?? formatter.format("dropzoneLabel");
|
|
198
|
+
},
|
|
199
|
+
get "aria-labelledby"() {
|
|
200
|
+
return [textId(), props["aria-labelledby"]].filter(Boolean).join(" ") || void 0;
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
const clipboard = createClipboard({
|
|
204
|
+
get isDisabled() {
|
|
205
|
+
return props.isDisabled;
|
|
206
|
+
},
|
|
207
|
+
onPaste: (items) => props.onDrop?.({
|
|
208
|
+
dropOperation: "copy",
|
|
209
|
+
items,
|
|
210
|
+
type: "drop",
|
|
211
|
+
x: 0,
|
|
212
|
+
y: 0
|
|
213
|
+
})
|
|
214
|
+
});
|
|
215
|
+
const render = createRenderProps(mergeProps(props, {
|
|
216
|
+
defaultClass: "solid2-aria-DropZone",
|
|
217
|
+
values: {
|
|
218
|
+
get isDisabled() {
|
|
219
|
+
return props.isDisabled === true;
|
|
220
|
+
},
|
|
221
|
+
get isDropTarget() {
|
|
222
|
+
return drop.isDropTarget;
|
|
223
|
+
},
|
|
224
|
+
get isFocusVisible() {
|
|
225
|
+
return focus.isFocusVisible;
|
|
226
|
+
},
|
|
227
|
+
get isFocused() {
|
|
228
|
+
return focus.isFocused;
|
|
229
|
+
},
|
|
230
|
+
get isHovered() {
|
|
231
|
+
return hover.isHovered;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}));
|
|
235
|
+
return TextContext(new _P$2(props, render, drop, hover, focus, hidden, button, clipboard, labels, setRef, ref, buttonRef, { slots: { label: { get id() {
|
|
236
|
+
return textId();
|
|
237
|
+
} } } }));
|
|
238
|
+
}
|
|
239
|
+
export { DropZone, DropZoneContext };
|
|
240
|
+
|
|
241
|
+
//# sourceMappingURL=drop-zone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drop-zone.js","names":["<div {...hidden.visuallyHiddenProps}>\n <button\n {...mergeProps(\n merge(() => button.buttonProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => clipboard.clipboardProps ?? {}),\n labels\n )}\n\n ref={(element: HTMLButtonElement) => {\n setButtonRef(element);\n }}\n />\n </div>","<button\n {...mergeProps(\n merge(() => button.buttonProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => clipboard.clipboardProps ?? {}),\n labels\n )}\n\n ref={(element: HTMLButtonElement) => {\n setButtonRef(element);\n }}\n />","{render.children}","dom.div","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => drop.dropProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-drop-target={drop.isDropTarget || undefined}\n data-disabled={props.isDisabled ?? undefined}\n onClick={(event) => {\n let target =\n event.target instanceof HTMLElement ? event.target : null;\n\n while (target && ref()?.contains(target) === true) {\n if (isFocusable(target)) {\n break;\n }\n\n const focusTarget = buttonRef();\n\n if (target === ref() && focusTarget) {\n focusWithoutScrolling(focusTarget);\n break;\n }\n\n target = target.parentElement;\n }\n }}\n >\n <div {...hidden.visuallyHiddenProps}>\n <button\n {...mergeProps(\n merge(() => button.buttonProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => clipboard.clipboardProps ?? {}),\n labels\n )}\n\n ref={(element: HTMLButtonElement) => {\n setButtonRef(element);\n }}\n />\n </div>\n {render.children}\n </dom.div>","_$ssrElement","_$memo","_$mergeProps","intlMessages"],"sources":["../../src/drop-zone.tsx"],"sourcesContent":["/*\n * Copyright 2023 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/DropZone.tsx.\n * Modified for Solid Aria: DOM refs, focus, drag, clipboard and render state use Solid factories; 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 { createButton } from \"@solid2-aria/core/button/create-button\";\nimport { createClipboard } from \"@solid2-aria/core/dnd/create-clipboard\";\nimport { createDrop } from \"@solid2-aria/core/dnd/create-drop\";\nimport type { DropOptions } from \"@solid2-aria/core/dnd/create-drop\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createLocalizedStringFormatter } from \"@solid2-aria/core/i18n/create-localized-string-formatter\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\nimport { createSlotId } from \"@solid2-aria/core/utils/create-id\";\nimport { createLabels } from \"@solid2-aria/core/utils/create-labels\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { focusWithoutScrolling } from \"@solid2-aria/core/utils/focus-without-scrolling\";\nimport { isFocusable } from \"@solid2-aria/core/utils/is-focusable\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { createVisuallyHidden } from \"@solid2-aria/core/visually-hidden/visually-hidden\";\nimport type { AriaLabelingProps, HoverEvents } from \"@solid2-aria/types-shared\";\nimport type { GlobalDOMAttributes } from \"@solid2-aria/types-shared-web\";\nimport { merge, untrack, createSignal, createContext } from \"solid-js\";\n\nimport intlMessages from \"../intl\";\nimport { TextContext } from \"./text\";\nimport { dom, createContextProps, createRenderProps } from \"./utils\";\nimport type { ContextValue, RenderProps, SlotProps, Ref } from \"./utils\";\n\nexport interface DropZoneRenderProps {\n isHovered: boolean;\n isFocused: boolean;\n isFocusVisible: boolean;\n isDropTarget: boolean;\n isDisabled: boolean;\n}\n\nexport interface DropZoneProps\n extends\n Omit<DropOptions, \"getDropOperationForPoint\" | \"ref\" | \"hasDropButton\">,\n HoverEvents,\n RenderProps<DropZoneRenderProps>,\n SlotProps,\n AriaLabelingProps,\n GlobalDOMAttributes<HTMLDivElement> {\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const DropZoneContext =\n createContext<ContextValue<DropZoneProps, HTMLDivElement>>(null);\n\nexport function DropZone(input: DropZoneProps) {\n const [props, ref, setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n DropZoneContext\n );\n\n const [buttonRef, setButtonRef] = createSignal<HTMLButtonElement | null>(\n null,\n { ownedWrite: true }\n );\n\n const drop = createDrop(\n mergeProps(props, { hasDropButton: true, ref: buttonRef })\n );\n\n const button = createButton(\n mergeProps(\n {\n get children() {\n return props.children;\n },\n },\n drop.dropButtonProps ?? {}\n ),\n buttonRef\n );\n\n const hover = createHover(props);\n const focus = createFocusRing();\n const hidden = createVisuallyHidden();\n const textId = createSlotId();\n\n const formatter = createLocalizedStringFormatter(\n intlMessages,\n \"@solid2-aria/components\"\n );\n\n const labels = createLabels({\n get \"aria-label\"() {\n return props[\"aria-label\"] ?? formatter.format(\"dropzoneLabel\");\n },\n get \"aria-labelledby\"() {\n return (\n [textId(), props[\"aria-labelledby\"]].filter(Boolean).join(\" \") ||\n undefined\n );\n },\n });\n\n const clipboard = createClipboard({\n get isDisabled() {\n return props.isDisabled;\n },\n onPaste: (items) =>\n props.onDrop?.({\n dropOperation: \"copy\",\n items,\n type: \"drop\",\n x: 0,\n y: 0,\n }),\n });\n\n const values = {\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isDropTarget() {\n return drop.isDropTarget;\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 };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-DropZone\", values })\n );\n\n return (\n <TextContext\n value={{\n slots: {\n label: {\n get id() {\n return textId();\n },\n },\n },\n }}\n >\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => drop.dropProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-drop-target={drop.isDropTarget || undefined}\n data-disabled={props.isDisabled ?? undefined}\n onClick={(event) => {\n let target =\n event.target instanceof HTMLElement ? event.target : null;\n\n while (target && ref()?.contains(target) === true) {\n if (isFocusable(target)) {\n break;\n }\n\n const focusTarget = buttonRef();\n\n if (target === ref() && focusTarget) {\n focusWithoutScrolling(focusTarget);\n break;\n }\n\n target = target.parentElement;\n }\n }}\n >\n <div {...hidden.visuallyHiddenProps}>\n <button\n {...mergeProps(\n merge(() => button.buttonProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => clipboard.clipboardProps ?? {}),\n labels\n )}\n\n ref={(element: HTMLButtonElement) => {\n setButtonRef(element);\n }}\n />\n </div>\n {render.children}\n </dom.div>\n </TextContext>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0KQ,O,SAAM,CAAM,QAAQ,KAAA;;;;;;;EACpB,O,UAAc,CAAM,aAAa,KAAA;;;;;;;EACjC,O,UAAc,CAAM,aAAa,KAAA;;;;;;;EACjC,O,UAAoB,CAAM,kBAAkB,KAAA;;;;;;;EAC5C,O,UAAkB,CAAK,gBAAgB,KAAA;;;;;;;EACvC,O,SAAe,CAAM,cAAc,KAAA;;;;;;;;;;;;;EAfrC,OAmCC,CACCA,WAAAA,OAAS,OAAO,2BAAhB;GACEC,OAAAA,WAAAA,UACM,WACF,YAAY,OAAO,eAAe,CAAC,CAAC,GACpC,YAAY,MAAM,cAAc,CAAC,CAAC,GAClC,YAAY,UAAU,kBAAkB,CAAC,CAAC,GAC1C,MACF,GAAA,KAAA,GANF,KAWC;EACE,GAbL,IAaK,GACLC,WAAAA;GAAC,OAAA,OAAO;EAAQ,CAAA,CAdjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EApCD,OAAA,IAACC,IAADC,mBACE;GAAI,OAAA,WACF,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC,GACtC,QACA,YAAY,KAAK,aAAa,CAAC,CAAC,GAChC,YAAY,MAAM,cAAc,CAAC,CAAC,CACpC;EAAC,GANH,IAAA,IAUQ,OACQ,OACA,OAEI,MAsBT,QAGS,QAEA,WACZ,QAQL,SA3CK,YAA4B;GAChC,OAAO,OAAO;EAChB,IAOU,UAAU;GAClB,IAAI,SACF,MAAM,kBAAkB,cAAc,MAAM,SAAS;GAEvD,OAAO,UAAU,IAAI,CAAC,EAAE,SAAS,MAAM,MAAM,MAAM;IACjD,IAAI,YAAY,MAAM,GACpB;IAGF,MAAM,cAAc,UAAU;IAE9B,IAAI,WAAW,IAAI,KAAK,aAAa;KACnC,sBAAsB,WAAW;KACjC;IACF;IAEA,SAAS,OAAO;GAClB;EACF,CAiBO,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;AAxJf,MAAa,kBACX,cAA2D,IAAI;AAEjE,SAAgB,SAAS,OAAsB;CAC7C,MAAM,CAAC,OAAO,KAAK,UAAU,mBAC3B,OACA,cAAc,MAAM,GAAG,GACvB,eACF;CAEA,MAAM,CAAC,WAAW,gBAAgB,aAChC,MACA,EAAE,YAAY,KAAK,CACrB;CAEA,MAAM,OAAO,WACX,WAAW,OAAO;EAAE,eAAe;EAAM,KAAK;CAAU,CAAC,CAC3D;CAEA,MAAM,SAAS,aACb,WACE,EACE,IAAI,WAAW;EACb,OAAO,MAAM;CACf,EACF,GACA,KAAK,mBAAmB,CAAC,CAC3B,GACA,SACF;CAEA,MAAM,QAAQ,YAAY,KAAK;CAC/B,MAAM,QAAQ,gBAAgB;CAC9B,MAAM,SAAS,qBAAqB;CACpC,MAAM,SAAS,aAAa;CAE5B,MAAM,YAAY,+BAChBI,cACA,yBACF;CAEA,MAAM,SAAS,aAAa;EAC1B,IAAI,eAAe;GACjB,OAAO,MAAM,iBAAiB,UAAU,OAAO,eAAe;EAChE;EACA,IAAI,oBAAoB;GACtB,OACE,CAAC,OAAO,GAAG,MAAM,kBAAkB,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,KAC7D,KAAA;EAEJ;CACF,CAAC;CAED,MAAM,YAAY,gBAAgB;EAChC,IAAI,aAAa;GACf,OAAO,MAAM;EACf;EACA,UAAU,UACR,MAAM,SAAS;GACb,eAAe;GACf;GACA,MAAM;GACN,GAAG;GACH,GAAG;EACL,CAAC;CACL,CAAC;CAoBD,MAAM,SAAS,kBACb,WAAW,OAAO;EAAE,cAAc;EAAwB,QAAA;GAlB1D,IAAI,aAAa;IACf,OAAO,MAAM,eAAe;GAC9B;GACA,IAAI,eAAe;IACjB,OAAO,KAAK;GACd;GACA,IAAI,iBAAiB;IACnB,OAAO,MAAM;GACf;GACA,IAAI,YAAY;IACd,OAAO,MAAM;GACf;GACA,IAAI,YAAY;IACd,OAAO,MAAM;GACf;EAI0D;CAAO,CAAC,CACpE;CAEA,OAAA,YACE,IAAA,KAaqB,OACf,QACY,MACA,OAOA,OAwBL,QAGS,QAEA,WACZ,QAlCJ,QAYiB,KAKK,WAnCnB,EACL,OAAO,EACL,OAAO,EACL,IAAI,KAAK;EACP,OAAO,OAAO;CAChB,EACF,EACF,EACF,CAsDW,CAAA;AAEjB"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 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/FieldError.tsx.
|
|
14
|
+
* Modified for Solid Aria: adapted components, contexts, refs, 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 { createRenderProps } from "./utils.js";
|
|
18
|
+
import { Text } from "./text.js";
|
|
19
|
+
import { mergeProps } from "@solid2-aria/core/utils/merge-props";
|
|
20
|
+
import { Show, createContext, untrack, useContext } from "solid-js";
|
|
21
|
+
import { applyRef, mergeProps as mergeProps$1 } from "@solidjs/web";
|
|
22
|
+
import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
|
|
23
|
+
// src/field-error.tsx
|
|
24
|
+
var _m$ = Symbol();
|
|
25
|
+
var _d$ = {
|
|
26
|
+
get() {
|
|
27
|
+
const v = this[_m$];
|
|
28
|
+
return v();
|
|
29
|
+
},
|
|
30
|
+
enumerable: true,
|
|
31
|
+
configurable: true
|
|
32
|
+
};
|
|
33
|
+
function _P$(_p) {
|
|
34
|
+
this[_m$] = _p;
|
|
35
|
+
Object.defineProperty(this, "validation", _d$);
|
|
36
|
+
}
|
|
37
|
+
_P$.prototype = Object.prototype;
|
|
38
|
+
var _d$2 = {
|
|
39
|
+
get() {
|
|
40
|
+
const validation = this[_m$];
|
|
41
|
+
return validation?.isInvalid === true && validation;
|
|
42
|
+
},
|
|
43
|
+
enumerable: true,
|
|
44
|
+
configurable: true
|
|
45
|
+
};
|
|
46
|
+
function _P$2(_p2, _p3) {
|
|
47
|
+
this[_m$] = _p2;
|
|
48
|
+
Object.defineProperty(this, "when", _d$2);
|
|
49
|
+
this.children = _p3;
|
|
50
|
+
}
|
|
51
|
+
_P$2.prototype = Object.prototype;
|
|
52
|
+
var _d$3 = {
|
|
53
|
+
get() {
|
|
54
|
+
return this[_m$].elementType;
|
|
55
|
+
},
|
|
56
|
+
enumerable: true,
|
|
57
|
+
configurable: true
|
|
58
|
+
};
|
|
59
|
+
function _P$3(_p4, _p5) {
|
|
60
|
+
this[_m$] = _p4;
|
|
61
|
+
this.slot = _p5;
|
|
62
|
+
Object.defineProperty(this, "elementType", _d$3);
|
|
63
|
+
this.ref = (r$) => {
|
|
64
|
+
const props = this[_m$];
|
|
65
|
+
var _ref$ = props.ref;
|
|
66
|
+
typeof _ref$ === "function" || Array.isArray(_ref$) ? applyRef(_ref$, r$) : props.ref = r$;
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
_P$3.prototype = Object.prototype;
|
|
70
|
+
const FieldErrorContext = createContext(null);
|
|
71
|
+
function FieldError(props) {
|
|
72
|
+
const validation = useContext(FieldErrorContext);
|
|
73
|
+
return Show(new _P$2(validation, (v) => FieldErrorInner(mergeProps$1(props, new _P$(v)))));
|
|
74
|
+
}
|
|
75
|
+
function FieldErrorInner(props) {
|
|
76
|
+
const { validation } = untrack(() => props);
|
|
77
|
+
const render = createRenderProps(mergeProps(props, {
|
|
78
|
+
get defaultChildren() {
|
|
79
|
+
return validation.validationErrors.join(" ") || void 0;
|
|
80
|
+
},
|
|
81
|
+
defaultClass: "solid2-aria-FieldError",
|
|
82
|
+
values: validation
|
|
83
|
+
}));
|
|
84
|
+
return Text(mergeProps$1(() => {
|
|
85
|
+
return filterDOMProps(props, { global: true });
|
|
86
|
+
}, render, new _P$3(props, "errorMessage")));
|
|
87
|
+
}
|
|
88
|
+
export { FieldError, FieldErrorContext };
|
|
89
|
+
|
|
90
|
+
//# sourceMappingURL=field-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"field-error.js","names":["ref={props.ref}","<FieldErrorInner {...props} validation={v()} />","<Text\n {...filterDOMProps(props, { global: true })}\n {...render}\n slot=\"errorMessage\"\n elementType={props.elementType}\n ref={props.ref}\n />","_$applyRef","_$mergeProps"],"sources":["../../src/field-error.tsx"],"sourcesContent":["/*\n * Copyright 2023 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/FieldError.tsx.\n * Modified for Solid Aria: adapted components, contexts, refs, 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 { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport type { ValidationResult } from \"@solid2-aria/types-shared\";\nimport type { JSX } from \"@solidjs/web\";\nimport { untrack, createContext, Show, useContext } from \"solid-js\";\n\nimport { Text } from \"./text\";\nimport { createRenderProps } from \"./utils\";\nimport type { Ref, SlotProps, RenderProps } from \"./utils\";\n\nexport type FieldErrorRenderProps = ValidationResult;\n\nexport interface FieldErrorProps\n extends RenderProps<FieldErrorRenderProps>, SlotProps {\n id?: string;\n elementType?: keyof JSX.IntrinsicElements;\n ref?: Ref<HTMLElement>;\n}\n\nexport const FieldErrorContext = createContext<ValidationResult | null>(null);\n\nexport function FieldError(props: FieldErrorProps): JSX.Element {\n const validation = useContext(FieldErrorContext);\n\n return (\n <Show when={validation?.isInvalid === true && validation}>\n {(v) => <FieldErrorInner {...props} validation={v()} />}\n </Show>\n );\n}\n\nfunction FieldErrorInner(\n props: FieldErrorProps & { validation: ValidationResult }\n): JSX.Element {\n const { validation } = untrack(() => props);\n\n const render = createRenderProps(\n mergeProps(props, {\n get defaultChildren() {\n return validation.validationErrors.join(\" \") || undefined;\n },\n defaultClass: \"solid2-aria-FieldError\",\n values: validation,\n })\n );\n\n return (\n <Text\n {...filterDOMProps(props, { global: true })}\n {...render}\n slot=\"errorMessage\"\n elementType={props.elementType}\n ref={props.ref}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;EA2C0C,OAAY,EAAE;;;;;;;;;;;;;EAD9C,OAAM,YAAY,cAAc,QAAQ;;;;;;;;;;;;;EA0B5C,O,SAAa,CAAM;;;;;;;;;CACnB,KAAA,OAAA,OAAA;;EAAK,IAAA,QAAA,MAAM;EAAX,OAAA,UAAA,cAAA,MAAA,QAAA,KAAc,IAAdA,SAAAA,OAAAA,EAAc,IAAd,MAAW,MAAXA;;;;AAjCN,MAAa,oBAAoB,cAAuC,IAAI;AAE5E,SAAgB,WAAW,OAAqC;CAC9D,MAAM,aAAa,WAAW,iBAAiB;CAE/C,OAAA,KACE,IAAA,KAAY,aACR,MAAA,gBAAMC,aAAqB,OAArB,IAAA,IAAwC,CAAM,CAAA,CAAA,CAClD,CAAA;AAEV;AAEA,SAAS,gBACP,OACa;CACb,MAAM,EAAE,eAAe,cAAc,KAAK;CAE1C,MAAM,SAAS,kBACb,WAAW,OAAO;EAChB,IAAI,kBAAkB;GACpB,OAAO,WAAW,iBAAiB,KAAK,GAAG,KAAK,KAAA;EAClD;EACA,cAAc;EACd,QAAQ;CACV,CAAC,CACH;CAEA,OAAA,KACEC,mBACE;EAAI,OAAA,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC;CAAC,GACvC,QAFN,IAAA,KAIe,OADb,cAGD,CAAA,CAAA;AAEL"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2023 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/FileTrigger.tsx.
|
|
14
|
+
* Modified for Solid Aria: adapted components, contexts, refs, and reactive properties for Solid 2.
|
|
15
|
+
* Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.
|
|
16
|
+
*/
|
|
17
|
+
import { assignRef, dom } from "./utils.js";
|
|
18
|
+
import { createSignal, untrack } from "solid-js";
|
|
19
|
+
import { mergeProps } from "@solidjs/web";
|
|
20
|
+
import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
|
|
21
|
+
import { PressResponder } from "@solid2-aria/core/interactions/press-responder";
|
|
22
|
+
// src/file-trigger.tsx
|
|
23
|
+
var _m$ = Symbol();
|
|
24
|
+
var _d$ = {
|
|
25
|
+
get() {
|
|
26
|
+
return this[_m$].children;
|
|
27
|
+
},
|
|
28
|
+
enumerable: true,
|
|
29
|
+
configurable: true
|
|
30
|
+
};
|
|
31
|
+
function _P$(_p, _p2) {
|
|
32
|
+
this[_m$] = _p;
|
|
33
|
+
this.onPress = _p2;
|
|
34
|
+
Object.defineProperty(this, "children", _d$);
|
|
35
|
+
}
|
|
36
|
+
_P$.prototype = Object.prototype;
|
|
37
|
+
var _d$2 = {
|
|
38
|
+
get() {
|
|
39
|
+
return this[_m$].acceptedFileTypes?.join(",");
|
|
40
|
+
},
|
|
41
|
+
enumerable: true,
|
|
42
|
+
configurable: true
|
|
43
|
+
};
|
|
44
|
+
var _d$3 = {
|
|
45
|
+
get() {
|
|
46
|
+
return this[_m$].allowsMultiple;
|
|
47
|
+
},
|
|
48
|
+
enumerable: true,
|
|
49
|
+
configurable: true
|
|
50
|
+
};
|
|
51
|
+
var _d$4 = {
|
|
52
|
+
get() {
|
|
53
|
+
return this[_m$].defaultCamera;
|
|
54
|
+
},
|
|
55
|
+
enumerable: true,
|
|
56
|
+
configurable: true
|
|
57
|
+
};
|
|
58
|
+
var _d$5 = {
|
|
59
|
+
get() {
|
|
60
|
+
return this[_m$].acceptDirectory === true ? "" : void 0;
|
|
61
|
+
},
|
|
62
|
+
enumerable: true,
|
|
63
|
+
configurable: true
|
|
64
|
+
};
|
|
65
|
+
function _P$2(_p3, _p4, _p5, _p6, _p7, _p8) {
|
|
66
|
+
this[_m$] = _p3;
|
|
67
|
+
this.type = _p4;
|
|
68
|
+
this.style = _p5;
|
|
69
|
+
this.ref = _p6;
|
|
70
|
+
Object.defineProperty(this, "accept", _d$2);
|
|
71
|
+
Object.defineProperty(this, "multiple", _d$3);
|
|
72
|
+
Object.defineProperty(this, "capture", _d$4);
|
|
73
|
+
Object.defineProperty(this, "webkitdirectory", _d$5);
|
|
74
|
+
this.onClick = _p7;
|
|
75
|
+
this.onChange = _p8;
|
|
76
|
+
}
|
|
77
|
+
_P$2.prototype = Object.prototype;
|
|
78
|
+
function FileTrigger(props) {
|
|
79
|
+
const [ref, setRef] = createSignal(null, { ownedWrite: true });
|
|
80
|
+
return [PressResponder(new _P$(props, () => {
|
|
81
|
+
const input = ref();
|
|
82
|
+
if (input) {
|
|
83
|
+
input.value = "";
|
|
84
|
+
input.click();
|
|
85
|
+
}
|
|
86
|
+
})), dom.input(mergeProps(() => {
|
|
87
|
+
return filterDOMProps(props, { global: true });
|
|
88
|
+
}, new _P$2(props, "file", { display: "none" }, [(element) => {
|
|
89
|
+
setRef(element);
|
|
90
|
+
}, (element) => {
|
|
91
|
+
assignRef(untrack(() => props.ref), element);
|
|
92
|
+
}], (event) => {
|
|
93
|
+
event.stopPropagation();
|
|
94
|
+
}, (event) => props.onSelect?.(event.currentTarget.files))))];
|
|
95
|
+
}
|
|
96
|
+
export { FileTrigger };
|
|
97
|
+
|
|
98
|
+
//# sourceMappingURL=file-trigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file-trigger.js","names":["dom.input","<dom.input\n {...filterDOMProps(props, { global: true })}\n type=\"file\"\n style={{ display: \"none\" }}\n ref={[\n (element: HTMLInputElement) => {\n setRef(element);\n },\n (element: HTMLInputElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n accept={props.acceptedFileTypes?.join(\",\")}\n multiple={props.allowsMultiple}\n capture={props.defaultCamera}\n webkitdirectory={props.acceptDirectory === true ? \"\" : undefined}\n onClick={(event) => {\n event.stopPropagation();\n }}\n onChange={(event) => props.onSelect?.(event.currentTarget.files)}\n />","_$mergeProps"],"sources":["../../src/file-trigger.tsx"],"sourcesContent":["/*\n * Copyright 2023 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/FileTrigger.tsx.\n * Modified for Solid Aria: adapted components, contexts, refs, and reactive properties for Solid 2.\n * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.\n */\n\nimport { PressResponder } from \"@solid2-aria/core/interactions/press-responder\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport type { JSX } from \"@solidjs/web\";\nimport { untrack, createSignal } from \"solid-js\";\n\nimport { assignRef, dom } from \"./utils\";\nimport type { Ref } from \"./utils\";\n\nexport interface FileTriggerProps {\n acceptedFileTypes?: readonly string[];\n allowsMultiple?: boolean;\n defaultCamera?: \"user\" | \"environment\";\n onSelect?: (files: FileList | null) => void;\n children?: JSX.Element;\n acceptDirectory?: boolean;\n ref?: Ref<HTMLInputElement>;\n id?: string;\n}\n\nexport function FileTrigger(props: FileTriggerProps): JSX.Element {\n const [ref, setRef] = createSignal<HTMLInputElement | null>(null, {\n ownedWrite: true,\n });\n\n return (\n <>\n <PressResponder\n onPress={() => {\n const input = ref();\n\n if (input) {\n input.value = \"\";\n input.click();\n }\n }}\n >\n {props.children}\n </PressResponder>\n <dom.input\n {...filterDOMProps(props, { global: true })}\n type=\"file\"\n style={{ display: \"none\" }}\n ref={[\n (element: HTMLInputElement) => {\n setRef(element);\n },\n (element: HTMLInputElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n accept={props.acceptedFileTypes?.join(\",\")}\n multiple={props.allowsMultiple}\n capture={props.defaultCamera}\n webkitdirectory={props.acceptDirectory === true ? \"\" : undefined}\n onClick={(event) => {\n event.stopPropagation();\n }}\n onChange={(event) => props.onSelect?.(event.currentTarget.files)}\n />\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EAqDQ,O,SAAC,CAAM;;;;;;;;;;;;;EAiBP,O,SAAQ,CAAM,mBAAmB,KAAK,GAAG;;;;;;;EACzC,O,SAAU,CAAM;;;;;;;EAChB,O,SAAS,CAAM;;;;;;;EACf,O,SAAiB,CAAM,oBAAoB,OAAO,KAAK,KAAA;;;;;;;;;;;;;;;;;;AArC/D,SAAgB,YAAY,OAAsC;CAChE,MAAM,CAAC,KAAK,UAAU,aAAsC,MAAM,EAChE,YAAY,KACd,CAAC;CAED,OACE,CAAA,eACE,IAAA,IAUG,aATc;EACb,MAAM,QAAQ,IAAI;EAElB,IAAI,OAAO;GACT,MAAM,QAAQ;GACd,MAAM,MAAM;EACd;CACF,CAGc,CAAA,GAAA,IACfA,MAADC,iBACE;EAAI,OAAA,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC;CAAC,GAD7C,IAAA,KAeU,OAbR,QACO,EAAE,SAAS,OAAO,GACpB,EACF,YAA8B;EAC7B,OAAO,OAAO;CAChB,IACC,YAA8B;EAC7B,UACE,cAAc,MAAM,GAAG,GACvB,OACF;CACF,CACF,IAKU,UAAU;EAClB,MAAM,gBAAgB;CACxB,IACW,UAAU,MAAM,WAAW,MAAM,cAAc,KAAK,CAChE,CAAA,CAAA,CACD;AAEN"}
|