@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":"calendar.js","names":["<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => aria.calendarProps)\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={\n typeof props.slot === \"string\" && props.slot.length > 0\n ? props.slot\n : undefined\n }\n data-disabled={props.isDisabled === true ? true : undefined}\n data-invalid={state.isValueInvalid || undefined}\n >\n <ButtonContext\n value={{\n slots: {\n get next() {\n return aria.nextButtonProps;\n },\n get previous() {\n return aria.prevButtonProps;\n },\n },\n }}\n >\n <HeadingContext\n value={{\n \"aria-hidden\": \"true\",\n get children() {\n return aria.title;\n },\n level: 2,\n }}\n >\n <CalendarStateContext value={state}>\n <CalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </CalendarContext>\n </CalendarStateContext>\n </HeadingContext>\n </ButtonContext>\n </dom.div>","dom.div","ref={(element: HTMLDivElement) => {\n setRef(element);\n }}","typeof props.slot === \"string\" && props.slot.length > 0\n ? props.slot\n : undefined","<ButtonContext\n value={{\n slots: {\n get next() {\n return aria.nextButtonProps;\n },\n get previous() {\n return aria.prevButtonProps;\n },\n },\n }}\n >\n <HeadingContext\n value={{\n \"aria-hidden\": \"true\",\n get children() {\n return aria.title;\n },\n level: 2,\n }}\n >\n <CalendarStateContext value={state}>\n <CalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </CalendarContext>\n </CalendarStateContext>\n </HeadingContext>\n </ButtonContext>","value={{\n slots: {\n get next() {\n return aria.nextButtonProps;\n },\n get previous() {\n return aria.prevButtonProps;\n },\n },\n }}","<HeadingContext\n value={{\n \"aria-hidden\": \"true\",\n get children() {\n return aria.title;\n },\n level: 2,\n }}\n >\n <CalendarStateContext value={state}>\n <CalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </CalendarContext>\n </CalendarStateContext>\n </HeadingContext>","value={{\n \"aria-hidden\": \"true\",\n get children() {\n return aria.title;\n },\n level: 2,\n }}","<CalendarStateContext value={state}>\n <CalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </CalendarContext>\n </CalendarStateContext>","value={state}","<CalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </CalendarContext>","value={contextProps}","<TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>","value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}","<VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>","{aria.calendarProps[\"aria-label\"]}","<h2>{aria.calendarProps[\"aria-label\"]}</h2>","render.children","<VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>","disabled={aria.nextButtonProps.isDisabled}","<button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => aria.calendarProps)\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={\n typeof props.slot === \"string\" && props.slot.length > 0\n ? props.slot\n : undefined\n }\n data-disabled={props.isDisabled === true ? true : undefined}\n data-invalid={state.isValueInvalid || undefined}\n >\n <ButtonContext\n value={{\n slots: {\n get next() {\n return aria.nextButtonProps;\n },\n get previous() {\n return aria.prevButtonProps;\n },\n },\n }}\n >\n <HeadingContext\n value={{\n \"aria-hidden\": \"true\",\n get children() {\n return aria.title;\n },\n level: 2,\n }}\n >\n <RangeCalendarStateContext value={state}>\n <RangeCalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </RangeCalendarContext>\n </RangeCalendarStateContext>\n </HeadingContext>\n </ButtonContext>\n </dom.div>","<ButtonContext\n value={{\n slots: {\n get next() {\n return aria.nextButtonProps;\n },\n get previous() {\n return aria.prevButtonProps;\n },\n },\n }}\n >\n <HeadingContext\n value={{\n \"aria-hidden\": \"true\",\n get children() {\n return aria.title;\n },\n level: 2,\n }}\n >\n <RangeCalendarStateContext value={state}>\n <RangeCalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </RangeCalendarContext>\n </RangeCalendarStateContext>\n </HeadingContext>\n </ButtonContext>","<HeadingContext\n value={{\n \"aria-hidden\": \"true\",\n get children() {\n return aria.title;\n },\n level: 2,\n }}\n >\n <RangeCalendarStateContext value={state}>\n <RangeCalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </RangeCalendarContext>\n </RangeCalendarStateContext>\n </HeadingContext>","<RangeCalendarStateContext value={state}>\n <RangeCalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </RangeCalendarContext>\n </RangeCalendarStateContext>","<RangeCalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </RangeCalendarContext>","<InternalCalendarGridContext value={context}>\n <dom.table\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.gridProps)\n )}\n ref={(element: HTMLTableElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n style={props.style}\n\n class={props.class ?? \"solid2-aria-CalendarGrid\"}\n render={props.render}\n >\n {typeof props.children === \"function\" ? (\n <>\n <CalendarGridHeader>\n {(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => (\n <>\n {typeof props.children === \"function\"\n ? props.children(date)\n : null}\n </>\n )}\n </CalendarGridBody>\n </>\n ) : (\n props.children\n )}\n </dom.table>\n </InternalCalendarGridContext>","value={context}","<dom.table\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.gridProps)\n )}\n ref={(element: HTMLTableElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n style={props.style}\n\n class={props.class ?? \"solid2-aria-CalendarGrid\"}\n render={props.render}\n >\n {typeof props.children === \"function\" ? (\n <>\n <CalendarGridHeader>\n {(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => (\n <>\n {typeof props.children === \"function\"\n ? props.children(date)\n : null}\n </>\n )}\n </CalendarGridBody>\n </>\n ) : (\n props.children\n )}\n </dom.table>","dom.table","ref={(element: HTMLTableElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}","{typeof props.children === \"function\" ? (\n <>\n <CalendarGridHeader>\n {(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => (\n <>\n {typeof props.children === \"function\"\n ? props.children(date)\n : null}\n </>\n )}\n </CalendarGridBody>\n </>\n ) : (\n props.children\n )}","<CalendarGridHeader>\n {(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}\n </CalendarGridHeader>","<CalendarHeaderCell>{day}</CalendarHeaderCell>","<CalendarGridBody>\n {(date) => (\n <>\n {typeof props.children === \"function\"\n ? props.children(date)\n : null}\n </>\n )}\n </CalendarGridBody>","{typeof props.children === \"function\"\n ? props.children(date)\n : null}","<dom.thead\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => ctx.headerProps)\n )}\n ref={(el: HTMLTableSectionElement) => {\n assignRef(\n untrack(() => props.ref),\n el\n );\n }}\n style={props.style}\n class={props.class ?? \"solid2-aria-CalendarGridHeader\"}\n render={props.render}\n >\n <tr>\n <For each={ctx.weekDays}>{(day) => <>{props.children(day)}</>}</For>\n </tr>\n </dom.thead>","dom.thead","ref={(el: HTMLTableSectionElement) => {\n assignRef(\n untrack(() => props.ref),\n el\n );\n }}","<For each={ctx.weekDays}>{(day) => <>{props.children(day)}</>}</For>","{props.children(day)}","<tr>\n <For each={ctx.weekDays}>{(day) => <>{props.children(day)}</>}</For>\n </tr>","<dom.th\n {...filterDOMProps(props, { global: true })}\n ref={(el: HTMLTableCellElement) => {\n assignRef(\n untrack(() => props.ref),\n el\n );\n }}\n style={props.style}\n class={props.class ?? \"solid2-aria-CalendarHeaderCell\"}\n render={props.render}\n >\n {props.children}\n </dom.th>","dom.th","ref={(el: HTMLTableCellElement) => {\n assignRef(\n untrack(() => props.ref),\n el\n );\n }}","<dom.tbody\n {...filterDOMProps(props, { global: true })}\n ref={(el: HTMLTableSectionElement) => {\n assignRef(\n untrack(() => props.ref),\n el\n );\n }}\n style={props.style}\n class={props.class ?? \"solid2-aria-CalendarGridBody\"}\n render={props.render}\n >\n <For each={weeks()}>\n {(week) => (\n <tr>\n <For each={state.getDatesInWeek(week, ctx.startDate)} keyed={false}>\n {(date) => (\n <Show when={date()} fallback={<td />}>\n {(current) => <>{props.children(current())}</>}\n </Show>\n )}\n </For>\n </tr>\n )}\n </For>\n </dom.tbody>","dom.tbody","<For each={weeks()}>\n {(week) => (\n <tr>\n <For each={state.getDatesInWeek(week, ctx.startDate)} keyed={false}>\n {(date) => (\n <Show when={date()} fallback={<td />}>\n {(current) => <>{props.children(current())}</>}\n </Show>\n )}\n </For>\n </tr>\n )}\n </For>","<For each={state.getDatesInWeek(week, ctx.startDate)} keyed={false}>\n {(date) => (\n <Show when={date()} fallback={<td />}>\n {(current) => <>{props.children(current())}</>}\n </Show>\n )}\n </For>","keyed={false}","<Show when={date()} fallback={<td />}>\n {(current) => <>{props.children(current())}</>}\n </Show>","<td />","{props.children(current())}","ref={(element: HTMLTableCellElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.buttonProps),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n omit(render, \"children\")\n )}\n ref={(element: HTMLDivElement) => {\n setButtonRef(element);\n }}\n data-focused={aria.isFocused || undefined}\n data-hovered={hover.isHovered || undefined}\n data-pressed={aria.isPressed || undefined}\n data-unavailable={aria.isUnavailable || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n data-outside-visible-range={aria.isOutsideVisibleRange || undefined}\n data-outside-month={outside() || undefined}\n data-selected={aria.isSelected || undefined}\n data-selection-start={values.isSelectionStart || undefined}\n data-selection-end={values.isSelectionEnd || undefined}\n data-invalid={aria.isInvalid || undefined}\n data-today={values.isToday || undefined}\n >\n {content()}\n </dom.div>","ref={(element: HTMLDivElement) => {\n setButtonRef(element);\n }}","<td\n {...aria.cellProps}\n ref={(element: HTMLTableCellElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n >\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.buttonProps),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n omit(render, \"children\")\n )}\n ref={(element: HTMLDivElement) => {\n setButtonRef(element);\n }}\n data-focused={aria.isFocused || undefined}\n data-hovered={hover.isHovered || undefined}\n data-pressed={aria.isPressed || undefined}\n data-unavailable={aria.isUnavailable || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n data-outside-visible-range={aria.isOutsideVisibleRange || undefined}\n data-outside-month={outside() || undefined}\n data-selected={aria.isSelected || undefined}\n data-selection-start={values.isSelectionStart || undefined}\n data-selection-end={values.isSelectionEnd || undefined}\n data-invalid={aria.isInvalid || undefined}\n data-today={values.isToday || undefined}\n >\n {content()}\n </dom.div>\n </td>","<Heading\n {\n // oxlint-disable solid/reactivity -- Keep prop filtering in the renderer's lazy evaluation.\n ...omit(props, \"offset\", \"format\")\n // oxlint-enable solid/reactivity\n }\n class={props.class ?? \"solid2-aria-CalendarHeading\"}\n >\n {text()}\n </Heading>","mergeProps","createInternationalCalendar","createCalendar","_$createComponent","_$mergeProps","_$memo","_$getNextElement","_$scope","_$setAttribute","_$delegateEvents"],"sources":["../../src/calendar.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/Calendar.tsx.\n * Modified for Solid Aria: composed Solid Aria and Stately primitives with Solid 2 contexts, reactive getters, and DOM refs; 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 createCalendar as createInternationalCalendar,\n endOfMonth,\n isSameDay,\n isSameMonth,\n isToday,\n} from \"@internationalized/date\";\nimport type {\n CalendarDate,\n CalendarIdentifier,\n Calendar as ICalendar,\n DateDuration,\n} from \"@internationalized/date\";\nimport { createCalendar } from \"@solid2-aria/core/calendar/create-calendar\";\nimport type { AriaCalendarProps } from \"@solid2-aria/core/calendar/create-calendar\";\nimport { createCalendarCell } from \"@solid2-aria/core/calendar/create-calendar-cell\";\nimport type { CalendarCellAria } from \"@solid2-aria/core/calendar/create-calendar-cell\";\nimport { createCalendarGrid } from \"@solid2-aria/core/calendar/create-calendar-grid\";\nimport { createCalendarHeading } from \"@solid2-aria/core/calendar/create-calendar-heading\";\nimport type { CalendarHeadingProps as AriaCalendarHeadingProps } from \"@solid2-aria/core/calendar/create-calendar-heading\";\nimport { createCalendarMonthPicker } from \"@solid2-aria/core/calendar/create-calendar-month-picker\";\nimport type {\n CalendarMonthPickerProps as AriaCalendarMonthPickerProps,\n CalendarMonthPickerAria,\n} from \"@solid2-aria/core/calendar/create-calendar-month-picker\";\nimport { createCalendarYearPicker } from \"@solid2-aria/core/calendar/create-calendar-year-picker\";\nimport type {\n CalendarYearPickerProps as AriaCalendarYearPickerProps,\n CalendarYearPickerAria,\n} from \"@solid2-aria/core/calendar/create-calendar-year-picker\";\nimport { createRangeCalendar } from \"@solid2-aria/core/calendar/create-range-calendar\";\nimport type { AriaRangeCalendarProps } from \"@solid2-aria/core/calendar/create-range-calendar\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createLocale } from \"@solid2-aria/core/i18n/i18n-provider\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { requireValue } from \"@solid2-aria/core/utils/require-value\";\nimport { VisuallyHidden } from \"@solid2-aria/core/visually-hidden/visually-hidden\";\nimport { createCalendarState } from \"@solid2-aria/stately/calendar/create-calendar-state\";\nimport { createRangeCalendarState } from \"@solid2-aria/stately/calendar/create-range-calendar-state\";\nimport type {\n CalendarState,\n CalendarSelectionMode,\n RangeCalendarState,\n DateValue,\n} from \"@solid2-aria/stately/calendar/types\";\nimport type { HoverEvents } from \"@solid2-aria/types-shared\";\nimport type {\n GlobalDOMAttributes,\n DOMAttributes,\n} from \"@solid2-aria/types-shared-web\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n untrack,\n merge,\n createSignal,\n createContext,\n createMemo,\n For,\n Show,\n omit,\n useContext,\n} from \"solid-js\";\n\nimport { ButtonContext } from \"./button\";\nimport { Heading, HeadingContext } from \"./heading\";\nimport type { HeadingProps } from \"./heading\";\nimport { TextContext } from \"./text\";\nimport {\n dom,\n assignRef,\n createContextProps,\n createSlottedContext,\n createRenderProps,\n} from \"./utils\";\nimport type {\n ContextValue,\n RenderProps,\n StyleProps,\n SlotProps,\n DOMRenderProps,\n Ref,\n} from \"./utils\";\n\nexport interface CalendarRenderProps<\n M extends CalendarSelectionMode = \"single\",\n> {\n isDisabled: boolean;\n state: CalendarState<M>;\n isInvalid: boolean;\n}\n\nexport interface RangeCalendarRenderProps extends Omit<\n CalendarRenderProps,\n \"state\"\n> {\n state: RangeCalendarState;\n}\n\nexport interface CalendarProps<\n T extends DateValue,\n M extends CalendarSelectionMode = \"single\",\n>\n extends\n Omit<AriaCalendarProps<T, M>, \"errorMessage\" | \"validationState\">,\n RenderProps<CalendarRenderProps<M>>,\n SlotProps,\n GlobalDOMAttributes<HTMLDivElement> {\n visibleDuration?: DateDuration;\n createCalendar?: (identifier: CalendarIdentifier) => ICalendar;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface RangeCalendarProps<T extends DateValue>\n extends\n Omit<AriaRangeCalendarProps<T>, \"errorMessage\" | \"validationState\">,\n RenderProps<RangeCalendarRenderProps>,\n SlotProps,\n GlobalDOMAttributes<HTMLDivElement> {\n visibleDuration?: DateDuration;\n createCalendar?: (identifier: CalendarIdentifier) => ICalendar;\n ref?: Ref<HTMLDivElement>;\n}\n\ntype CalendarContextProps = CalendarProps<DateValue, CalendarSelectionMode>;\n\nexport const CalendarContext =\n createContext<ContextValue<CalendarContextProps, HTMLDivElement>>(null);\n\nexport const RangeCalendarContext =\n createContext<ContextValue<RangeCalendarProps<DateValue>, HTMLDivElement>>(\n null\n );\n\nexport const CalendarStateContext =\n createContext<CalendarState<CalendarSelectionMode> | null>(null);\n\nexport const RangeCalendarStateContext =\n createContext<RangeCalendarState | null>(null);\n\nexport function Calendar<\n T extends DateValue,\n M extends CalendarSelectionMode = \"single\",\n>(input: CalendarProps<T, M>): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n CalendarContext\n );\n\n const locale = createLocale();\n // SAFETY: A calendar subtree preserves its input date class and selection mode; the shared context represents both supported modes.\n // oxlint-disable-next-line anti-slop/no-chained-type-assertions, typescript/no-unsafe-type-assertion -- Generic callback variance is erased only at this shared context boundary.\n const contextProps = props as unknown as CalendarContextProps;\n\n const state = createCalendarState(\n mergeProps(props, {\n get createCalendar() {\n return props.createCalendar ?? createInternationalCalendar;\n },\n get locale() {\n return locale.locale;\n },\n })\n );\n\n const aria = createCalendar(props, state);\n\n const values: CalendarRenderProps<M> = {\n get isDisabled() {\n return props.isDisabled ?? false;\n },\n get isInvalid() {\n return state.isValueInvalid;\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Calendar\", values })\n );\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => aria.calendarProps)\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={\n typeof props.slot === \"string\" && props.slot.length > 0\n ? props.slot\n : undefined\n }\n data-disabled={props.isDisabled === true ? true : undefined}\n data-invalid={state.isValueInvalid || undefined}\n >\n <ButtonContext\n value={{\n slots: {\n get next() {\n return aria.nextButtonProps;\n },\n get previous() {\n return aria.prevButtonProps;\n },\n },\n }}\n >\n <HeadingContext\n value={{\n \"aria-hidden\": \"true\",\n get children() {\n return aria.title;\n },\n level: 2,\n }}\n >\n <CalendarStateContext value={state}>\n <CalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </CalendarContext>\n </CalendarStateContext>\n </HeadingContext>\n </ButtonContext>\n </dom.div>\n );\n}\n\nexport function RangeCalendar<T extends DateValue>(\n input: RangeCalendarProps<T>\n): JSX.Element {\n const [props, ref, setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n RangeCalendarContext\n );\n\n const locale = createLocale();\n\n // SAFETY: Range calendar state preserves the date class supplied by its value and callback; the internal factory exposes the common DateValue interface.\n // oxlint-disable-next-line anti-slop/no-chained-type-assertions, typescript/no-unsafe-type-assertion -- Widen the invariant generic callback at the state and context boundary.\n const contextProps = props as unknown as RangeCalendarProps<DateValue>;\n\n const state = createRangeCalendarState(\n mergeProps(contextProps, {\n get createCalendar() {\n return props.createCalendar ?? createInternationalCalendar;\n },\n get locale() {\n return locale.locale;\n },\n })\n );\n\n const aria = createRangeCalendar(props, state, ref);\n\n const values: RangeCalendarRenderProps = {\n get isDisabled() {\n return props.isDisabled ?? false;\n },\n get isInvalid() {\n return state.isValueInvalid;\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-RangeCalendar\", values })\n );\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => aria.calendarProps)\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={\n typeof props.slot === \"string\" && props.slot.length > 0\n ? props.slot\n : undefined\n }\n data-disabled={props.isDisabled === true ? true : undefined}\n data-invalid={state.isValueInvalid || undefined}\n >\n <ButtonContext\n value={{\n slots: {\n get next() {\n return aria.nextButtonProps;\n },\n get previous() {\n return aria.prevButtonProps;\n },\n },\n }}\n >\n <HeadingContext\n value={{\n \"aria-hidden\": \"true\",\n get children() {\n return aria.title;\n },\n level: 2,\n }}\n >\n <RangeCalendarStateContext value={state}>\n <RangeCalendarContext value={contextProps}>\n <TextContext\n value={{\n slots: {\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <VisuallyHidden>\n <h2>{aria.calendarProps[\"aria-label\"]}</h2>\n </VisuallyHidden>\n {render.children}\n <VisuallyHidden>\n <button\n aria-label={aria.nextButtonProps[\"aria-label\"]}\n disabled={aria.nextButtonProps.isDisabled}\n onClick={() => {\n state.focusNextPage();\n }}\n tabindex={-1}\n />\n </VisuallyHidden>\n </TextContext>\n </RangeCalendarContext>\n </RangeCalendarStateContext>\n </HeadingContext>\n </ButtonContext>\n </dom.div>\n );\n}\n\ninterface InternalCalendarGridContextValue {\n headerProps: DOMAttributes;\n weekDays: string[];\n startDate: CalendarDate;\n weeksInMonth: number;\n}\n\nconst InternalCalendarGridContext =\n createContext<InternalCalendarGridContextValue | null>(null);\n\nexport interface CalendarGridProps\n extends\n StyleProps,\n DOMRenderProps<\"table\", undefined>,\n GlobalDOMAttributes<HTMLTableElement> {\n children?: JSX.Element | ((date: CalendarDate) => JSX.Element);\n offset?: DateDuration;\n weekdayStyle?: \"narrow\" | \"short\" | \"long\";\n ref?: Ref<HTMLTableElement>;\n}\n\nexport interface CalendarGridHeaderProps\n extends\n StyleProps,\n DOMRenderProps<\"thead\", undefined>,\n GlobalDOMAttributes<HTMLTableSectionElement> {\n children: (day: string) => JSX.Element;\n ref?: Ref<HTMLTableSectionElement>;\n}\n\nexport interface CalendarHeaderCellProps\n extends\n StyleProps,\n DOMRenderProps<\"th\", undefined>,\n GlobalDOMAttributes<HTMLTableCellElement> {\n children?: JSX.Element;\n ref?: Ref<HTMLTableCellElement>;\n id?: string;\n}\n\nexport interface CalendarGridBodyProps\n extends\n StyleProps,\n DOMRenderProps<\"tbody\", undefined>,\n GlobalDOMAttributes<HTMLTableSectionElement> {\n children: (date: CalendarDate) => JSX.Element;\n ref?: Ref<HTMLTableSectionElement>;\n}\n\nfunction calendarState() {\n return (\n useContext(CalendarStateContext) ??\n requireValue(\n useContext(RangeCalendarStateContext),\n \"Expected required element or component context\"\n )\n );\n}\n\nexport function CalendarGrid(props: CalendarGridProps): JSX.Element {\n const state = calendarState();\n const calendar = createSlottedContext(CalendarContext);\n const rangeCalendar = createSlottedContext(RangeCalendarContext);\n\n const start = createMemo(() =>\n props.offset\n ? state.visibleRange.start.add(props.offset)\n : state.visibleRange.start\n );\n\n const aria = createCalendarGrid(\n {\n get endDate() {\n return endOfMonth(start());\n },\n get firstDayOfWeek() {\n return calendar?.firstDayOfWeek ?? rangeCalendar?.firstDayOfWeek;\n },\n get startDate() {\n return start();\n },\n get weekdayStyle() {\n return props.weekdayStyle;\n },\n },\n state\n );\n\n const context = {\n get headerProps() {\n return aria.headerProps;\n },\n get startDate() {\n return start();\n },\n get weekDays() {\n return aria.weekDays;\n },\n get weeksInMonth() {\n return aria.weeksInMonth;\n },\n };\n\n return (\n <InternalCalendarGridContext value={context}>\n <dom.table\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.gridProps)\n )}\n ref={(element: HTMLTableElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n style={props.style}\n\n class={props.class ?? \"solid2-aria-CalendarGrid\"}\n render={props.render}\n >\n {typeof props.children === \"function\" ? (\n <>\n <CalendarGridHeader>\n {(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => (\n <>\n {typeof props.children === \"function\"\n ? props.children(date)\n : null}\n </>\n )}\n </CalendarGridBody>\n </>\n ) : (\n props.children\n )}\n </dom.table>\n </InternalCalendarGridContext>\n );\n}\n\nexport function CalendarGridHeader(\n props: CalendarGridHeaderProps\n): JSX.Element {\n const ctx = requireValue(\n useContext(InternalCalendarGridContext),\n \"Expected required element or component context\"\n );\n\n return (\n <dom.thead\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => ctx.headerProps)\n )}\n ref={(el: HTMLTableSectionElement) => {\n assignRef(\n untrack(() => props.ref),\n el\n );\n }}\n style={props.style}\n class={props.class ?? \"solid2-aria-CalendarGridHeader\"}\n render={props.render}\n >\n <tr>\n <For each={ctx.weekDays}>{(day) => <>{props.children(day)}</>}</For>\n </tr>\n </dom.thead>\n );\n}\n\nexport function CalendarHeaderCell(\n props: CalendarHeaderCellProps\n): JSX.Element {\n return (\n <dom.th\n {...filterDOMProps(props, { global: true })}\n ref={(el: HTMLTableCellElement) => {\n assignRef(\n untrack(() => props.ref),\n el\n );\n }}\n style={props.style}\n class={props.class ?? \"solid2-aria-CalendarHeaderCell\"}\n render={props.render}\n >\n {props.children}\n </dom.th>\n );\n}\n\nexport function CalendarGridBody(props: CalendarGridBodyProps): JSX.Element {\n const state = calendarState();\n\n const ctx = requireValue(\n useContext(InternalCalendarGridContext),\n \"Expected required element or component context\"\n );\n\n const weeks = createMemo(() =>\n Array.from({ length: ctx.weeksInMonth }, (_, index) => index)\n );\n\n return (\n <dom.tbody\n {...filterDOMProps(props, { global: true })}\n ref={(el: HTMLTableSectionElement) => {\n assignRef(\n untrack(() => props.ref),\n el\n );\n }}\n style={props.style}\n class={props.class ?? \"solid2-aria-CalendarGridBody\"}\n render={props.render}\n >\n <For each={weeks()}>\n {(week) => (\n <tr>\n <For each={state.getDatesInWeek(week, ctx.startDate)} keyed={false}>\n {(date) => (\n <Show when={date()} fallback={<td />}>\n {(current) => <>{props.children(current())}</>}\n </Show>\n )}\n </For>\n </tr>\n )}\n </For>\n </dom.tbody>\n );\n}\n\nexport interface CalendarCellRenderProps extends Omit<\n CalendarCellAria,\n \"cellProps\" | \"buttonProps\"\n> {\n date: CalendarDate;\n isHovered: boolean;\n isSelectionStart: boolean;\n isSelectionEnd: boolean;\n isFocusVisible: boolean;\n isOutsideMonth: boolean;\n isToday: boolean;\n}\n\nexport interface CalendarCellProps\n extends\n RenderProps<CalendarCellRenderProps>,\n HoverEvents,\n GlobalDOMAttributes<HTMLTableCellElement> {\n date: CalendarDate;\n ref?: Ref<HTMLTableCellElement>;\n}\n\nexport function CalendarCell(props: CalendarCellProps): JSX.Element {\n const state = calendarState();\n const grid = useContext(InternalCalendarGridContext);\n\n const [buttonRef, setButtonRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const outside = () =>\n Boolean(state.visibleDuration.days) || Boolean(state.visibleDuration.weeks)\n ? false\n : !isSameMonth(grid?.startDate ?? state.visibleRange.start, props.date);\n\n const aria = createCalendarCell(\n {\n get date() {\n return props.date;\n },\n get isOutsideMonth() {\n return outside();\n },\n },\n state,\n buttonRef\n );\n\n const focus = createFocusRing();\n\n const hover = createHover(\n mergeProps(props, {\n get isDisabled() {\n return aria.isDisabled || aria.isUnavailable;\n },\n })\n );\n\n const boundary = (end: boolean) =>\n \"highlightedRange\" in state &&\n !!state.highlightedRange &&\n isSameDay(\n props.date,\n end ? state.highlightedRange.end : state.highlightedRange.start\n );\n\n const values: CalendarCellRenderProps = mergeProps(\n omit(aria, \"cellProps\", \"buttonProps\"),\n {\n get date() {\n return props.date;\n },\n get isFocusVisible() {\n return aria.isFocused && focus.isFocusVisible;\n },\n get isHovered() {\n return hover.isHovered;\n },\n get isOutsideMonth() {\n return outside();\n },\n get isSelectionEnd() {\n return boundary(true);\n },\n get isSelectionStart() {\n return boundary(false);\n },\n get isToday() {\n return isToday(props.date, state.timeZone);\n },\n }\n );\n\n const render = createRenderProps(\n mergeProps(props, {\n get defaultChildren() {\n return aria.formattedDate;\n },\n defaultClass: \"solid2-aria-CalendarCell\",\n values,\n })\n );\n\n const content = createMemo(() => render.children);\n\n return (\n <td\n {...aria.cellProps}\n ref={(element: HTMLTableCellElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n >\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.buttonProps),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n omit(render, \"children\")\n )}\n ref={(element: HTMLDivElement) => {\n setButtonRef(element);\n }}\n data-focused={aria.isFocused || undefined}\n data-hovered={hover.isHovered || undefined}\n data-pressed={aria.isPressed || undefined}\n data-unavailable={aria.isUnavailable || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n data-outside-visible-range={aria.isOutsideVisibleRange || undefined}\n data-outside-month={outside() || undefined}\n data-selected={aria.isSelected || undefined}\n data-selection-start={values.isSelectionStart || undefined}\n data-selection-end={values.isSelectionEnd || undefined}\n data-invalid={aria.isInvalid || undefined}\n data-today={values.isToday || undefined}\n >\n {content()}\n </dom.div>\n </td>\n );\n}\n\nexport interface CalendarYearPickerProps extends AriaCalendarYearPickerProps {\n children: (props: CalendarYearPickerAria) => JSX.Element;\n}\n\nexport function CalendarYearPicker(\n props: CalendarYearPickerProps\n): JSX.Element {\n const aria = createCalendarYearPicker(props, calendarState());\n\n return untrack(() => props.children(aria));\n}\n\nexport interface CalendarMonthPickerProps extends AriaCalendarMonthPickerProps {\n children: (props: CalendarMonthPickerAria) => JSX.Element;\n}\n\nexport function CalendarMonthPicker(\n props: CalendarMonthPickerProps\n): JSX.Element {\n const aria = createCalendarMonthPicker(props, calendarState());\n\n return untrack(() => props.children(aria));\n}\n\nexport interface CalendarHeadingProps\n extends AriaCalendarHeadingProps, HeadingProps {}\n\nexport function CalendarHeading(props: CalendarHeadingProps): JSX.Element {\n const text = createCalendarHeading(props, calendarState());\n\n return (\n <Heading\n {\n // oxlint-disable solid/reactivity -- Keep prop filtering in the renderer's lazy evaluation.\n ...omit(props, \"offset\", \"format\")\n // oxlint-enable solid/reactivity\n }\n class={props.class ?? \"solid2-aria-CalendarHeading\"}\n >\n {text()}\n </Heading>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
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/Checkbox.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 { ContextValue, Ref, RenderProps, SlotProps } from "./utils.js";
|
|
18
|
+
import { JSX } from "@solidjs/web";
|
|
19
|
+
import { AriaCheckboxProps } from "@solid2-aria/core/checkbox/create-checkbox";
|
|
20
|
+
import { AriaCheckboxGroupProps } from "@solid2-aria/core/checkbox/create-checkbox-group";
|
|
21
|
+
import { CheckboxGroupState } from "@solid2-aria/stately/checkbox/create-checkbox-group-state";
|
|
22
|
+
import { HoverEvents } from "@solid2-aria/types-shared";
|
|
23
|
+
export interface CheckboxRenderProps {
|
|
24
|
+
isSelected: boolean;
|
|
25
|
+
isHovered: boolean;
|
|
26
|
+
isPressed: boolean;
|
|
27
|
+
isFocused: boolean;
|
|
28
|
+
isFocusVisible: boolean;
|
|
29
|
+
isDisabled: boolean;
|
|
30
|
+
isReadOnly: boolean;
|
|
31
|
+
isInvalid: boolean;
|
|
32
|
+
isRequired: boolean;
|
|
33
|
+
isIndeterminate: boolean;
|
|
34
|
+
}
|
|
35
|
+
export type CheckboxFieldRenderProps = Omit<CheckboxRenderProps, "isHovered" | "isPressed" | "isFocused" | "isFocusVisible">;
|
|
36
|
+
export type CheckboxButtonRenderProps = CheckboxRenderProps;
|
|
37
|
+
export interface CheckboxProps extends Omit<AriaCheckboxProps, "children">, SlotProps, HoverEvents, RenderProps<CheckboxRenderProps, "label"> {
|
|
38
|
+
inputRef?: Ref<HTMLInputElement>;
|
|
39
|
+
ref?: Ref<HTMLLabelElement>;
|
|
40
|
+
}
|
|
41
|
+
export interface CheckboxFieldProps extends Omit<AriaCheckboxProps, "children">, SlotProps, HoverEvents, RenderProps<CheckboxFieldRenderProps> {
|
|
42
|
+
inputRef?: Ref<HTMLInputElement>;
|
|
43
|
+
ref?: Ref<HTMLDivElement>;
|
|
44
|
+
}
|
|
45
|
+
export interface CheckboxButtonProps extends SlotProps, HoverEvents, RenderProps<CheckboxButtonRenderProps, "label"> {
|
|
46
|
+
id?: string;
|
|
47
|
+
ref?: Ref<HTMLLabelElement>;
|
|
48
|
+
}
|
|
49
|
+
export declare const CheckboxContext: import("solid-js").Context<ContextValue<CheckboxProps, HTMLLabelElement>>;
|
|
50
|
+
export declare const CheckboxFieldContext: import("solid-js").Context<ContextValue<CheckboxFieldProps, HTMLDivElement>>;
|
|
51
|
+
export declare const CheckboxGroupStateContext: import("solid-js").Context<CheckboxGroupState | null>;
|
|
52
|
+
export declare function Checkbox(input: CheckboxProps): JSX.Element;
|
|
53
|
+
export declare function CheckboxField(input: CheckboxFieldProps): JSX.Element;
|
|
54
|
+
export declare function CheckboxButton(props: CheckboxButtonProps): JSX.Element;
|
|
55
|
+
export interface CheckboxGroupRenderProps {
|
|
56
|
+
isDisabled: boolean;
|
|
57
|
+
isReadOnly: boolean;
|
|
58
|
+
isRequired: boolean;
|
|
59
|
+
isInvalid: boolean;
|
|
60
|
+
state: CheckboxGroupState;
|
|
61
|
+
}
|
|
62
|
+
export interface CheckboxGroupProps extends Omit<AriaCheckboxGroupProps, "children" | "label" | "description" | "errorMessage">, SlotProps, RenderProps<CheckboxGroupRenderProps> {
|
|
63
|
+
ref?: Ref<HTMLDivElement>;
|
|
64
|
+
}
|
|
65
|
+
export declare const CheckboxGroupContext: import("solid-js").Context<ContextValue<CheckboxGroupProps, HTMLDivElement>>;
|
|
66
|
+
export declare function CheckboxGroup(input: CheckboxGroupProps): JSX.Element;
|
|
67
|
+
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -0,0 +1,345 @@
|
|
|
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/Checkbox.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 { createContextProps, createRenderProps, createSlot, createSlottedContext, dom } from "./utils.js";
|
|
18
|
+
import { LabelContext } from "./label.js";
|
|
19
|
+
import { TextContext } from "./text.js";
|
|
20
|
+
import { FieldErrorContext } from "./field-error.js";
|
|
21
|
+
import { FormContext } from "./form.js";
|
|
22
|
+
import { SelectionIndicatorContext } from "./selection-indicator.js";
|
|
23
|
+
import { applyRef, createComponent, getNextElement, memo, mergeProps, ref, runHydrationEvents, spread, template } from "@solidjs/web";
|
|
24
|
+
import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
|
|
25
|
+
import { createContext, createSignal, merge, omit, untrack, useContext } from "solid-js";
|
|
26
|
+
import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
|
|
27
|
+
import { createFocusRing } from "@solid2-aria/core/focus/create-focus-ring";
|
|
28
|
+
import { createHover } from "@solid2-aria/core/interactions/create-hover";
|
|
29
|
+
import { isTruthy } from "@solid2-aria/core/utils/truthy";
|
|
30
|
+
import { VisuallyHidden } from "@solid2-aria/core/visually-hidden/visually-hidden";
|
|
31
|
+
import { createCheckbox } from "@solid2-aria/core/checkbox/create-checkbox";
|
|
32
|
+
import { createCheckboxGroup } from "@solid2-aria/core/checkbox/create-checkbox-group";
|
|
33
|
+
import { createCheckboxGroupItem } from "@solid2-aria/core/checkbox/create-checkbox-group-item";
|
|
34
|
+
import { createCheckboxGroupState } from "@solid2-aria/stately/checkbox/create-checkbox-group-state";
|
|
35
|
+
import { createToggleState } from "@solid2-aria/stately/toggle/create-toggle-state";
|
|
36
|
+
// src/checkbox.tsx
|
|
37
|
+
var _tmpl$ = /* @__PURE__ */ template(`<input>`);
|
|
38
|
+
const CheckboxContext = createContext(null);
|
|
39
|
+
const CheckboxFieldContext = createContext(null);
|
|
40
|
+
const InternalContext = createContext(null);
|
|
41
|
+
const CheckboxGroupStateContext = createContext(null);
|
|
42
|
+
function createAria(props) {
|
|
43
|
+
const [inputRef, setInputRef] = createSignal(null, { ownedWrite: true });
|
|
44
|
+
const form = createSlottedContext(FormContext);
|
|
45
|
+
const options = mergeProps$1(omit(props, "children"), {
|
|
46
|
+
children: true,
|
|
47
|
+
get validationBehavior() {
|
|
48
|
+
return props.validationBehavior ?? form?.validationBehavior ?? "native";
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
const group = useContext(CheckboxGroupStateContext);
|
|
52
|
+
const state = createToggleState(props);
|
|
53
|
+
return {
|
|
54
|
+
aria: group ? createCheckboxGroupItem(mergeProps$1(options, { get value() {
|
|
55
|
+
return props.value ?? "";
|
|
56
|
+
} }), group, inputRef) : createCheckbox(options, state, inputRef),
|
|
57
|
+
defaultClass: "solid2-aria-Checkbox",
|
|
58
|
+
inputRef,
|
|
59
|
+
props,
|
|
60
|
+
setInputRef: (element) => {
|
|
61
|
+
setInputRef(element);
|
|
62
|
+
},
|
|
63
|
+
state
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function fieldValues(ctx) {
|
|
67
|
+
return {
|
|
68
|
+
get isDisabled() {
|
|
69
|
+
return ctx.aria.isDisabled;
|
|
70
|
+
},
|
|
71
|
+
get isIndeterminate() {
|
|
72
|
+
return ctx.props.isIndeterminate === true;
|
|
73
|
+
},
|
|
74
|
+
get isInvalid() {
|
|
75
|
+
return ctx.aria.isInvalid;
|
|
76
|
+
},
|
|
77
|
+
get isReadOnly() {
|
|
78
|
+
return ctx.aria.isReadOnly;
|
|
79
|
+
},
|
|
80
|
+
get isRequired() {
|
|
81
|
+
return ctx.props.isRequired === true;
|
|
82
|
+
},
|
|
83
|
+
get isSelected() {
|
|
84
|
+
return ctx.aria.isSelected;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function Checkbox(input) {
|
|
89
|
+
const [props, , setRef] = createContextProps(input, untrack(() => input.ref), CheckboxContext);
|
|
90
|
+
const ctx = createAria(props);
|
|
91
|
+
return createComponent(InternalContext, {
|
|
92
|
+
value: ctx,
|
|
93
|
+
get children() {
|
|
94
|
+
return createComponent(CheckboxButton, mergeProps(props, { ref: (element) => {
|
|
95
|
+
setRef(element);
|
|
96
|
+
} }));
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
function CheckboxField(input) {
|
|
101
|
+
const [props, , setRef] = createContextProps(input, untrack(() => input.ref), CheckboxFieldContext);
|
|
102
|
+
const ctx = createAria(props);
|
|
103
|
+
ctx.defaultClass = "solid2-aria-CheckboxButton";
|
|
104
|
+
const values = fieldValues(ctx);
|
|
105
|
+
const render = createRenderProps(mergeProps$1(props, {
|
|
106
|
+
defaultClass: "solid2-aria-CheckboxField",
|
|
107
|
+
values
|
|
108
|
+
}));
|
|
109
|
+
return createComponent(dom.div, mergeProps(() => {
|
|
110
|
+
return omit(filterDOMProps(props, { global: true }), "id", "onClick");
|
|
111
|
+
}, render, {
|
|
112
|
+
ref: (element) => {
|
|
113
|
+
setRef(element);
|
|
114
|
+
},
|
|
115
|
+
get slot() {
|
|
116
|
+
return props.slot ?? void 0;
|
|
117
|
+
},
|
|
118
|
+
get "data-selected"() {
|
|
119
|
+
return values.isSelected || void 0;
|
|
120
|
+
},
|
|
121
|
+
get "data-disabled"() {
|
|
122
|
+
return values.isDisabled || void 0;
|
|
123
|
+
},
|
|
124
|
+
get "data-invalid"() {
|
|
125
|
+
return values.isInvalid || void 0;
|
|
126
|
+
},
|
|
127
|
+
get "data-readonly"() {
|
|
128
|
+
return values.isReadOnly || void 0;
|
|
129
|
+
},
|
|
130
|
+
get "data-required"() {
|
|
131
|
+
return values.isRequired || void 0;
|
|
132
|
+
},
|
|
133
|
+
get children() {
|
|
134
|
+
return createComponent(InternalContext, {
|
|
135
|
+
value: ctx,
|
|
136
|
+
get children() {
|
|
137
|
+
return createComponent(SelectionIndicatorContext, {
|
|
138
|
+
value: { get isSelected() {
|
|
139
|
+
return values.isSelected;
|
|
140
|
+
} },
|
|
141
|
+
get children() {
|
|
142
|
+
return createComponent(TextContext, {
|
|
143
|
+
value: { slots: {
|
|
144
|
+
get description() {
|
|
145
|
+
return ctx.aria.descriptionProps;
|
|
146
|
+
},
|
|
147
|
+
get errorMessage() {
|
|
148
|
+
return ctx.aria.errorMessageProps;
|
|
149
|
+
}
|
|
150
|
+
} },
|
|
151
|
+
get children() {
|
|
152
|
+
return render.children;
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}));
|
|
161
|
+
}
|
|
162
|
+
function CheckboxButton(props) {
|
|
163
|
+
const ctx = useContext(InternalContext);
|
|
164
|
+
if (!ctx) throw new Error("CheckboxButton must be inside CheckboxField.");
|
|
165
|
+
const focus = createFocusRing();
|
|
166
|
+
const fields = fieldValues(ctx);
|
|
167
|
+
const hover = createHover(mergeProps$1(props, { get isDisabled() {
|
|
168
|
+
return fields.isDisabled || fields.isReadOnly;
|
|
169
|
+
} }));
|
|
170
|
+
const values = mergeProps$1(fields, {
|
|
171
|
+
get isFocusVisible() {
|
|
172
|
+
return focus.isFocusVisible;
|
|
173
|
+
},
|
|
174
|
+
get isFocused() {
|
|
175
|
+
return focus.isFocused;
|
|
176
|
+
},
|
|
177
|
+
get isHovered() {
|
|
178
|
+
return hover.isHovered;
|
|
179
|
+
},
|
|
180
|
+
get isPressed() {
|
|
181
|
+
return ctx.aria.isPressed;
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
const render = createRenderProps(mergeProps$1(props, {
|
|
185
|
+
get defaultClass() {
|
|
186
|
+
return ctx.defaultClass;
|
|
187
|
+
},
|
|
188
|
+
values
|
|
189
|
+
}));
|
|
190
|
+
return createComponent(dom.label, mergeProps(() => {
|
|
191
|
+
return mergeProps$1(omit(filterDOMProps(props, { global: true }), "id", "onClick"), merge(() => ctx.aria.labelProps ?? {}), merge(() => hover.hoverProps ?? {}), render);
|
|
192
|
+
}, {
|
|
193
|
+
ref(r$) {
|
|
194
|
+
var _ref$ = props.ref;
|
|
195
|
+
typeof _ref$ === "function" || Array.isArray(_ref$) ? applyRef(_ref$, r$) : props.ref = r$;
|
|
196
|
+
},
|
|
197
|
+
get slot() {
|
|
198
|
+
return props.slot ?? void 0;
|
|
199
|
+
},
|
|
200
|
+
get "data-selected"() {
|
|
201
|
+
return fields.isSelected || void 0;
|
|
202
|
+
},
|
|
203
|
+
get "data-indeterminate"() {
|
|
204
|
+
return fields.isIndeterminate || void 0;
|
|
205
|
+
},
|
|
206
|
+
get "data-disabled"() {
|
|
207
|
+
return fields.isDisabled || void 0;
|
|
208
|
+
},
|
|
209
|
+
get "data-readonly"() {
|
|
210
|
+
return fields.isReadOnly || void 0;
|
|
211
|
+
},
|
|
212
|
+
get "data-invalid"() {
|
|
213
|
+
return fields.isInvalid || void 0;
|
|
214
|
+
},
|
|
215
|
+
get "data-required"() {
|
|
216
|
+
return fields.isRequired || void 0;
|
|
217
|
+
},
|
|
218
|
+
get "data-pressed"() {
|
|
219
|
+
return ctx.aria.isPressed || void 0;
|
|
220
|
+
},
|
|
221
|
+
get "data-hovered"() {
|
|
222
|
+
return hover.isHovered || void 0;
|
|
223
|
+
},
|
|
224
|
+
get "data-focused"() {
|
|
225
|
+
return focus.isFocused || void 0;
|
|
226
|
+
},
|
|
227
|
+
get "data-focus-visible"() {
|
|
228
|
+
return focus.isFocusVisible || void 0;
|
|
229
|
+
},
|
|
230
|
+
get children() {
|
|
231
|
+
return [createComponent(VisuallyHidden, {
|
|
232
|
+
elementType: "span",
|
|
233
|
+
get children() {
|
|
234
|
+
var _el$ = getNextElement(_tmpl$);
|
|
235
|
+
spread(_el$, () => {
|
|
236
|
+
return mergeProps$1(merge(() => ctx.aria.inputProps ?? {}), merge(() => focus.focusProps ?? {}));
|
|
237
|
+
}, false);
|
|
238
|
+
ref(() => {
|
|
239
|
+
return (element) => {
|
|
240
|
+
ctx.setInputRef(element);
|
|
241
|
+
};
|
|
242
|
+
}, _el$);
|
|
243
|
+
runHydrationEvents();
|
|
244
|
+
return _el$;
|
|
245
|
+
}
|
|
246
|
+
}), memo(() => {
|
|
247
|
+
return render.children;
|
|
248
|
+
})];
|
|
249
|
+
}
|
|
250
|
+
}));
|
|
251
|
+
}
|
|
252
|
+
const CheckboxGroupContext = createContext(null);
|
|
253
|
+
function CheckboxGroup(input) {
|
|
254
|
+
const [props, , setRef] = createContextProps(input, untrack(() => input.ref), CheckboxGroupContext);
|
|
255
|
+
const form = createSlottedContext(FormContext);
|
|
256
|
+
const [registerLabel, label] = createSlot(() => !isTruthy(props["aria-label"]) && !isTruthy(props["aria-labelledby"]));
|
|
257
|
+
const options = mergeProps$1(props, {
|
|
258
|
+
get label() {
|
|
259
|
+
return label();
|
|
260
|
+
},
|
|
261
|
+
get validationBehavior() {
|
|
262
|
+
return props.validationBehavior ?? form?.validationBehavior ?? "native";
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
const state = createCheckboxGroupState(options);
|
|
266
|
+
const aria = createCheckboxGroup(options, state);
|
|
267
|
+
const values = {
|
|
268
|
+
get isDisabled() {
|
|
269
|
+
return state.isDisabled;
|
|
270
|
+
},
|
|
271
|
+
get isInvalid() {
|
|
272
|
+
return state.isInvalid;
|
|
273
|
+
},
|
|
274
|
+
get isReadOnly() {
|
|
275
|
+
return state.isReadOnly;
|
|
276
|
+
},
|
|
277
|
+
get isRequired() {
|
|
278
|
+
return props.isRequired === true;
|
|
279
|
+
},
|
|
280
|
+
state
|
|
281
|
+
};
|
|
282
|
+
const labelProps = mergeProps$1(merge(() => aria.labelProps), {
|
|
283
|
+
elementType: "span",
|
|
284
|
+
registerSlot: registerLabel
|
|
285
|
+
});
|
|
286
|
+
const render = createRenderProps(mergeProps$1(props, {
|
|
287
|
+
defaultClass: "solid2-aria-CheckboxGroup",
|
|
288
|
+
values
|
|
289
|
+
}));
|
|
290
|
+
return createComponent(dom.div, mergeProps(() => {
|
|
291
|
+
return mergeProps$1(filterDOMProps(props, { global: true }), merge(() => aria.groupProps ?? {}), render);
|
|
292
|
+
}, {
|
|
293
|
+
ref: (element) => {
|
|
294
|
+
setRef(element);
|
|
295
|
+
},
|
|
296
|
+
get slot() {
|
|
297
|
+
return props.slot ?? void 0;
|
|
298
|
+
},
|
|
299
|
+
get "data-disabled"() {
|
|
300
|
+
return values.isDisabled || void 0;
|
|
301
|
+
},
|
|
302
|
+
get "data-readonly"() {
|
|
303
|
+
return values.isReadOnly || void 0;
|
|
304
|
+
},
|
|
305
|
+
get "data-required"() {
|
|
306
|
+
return values.isRequired || void 0;
|
|
307
|
+
},
|
|
308
|
+
get "data-invalid"() {
|
|
309
|
+
return values.isInvalid || void 0;
|
|
310
|
+
},
|
|
311
|
+
get children() {
|
|
312
|
+
return createComponent(CheckboxGroupStateContext, {
|
|
313
|
+
value: state,
|
|
314
|
+
get children() {
|
|
315
|
+
return createComponent(LabelContext, {
|
|
316
|
+
value: labelProps,
|
|
317
|
+
get children() {
|
|
318
|
+
return createComponent(TextContext, {
|
|
319
|
+
value: { slots: {
|
|
320
|
+
get description() {
|
|
321
|
+
return aria.descriptionProps;
|
|
322
|
+
},
|
|
323
|
+
get errorMessage() {
|
|
324
|
+
return aria.errorMessageProps;
|
|
325
|
+
}
|
|
326
|
+
} },
|
|
327
|
+
get children() {
|
|
328
|
+
return createComponent(FieldErrorContext, {
|
|
329
|
+
value: aria,
|
|
330
|
+
get children() {
|
|
331
|
+
return render.children;
|
|
332
|
+
}
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
});
|
|
338
|
+
}
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
}));
|
|
342
|
+
}
|
|
343
|
+
export { Checkbox, CheckboxButton, CheckboxContext, CheckboxField, CheckboxFieldContext, CheckboxGroup, CheckboxGroupContext, CheckboxGroupStateContext };
|
|
344
|
+
|
|
345
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.js","names":["<InternalContext value={ctx}>\n <CheckboxButton\n {...props}\n ref={(element: HTMLLabelElement) => {\n setRef(element);\n }}\n />\n </InternalContext>","value={ctx}","<CheckboxButton\n {...props}\n ref={(element: HTMLLabelElement) => {\n setRef(element);\n }}\n />","ref={(element: HTMLLabelElement) => {\n setRef(element);\n }}","<dom.div\n {\n // oxlint-disable solid/reactivity -- Keep prop filtering in the renderer's lazy evaluation.\n ...omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\")\n // oxlint-enable solid/reactivity\n }\n {...render}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-selected={values.isSelected || undefined}\n data-disabled={values.isDisabled || undefined}\n data-invalid={values.isInvalid || undefined}\n data-readonly={values.isReadOnly || undefined}\n data-required={values.isRequired || undefined}\n >\n <InternalContext value={ctx}>\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return values.isSelected;\n },\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return ctx.aria.descriptionProps;\n },\n get errorMessage() {\n return ctx.aria.errorMessageProps;\n },\n },\n }}\n >\n {render.children}\n </TextContext>\n </SelectionIndicatorContext>\n </InternalContext>\n </dom.div>","dom.div","ref={(element: HTMLDivElement) => {\n setRef(element);\n }}","<InternalContext value={ctx}>\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return values.isSelected;\n },\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return ctx.aria.descriptionProps;\n },\n get errorMessage() {\n return ctx.aria.errorMessageProps;\n },\n },\n }}\n >\n {render.children}\n </TextContext>\n </SelectionIndicatorContext>\n </InternalContext>","<SelectionIndicatorContext\n value={{\n get isSelected() {\n return values.isSelected;\n },\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return ctx.aria.descriptionProps;\n },\n get errorMessage() {\n return ctx.aria.errorMessageProps;\n },\n },\n }}\n >\n {render.children}\n </TextContext>\n </SelectionIndicatorContext>","value={{\n get isSelected() {\n return values.isSelected;\n },\n }}","<TextContext\n value={{\n slots: {\n get description() {\n return ctx.aria.descriptionProps;\n },\n get errorMessage() {\n return ctx.aria.errorMessageProps;\n },\n },\n }}\n >\n {render.children}\n </TextContext>","value={{\n slots: {\n get description() {\n return ctx.aria.descriptionProps;\n },\n get errorMessage() {\n return ctx.aria.errorMessageProps;\n },\n },\n }}","<dom.label\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n merge(() => ctx.aria.labelProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={props.ref}\n slot={props.slot ?? undefined}\n data-selected={fields.isSelected || undefined}\n data-indeterminate={fields.isIndeterminate || undefined}\n data-disabled={fields.isDisabled || undefined}\n data-readonly={fields.isReadOnly || undefined}\n data-invalid={fields.isInvalid || undefined}\n data-required={fields.isRequired || undefined}\n data-pressed={ctx.aria.isPressed || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <VisuallyHidden elementType=\"span\">\n <input\n {...mergeProps(\n merge(() => ctx.aria.inputProps ?? {}),\n merge(() => focus.focusProps ?? {})\n )}\n ref={(element: HTMLInputElement) => {\n ctx.setInputRef(element);\n }}\n />\n </VisuallyHidden>\n {render.children}\n </dom.label>","dom.label","ref={props.ref}","<VisuallyHidden elementType=\"span\">\n <input\n {...mergeProps(\n merge(() => ctx.aria.inputProps ?? {}),\n merge(() => focus.focusProps ?? {})\n )}\n ref={(element: HTMLInputElement) => {\n ctx.setInputRef(element);\n }}\n />\n </VisuallyHidden>","elementType=\"span\"","ref={(element: HTMLInputElement) => {\n ctx.setInputRef(element);\n }}","<input\n {...mergeProps(\n merge(() => ctx.aria.inputProps ?? {}),\n merge(() => focus.focusProps ?? {})\n )}\n ref={(element: HTMLInputElement) => {\n ctx.setInputRef(element);\n }}\n />","render.children","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.groupProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-disabled={values.isDisabled || undefined}\n data-readonly={values.isReadOnly || undefined}\n data-required={values.isRequired || undefined}\n data-invalid={values.isInvalid || undefined}\n >\n <CheckboxGroupStateContext value={state}>\n <LabelContext value={labelProps}>\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 <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </LabelContext>\n </CheckboxGroupStateContext>\n </dom.div>","<CheckboxGroupStateContext value={state}>\n <LabelContext value={labelProps}>\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 <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </LabelContext>\n </CheckboxGroupStateContext>","value={state}","<LabelContext value={labelProps}>\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 <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </LabelContext>","value={labelProps}","<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 <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>","value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}","<FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>","value={aria}","mergeProps","_$createComponent","_$mergeProps","_$applyRef","_$getNextElement","_$memo"],"sources":["../../src/checkbox.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/Checkbox.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 { createCheckbox } from \"@solid2-aria/core/checkbox/create-checkbox\";\nimport type {\n AriaCheckboxProps,\n CheckboxAria,\n} from \"@solid2-aria/core/checkbox/create-checkbox\";\nimport { createCheckboxGroup } from \"@solid2-aria/core/checkbox/create-checkbox-group\";\nimport type { AriaCheckboxGroupProps } from \"@solid2-aria/core/checkbox/create-checkbox-group\";\nimport { createCheckboxGroupItem } from \"@solid2-aria/core/checkbox/create-checkbox-group-item\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\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 { VisuallyHidden } from \"@solid2-aria/core/visually-hidden/visually-hidden\";\nimport { createCheckboxGroupState } from \"@solid2-aria/stately/checkbox/create-checkbox-group-state\";\nimport type { CheckboxGroupState } from \"@solid2-aria/stately/checkbox/create-checkbox-group-state\";\nimport { createToggleState } from \"@solid2-aria/stately/toggle/create-toggle-state\";\nimport type { ToggleState } from \"@solid2-aria/stately/toggle/create-toggle-state\";\nimport type { HoverEvents } from \"@solid2-aria/types-shared\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n untrack,\n createSignal,\n merge,\n createContext,\n useContext,\n omit,\n} from \"solid-js\";\nimport type { Accessor } from \"solid-js\";\n\nimport { FieldErrorContext } from \"./field-error\";\nimport { FormContext } from \"./form\";\nimport { LabelContext } from \"./label\";\nimport { SelectionIndicatorContext } from \"./selection-indicator\";\nimport { TextContext } from \"./text\";\nimport {\n dom,\n createContextProps,\n createRenderProps,\n createSlottedContext,\n createSlot,\n} from \"./utils\";\nimport type { Ref, ContextValue, SlotProps, RenderProps } from \"./utils\";\n\nexport interface CheckboxRenderProps {\n isSelected: boolean;\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n isFocusVisible: boolean;\n isDisabled: boolean;\n isReadOnly: boolean;\n isInvalid: boolean;\n isRequired: boolean;\n isIndeterminate: boolean;\n}\n\nexport type CheckboxFieldRenderProps = Omit<\n CheckboxRenderProps,\n \"isHovered\" | \"isPressed\" | \"isFocused\" | \"isFocusVisible\"\n>;\n\nexport type CheckboxButtonRenderProps = CheckboxRenderProps;\n\nexport interface CheckboxProps\n extends\n Omit<AriaCheckboxProps, \"children\">,\n SlotProps,\n HoverEvents,\n RenderProps<CheckboxRenderProps, \"label\"> {\n inputRef?: Ref<HTMLInputElement>;\n ref?: Ref<HTMLLabelElement>;\n}\n\nexport interface CheckboxFieldProps\n extends\n Omit<AriaCheckboxProps, \"children\">,\n SlotProps,\n HoverEvents,\n RenderProps<CheckboxFieldRenderProps> {\n inputRef?: Ref<HTMLInputElement>;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface CheckboxButtonProps\n extends\n SlotProps,\n HoverEvents,\n RenderProps<CheckboxButtonRenderProps, \"label\"> {\n id?: string;\n ref?: Ref<HTMLLabelElement>;\n}\n\nexport const CheckboxContext =\n createContext<ContextValue<CheckboxProps, HTMLLabelElement>>(null);\n\nexport const CheckboxFieldContext =\n createContext<ContextValue<CheckboxFieldProps, HTMLDivElement>>(null);\n\ninterface InternalValue {\n aria: CheckboxAria;\n inputRef: Accessor<HTMLInputElement | null>;\n setInputRef: (element: HTMLInputElement) => void;\n state: ToggleState;\n props: Omit<AriaCheckboxProps, \"children\">;\n defaultClass: string;\n}\n\nconst InternalContext = createContext<InternalValue | null>(null);\n\nexport const CheckboxGroupStateContext =\n createContext<CheckboxGroupState | null>(null);\n\nfunction createAria(props: CheckboxProps | CheckboxFieldProps): InternalValue {\n const [inputRef, setInputRef] = createSignal<HTMLInputElement | null>(null, {\n ownedWrite: true,\n });\n\n const form = createSlottedContext(FormContext);\n\n const options = mergeProps(omit(props, \"children\"), {\n children: true,\n get validationBehavior() {\n return props.validationBehavior ?? form?.validationBehavior ?? \"native\";\n },\n });\n\n const group = useContext(CheckboxGroupStateContext);\n const state = createToggleState(props);\n\n const aria = group\n ? createCheckboxGroupItem(\n mergeProps(options, {\n get value() {\n return props.value ?? \"\";\n },\n }),\n group,\n inputRef\n )\n : createCheckbox(options, state, inputRef);\n\n return {\n aria,\n defaultClass: \"solid2-aria-Checkbox\",\n inputRef,\n props,\n setInputRef: (element: HTMLInputElement) => {\n setInputRef(element);\n },\n state,\n };\n}\n\nfunction fieldValues(ctx: InternalValue): CheckboxFieldRenderProps {\n return {\n get isDisabled() {\n return ctx.aria.isDisabled;\n },\n get isIndeterminate() {\n return ctx.props.isIndeterminate === true;\n },\n get isInvalid() {\n return ctx.aria.isInvalid;\n },\n get isReadOnly() {\n return ctx.aria.isReadOnly;\n },\n get isRequired() {\n return ctx.props.isRequired === true;\n },\n get isSelected() {\n return ctx.aria.isSelected;\n },\n };\n}\n\nexport function Checkbox(input: CheckboxProps): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n CheckboxContext\n );\n\n const ctx = createAria(props);\n\n return (\n <InternalContext value={ctx}>\n <CheckboxButton\n {...props}\n ref={(element: HTMLLabelElement) => {\n setRef(element);\n }}\n />\n </InternalContext>\n );\n}\n\nexport function CheckboxField(input: CheckboxFieldProps): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n CheckboxFieldContext\n );\n\n const ctx = createAria(props);\n ctx.defaultClass = \"solid2-aria-CheckboxButton\";\n const values = fieldValues(ctx);\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-CheckboxField\", values })\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 }), \"id\", \"onClick\")\n // oxlint-enable solid/reactivity\n }\n {...render}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-selected={values.isSelected || undefined}\n data-disabled={values.isDisabled || undefined}\n data-invalid={values.isInvalid || undefined}\n data-readonly={values.isReadOnly || undefined}\n data-required={values.isRequired || undefined}\n >\n <InternalContext value={ctx}>\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return values.isSelected;\n },\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return ctx.aria.descriptionProps;\n },\n get errorMessage() {\n return ctx.aria.errorMessageProps;\n },\n },\n }}\n >\n {render.children}\n </TextContext>\n </SelectionIndicatorContext>\n </InternalContext>\n </dom.div>\n );\n}\n\nexport function CheckboxButton(props: CheckboxButtonProps): JSX.Element {\n const ctx = useContext(InternalContext);\n\n if (!ctx) {\n throw new Error(\"CheckboxButton must be inside CheckboxField.\");\n }\n\n const focus = createFocusRing();\n const fields = fieldValues(ctx);\n\n const hover = createHover(\n mergeProps(props, {\n get isDisabled() {\n return fields.isDisabled || fields.isReadOnly;\n },\n })\n );\n\n const values: CheckboxButtonRenderProps = mergeProps(fields, {\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 ctx.aria.isPressed;\n },\n });\n\n const render = createRenderProps(\n mergeProps(props, {\n get defaultClass() {\n return ctx.defaultClass;\n },\n values,\n })\n );\n\n return (\n <dom.label\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n merge(() => ctx.aria.labelProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={props.ref}\n slot={props.slot ?? undefined}\n data-selected={fields.isSelected || undefined}\n data-indeterminate={fields.isIndeterminate || undefined}\n data-disabled={fields.isDisabled || undefined}\n data-readonly={fields.isReadOnly || undefined}\n data-invalid={fields.isInvalid || undefined}\n data-required={fields.isRequired || undefined}\n data-pressed={ctx.aria.isPressed || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <VisuallyHidden elementType=\"span\">\n <input\n {...mergeProps(\n merge(() => ctx.aria.inputProps ?? {}),\n merge(() => focus.focusProps ?? {})\n )}\n ref={(element: HTMLInputElement) => {\n ctx.setInputRef(element);\n }}\n />\n </VisuallyHidden>\n {render.children}\n </dom.label>\n );\n}\n\nexport interface CheckboxGroupRenderProps {\n isDisabled: boolean;\n isReadOnly: boolean;\n isRequired: boolean;\n isInvalid: boolean;\n state: CheckboxGroupState;\n}\n\nexport interface CheckboxGroupProps\n extends\n Omit<\n AriaCheckboxGroupProps,\n \"children\" | \"label\" | \"description\" | \"errorMessage\"\n >,\n SlotProps,\n RenderProps<CheckboxGroupRenderProps> {\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const CheckboxGroupContext =\n createContext<ContextValue<CheckboxGroupProps, HTMLDivElement>>(null);\n\nexport function CheckboxGroup(input: CheckboxGroupProps): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n CheckboxGroupContext\n );\n\n const form = createSlottedContext(FormContext);\n\n const [registerLabel, label] = createSlot(\n () => !isTruthy(props[\"aria-label\"]) && !isTruthy(props[\"aria-labelledby\"])\n );\n\n const options = mergeProps(props, {\n get label() {\n return label();\n },\n get validationBehavior() {\n return props.validationBehavior ?? form?.validationBehavior ?? \"native\";\n },\n });\n\n const state = createCheckboxGroupState(options);\n const aria = createCheckboxGroup(options, state);\n\n const values: CheckboxGroupRenderProps = {\n get isDisabled() {\n return state.isDisabled;\n },\n get isInvalid() {\n return state.isInvalid;\n },\n get isReadOnly() {\n return state.isReadOnly;\n },\n get isRequired() {\n return props.isRequired === true;\n },\n state,\n };\n\n const labelProps = mergeProps(\n merge(() => aria.labelProps),\n { elementType: \"span\" as const, registerSlot: registerLabel }\n );\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-CheckboxGroup\", values })\n );\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.groupProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-disabled={values.isDisabled || undefined}\n data-readonly={values.isReadOnly || undefined}\n data-required={values.isRequired || undefined}\n data-invalid={values.isInvalid || undefined}\n >\n <CheckboxGroupStateContext value={state}>\n <LabelContext value={labelProps}>\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 <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </LabelContext>\n </CheckboxGroupStateContext>\n </dom.div>\n );\n}\n"],"mappings":"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"}
|