@proyecto-viviana/solidaria 0.3.0 → 0.4.0
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/dist/_chunk/actiongroup.js +207 -0
- package/dist/_chunk/actiongroup.js.map +1 -0
- package/dist/_chunk/actiongroup.jsx +207 -0
- package/dist/_chunk/actiongroup.jsx.map +1 -0
- package/dist/_chunk/ariaHideOutside.js +122 -0
- package/dist/_chunk/ariaHideOutside.js.map +1 -0
- package/dist/_chunk/ariaHideOutside.jsx +122 -0
- package/dist/_chunk/ariaHideOutside.jsx.map +1 -0
- package/dist/_chunk/autocomplete.js +196 -0
- package/dist/_chunk/autocomplete.js.map +1 -0
- package/dist/_chunk/autocomplete.jsx +196 -0
- package/dist/_chunk/autocomplete.jsx.map +1 -0
- package/dist/_chunk/breadcrumbs.js +119 -0
- package/dist/_chunk/breadcrumbs.js.map +1 -0
- package/dist/_chunk/breadcrumbs.jsx +119 -0
- package/dist/_chunk/breadcrumbs.jsx.map +1 -0
- package/dist/_chunk/button.js +276 -0
- package/dist/_chunk/button.js.map +1 -0
- package/dist/_chunk/button.jsx +276 -0
- package/dist/_chunk/button.jsx.map +1 -0
- package/dist/_chunk/calendar.js +1036 -0
- package/dist/_chunk/calendar.js.map +1 -0
- package/dist/_chunk/calendar.jsx +1036 -0
- package/dist/_chunk/calendar.jsx.map +1 -0
- package/dist/_chunk/checkbox.js +234 -0
- package/dist/_chunk/checkbox.js.map +1 -0
- package/dist/_chunk/checkbox.jsx +234 -0
- package/dist/_chunk/checkbox.jsx.map +1 -0
- package/dist/_chunk/color.js +1174 -0
- package/dist/_chunk/color.js.map +1 -0
- package/dist/_chunk/color.jsx +1174 -0
- package/dist/_chunk/color.jsx.map +1 -0
- package/dist/_chunk/combobox.js +436 -0
- package/dist/_chunk/combobox.js.map +1 -0
- package/dist/_chunk/combobox.jsx +436 -0
- package/dist/_chunk/combobox.jsx.map +1 -0
- package/dist/_chunk/createCollator.js +229 -0
- package/dist/_chunk/createCollator.js.map +1 -0
- package/dist/_chunk/createCollator.jsx +223 -0
- package/dist/_chunk/createCollator.jsx.map +1 -0
- package/dist/_chunk/createCollectionRowInteraction.js +133 -0
- package/dist/_chunk/createCollectionRowInteraction.js.map +1 -0
- package/dist/_chunk/createCollectionRowInteraction.jsx +133 -0
- package/dist/_chunk/createCollectionRowInteraction.jsx.map +1 -0
- package/dist/_chunk/createField.js +54 -0
- package/dist/_chunk/createField.js.map +1 -0
- package/dist/_chunk/createField.jsx +54 -0
- package/dist/_chunk/createField.jsx.map +1 -0
- package/dist/_chunk/createFocus.js +101 -0
- package/dist/_chunk/createFocus.js.map +1 -0
- package/dist/_chunk/createFocus.jsx +101 -0
- package/dist/_chunk/createFocus.jsx.map +1 -0
- package/dist/_chunk/createFocusRing.js +54 -0
- package/dist/_chunk/createFocusRing.js.map +1 -0
- package/dist/_chunk/createFocusRing.jsx +54 -0
- package/dist/_chunk/createFocusRing.jsx.map +1 -0
- package/dist/_chunk/createFocusWithin.js +121 -0
- package/dist/_chunk/createFocusWithin.js.map +1 -0
- package/dist/_chunk/createFocusWithin.jsx +121 -0
- package/dist/_chunk/createFocusWithin.jsx.map +1 -0
- package/dist/_chunk/createFocusable.js +131 -0
- package/dist/_chunk/createFocusable.js.map +1 -0
- package/dist/_chunk/createFocusable.jsx +131 -0
- package/dist/_chunk/createFocusable.jsx.map +1 -0
- package/dist/_chunk/createFormValidation.js +135 -0
- package/dist/_chunk/createFormValidation.js.map +1 -0
- package/dist/_chunk/createFormValidation.jsx +135 -0
- package/dist/_chunk/createFormValidation.jsx.map +1 -0
- package/dist/_chunk/createHover.js +130 -0
- package/dist/_chunk/createHover.js.map +1 -0
- package/dist/_chunk/createHover.jsx +130 -0
- package/dist/_chunk/createHover.jsx.map +1 -0
- package/dist/_chunk/createInteractionModality.js +269 -0
- package/dist/_chunk/createInteractionModality.js.map +1 -0
- package/dist/_chunk/createInteractionModality.jsx +269 -0
- package/dist/_chunk/createInteractionModality.jsx.map +1 -0
- package/dist/_chunk/createLabel.js +46 -0
- package/dist/_chunk/createLabel.js.map +1 -0
- package/dist/_chunk/createLabel.jsx +46 -0
- package/dist/_chunk/createLabel.jsx.map +1 -0
- package/dist/_chunk/createLabels.js +31 -0
- package/dist/_chunk/createLabels.js.map +1 -0
- package/dist/_chunk/createLabels.jsx +31 -0
- package/dist/_chunk/createLabels.jsx.map +1 -0
- package/dist/_chunk/createLandmark.js +198 -0
- package/dist/_chunk/createLandmark.js.map +1 -0
- package/dist/_chunk/createLandmark.jsx +198 -0
- package/dist/_chunk/createLandmark.jsx.map +1 -0
- package/dist/_chunk/createLongPress.js +91 -0
- package/dist/_chunk/createLongPress.js.map +1 -0
- package/dist/_chunk/createLongPress.jsx +91 -0
- package/dist/_chunk/createLongPress.jsx.map +1 -0
- package/dist/_chunk/createOverlay.js +327 -0
- package/dist/_chunk/createOverlay.js.map +1 -0
- package/dist/_chunk/createOverlay.jsx +327 -0
- package/dist/_chunk/createOverlay.jsx.map +1 -0
- package/dist/_chunk/createPress.js +526 -0
- package/dist/_chunk/createPress.js.map +1 -0
- package/dist/_chunk/createPress.jsx +526 -0
- package/dist/_chunk/createPress.jsx.map +1 -0
- package/dist/_chunk/createProgressBar.js +81 -0
- package/dist/_chunk/createProgressBar.js.map +1 -0
- package/dist/_chunk/createProgressBar.jsx +81 -0
- package/dist/_chunk/createProgressBar.jsx.map +1 -0
- package/dist/_chunk/createSelectableItem.js +298 -0
- package/dist/_chunk/createSelectableItem.js.map +1 -0
- package/dist/_chunk/createSelectableItem.jsx +298 -0
- package/dist/_chunk/createSelectableItem.jsx.map +1 -0
- package/dist/_chunk/createToggle.js +158 -0
- package/dist/_chunk/createToggle.js.map +1 -0
- package/dist/_chunk/createToggle.jsx +158 -0
- package/dist/_chunk/createToggle.jsx.map +1 -0
- package/dist/_chunk/createTypeSelect.js +125 -0
- package/dist/_chunk/createTypeSelect.js.map +1 -0
- package/dist/_chunk/createTypeSelect.jsx +125 -0
- package/dist/_chunk/createTypeSelect.jsx.map +1 -0
- package/dist/_chunk/datepicker.js +1393 -0
- package/dist/_chunk/datepicker.js.map +1 -0
- package/dist/_chunk/datepicker.jsx +1393 -0
- package/dist/_chunk/datepicker.jsx.map +1 -0
- package/dist/_chunk/dialog.js +62 -0
- package/dist/_chunk/dialog.js.map +1 -0
- package/dist/_chunk/dialog.jsx +62 -0
- package/dist/_chunk/dialog.jsx.map +1 -0
- package/dist/_chunk/disclosure.js +185 -0
- package/dist/_chunk/disclosure.js.map +1 -0
- package/dist/_chunk/disclosure.jsx +185 -0
- package/dist/_chunk/disclosure.jsx.map +1 -0
- package/dist/_chunk/dnd.js +1304 -0
- package/dist/_chunk/dnd.js.map +1 -0
- package/dist/_chunk/dnd.jsx +1304 -0
- package/dist/_chunk/dnd.jsx.map +1 -0
- package/dist/_chunk/env.js +105 -0
- package/dist/_chunk/env.js.map +1 -0
- package/dist/_chunk/env.jsx +105 -0
- package/dist/_chunk/env.jsx.map +1 -0
- package/dist/_chunk/filterDOMProps.js +82 -0
- package/dist/_chunk/filterDOMProps.js.map +1 -0
- package/dist/_chunk/filterDOMProps.jsx +82 -0
- package/dist/_chunk/filterDOMProps.jsx.map +1 -0
- package/dist/_chunk/focus.js +399 -0
- package/dist/_chunk/focus.js.map +1 -0
- package/dist/_chunk/focus.jsx +399 -0
- package/dist/_chunk/focus.jsx.map +1 -0
- package/dist/_chunk/focus2.js +895 -0
- package/dist/_chunk/focus2.js.map +1 -0
- package/dist/_chunk/focus2.jsx +870 -0
- package/dist/_chunk/focus2.jsx.map +1 -0
- package/dist/_chunk/form.js +39 -0
- package/dist/_chunk/form.js.map +1 -0
- package/dist/_chunk/form.jsx +39 -0
- package/dist/_chunk/form.jsx.map +1 -0
- package/dist/_chunk/grid.js +623 -0
- package/dist/_chunk/grid.js.map +1 -0
- package/dist/_chunk/grid.jsx +623 -0
- package/dist/_chunk/grid.jsx.map +1 -0
- package/dist/_chunk/gridlist.js +364 -0
- package/dist/_chunk/gridlist.js.map +1 -0
- package/dist/_chunk/gridlist.jsx +364 -0
- package/dist/_chunk/gridlist.jsx.map +1 -0
- package/dist/_chunk/i18n.js +254 -0
- package/dist/_chunk/i18n.js.map +1 -0
- package/dist/_chunk/i18n.jsx +254 -0
- package/dist/_chunk/i18n.jsx.map +1 -0
- package/dist/_chunk/interactions.js +241 -0
- package/dist/_chunk/interactions.js.map +1 -0
- package/dist/_chunk/interactions.jsx +237 -0
- package/dist/_chunk/interactions.jsx.map +1 -0
- package/dist/_chunk/link.js +96 -0
- package/dist/_chunk/link.js.map +1 -0
- package/dist/_chunk/link.jsx +96 -0
- package/dist/_chunk/link.jsx.map +1 -0
- package/dist/_chunk/listbox.js +324 -0
- package/dist/_chunk/listbox.js.map +1 -0
- package/dist/_chunk/listbox.jsx +324 -0
- package/dist/_chunk/listbox.jsx.map +1 -0
- package/dist/_chunk/live-announcer.js +207 -0
- package/dist/_chunk/live-announcer.js.map +1 -0
- package/dist/_chunk/live-announcer.jsx +207 -0
- package/dist/_chunk/live-announcer.jsx.map +1 -0
- package/dist/_chunk/menu.js +518 -0
- package/dist/_chunk/menu.js.map +1 -0
- package/dist/_chunk/menu.jsx +518 -0
- package/dist/_chunk/menu.jsx.map +1 -0
- package/dist/_chunk/meter.js +33 -0
- package/dist/_chunk/meter.js.map +1 -0
- package/dist/_chunk/meter.jsx +33 -0
- package/dist/_chunk/meter.jsx.map +1 -0
- package/dist/_chunk/numberfield.js +258 -0
- package/dist/_chunk/numberfield.js.map +1 -0
- package/dist/_chunk/numberfield.jsx +258 -0
- package/dist/_chunk/numberfield.jsx.map +1 -0
- package/dist/_chunk/overlays.js +186 -0
- package/dist/_chunk/overlays.js.map +1 -0
- package/dist/_chunk/overlays.jsx +162 -0
- package/dist/_chunk/overlays.jsx.map +1 -0
- package/dist/_chunk/popover.js +574 -0
- package/dist/_chunk/popover.js.map +1 -0
- package/dist/_chunk/popover.jsx +574 -0
- package/dist/_chunk/popover.jsx.map +1 -0
- package/dist/_chunk/radio.js +319 -0
- package/dist/_chunk/radio.js.map +1 -0
- package/dist/_chunk/radio.jsx +319 -0
- package/dist/_chunk/radio.jsx.map +1 -0
- package/dist/_chunk/searchfield.js +209 -0
- package/dist/_chunk/searchfield.js.map +1 -0
- package/dist/_chunk/searchfield.jsx +209 -0
- package/dist/_chunk/searchfield.jsx.map +1 -0
- package/dist/_chunk/select.js +403 -0
- package/dist/_chunk/select.js.map +1 -0
- package/dist/_chunk/select.jsx +394 -0
- package/dist/_chunk/select.jsx.map +1 -0
- package/dist/_chunk/selection.js +679 -0
- package/dist/_chunk/selection.js.map +1 -0
- package/dist/_chunk/selection.jsx +679 -0
- package/dist/_chunk/selection.jsx.map +1 -0
- package/dist/_chunk/separator.js +29 -0
- package/dist/_chunk/separator.js.map +1 -0
- package/dist/_chunk/separator.jsx +29 -0
- package/dist/_chunk/separator.jsx.map +1 -0
- package/dist/_chunk/slider.js +255 -0
- package/dist/_chunk/slider.js.map +1 -0
- package/dist/_chunk/slider.jsx +255 -0
- package/dist/_chunk/slider.jsx.map +1 -0
- package/dist/_chunk/steplist.js +66 -0
- package/dist/_chunk/steplist.js.map +1 -0
- package/dist/_chunk/steplist.jsx +66 -0
- package/dist/_chunk/steplist.jsx.map +1 -0
- package/dist/_chunk/switch.js +34 -0
- package/dist/_chunk/switch.js.map +1 -0
- package/dist/_chunk/switch.jsx +34 -0
- package/dist/_chunk/switch.jsx.map +1 -0
- package/dist/_chunk/table.js +1051 -0
- package/dist/_chunk/table.js.map +1 -0
- package/dist/_chunk/table.jsx +1051 -0
- package/dist/_chunk/table.jsx.map +1 -0
- package/dist/_chunk/tabs.js +260 -0
- package/dist/_chunk/tabs.js.map +1 -0
- package/dist/_chunk/tabs.jsx +260 -0
- package/dist/_chunk/tabs.jsx.map +1 -0
- package/dist/_chunk/tag.js +286 -0
- package/dist/_chunk/tag.js.map +1 -0
- package/dist/_chunk/tag.jsx +286 -0
- package/dist/_chunk/tag.jsx.map +1 -0
- package/dist/_chunk/textfield.js +109 -0
- package/dist/_chunk/textfield.js.map +1 -0
- package/dist/_chunk/textfield.jsx +109 -0
- package/dist/_chunk/textfield.jsx.map +1 -0
- package/dist/_chunk/toast.js +250 -0
- package/dist/_chunk/toast.js.map +1 -0
- package/dist/_chunk/toast.jsx +250 -0
- package/dist/_chunk/toast.jsx.map +1 -0
- package/dist/_chunk/toolbar.js +258 -0
- package/dist/_chunk/toolbar.js.map +1 -0
- package/dist/_chunk/toolbar.jsx +258 -0
- package/dist/_chunk/toolbar.jsx.map +1 -0
- package/dist/_chunk/tooltip.js +185 -0
- package/dist/_chunk/tooltip.js.map +1 -0
- package/dist/_chunk/tooltip.jsx +185 -0
- package/dist/_chunk/tooltip.jsx.map +1 -0
- package/dist/_chunk/tree.js +424 -0
- package/dist/_chunk/tree.js.map +1 -0
- package/dist/_chunk/tree.jsx +424 -0
- package/dist/_chunk/tree.jsx.map +1 -0
- package/dist/_chunk/utils.js +665 -0
- package/dist/_chunk/utils.js.map +1 -0
- package/dist/_chunk/utils.jsx +665 -0
- package/dist/_chunk/utils.jsx.map +1 -0
- package/dist/_chunk/visually-hidden.js +92 -0
- package/dist/_chunk/visually-hidden.js.map +1 -0
- package/dist/_chunk/visually-hidden.jsx +92 -0
- package/dist/_chunk/visually-hidden.jsx.map +1 -0
- package/dist/actiongroup/index.js +2 -0
- package/dist/actiongroup/index.jsx +2 -0
- package/dist/autocomplete/createAutocomplete.d.ts +2 -0
- package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
- package/dist/autocomplete/index.js +2 -0
- package/dist/autocomplete/index.jsx +2 -0
- package/dist/breadcrumbs/index.js +2 -0
- package/dist/breadcrumbs/index.jsx +2 -0
- package/dist/button/index.js +2 -0
- package/dist/button/index.jsx +2 -0
- package/dist/calendar/createCalendar.d.ts.map +1 -1
- package/dist/calendar/createCalendarCell.d.ts.map +1 -1
- package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
- package/dist/calendar/createCalendarMonthPicker.d.ts +41 -0
- package/dist/calendar/createCalendarMonthPicker.d.ts.map +1 -0
- package/dist/calendar/createCalendarYearPicker.d.ts +49 -0
- package/dist/calendar/createCalendarYearPicker.d.ts.map +1 -0
- package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
- package/dist/calendar/index.d.ts +2 -0
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/index.js +2 -0
- package/dist/calendar/index.jsx +2 -0
- package/dist/calendar/utils.d.ts +4 -0
- package/dist/calendar/utils.d.ts.map +1 -1
- package/dist/checkbox/createCheckbox.d.ts +4 -0
- package/dist/checkbox/createCheckbox.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
- package/dist/checkbox/index.js +2 -0
- package/dist/checkbox/index.jsx +2 -0
- package/dist/collections/index.js +160 -0
- package/dist/collections/index.js.map +1 -0
- package/dist/collections/index.jsx +160 -0
- package/dist/collections/index.jsx.map +1 -0
- package/dist/color/index.js +2 -0
- package/dist/color/index.jsx +2 -0
- package/dist/combobox/index.js +2 -0
- package/dist/combobox/index.jsx +2 -0
- package/dist/datepicker/createDateSegment.d.ts.map +1 -1
- package/dist/datepicker/index.js +2 -0
- package/dist/datepicker/index.jsx +2 -0
- package/dist/dialog/index.js +2 -0
- package/dist/dialog/index.jsx +2 -0
- package/dist/disclosure/index.js +2 -0
- package/dist/disclosure/index.jsx +2 -0
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/index.js +2 -0
- package/dist/dnd/index.jsx +2 -0
- package/dist/dnd/utils.d.ts +2 -2
- package/dist/dnd/utils.d.ts.map +1 -1
- package/dist/focus/FocusScope.d.ts.map +1 -1
- package/dist/focus/index.js +2 -0
- package/dist/focus/index.jsx +2 -0
- package/dist/form/createFormValidation.d.ts.map +1 -1
- package/dist/form/index.js +3 -0
- package/dist/form/index.jsx +3 -0
- package/dist/grid/index.js +2 -0
- package/dist/grid/index.jsx +2 -0
- package/dist/gridlist/createGridList.d.ts +7 -1
- package/dist/gridlist/createGridList.d.ts.map +1 -1
- package/dist/gridlist/createGridListItem.d.ts +1 -1
- package/dist/gridlist/createGridListItem.d.ts.map +1 -1
- package/dist/gridlist/createGridListSection.d.ts +15 -0
- package/dist/gridlist/createGridListSection.d.ts.map +1 -0
- package/dist/gridlist/index.d.ts +2 -1
- package/dist/gridlist/index.d.ts.map +1 -1
- package/dist/gridlist/index.js +2 -0
- package/dist/gridlist/index.jsx +2 -0
- package/dist/gridlist/types.d.ts +50 -0
- package/dist/gridlist/types.d.ts.map +1 -1
- package/dist/i18n/index.js +3 -0
- package/dist/i18n/index.jsx +3 -0
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -18311
- package/dist/index.jsx +71 -18242
- package/dist/interactions/PressEvent.d.ts +11 -0
- package/dist/interactions/PressEvent.d.ts.map +1 -1
- package/dist/interactions/createInteractionModality.d.ts +0 -1
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts.map +1 -1
- package/dist/interactions/createPress.d.ts.map +1 -1
- package/dist/interactions/index.js +10 -0
- package/dist/interactions/index.jsx +10 -0
- package/dist/label/index.js +4 -0
- package/dist/label/index.jsx +4 -0
- package/dist/landmark/index.js +2 -0
- package/dist/landmark/index.jsx +2 -0
- package/dist/link/index.js +2 -0
- package/dist/link/index.jsx +2 -0
- package/dist/listbox/createListBox.d.ts +37 -0
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +6 -0
- package/dist/listbox/createOption.d.ts.map +1 -1
- package/dist/listbox/index.js +2 -0
- package/dist/listbox/index.jsx +2 -0
- package/dist/live-announcer/index.js +2 -0
- package/dist/live-announcer/index.jsx +2 -0
- package/dist/menu/createMenu.d.ts +7 -4
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +9 -1
- package/dist/menu/createMenuItem.d.ts.map +1 -1
- package/dist/menu/index.js +2 -0
- package/dist/menu/index.jsx +2 -0
- package/dist/meter/index.js +2 -0
- package/dist/meter/index.jsx +2 -0
- package/dist/numberfield/createNumberField.d.ts.map +1 -1
- package/dist/numberfield/index.js +2 -0
- package/dist/numberfield/index.jsx +2 -0
- package/dist/overlays/index.js +4 -0
- package/dist/overlays/index.jsx +4 -0
- package/dist/popover/calculatePosition.d.ts +2 -0
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +8 -0
- package/dist/popover/createOverlayPosition.d.ts.map +1 -1
- package/dist/popover/index.js +2 -0
- package/dist/popover/index.jsx +2 -0
- package/dist/progress/index.js +2 -0
- package/dist/progress/index.jsx +2 -0
- package/dist/radio/createRadio.d.ts +2 -0
- package/dist/radio/createRadio.d.ts.map +1 -1
- package/dist/radio/index.js +2 -0
- package/dist/radio/index.jsx +2 -0
- package/dist/searchfield/index.js +2 -0
- package/dist/searchfield/index.jsx +2 -0
- package/dist/select/createSelect.d.ts.map +1 -1
- package/dist/select/index.js +2 -0
- package/dist/select/index.jsx +2 -0
- package/dist/selection/DOMLayoutDelegate.d.ts +58 -0
- package/dist/selection/DOMLayoutDelegate.d.ts.map +1 -0
- package/dist/selection/ListKeyboardDelegate.d.ts +95 -0
- package/dist/selection/ListKeyboardDelegate.d.ts.map +1 -0
- package/dist/selection/constants.d.ts +15 -0
- package/dist/selection/constants.d.ts.map +1 -0
- package/dist/selection/createCollectionRowInteraction.d.ts +13 -0
- package/dist/selection/createCollectionRowInteraction.d.ts.map +1 -0
- package/dist/selection/createScrollIntoViewOnFocus.d.ts +31 -0
- package/dist/selection/createScrollIntoViewOnFocus.d.ts.map +1 -0
- package/dist/selection/createSelectableCollection.d.ts +69 -0
- package/dist/selection/createSelectableCollection.d.ts.map +1 -0
- package/dist/selection/createSelectableItem.d.ts +154 -0
- package/dist/selection/createSelectableItem.d.ts.map +1 -0
- package/dist/selection/createSelectableList.d.ts +43 -0
- package/dist/selection/createSelectableList.d.ts.map +1 -0
- package/dist/selection/createTypeSelect.d.ts.map +1 -1
- package/dist/selection/index.d.ts +9 -0
- package/dist/selection/index.d.ts.map +1 -1
- package/dist/selection/index.js +4 -0
- package/dist/selection/index.jsx +4 -0
- package/dist/selection/selectItem.d.ts +29 -0
- package/dist/selection/selectItem.d.ts.map +1 -0
- package/dist/selection/utils.d.ts +40 -0
- package/dist/selection/utils.d.ts.map +1 -0
- package/dist/separator/index.js +2 -0
- package/dist/separator/index.jsx +2 -0
- package/dist/slider/createSlider.d.ts.map +1 -1
- package/dist/slider/index.js +2 -0
- package/dist/slider/index.jsx +2 -0
- package/dist/ssr/index.d.ts +17 -0
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/ssr/index.js +299 -0
- package/dist/ssr/index.js.map +1 -0
- package/dist/ssr/index.jsx +292 -0
- package/dist/ssr/index.jsx.map +1 -0
- package/dist/steplist/index.js +2 -0
- package/dist/steplist/index.jsx +2 -0
- package/dist/switch/createSwitch.d.ts +4 -0
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/switch/index.js +2 -0
- package/dist/switch/index.jsx +2 -0
- package/dist/table/createTable.d.ts.map +1 -1
- package/dist/table/createTableRow.d.ts +1 -1
- package/dist/table/createTableRow.d.ts.map +1 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
- package/dist/table/index.js +2 -0
- package/dist/table/index.jsx +2 -0
- package/dist/table/types.d.ts +27 -1
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tabs/createTabs.d.ts +4 -3
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tabs/index.js +2 -0
- package/dist/tabs/index.jsx +2 -0
- package/dist/tag/createTag.d.ts +2 -0
- package/dist/tag/createTag.d.ts.map +1 -1
- package/dist/tag/index.js +2 -0
- package/dist/tag/index.jsx +2 -0
- package/dist/textfield/index.js +2 -0
- package/dist/textfield/index.jsx +2 -0
- package/dist/toast/createToast.d.ts.map +1 -1
- package/dist/toast/index.js +2 -0
- package/dist/toast/index.jsx +2 -0
- package/dist/toggle/createToggle.d.ts +4 -0
- package/dist/toggle/createToggle.d.ts.map +1 -1
- package/dist/toggle/index.js +3 -0
- package/dist/toggle/index.jsx +3 -0
- package/dist/toolbar/createToolbar.d.ts +1 -1
- package/dist/toolbar/createToolbar.d.ts.map +1 -1
- package/dist/toolbar/index.js +2 -0
- package/dist/toolbar/index.jsx +2 -0
- package/dist/tooltip/index.js +2 -0
- package/dist/tooltip/index.jsx +2 -0
- package/dist/tree/createTree.d.ts +5 -1
- package/dist/tree/createTree.d.ts.map +1 -1
- package/dist/tree/createTreeItem.d.ts +1 -1
- package/dist/tree/createTreeItem.d.ts.map +1 -1
- package/dist/tree/index.js +2 -0
- package/dist/tree/index.jsx +2 -0
- package/dist/tree/types.d.ts +10 -0
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/utils/animation.d.ts +60 -0
- package/dist/utils/animation.d.ts.map +1 -0
- package/dist/utils/dom.d.ts +48 -2
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/index.d.ts +4 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.jsx +5 -0
- package/dist/utils/keyboard.d.ts +17 -0
- package/dist/utils/keyboard.d.ts.map +1 -0
- package/dist/utils/mergeProps.d.ts.map +1 -1
- package/dist/utils/scrollIntoView.d.ts +30 -0
- package/dist/utils/scrollIntoView.d.ts.map +1 -0
- package/dist/visually-hidden/index.js +2 -0
- package/dist/visually-hidden/index.jsx +2 -0
- package/package.json +304 -3
- package/src/autocomplete/createAutocomplete.ts +67 -21
- package/src/calendar/createCalendar.ts +2 -0
- package/src/calendar/createCalendarCell.ts +19 -2
- package/src/calendar/createCalendarGrid.ts +43 -9
- package/src/calendar/createCalendarMonthPicker.ts +105 -0
- package/src/calendar/createCalendarYearPicker.ts +144 -0
- package/src/calendar/createRangeCalendar.ts +2 -0
- package/src/calendar/index.ts +17 -0
- package/src/calendar/utils.ts +4 -0
- package/src/checkbox/createCheckbox.ts +10 -0
- package/src/checkbox/createCheckboxGroupItem.ts +12 -16
- package/src/datepicker/createDateSegment.ts +6 -1
- package/src/dnd/createDroppableCollection.ts +4 -1
- package/src/dnd/utils.ts +27 -3
- package/src/focus/FocusScope.tsx +152 -18
- package/src/form/createFormValidation.ts +8 -1
- package/src/gridlist/createGridList.ts +145 -42
- package/src/gridlist/createGridListItem.ts +87 -155
- package/src/gridlist/createGridListSection.ts +54 -0
- package/src/gridlist/index.ts +3 -0
- package/src/gridlist/types.ts +47 -0
- package/src/index.ts +40 -0
- package/src/interactions/PressEvent.ts +14 -0
- package/src/interactions/createInteractionModality.ts +21 -12
- package/src/interactions/createKeyboard.ts +10 -0
- package/src/interactions/createPress.ts +29 -6
- package/src/listbox/createListBox.ts +129 -8
- package/src/listbox/createOption.ts +68 -73
- package/src/menu/createMenu.ts +93 -16
- package/src/menu/createMenuItem.ts +253 -41
- package/src/numberfield/createNumberField.ts +82 -14
- package/src/popover/calculatePosition.ts +19 -7
- package/src/popover/createOverlayPosition.ts +9 -0
- package/src/radio/createRadio.ts +19 -2
- package/src/select/createSelect.ts +18 -2
- package/src/selection/DOMLayoutDelegate.ts +102 -0
- package/src/selection/ListKeyboardDelegate.ts +398 -0
- package/src/selection/constants.ts +16 -0
- package/src/selection/createCollectionRowInteraction.ts +209 -0
- package/src/selection/createScrollIntoViewOnFocus.ts +65 -0
- package/src/selection/createSelectableCollection.ts +645 -0
- package/src/selection/createSelectableItem.ts +498 -0
- package/src/selection/createSelectableList.ts +93 -0
- package/src/selection/createTypeSelect.ts +112 -51
- package/src/selection/index.ts +31 -0
- package/src/selection/selectItem.ts +80 -0
- package/src/selection/utils.ts +82 -0
- package/src/slider/createSlider.ts +48 -1
- package/src/ssr/index.tsx +31 -0
- package/src/switch/createSwitch.ts +10 -0
- package/src/table/createTable.ts +56 -26
- package/src/table/createTableRow.ts +198 -203
- package/src/table/createTableSelectAllCheckbox.ts +3 -4
- package/src/table/types.ts +29 -1
- package/src/tabs/createTabs.ts +50 -20
- package/src/tag/createTag.ts +9 -4
- package/src/toast/createToast.ts +1 -0
- package/src/toggle/createToggle.ts +20 -0
- package/src/toolbar/createToolbar.ts +43 -42
- package/src/tree/createTree.ts +100 -42
- package/src/tree/createTreeItem.ts +105 -120
- package/src/tree/types.ts +10 -0
- package/src/utils/animation.ts +151 -0
- package/src/utils/dom.ts +215 -25
- package/src/utils/index.ts +8 -0
- package/src/utils/keyboard.ts +25 -0
- package/src/utils/mergeProps.ts +8 -1
- package/src/utils/scrollIntoView.ts +181 -0
- package/dist/index.js.map +0 -1
- package/dist/index.jsx.map +0 -1
|
@@ -0,0 +1,276 @@
|
|
|
1
|
+
import { t as createPress } from "./createPress.jsx";
|
|
2
|
+
import { o as mergeProps } from "./env.jsx";
|
|
3
|
+
import { t as filterDOMProps } from "./filterDOMProps.jsx";
|
|
4
|
+
import { n as createFocusable } from "./createFocusable.jsx";
|
|
5
|
+
import { t as createToolbar } from "./toolbar.jsx";
|
|
6
|
+
import { createSignal } from "solid-js";
|
|
7
|
+
//#region src/button/createButton.ts
|
|
8
|
+
function isDisabledValue$1(isDisabled) {
|
|
9
|
+
if (typeof isDisabled === "function") return isDisabled();
|
|
10
|
+
return isDisabled ?? false;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Provides the behavior and accessibility implementation for a button component.
|
|
14
|
+
* Handles press interactions across mouse, touch, keyboard and screen readers.
|
|
15
|
+
*
|
|
16
|
+
* Based on react-aria's useButton but adapted for SolidJS.
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```tsx
|
|
20
|
+
* import { createButton } from 'solidaria';
|
|
21
|
+
*
|
|
22
|
+
* function Button(props) {
|
|
23
|
+
* let ref;
|
|
24
|
+
* const { buttonProps, isPressed } = createButton(props);
|
|
25
|
+
*
|
|
26
|
+
* return (
|
|
27
|
+
* <button
|
|
28
|
+
* {...buttonProps}
|
|
29
|
+
* ref={ref}
|
|
30
|
+
* class={isPressed() ? 'pressed' : ''}
|
|
31
|
+
* >
|
|
32
|
+
* {props.children}
|
|
33
|
+
* </button>
|
|
34
|
+
* );
|
|
35
|
+
* }
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
function createButton(props = {}) {
|
|
39
|
+
const elementType = props.elementType ?? "button";
|
|
40
|
+
const isDisabled = () => isDisabledValue$1(props.isDisabled);
|
|
41
|
+
const { pressProps, isPressed } = createPress({
|
|
42
|
+
isDisabled,
|
|
43
|
+
onPress: (event) => props.onPress?.(event),
|
|
44
|
+
onPressStart: (event) => props.onPressStart?.(event),
|
|
45
|
+
onPressEnd: (event) => props.onPressEnd?.(event),
|
|
46
|
+
onPressUp: (event) => props.onPressUp?.(event),
|
|
47
|
+
onPressChange: (pressed) => props.onPressChange?.(pressed),
|
|
48
|
+
onClick: (event) => props.onClick?.(event),
|
|
49
|
+
get preventFocusOnPress() {
|
|
50
|
+
return props.preventFocusOnPress;
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
const { focusableProps } = createFocusable({
|
|
54
|
+
isDisabled,
|
|
55
|
+
autoFocus: props.autoFocus,
|
|
56
|
+
excludeFromTabOrder: props.excludeFromTabOrder
|
|
57
|
+
});
|
|
58
|
+
const isNativeButton = elementType === "button";
|
|
59
|
+
const isLink = elementType === "a";
|
|
60
|
+
if (props.allowFocusWhenDisabled) Object.defineProperty(focusableProps, "tabIndex", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
configurable: true,
|
|
63
|
+
get() {
|
|
64
|
+
return isDisabled() ? -1 : props.excludeFromTabOrder ? -1 : 0;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
let additionalProps = {};
|
|
68
|
+
if (isNativeButton) additionalProps = {
|
|
69
|
+
get type() {
|
|
70
|
+
return props.type ?? "button";
|
|
71
|
+
},
|
|
72
|
+
get disabled() {
|
|
73
|
+
return isDisabled();
|
|
74
|
+
},
|
|
75
|
+
get form() {
|
|
76
|
+
return props.form;
|
|
77
|
+
},
|
|
78
|
+
get formAction() {
|
|
79
|
+
return props.formAction;
|
|
80
|
+
},
|
|
81
|
+
get formEncType() {
|
|
82
|
+
return props.formEncType;
|
|
83
|
+
},
|
|
84
|
+
get formMethod() {
|
|
85
|
+
return props.formMethod;
|
|
86
|
+
},
|
|
87
|
+
get formNoValidate() {
|
|
88
|
+
return props.formNoValidate;
|
|
89
|
+
},
|
|
90
|
+
get formTarget() {
|
|
91
|
+
return props.formTarget;
|
|
92
|
+
},
|
|
93
|
+
get name() {
|
|
94
|
+
return props.name;
|
|
95
|
+
},
|
|
96
|
+
get value() {
|
|
97
|
+
return props.value;
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
else additionalProps = {
|
|
101
|
+
role: "button",
|
|
102
|
+
get href() {
|
|
103
|
+
return isLink && !isDisabled() ? props.href : void 0;
|
|
104
|
+
},
|
|
105
|
+
get target() {
|
|
106
|
+
return isLink ? props.target : void 0;
|
|
107
|
+
},
|
|
108
|
+
get type() {
|
|
109
|
+
return elementType === "input" ? props.type ?? "button" : void 0;
|
|
110
|
+
},
|
|
111
|
+
get disabled() {
|
|
112
|
+
return elementType === "input" ? isDisabled() : void 0;
|
|
113
|
+
},
|
|
114
|
+
get "aria-disabled"() {
|
|
115
|
+
return isDisabled() && elementType !== "input" ? true : void 0;
|
|
116
|
+
},
|
|
117
|
+
get rel() {
|
|
118
|
+
return isLink ? props.rel : void 0;
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
return {
|
|
122
|
+
buttonProps: mergeProps(additionalProps, focusableProps, pressProps, filterDOMProps(props, { labelable: true }), {
|
|
123
|
+
get "aria-haspopup"() {
|
|
124
|
+
return props["aria-haspopup"];
|
|
125
|
+
},
|
|
126
|
+
get "aria-expanded"() {
|
|
127
|
+
return props["aria-expanded"];
|
|
128
|
+
},
|
|
129
|
+
get "aria-controls"() {
|
|
130
|
+
return props["aria-controls"];
|
|
131
|
+
},
|
|
132
|
+
get "aria-pressed"() {
|
|
133
|
+
return props["aria-pressed"];
|
|
134
|
+
},
|
|
135
|
+
get "aria-current"() {
|
|
136
|
+
return props["aria-current"];
|
|
137
|
+
},
|
|
138
|
+
get "aria-disabled"() {
|
|
139
|
+
return props["aria-disabled"];
|
|
140
|
+
}
|
|
141
|
+
}),
|
|
142
|
+
isPressed
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
//#endregion
|
|
146
|
+
//#region src/button/createToggleButton.ts
|
|
147
|
+
function getSelectedValue(isSelected) {
|
|
148
|
+
if (typeof isSelected === "function") return isSelected();
|
|
149
|
+
return isSelected ?? false;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Provides the behavior and accessibility implementation for a toggle button component.
|
|
153
|
+
* Toggle buttons allow users to toggle a selection on or off.
|
|
154
|
+
*
|
|
155
|
+
* Based on react-aria's useToggleButton but adapted for SolidJS.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```tsx
|
|
159
|
+
* import { createToggleButton } from 'solidaria';
|
|
160
|
+
*
|
|
161
|
+
* function ToggleButton(props) {
|
|
162
|
+
* const { buttonProps, isPressed, isSelected } = createToggleButton(props);
|
|
163
|
+
*
|
|
164
|
+
* return (
|
|
165
|
+
* <button
|
|
166
|
+
* {...buttonProps}
|
|
167
|
+
* class={isSelected() ? 'selected' : ''}
|
|
168
|
+
* style={{ opacity: isPressed() ? 0.8 : 1 }}
|
|
169
|
+
* >
|
|
170
|
+
* {props.children}
|
|
171
|
+
* </button>
|
|
172
|
+
* );
|
|
173
|
+
* }
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
function createToggleButton(props = {}) {
|
|
177
|
+
const isControlled = props.isSelected !== void 0;
|
|
178
|
+
const [uncontrolledSelected, setUncontrolledSelected] = createSignal(props.defaultSelected ?? false);
|
|
179
|
+
const isSelected = () => {
|
|
180
|
+
if (isControlled) return getSelectedValue(props.isSelected);
|
|
181
|
+
return uncontrolledSelected();
|
|
182
|
+
};
|
|
183
|
+
const toggleSelection = () => {
|
|
184
|
+
const newValue = !isSelected();
|
|
185
|
+
if (!isControlled) setUncontrolledSelected(newValue);
|
|
186
|
+
props.onChange?.(newValue);
|
|
187
|
+
};
|
|
188
|
+
const onPress = (e) => {
|
|
189
|
+
toggleSelection();
|
|
190
|
+
props.onPress?.(e);
|
|
191
|
+
};
|
|
192
|
+
const { buttonProps: baseButtonProps, isPressed } = createButton(mergeProps(props, { onPress }));
|
|
193
|
+
return {
|
|
194
|
+
buttonProps: {
|
|
195
|
+
...baseButtonProps,
|
|
196
|
+
get "aria-pressed"() {
|
|
197
|
+
return isSelected();
|
|
198
|
+
}
|
|
199
|
+
},
|
|
200
|
+
isPressed,
|
|
201
|
+
isSelected
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
//#endregion
|
|
205
|
+
//#region src/button/createToggleButtonGroup.ts
|
|
206
|
+
function isDisabledValue(isDisabled) {
|
|
207
|
+
if (typeof isDisabled === "function") return isDisabled();
|
|
208
|
+
return !!isDisabled;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Provides ARIA behavior for a toggle button group container.
|
|
212
|
+
*/
|
|
213
|
+
function createToggleButtonGroup(props, state) {
|
|
214
|
+
const { toolbarProps } = createToolbar({
|
|
215
|
+
get orientation() {
|
|
216
|
+
return props.orientation;
|
|
217
|
+
},
|
|
218
|
+
get "aria-label"() {
|
|
219
|
+
return props["aria-label"];
|
|
220
|
+
},
|
|
221
|
+
get "aria-labelledby"() {
|
|
222
|
+
return props["aria-labelledby"];
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
return { groupProps: mergeProps(toolbarProps, {
|
|
226
|
+
get role() {
|
|
227
|
+
return state.selectionMode === "single" ? "radiogroup" : toolbarProps.role;
|
|
228
|
+
},
|
|
229
|
+
get "aria-disabled"() {
|
|
230
|
+
return props.isDisabled || void 0;
|
|
231
|
+
}
|
|
232
|
+
}) };
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Provides ARIA behavior for an item within a toggle button group.
|
|
236
|
+
*/
|
|
237
|
+
function createToggleButtonGroupItem(props, state) {
|
|
238
|
+
const { id: _id, ...toggleProps } = props;
|
|
239
|
+
const toggleButton = createToggleButton({
|
|
240
|
+
...toggleProps,
|
|
241
|
+
get isSelected() {
|
|
242
|
+
return state.selectedKeys.has(props.id);
|
|
243
|
+
},
|
|
244
|
+
onChange(isSelected) {
|
|
245
|
+
state.setSelected(props.id, isSelected);
|
|
246
|
+
props.onChange?.(isSelected);
|
|
247
|
+
},
|
|
248
|
+
get isDisabled() {
|
|
249
|
+
return isDisabledValue(props.isDisabled) || state.isDisabled;
|
|
250
|
+
}
|
|
251
|
+
});
|
|
252
|
+
const baseButtonProps = toggleButton.buttonProps;
|
|
253
|
+
const buttonProps = {
|
|
254
|
+
...baseButtonProps,
|
|
255
|
+
get role() {
|
|
256
|
+
if (state.selectionMode === "single") return "radio";
|
|
257
|
+
return baseButtonProps.role;
|
|
258
|
+
},
|
|
259
|
+
get "aria-checked"() {
|
|
260
|
+
if (state.selectionMode !== "single") return;
|
|
261
|
+
return state.selectedKeys.has(props.id);
|
|
262
|
+
},
|
|
263
|
+
get "aria-pressed"() {
|
|
264
|
+
if (state.selectionMode === "single") return;
|
|
265
|
+
return baseButtonProps["aria-pressed"];
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
return {
|
|
269
|
+
...toggleButton,
|
|
270
|
+
buttonProps
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
//#endregion
|
|
274
|
+
export { createButton as i, createToggleButtonGroupItem as n, createToggleButton as r, createToggleButtonGroup as t };
|
|
275
|
+
|
|
276
|
+
//# sourceMappingURL=button.jsx.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.jsx","names":["isDisabledValue"],"sources":["../../src/button/createButton.ts","../../src/button/createToggleButton.ts","../../src/button/createToggleButtonGroup.ts"],"sourcesContent":["import { Accessor } from \"solid-js\";\nimport { createPress } from \"../interactions\";\nimport { createFocusable } from \"../interactions\";\nimport { mergeProps, filterDOMProps } from \"../utils\";\nimport type { AriaButtonProps, ButtonAria } from \"./types\";\n\nfunction isDisabledValue(isDisabled: Accessor<boolean> | boolean | undefined): boolean {\n if (typeof isDisabled === \"function\") {\n return isDisabled();\n }\n return isDisabled ?? false;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a button component.\n * Handles press interactions across mouse, touch, keyboard and screen readers.\n *\n * Based on react-aria's useButton but adapted for SolidJS.\n *\n * @example\n * ```tsx\n * import { createButton } from 'solidaria';\n *\n * function Button(props) {\n * let ref;\n * const { buttonProps, isPressed } = createButton(props);\n *\n * return (\n * <button\n * {...buttonProps}\n * ref={ref}\n * class={isPressed() ? 'pressed' : ''}\n * >\n * {props.children}\n * </button>\n * );\n * }\n * ```\n */\nexport function createButton(props: AriaButtonProps = {}): ButtonAria {\n const elementType = props.elementType ?? \"button\";\n const isDisabled = () => isDisabledValue(props.isDisabled);\n\n const { pressProps, isPressed } = createPress({\n isDisabled,\n onPress: (event) => props.onPress?.(event),\n onPressStart: (event) => props.onPressStart?.(event),\n onPressEnd: (event) => props.onPressEnd?.(event),\n onPressUp: (event) => props.onPressUp?.(event),\n onPressChange: (pressed) => props.onPressChange?.(pressed),\n onClick: (event) => props.onClick?.(event),\n get preventFocusOnPress() {\n return props.preventFocusOnPress;\n },\n });\n\n const { focusableProps } = createFocusable({\n isDisabled,\n autoFocus: props.autoFocus,\n excludeFromTabOrder: props.excludeFromTabOrder,\n });\n\n const isNativeButton = elementType === \"button\";\n const isLink = elementType === \"a\";\n\n // Handle allowFocusWhenDisabled - set tabIndex to -1 when disabled but focusable\n // This allows tooltips to be shown on disabled buttons\n if (props.allowFocusWhenDisabled) {\n Object.defineProperty(focusableProps, \"tabIndex\", {\n enumerable: true,\n configurable: true,\n get() {\n return isDisabled() ? -1 : props.excludeFromTabOrder ? -1 : 0;\n },\n });\n }\n\n let additionalProps: Record<string, unknown> = {};\n\n if (isNativeButton) {\n additionalProps = {\n get type() {\n return props.type ?? \"button\";\n },\n get disabled() {\n return isDisabled();\n },\n get form() {\n return props.form;\n },\n get formAction() {\n return props.formAction;\n },\n get formEncType() {\n return props.formEncType;\n },\n get formMethod() {\n return props.formMethod;\n },\n get formNoValidate() {\n return props.formNoValidate;\n },\n get formTarget() {\n return props.formTarget;\n },\n get name() {\n return props.name;\n },\n get value() {\n return props.value;\n },\n };\n } else {\n // Non-native buttons need role; focusableProps supplies tabIndex.\n additionalProps = {\n role: \"button\",\n get href() {\n return isLink && !isDisabled() ? props.href : undefined;\n },\n get target() {\n return isLink ? props.target : undefined;\n },\n get type() {\n return elementType === \"input\" ? (props.type ?? \"button\") : undefined;\n },\n get disabled() {\n return elementType === \"input\" ? isDisabled() : undefined;\n },\n get \"aria-disabled\"() {\n return isDisabled() && elementType !== \"input\" ? true : undefined;\n },\n get rel() {\n return isLink ? props.rel : undefined;\n },\n };\n }\n\n const ariaProps: Record<string, unknown> = {\n get \"aria-haspopup\"() {\n return props[\"aria-haspopup\"];\n },\n get \"aria-expanded\"() {\n return props[\"aria-expanded\"];\n },\n get \"aria-controls\"() {\n return props[\"aria-controls\"];\n },\n get \"aria-pressed\"() {\n return props[\"aria-pressed\"];\n },\n get \"aria-current\"() {\n return props[\"aria-current\"];\n },\n get \"aria-disabled\"() {\n return props[\"aria-disabled\"];\n },\n };\n\n const buttonProps = mergeProps(\n additionalProps,\n focusableProps as Record<string, unknown>,\n pressProps as Record<string, unknown>,\n filterDOMProps(props as Record<string, unknown>, { labelable: true }),\n ariaProps,\n );\n\n return {\n buttonProps,\n isPressed,\n };\n}\n","import { Accessor, createSignal } from \"solid-js\";\nimport { createButton } from \"./createButton\";\nimport { mergeProps } from \"../utils\";\nimport type { AriaButtonProps, ButtonAria } from \"./types\";\nimport type { PressEvent } from \"../interactions\";\n\nexport interface AriaToggleButtonProps extends Omit<AriaButtonProps, \"aria-pressed\"> {\n /** Whether the button is selected (controlled). */\n isSelected?: Accessor<boolean> | boolean;\n /** Handler called when the button's selection state changes. */\n onChange?: (isSelected: boolean) => void;\n /** The default selected state (uncontrolled). */\n defaultSelected?: boolean;\n}\n\nexport interface ToggleButtonAria extends ButtonAria {\n /** Whether the button is currently selected. */\n isSelected: Accessor<boolean>;\n}\n\nfunction getSelectedValue(isSelected: Accessor<boolean> | boolean | undefined): boolean {\n if (typeof isSelected === \"function\") {\n return isSelected();\n }\n return isSelected ?? false;\n}\n\n/**\n * Provides the behavior and accessibility implementation for a toggle button component.\n * Toggle buttons allow users to toggle a selection on or off.\n *\n * Based on react-aria's useToggleButton but adapted for SolidJS.\n *\n * @example\n * ```tsx\n * import { createToggleButton } from 'solidaria';\n *\n * function ToggleButton(props) {\n * const { buttonProps, isPressed, isSelected } = createToggleButton(props);\n *\n * return (\n * <button\n * {...buttonProps}\n * class={isSelected() ? 'selected' : ''}\n * style={{ opacity: isPressed() ? 0.8 : 1 }}\n * >\n * {props.children}\n * </button>\n * );\n * }\n * ```\n */\nexport function createToggleButton(props: AriaToggleButtonProps = {}): ToggleButtonAria {\n // Handle controlled vs uncontrolled state\n const isControlled = props.isSelected !== undefined;\n const [uncontrolledSelected, setUncontrolledSelected] = createSignal(\n props.defaultSelected ?? false,\n );\n\n const isSelected = (): boolean => {\n if (isControlled) {\n return getSelectedValue(props.isSelected);\n }\n return uncontrolledSelected();\n };\n\n const toggleSelection = () => {\n const newValue = !isSelected();\n if (!isControlled) {\n setUncontrolledSelected(newValue);\n }\n props.onChange?.(newValue);\n };\n\n // Create the press handler that toggles selection\n const onPress = (e: PressEvent) => {\n toggleSelection();\n props.onPress?.(e);\n };\n\n // Get button props with our custom press handler\n const { buttonProps: baseButtonProps, isPressed } = createButton(\n mergeProps(props, {\n onPress,\n }) as AriaButtonProps,\n );\n\n // Create buttonProps with a getter for aria-pressed so it stays reactive\n const buttonProps = {\n ...baseButtonProps,\n get \"aria-pressed\"() {\n return isSelected();\n },\n };\n\n return {\n buttonProps,\n isPressed,\n isSelected,\n };\n}\n","import type { JSX } from \"solid-js\";\nimport type { Key, ToggleGroupProps, ToggleGroupState } from \"@proyecto-viviana/solid-stately\";\nimport { createToolbar, type Orientation } from \"../toolbar\";\nimport { mergeProps } from \"../utils\";\nimport {\n createToggleButton,\n type AriaToggleButtonProps,\n type ToggleButtonAria,\n} from \"./createToggleButton\";\n\nexport interface AriaToggleButtonGroupProps extends ToggleGroupProps {\n /**\n * The orientation of the toggle button group.\n * @default 'horizontal'\n */\n orientation?: Orientation;\n /** Accessible label. */\n \"aria-label\"?: string;\n /** Labelled-by id. */\n \"aria-labelledby\"?: string;\n}\n\nexport interface ToggleButtonGroupAria {\n /** Props for the group container. */\n groupProps: JSX.HTMLAttributes<HTMLElement>;\n}\n\nexport interface AriaToggleButtonGroupItemProps extends Omit<AriaToggleButtonProps, \"children\"> {\n /** Key used in the group selection state. */\n id: Key;\n}\n\nfunction isDisabledValue(isDisabled: AriaToggleButtonProps[\"isDisabled\"]): boolean {\n if (typeof isDisabled === \"function\") {\n return isDisabled();\n }\n return !!isDisabled;\n}\n\n/**\n * Provides ARIA behavior for a toggle button group container.\n */\nexport function createToggleButtonGroup(\n props: AriaToggleButtonGroupProps,\n state: ToggleGroupState,\n): ToggleButtonGroupAria {\n const { toolbarProps } = createToolbar({\n get orientation() {\n return props.orientation;\n },\n get \"aria-label\"() {\n return props[\"aria-label\"];\n },\n get \"aria-labelledby\"() {\n return props[\"aria-labelledby\"];\n },\n });\n\n const groupProps = mergeProps(toolbarProps as Record<string, unknown>, {\n get role() {\n return state.selectionMode === \"single\" ? \"radiogroup\" : toolbarProps.role;\n },\n get \"aria-disabled\"() {\n return props.isDisabled || undefined;\n },\n }) as JSX.HTMLAttributes<HTMLElement>;\n\n return { groupProps };\n}\n\n/**\n * Provides ARIA behavior for an item within a toggle button group.\n */\nexport function createToggleButtonGroupItem(\n props: AriaToggleButtonGroupItemProps,\n state: ToggleGroupState,\n): ToggleButtonAria {\n const { id: _id, ...toggleProps } = props;\n\n const toggleButton = createToggleButton({\n ...toggleProps,\n get isSelected() {\n return state.selectedKeys.has(props.id);\n },\n onChange(isSelected) {\n state.setSelected(props.id, isSelected);\n props.onChange?.(isSelected);\n },\n get isDisabled() {\n return isDisabledValue(props.isDisabled) || state.isDisabled;\n },\n });\n\n const baseButtonProps = toggleButton.buttonProps as Record<string, unknown>;\n const buttonProps: Record<string, unknown> = {\n ...baseButtonProps,\n get role() {\n if (state.selectionMode === \"single\") {\n return \"radio\";\n }\n return baseButtonProps.role as string | undefined;\n },\n get \"aria-checked\"() {\n if (state.selectionMode !== \"single\") {\n return undefined;\n }\n return state.selectedKeys.has(props.id);\n },\n get \"aria-pressed\"() {\n if (state.selectionMode === \"single\") {\n return undefined;\n }\n return baseButtonProps[\"aria-pressed\"];\n },\n };\n\n return {\n ...toggleButton,\n buttonProps,\n };\n}\n"],"mappings":";;;;;;;AAMA,SAASA,kBAAgB,YAA8D;CACrF,IAAI,OAAO,eAAe,YACxB,OAAO,WAAW;CAEpB,OAAO,cAAc;AACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,SAAgB,aAAa,QAAyB,CAAC,GAAe;CACpE,MAAM,cAAc,MAAM,eAAe;CACzC,MAAM,mBAAmBA,kBAAgB,MAAM,UAAU;CAEzD,MAAM,EAAE,YAAY,cAAc,YAAY;EAC5C;EACA,UAAU,UAAU,MAAM,UAAU,KAAK;EACzC,eAAe,UAAU,MAAM,eAAe,KAAK;EACnD,aAAa,UAAU,MAAM,aAAa,KAAK;EAC/C,YAAY,UAAU,MAAM,YAAY,KAAK;EAC7C,gBAAgB,YAAY,MAAM,gBAAgB,OAAO;EACzD,UAAU,UAAU,MAAM,UAAU,KAAK;EACzC,IAAI,sBAAsB;GACxB,OAAO,MAAM;EACf;CACF,CAAC;CAED,MAAM,EAAE,mBAAmB,gBAAgB;EACzC;EACA,WAAW,MAAM;EACjB,qBAAqB,MAAM;CAC7B,CAAC;CAED,MAAM,iBAAiB,gBAAgB;CACvC,MAAM,SAAS,gBAAgB;CAI/B,IAAI,MAAM,wBACR,OAAO,eAAe,gBAAgB,YAAY;EAChD,YAAY;EACZ,cAAc;EACd,MAAM;GACJ,OAAO,WAAW,IAAI,KAAK,MAAM,sBAAsB,KAAK;EAC9D;CACF,CAAC;CAGH,IAAI,kBAA2C,CAAC;CAEhD,IAAI,gBACF,kBAAkB;EAChB,IAAI,OAAO;GACT,OAAO,MAAM,QAAQ;EACvB;EACA,IAAI,WAAW;GACb,OAAO,WAAW;EACpB;EACA,IAAI,OAAO;GACT,OAAO,MAAM;EACf;EACA,IAAI,aAAa;GACf,OAAO,MAAM;EACf;EACA,IAAI,cAAc;GAChB,OAAO,MAAM;EACf;EACA,IAAI,aAAa;GACf,OAAO,MAAM;EACf;EACA,IAAI,iBAAiB;GACnB,OAAO,MAAM;EACf;EACA,IAAI,aAAa;GACf,OAAO,MAAM;EACf;EACA,IAAI,OAAO;GACT,OAAO,MAAM;EACf;EACA,IAAI,QAAQ;GACV,OAAO,MAAM;EACf;CACF;MAGA,kBAAkB;EAChB,MAAM;EACN,IAAI,OAAO;GACT,OAAO,UAAU,CAAC,WAAW,IAAI,MAAM,OAAO,KAAA;EAChD;EACA,IAAI,SAAS;GACX,OAAO,SAAS,MAAM,SAAS,KAAA;EACjC;EACA,IAAI,OAAO;GACT,OAAO,gBAAgB,UAAW,MAAM,QAAQ,WAAY,KAAA;EAC9D;EACA,IAAI,WAAW;GACb,OAAO,gBAAgB,UAAU,WAAW,IAAI,KAAA;EAClD;EACA,IAAI,kBAAkB;GACpB,OAAO,WAAW,KAAK,gBAAgB,UAAU,OAAO,KAAA;EAC1D;EACA,IAAI,MAAM;GACR,OAAO,SAAS,MAAM,MAAM,KAAA;EAC9B;CACF;CAgCF,OAAO;EACL,aATkB,WAClB,iBACA,gBACA,YACA,eAAe,OAAkC,EAAE,WAAW,KAAK,CAAC,GACpE;GAzBA,IAAI,kBAAkB;IACpB,OAAO,MAAM;GACf;GACA,IAAI,kBAAkB;IACpB,OAAO,MAAM;GACf;GACA,IAAI,kBAAkB;IACpB,OAAO,MAAM;GACf;GACA,IAAI,iBAAiB;IACnB,OAAO,MAAM;GACf;GACA,IAAI,iBAAiB;IACnB,OAAO,MAAM;GACf;GACA,IAAI,kBAAkB;IACpB,OAAO,MAAM;GACf;EAQQ,CAIE;EACV;CACF;AACF;;;ACtJA,SAAS,iBAAiB,YAA8D;CACtF,IAAI,OAAO,eAAe,YACxB,OAAO,WAAW;CAEpB,OAAO,cAAc;AACvB;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,SAAgB,mBAAmB,QAA+B,CAAC,GAAqB;CAEtF,MAAM,eAAe,MAAM,eAAe,KAAA;CAC1C,MAAM,CAAC,sBAAsB,2BAA2B,aACtD,MAAM,mBAAmB,KAC3B;CAEA,MAAM,mBAA4B;EAChC,IAAI,cACF,OAAO,iBAAiB,MAAM,UAAU;EAE1C,OAAO,qBAAqB;CAC9B;CAEA,MAAM,wBAAwB;EAC5B,MAAM,WAAW,CAAC,WAAW;EAC7B,IAAI,CAAC,cACH,wBAAwB,QAAQ;EAElC,MAAM,WAAW,QAAQ;CAC3B;CAGA,MAAM,WAAW,MAAkB;EACjC,gBAAgB;EAChB,MAAM,UAAU,CAAC;CACnB;CAGA,MAAM,EAAE,aAAa,iBAAiB,cAAc,aAClD,WAAW,OAAO,EAChB,QACF,CAAC,CACH;CAUA,OAAO;EACL,aAAA;GAPA,GAAG;GACH,IAAI,iBAAiB;IACnB,OAAO,WAAW;GACpB;EAIU;EACV;EACA;CACF;AACF;;;ACpEA,SAAS,gBAAgB,YAA0D;CACjF,IAAI,OAAO,eAAe,YACxB,OAAO,WAAW;CAEpB,OAAO,CAAC,CAAC;AACX;;;;AAKA,SAAgB,wBACd,OACA,OACuB;CACvB,MAAM,EAAE,iBAAiB,cAAc;EACrC,IAAI,cAAc;GAChB,OAAO,MAAM;EACf;EACA,IAAI,eAAe;GACjB,OAAO,MAAM;EACf;EACA,IAAI,oBAAoB;GACtB,OAAO,MAAM;EACf;CACF,CAAC;CAWD,OAAO,EAAE,YATU,WAAW,cAAyC;EACrE,IAAI,OAAO;GACT,OAAO,MAAM,kBAAkB,WAAW,eAAe,aAAa;EACxE;EACA,IAAI,kBAAkB;GACpB,OAAO,MAAM,cAAc,KAAA;EAC7B;CACF,CAEkB,EAAE;AACtB;;;;AAKA,SAAgB,4BACd,OACA,OACkB;CAClB,MAAM,EAAE,IAAI,KAAK,GAAG,gBAAgB;CAEpC,MAAM,eAAe,mBAAmB;EACtC,GAAG;EACH,IAAI,aAAa;GACf,OAAO,MAAM,aAAa,IAAI,MAAM,EAAE;EACxC;EACA,SAAS,YAAY;GACnB,MAAM,YAAY,MAAM,IAAI,UAAU;GACtC,MAAM,WAAW,UAAU;EAC7B;EACA,IAAI,aAAa;GACf,OAAO,gBAAgB,MAAM,UAAU,KAAK,MAAM;EACpD;CACF,CAAC;CAED,MAAM,kBAAkB,aAAa;CACrC,MAAM,cAAuC;EAC3C,GAAG;EACH,IAAI,OAAO;GACT,IAAI,MAAM,kBAAkB,UAC1B,OAAO;GAET,OAAO,gBAAgB;EACzB;EACA,IAAI,iBAAiB;GACnB,IAAI,MAAM,kBAAkB,UAC1B;GAEF,OAAO,MAAM,aAAa,IAAI,MAAM,EAAE;EACxC;EACA,IAAI,iBAAiB;GACnB,IAAI,MAAM,kBAAkB,UAC1B;GAEF,OAAO,gBAAgB;EACzB;CACF;CAEA,OAAO;EACL,GAAG;EACH;CACF;AACF"}
|