@proyecto-viviana/solidaria 0.2.5 → 0.3.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/LICENSE +21 -0
- package/README.md +31 -236
- package/dist/actiongroup/createActionGroup.d.ts +29 -0
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -0
- package/dist/actiongroup/index.d.ts +2 -0
- package/dist/actiongroup/index.d.ts.map +1 -0
- package/dist/autocomplete/createAutocomplete.d.ts +16 -12
- package/dist/autocomplete/createAutocomplete.d.ts.map +1 -1
- package/dist/autocomplete/index.d.ts +1 -1
- package/dist/autocomplete/index.d.ts.map +1 -1
- package/dist/breadcrumbs/createBreadcrumbs.d.ts +11 -7
- package/dist/breadcrumbs/createBreadcrumbs.d.ts.map +1 -1
- package/dist/breadcrumbs/index.d.ts +1 -1
- package/dist/button/createButton.d.ts +1 -1
- package/dist/button/createButton.d.ts.map +1 -1
- package/dist/button/createToggleButton.d.ts +3 -3
- package/dist/button/createToggleButtonGroup.d.ts +32 -0
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -0
- package/dist/button/index.d.ts +6 -4
- package/dist/button/index.d.ts.map +1 -1
- package/dist/button/types.d.ts +18 -12
- package/dist/button/types.d.ts.map +1 -1
- package/dist/calendar/createCalendar.d.ts +15 -5
- package/dist/calendar/createCalendar.d.ts.map +1 -1
- package/dist/calendar/createCalendarCell.d.ts +8 -2
- package/dist/calendar/createCalendarCell.d.ts.map +1 -1
- package/dist/calendar/createCalendarGrid.d.ts +4 -4
- package/dist/calendar/createCalendarGrid.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendar.d.ts +15 -5
- package/dist/calendar/createRangeCalendar.d.ts.map +1 -1
- package/dist/calendar/createRangeCalendarCell.d.ts +7 -3
- package/dist/calendar/createRangeCalendarCell.d.ts.map +1 -1
- package/dist/calendar/index.d.ts +5 -5
- package/dist/calendar/index.d.ts.map +1 -1
- package/dist/calendar/intl/index.d.ts +12 -0
- package/dist/calendar/intl/index.d.ts.map +1 -0
- package/dist/calendar/utils.d.ts +12 -0
- package/dist/calendar/utils.d.ts.map +1 -0
- package/dist/checkbox/createCheckbox.d.ts +6 -6
- package/dist/checkbox/createCheckbox.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroup.d.ts +11 -7
- package/dist/checkbox/createCheckboxGroup.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupItem.d.ts +4 -4
- package/dist/checkbox/createCheckboxGroupItem.d.ts.map +1 -1
- package/dist/checkbox/createCheckboxGroupState.d.ts +2 -2
- package/dist/checkbox/createCheckboxGroupState.d.ts.map +1 -1
- package/dist/checkbox/index.d.ts +8 -8
- package/dist/checkbox/index.d.ts.map +1 -1
- package/dist/collections/index.d.ts +56 -0
- package/dist/collections/index.d.ts.map +1 -0
- package/dist/color/createColorArea.d.ts +3 -3
- package/dist/color/createColorArea.d.ts.map +1 -1
- package/dist/color/createColorField.d.ts +4 -4
- package/dist/color/createColorField.d.ts.map +1 -1
- package/dist/color/createColorSlider.d.ts +4 -4
- package/dist/color/createColorSlider.d.ts.map +1 -1
- package/dist/color/createColorSwatch.d.ts +2 -2
- package/dist/color/createColorSwatch.d.ts.map +1 -1
- package/dist/color/createColorWheel.d.ts +3 -3
- package/dist/color/createColorWheel.d.ts.map +1 -1
- package/dist/color/index.d.ts +6 -6
- package/dist/color/types.d.ts +98 -16
- package/dist/color/types.d.ts.map +1 -1
- package/dist/combobox/createComboBox.d.ts +16 -7
- package/dist/combobox/createComboBox.d.ts.map +1 -1
- package/dist/combobox/index.d.ts +1 -1
- package/dist/combobox/intl/index.d.ts +1 -1
- package/dist/datepicker/createDateField.d.ts +18 -6
- package/dist/datepicker/createDateField.d.ts.map +1 -1
- package/dist/datepicker/createDatePicker.d.ts +57 -5
- package/dist/datepicker/createDatePicker.d.ts.map +1 -1
- package/dist/datepicker/createDatePickerGroup.d.ts +19 -0
- package/dist/datepicker/createDatePickerGroup.d.ts.map +1 -0
- package/dist/datepicker/createDateRangePicker.d.ts +42 -0
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -0
- package/dist/datepicker/createDateSegment.d.ts +11 -3
- package/dist/datepicker/createDateSegment.d.ts.map +1 -1
- package/dist/datepicker/createTimeField.d.ts +11 -5
- package/dist/datepicker/createTimeField.d.ts.map +1 -1
- package/dist/datepicker/createTimeSegment.d.ts +29 -0
- package/dist/datepicker/createTimeSegment.d.ts.map +1 -0
- package/dist/datepicker/index.d.ts +7 -4
- package/dist/datepicker/index.d.ts.map +1 -1
- package/dist/dialog/createDialog.d.ts +5 -5
- package/dist/dialog/createDialog.d.ts.map +1 -1
- package/dist/dialog/index.d.ts +2 -2
- package/dist/dialog/index.d.ts.map +1 -1
- package/dist/dialog/types.d.ts +4 -4
- package/dist/disclosure/createDisclosure.d.ts +5 -2
- package/dist/disclosure/createDisclosure.d.ts.map +1 -1
- package/dist/disclosure/createDisclosureGroup.d.ts +4 -3
- package/dist/disclosure/createDisclosureGroup.d.ts.map +1 -1
- package/dist/disclosure/index.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts +2 -2
- package/dist/dnd/createDrag.d.ts.map +1 -1
- package/dist/dnd/createDraggableCollection.d.ts +6 -2
- package/dist/dnd/createDraggableCollection.d.ts.map +1 -1
- package/dist/dnd/createDraggableItem.d.ts +3 -3
- package/dist/dnd/createDraggableItem.d.ts.map +1 -1
- package/dist/dnd/createDrop.d.ts +2 -2
- package/dist/dnd/createDrop.d.ts.map +1 -1
- package/dist/dnd/createDroppableCollection.d.ts +55 -4
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/createDroppableItem.d.ts +3 -3
- package/dist/dnd/createDroppableItem.d.ts.map +1 -1
- package/dist/dnd/index.d.ts +12 -12
- package/dist/dnd/index.d.ts.map +1 -1
- package/dist/dnd/types.d.ts +2 -2
- package/dist/dnd/types.d.ts.map +1 -1
- package/dist/dnd/utils.d.ts +1 -1
- package/dist/dnd/utils.d.ts.map +1 -1
- package/dist/focus/FocusScope.d.ts +1 -1
- package/dist/focus/FocusScope.d.ts.map +1 -1
- package/dist/focus/createAutoFocus.d.ts.map +1 -1
- package/dist/focus/createFocusRestore.d.ts.map +1 -1
- package/dist/focus/createVirtualFocus.d.ts +4 -4
- package/dist/focus/createVirtualFocus.d.ts.map +1 -1
- package/dist/focus/index.d.ts +4 -4
- package/dist/focus/index.d.ts.map +1 -1
- package/dist/form/createFormReset.d.ts +1 -1
- package/dist/form/createFormValidation.d.ts +3 -3
- package/dist/form/createFormValidation.d.ts.map +1 -1
- package/dist/form/index.d.ts +2 -2
- package/dist/form/index.d.ts.map +1 -1
- package/dist/grid/GridKeyboardDelegate.d.ts +5 -5
- package/dist/grid/createGrid.d.ts +3 -3
- package/dist/grid/createGrid.d.ts.map +1 -1
- package/dist/grid/createGridCell.d.ts +3 -3
- package/dist/grid/createGridRow.d.ts +3 -3
- package/dist/grid/index.d.ts +5 -5
- package/dist/grid/types.d.ts +8 -8
- package/dist/gridlist/createGridList.d.ts +6 -4
- package/dist/gridlist/createGridList.d.ts.map +1 -1
- package/dist/gridlist/createGridListItem.d.ts +4 -4
- package/dist/gridlist/createGridListItem.d.ts.map +1 -1
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts +3 -3
- package/dist/gridlist/createGridListSelectionCheckbox.d.ts.map +1 -1
- package/dist/gridlist/index.d.ts +4 -4
- package/dist/gridlist/types.d.ts +11 -7
- package/dist/gridlist/types.d.ts.map +1 -1
- package/dist/i18n/createCollator.d.ts.map +1 -1
- package/dist/i18n/createDateFormatter.d.ts.map +1 -1
- package/dist/i18n/createFilter.d.ts.map +1 -1
- package/dist/i18n/createNumberFormatter.d.ts +1 -1
- package/dist/i18n/createNumberFormatter.d.ts.map +1 -1
- package/dist/i18n/createStringFormatter.d.ts +2 -2
- package/dist/i18n/createStringFormatter.d.ts.map +1 -1
- package/dist/i18n/index.d.ts +8 -8
- package/dist/i18n/index.d.ts.map +1 -1
- package/dist/i18n/locale.d.ts +2 -2
- package/dist/i18n/locale.d.ts.map +1 -1
- package/dist/i18n/utils.d.ts.map +1 -1
- package/dist/index.d.ts +52 -49
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18089 -15690
- package/dist/index.js.map +1 -7
- package/dist/index.jsx +18242 -0
- package/dist/index.jsx.map +1 -0
- package/dist/interactions/FocusableProvider.d.ts +2 -2
- package/dist/interactions/FocusableProvider.d.ts.map +1 -1
- package/dist/interactions/PressEvent.d.ts +2 -2
- package/dist/interactions/createFocus.d.ts +1 -1
- package/dist/interactions/createFocus.d.ts.map +1 -1
- package/dist/interactions/createFocusRing.d.ts +1 -1
- package/dist/interactions/createFocusRing.d.ts.map +1 -1
- package/dist/interactions/createFocusWithin.d.ts +1 -1
- package/dist/interactions/createFocusWithin.d.ts.map +1 -1
- package/dist/interactions/createFocusable.d.ts +3 -3
- package/dist/interactions/createFocusable.d.ts.map +1 -1
- package/dist/interactions/createHover.d.ts +5 -5
- package/dist/interactions/createHover.d.ts.map +1 -1
- package/dist/interactions/createInteractionModality.d.ts +3 -3
- package/dist/interactions/createInteractionModality.d.ts.map +1 -1
- package/dist/interactions/createKeyboard.d.ts +1 -1
- package/dist/interactions/createLongPress.d.ts +5 -5
- package/dist/interactions/createMove.d.ts +5 -5
- package/dist/interactions/createMove.d.ts.map +1 -1
- package/dist/interactions/createPress.d.ts +4 -4
- package/dist/interactions/createPress.d.ts.map +1 -1
- package/dist/interactions/index.d.ts +12 -12
- package/dist/interactions/index.d.ts.map +1 -1
- package/dist/label/createField.d.ts +4 -4
- package/dist/label/createField.d.ts.map +1 -1
- package/dist/label/createLabel.d.ts +7 -7
- package/dist/label/createLabel.d.ts.map +1 -1
- package/dist/label/createLabels.d.ts +1 -1
- package/dist/label/createLabels.d.ts.map +1 -1
- package/dist/label/index.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts +5 -5
- package/dist/landmark/createLandmark.d.ts.map +1 -1
- package/dist/landmark/index.d.ts +1 -1
- package/dist/link/createLink.d.ts +23 -7
- package/dist/link/createLink.d.ts.map +1 -1
- package/dist/link/index.d.ts +1 -1
- package/dist/listbox/createListBox.d.ts +12 -6
- package/dist/listbox/createListBox.d.ts.map +1 -1
- package/dist/listbox/createOption.d.ts +21 -4
- package/dist/listbox/createOption.d.ts.map +1 -1
- package/dist/listbox/index.d.ts +2 -2
- package/dist/listbox/index.d.ts.map +1 -1
- package/dist/live-announcer/announce.d.ts +2 -2
- package/dist/live-announcer/announce.d.ts.map +1 -1
- package/dist/live-announcer/index.d.ts +1 -1
- package/dist/menu/createMenu.d.ts +8 -7
- package/dist/menu/createMenu.d.ts.map +1 -1
- package/dist/menu/createMenuItem.d.ts +16 -4
- package/dist/menu/createMenuItem.d.ts.map +1 -1
- package/dist/menu/createMenuTrigger.d.ts +4 -4
- package/dist/menu/index.d.ts +3 -3
- package/dist/menu/index.d.ts.map +1 -1
- package/dist/meter/createMeter.d.ts +6 -6
- package/dist/meter/createMeter.d.ts.map +1 -1
- package/dist/meter/index.d.ts +1 -1
- package/dist/numberfield/createNumberField.d.ts +27 -8
- package/dist/numberfield/createNumberField.d.ts.map +1 -1
- package/dist/numberfield/index.d.ts +1 -1
- package/dist/overlays/ariaHideOutside.d.ts.map +1 -1
- package/dist/overlays/createModal.d.ts +19 -3
- package/dist/overlays/createModal.d.ts.map +1 -1
- package/dist/overlays/createOverlay.d.ts +1 -1
- package/dist/overlays/createOverlay.d.ts.map +1 -1
- package/dist/overlays/createOverlayTrigger.d.ts +6 -6
- package/dist/overlays/index.d.ts +6 -6
- package/dist/overlays/index.d.ts.map +1 -1
- package/dist/popover/calculatePosition.d.ts +4 -4
- package/dist/popover/calculatePosition.d.ts.map +1 -1
- package/dist/popover/createOverlayPosition.d.ts +3 -3
- package/dist/popover/createOverlayPosition.d.ts.map +1 -1
- package/dist/popover/createPopover.d.ts +4 -4
- package/dist/popover/createPopover.d.ts.map +1 -1
- package/dist/popover/index.d.ts +3 -3
- package/dist/progress/createProgressBar.d.ts +7 -5
- package/dist/progress/createProgressBar.d.ts.map +1 -1
- package/dist/progress/index.d.ts +1 -1
- package/dist/radio/createRadio.d.ts +7 -7
- package/dist/radio/createRadio.d.ts.map +1 -1
- package/dist/radio/createRadioGroup.d.ts +11 -11
- package/dist/radio/createRadioGroup.d.ts.map +1 -1
- package/dist/radio/createRadioGroupState.d.ts +3 -3
- package/dist/radio/createRadioGroupState.d.ts.map +1 -1
- package/dist/radio/index.d.ts +3 -3
- package/dist/radio/index.d.ts.map +1 -1
- package/dist/searchfield/createSearchField.d.ts +7 -7
- package/dist/searchfield/createSearchField.d.ts.map +1 -1
- package/dist/searchfield/index.d.ts +2 -2
- package/dist/select/createHiddenSelect.d.ts +4 -4
- package/dist/select/createHiddenSelect.d.ts.map +1 -1
- package/dist/select/createSelect.d.ts +14 -6
- package/dist/select/createSelect.d.ts.map +1 -1
- package/dist/select/index.d.ts +2 -2
- package/dist/select/index.d.ts.map +1 -1
- package/dist/selection/createTypeSelect.d.ts +2 -2
- package/dist/selection/index.d.ts +1 -1
- package/dist/separator/createSeparator.d.ts +9 -5
- package/dist/separator/createSeparator.d.ts.map +1 -1
- package/dist/separator/index.d.ts +1 -1
- package/dist/slider/createSlider.d.ts +11 -7
- package/dist/slider/createSlider.d.ts.map +1 -1
- package/dist/slider/index.d.ts +2 -2
- package/dist/ssr/index.d.ts +1 -1
- package/dist/ssr/index.d.ts.map +1 -1
- package/dist/steplist/createStepList.d.ts +36 -0
- package/dist/steplist/createStepList.d.ts.map +1 -0
- package/dist/steplist/index.d.ts +2 -0
- package/dist/steplist/index.d.ts.map +1 -0
- package/dist/switch/createSwitch.d.ts +6 -4
- package/dist/switch/createSwitch.d.ts.map +1 -1
- package/dist/switch/index.d.ts +1 -1
- package/dist/table/createTable.d.ts +3 -3
- package/dist/table/createTable.d.ts.map +1 -1
- package/dist/table/createTableCell.d.ts +3 -3
- package/dist/table/createTableCell.d.ts.map +1 -1
- package/dist/table/createTableColumnHeader.d.ts +3 -3
- package/dist/table/createTableColumnHeader.d.ts.map +1 -1
- package/dist/table/createTableColumnResize.d.ts +41 -0
- package/dist/table/createTableColumnResize.d.ts.map +1 -0
- package/dist/table/createTableHeaderRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts +3 -3
- package/dist/table/createTableRow.d.ts.map +1 -1
- package/dist/table/createTableRowGroup.d.ts +2 -2
- package/dist/table/createTableRowGroup.d.ts.map +1 -1
- package/dist/table/createTableSelectAllCheckbox.d.ts +3 -3
- package/dist/table/createTableSelectAllCheckbox.d.ts.map +1 -1
- package/dist/table/createTableSelectionCheckbox.d.ts +3 -3
- package/dist/table/index.d.ts +11 -9
- package/dist/table/index.d.ts.map +1 -1
- package/dist/table/types.d.ts +15 -7
- package/dist/table/types.d.ts.map +1 -1
- package/dist/tabs/createTabs.d.ts +28 -25
- package/dist/tabs/createTabs.d.ts.map +1 -1
- package/dist/tabs/index.d.ts +1 -1
- package/dist/tag/createTag.d.ts +2 -2
- package/dist/tag/createTag.d.ts.map +1 -1
- package/dist/tag/createTagGroup.d.ts +5 -5
- package/dist/tag/createTagGroup.d.ts.map +1 -1
- package/dist/tag/index.d.ts +2 -2
- package/dist/tag/index.d.ts.map +1 -1
- package/dist/textfield/createTextField.d.ts +17 -11
- package/dist/textfield/createTextField.d.ts.map +1 -1
- package/dist/textfield/index.d.ts +1 -1
- package/dist/textfield/index.d.ts.map +1 -1
- package/dist/toast/createToast.d.ts +6 -2
- package/dist/toast/createToast.d.ts.map +1 -1
- package/dist/toast/createToastRegion.d.ts +5 -3
- package/dist/toast/createToastRegion.d.ts.map +1 -1
- package/dist/toast/index.d.ts +2 -2
- package/dist/toast/index.d.ts.map +1 -1
- package/dist/toggle/createToggle.d.ts +9 -9
- package/dist/toggle/createToggle.d.ts.map +1 -1
- package/dist/toggle/createToggleState.d.ts +2 -2
- package/dist/toggle/createToggleState.d.ts.map +1 -1
- package/dist/toggle/index.d.ts +4 -4
- package/dist/toggle/index.d.ts.map +1 -1
- package/dist/toolbar/createToolbar.d.ts +9 -9
- package/dist/toolbar/createToolbar.d.ts.map +1 -1
- package/dist/toolbar/index.d.ts +1 -1
- package/dist/toolbar/index.d.ts.map +1 -1
- package/dist/tooltip/createTooltip.d.ts +5 -5
- package/dist/tooltip/createTooltip.d.ts.map +1 -1
- package/dist/tooltip/createTooltipTrigger.d.ts +10 -5
- package/dist/tooltip/createTooltipTrigger.d.ts.map +1 -1
- package/dist/tooltip/index.d.ts +2 -2
- package/dist/tree/createTree.d.ts +3 -3
- package/dist/tree/createTree.d.ts.map +1 -1
- package/dist/tree/createTreeItem.d.ts +4 -4
- package/dist/tree/createTreeItem.d.ts.map +1 -1
- package/dist/tree/createTreeSelectionCheckbox.d.ts +3 -3
- package/dist/tree/createTreeSelectionCheckbox.d.ts.map +1 -1
- package/dist/tree/index.d.ts +4 -4
- package/dist/tree/types.d.ts +13 -5
- package/dist/tree/types.d.ts.map +1 -1
- package/dist/utils/createDescription.d.ts +2 -2
- package/dist/utils/createDescription.d.ts.map +1 -1
- package/dist/utils/dom.d.ts.map +1 -1
- package/dist/utils/env.d.ts +1 -1
- package/dist/utils/env.d.ts.map +1 -1
- package/dist/utils/focus.d.ts +1 -1
- package/dist/utils/focus.d.ts.map +1 -1
- package/dist/utils/geometry.d.ts.map +1 -1
- package/dist/utils/index.d.ts +12 -12
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/mergeProps.d.ts.map +1 -1
- package/dist/utils/platform.d.ts.map +1 -1
- package/dist/utils/reactivity.d.ts +1 -1
- package/dist/visually-hidden/createVisuallyHidden.d.ts +2 -2
- package/dist/visually-hidden/createVisuallyHidden.d.ts.map +1 -1
- package/dist/visually-hidden/index.d.ts +1 -1
- package/package.json +34 -32
- package/src/actiongroup/createActionGroup.ts +334 -0
- package/src/actiongroup/index.ts +8 -0
- package/src/autocomplete/createAutocomplete.ts +137 -131
- package/src/autocomplete/index.ts +1 -1
- package/src/breadcrumbs/createBreadcrumbs.ts +37 -51
- package/src/breadcrumbs/index.ts +1 -1
- package/src/button/createButton.ts +102 -73
- package/src/button/createToggleButton.ts +10 -10
- package/src/button/createToggleButtonGroup.ts +121 -0
- package/src/button/index.ts +10 -4
- package/src/button/types.ts +18 -12
- package/src/calendar/createCalendar.ts +62 -29
- package/src/calendar/createCalendarCell.ts +102 -48
- package/src/calendar/createCalendarGrid.ts +78 -47
- package/src/calendar/createRangeCalendar.ts +66 -31
- package/src/calendar/createRangeCalendarCell.ts +115 -37
- package/src/calendar/index.ts +5 -9
- package/src/calendar/intl/index.ts +210 -0
- package/src/calendar/utils.ts +227 -0
- package/src/checkbox/createCheckbox.ts +13 -21
- package/src/checkbox/createCheckboxGroup.ts +86 -45
- package/src/checkbox/createCheckboxGroupItem.ts +16 -27
- package/src/checkbox/createCheckboxGroupState.ts +3 -22
- package/src/checkbox/index.ts +8 -10
- package/src/collections/index.ts +246 -0
- package/src/color/createColorArea.ts +458 -314
- package/src/color/createColorField.ts +186 -137
- package/src/color/createColorSlider.ts +444 -197
- package/src/color/createColorSwatch.ts +65 -40
- package/src/color/createColorWheel.ts +343 -208
- package/src/color/index.ts +24 -24
- package/src/color/types.ts +198 -116
- package/src/combobox/createComboBox.ts +727 -647
- package/src/combobox/index.ts +6 -6
- package/src/combobox/intl/index.ts +5 -5
- package/src/datepicker/createDateField.ts +192 -39
- package/src/datepicker/createDatePicker.ts +294 -63
- package/src/datepicker/createDatePickerGroup.ts +149 -0
- package/src/datepicker/createDateRangePicker.ts +294 -0
- package/src/datepicker/createDateSegment.ts +316 -75
- package/src/datepicker/createTimeField.ts +38 -34
- package/src/datepicker/createTimeSegment.ts +352 -0
- package/src/datepicker/index.ts +24 -11
- package/src/dialog/createDialog.ts +127 -120
- package/src/dialog/index.ts +2 -2
- package/src/dialog/types.ts +19 -19
- package/src/disclosure/createDisclosure.ts +138 -33
- package/src/disclosure/createDisclosureGroup.ts +8 -18
- package/src/disclosure/index.ts +2 -2
- package/src/dnd/createDrag.ts +218 -209
- package/src/dnd/createDraggableCollection.ts +96 -63
- package/src/dnd/createDraggableItem.ts +260 -243
- package/src/dnd/createDrop.ts +313 -321
- package/src/dnd/createDroppableCollection.ts +799 -293
- package/src/dnd/createDroppableItem.ts +215 -213
- package/src/dnd/index.ts +66 -47
- package/src/dnd/types.ts +86 -89
- package/src/dnd/utils.ts +281 -294
- package/src/focus/FocusScope.tsx +155 -164
- package/src/focus/createAutoFocus.ts +305 -321
- package/src/focus/createFocusRestore.ts +300 -313
- package/src/focus/createVirtualFocus.ts +380 -396
- package/src/focus/index.ts +4 -8
- package/src/form/createFormReset.ts +4 -4
- package/src/form/createFormValidation.ts +201 -224
- package/src/form/index.ts +8 -11
- package/src/grid/GridKeyboardDelegate.ts +30 -30
- package/src/grid/createGrid.ts +38 -36
- package/src/grid/createGridCell.ts +18 -18
- package/src/grid/createGridRow.ts +14 -14
- package/src/grid/index.ts +5 -5
- package/src/grid/types.ts +8 -8
- package/src/gridlist/createGridList.ts +45 -24
- package/src/gridlist/createGridListItem.ts +68 -23
- package/src/gridlist/createGridListSelectionCheckbox.ts +12 -9
- package/src/gridlist/index.ts +4 -4
- package/src/gridlist/types.ts +11 -7
- package/src/i18n/createCollator.ts +66 -79
- package/src/i18n/createDateFormatter.ts +75 -83
- package/src/i18n/createFilter.ts +118 -131
- package/src/i18n/createNumberFormatter.ts +50 -52
- package/src/i18n/createStringFormatter.ts +19 -15
- package/src/i18n/index.ts +37 -40
- package/src/i18n/locale.tsx +163 -188
- package/src/i18n/utils.ts +95 -99
- package/src/index.ts +114 -164
- package/src/interactions/FocusableProvider.tsx +3 -7
- package/src/interactions/PressEvent.ts +4 -4
- package/src/interactions/createFocus.ts +16 -11
- package/src/interactions/createFocusRing.ts +21 -19
- package/src/interactions/createFocusWithin.ts +24 -16
- package/src/interactions/createFocusable.ts +15 -16
- package/src/interactions/createHover.ts +70 -55
- package/src/interactions/createInteractionModality.ts +75 -82
- package/src/interactions/createKeyboard.ts +2 -2
- package/src/interactions/createLongPress.ts +174 -174
- package/src/interactions/createMove.ts +299 -289
- package/src/interactions/createPress.ts +168 -91
- package/src/interactions/index.ts +24 -16
- package/src/label/createField.ts +18 -19
- package/src/label/createLabel.ts +18 -30
- package/src/label/createLabels.ts +8 -12
- package/src/label/index.ts +5 -5
- package/src/landmark/createLandmark.ts +356 -377
- package/src/landmark/index.ts +8 -8
- package/src/link/createLink.ts +96 -54
- package/src/link/index.ts +1 -1
- package/src/listbox/createListBox.ts +319 -269
- package/src/listbox/createOption.ts +208 -151
- package/src/listbox/index.ts +8 -12
- package/src/live-announcer/announce.ts +295 -322
- package/src/live-announcer/index.ts +9 -9
- package/src/menu/createMenu.ts +434 -396
- package/src/menu/createMenuItem.ts +201 -149
- package/src/menu/createMenuTrigger.ts +88 -88
- package/src/menu/index.ts +9 -18
- package/src/meter/createMeter.ts +7 -20
- package/src/meter/index.ts +1 -1
- package/src/numberfield/createNumberField.ts +368 -268
- package/src/numberfield/index.ts +5 -5
- package/src/overlays/ariaHideOutside.ts +223 -219
- package/src/overlays/createInteractOutside.ts +152 -149
- package/src/overlays/createModal.tsx +238 -202
- package/src/overlays/createOverlay.ts +195 -155
- package/src/overlays/createOverlayTrigger.ts +85 -85
- package/src/overlays/createPreventScroll.ts +288 -266
- package/src/overlays/index.ts +37 -44
- package/src/popover/calculatePosition.ts +117 -119
- package/src/popover/createOverlayPosition.ts +52 -43
- package/src/popover/createPopover.ts +63 -24
- package/src/popover/index.ts +3 -3
- package/src/progress/createProgressBar.ts +36 -32
- package/src/progress/index.ts +1 -1
- package/src/radio/createRadio.ts +95 -73
- package/src/radio/createRadioGroup.ts +142 -62
- package/src/radio/createRadioGroupState.ts +7 -31
- package/src/radio/index.ts +3 -8
- package/src/searchfield/createSearchField.ts +269 -186
- package/src/searchfield/index.ts +2 -2
- package/src/select/createHiddenSelect.tsx +276 -236
- package/src/select/createSelect.ts +430 -395
- package/src/select/index.ts +9 -14
- package/src/selection/createTypeSelect.ts +11 -11
- package/src/selection/index.ts +1 -1
- package/src/separator/createSeparator.ts +20 -25
- package/src/separator/index.ts +1 -1
- package/src/slider/createSlider.ts +333 -349
- package/src/slider/index.ts +2 -2
- package/src/ssr/index.tsx +331 -370
- package/src/steplist/createStepList.ts +106 -0
- package/src/steplist/index.ts +8 -0
- package/src/switch/createSwitch.ts +9 -14
- package/src/switch/index.ts +1 -1
- package/src/table/createTable.ts +155 -86
- package/src/table/createTableCell.ts +17 -16
- package/src/table/createTableColumnHeader.ts +67 -20
- package/src/table/createTableColumnResize.ts +256 -0
- package/src/table/createTableHeaderRow.ts +7 -7
- package/src/table/createTableRow.ts +149 -29
- package/src/table/createTableRowGroup.ts +5 -7
- package/src/table/createTableSelectAllCheckbox.ts +12 -11
- package/src/table/createTableSelectionCheckbox.ts +8 -8
- package/src/table/index.ts +14 -9
- package/src/table/types.ts +15 -7
- package/src/tabs/createTabs.ts +138 -127
- package/src/tabs/index.ts +1 -1
- package/src/tag/createTag.ts +171 -40
- package/src/tag/createTagGroup.ts +50 -39
- package/src/tag/index.ts +2 -6
- package/src/textfield/createTextField.ts +67 -35
- package/src/textfield/index.ts +1 -5
- package/src/toast/createToast.ts +34 -26
- package/src/toast/createToastRegion.ts +169 -27
- package/src/toast/index.ts +2 -6
- package/src/toggle/createToggle.ts +95 -53
- package/src/toggle/createToggleState.ts +2 -10
- package/src/toggle/index.ts +4 -5
- package/src/toolbar/createToolbar.ts +226 -169
- package/src/toolbar/index.ts +1 -1
- package/src/tooltip/createTooltip.ts +66 -79
- package/src/tooltip/createTooltipTrigger.ts +238 -222
- package/src/tooltip/index.ts +6 -6
- package/src/tree/createTree.ts +259 -246
- package/src/tree/createTreeItem.ts +282 -233
- package/src/tree/createTreeSelectionCheckbox.ts +71 -68
- package/src/tree/index.ts +16 -16
- package/src/tree/types.ts +95 -87
- package/src/utils/createDescription.ts +6 -23
- package/src/utils/dom.ts +61 -54
- package/src/utils/env.ts +53 -54
- package/src/utils/events.ts +7 -7
- package/src/utils/filterDOMProps.ts +49 -49
- package/src/utils/focus.ts +60 -68
- package/src/utils/geometry.ts +1 -4
- package/src/utils/globalListeners.ts +9 -9
- package/src/utils/index.ts +12 -22
- package/src/utils/mergeProps.ts +42 -15
- package/src/utils/platform.ts +16 -6
- package/src/utils/reactivity.ts +3 -3
- package/src/utils/textSelection.ts +16 -16
- package/src/visually-hidden/createVisuallyHidden.ts +127 -124
- package/src/visually-hidden/index.ts +6 -6
- package/dist/i18n/NumberFormatter.d.ts +0 -43
- package/dist/i18n/NumberFormatter.d.ts.map +0 -1
- package/dist/index.ssr.js +0 -15875
- package/dist/index.ssr.js.map +0 -7
- package/src/i18n/NumberFormatter.ts +0 -266
|
@@ -5,14 +5,15 @@
|
|
|
5
5
|
* Ported from @react-aria/overlays useOverlayPosition.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { createEffect, createSignal, onCleanup, type JSX } from
|
|
8
|
+
import { createEffect, createSignal, onCleanup, type JSX } from "solid-js";
|
|
9
|
+
import { useLocale } from "../i18n";
|
|
9
10
|
import {
|
|
10
11
|
calculatePosition,
|
|
11
12
|
getRect,
|
|
12
13
|
type Placement,
|
|
13
14
|
type PlacementAxis,
|
|
14
15
|
type PositionResult,
|
|
15
|
-
} from
|
|
16
|
+
} from "./calculatePosition";
|
|
16
17
|
|
|
17
18
|
export interface PositionProps {
|
|
18
19
|
/**
|
|
@@ -108,13 +109,13 @@ export interface PositionAria {
|
|
|
108
109
|
updatePosition: () => void;
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
const visualViewport = typeof document !==
|
|
112
|
+
const visualViewport = typeof document !== "undefined" ? window.visualViewport : null;
|
|
112
113
|
|
|
113
114
|
function translateRTL(position: string, direction: string): string {
|
|
114
|
-
if (direction ===
|
|
115
|
-
return position.replace(
|
|
115
|
+
if (direction === "rtl") {
|
|
116
|
+
return position.replace("start", "right").replace("end", "left");
|
|
116
117
|
}
|
|
117
|
-
return position.replace(
|
|
118
|
+
return position.replace("start", "left").replace("end", "right");
|
|
118
119
|
}
|
|
119
120
|
|
|
120
121
|
/**
|
|
@@ -122,18 +123,19 @@ function translateRTL(position: string, direction: string): string {
|
|
|
122
123
|
* element, and updating the position when the window resizes.
|
|
123
124
|
*/
|
|
124
125
|
export function createOverlayPosition(props: AriaPositionProps): PositionAria {
|
|
125
|
-
const
|
|
126
|
+
const locale = useLocale();
|
|
127
|
+
const direction = () => locale().direction;
|
|
126
128
|
|
|
127
129
|
const arrowSize = () => props.arrowSize ?? 0;
|
|
128
130
|
const targetRef = () => props.targetRef();
|
|
129
131
|
const overlayRef = () => props.overlayRef();
|
|
130
132
|
const arrowRef = () => props.arrowRef?.() ?? null;
|
|
131
133
|
const scrollRef = () => props.scrollRef?.() ?? overlayRef();
|
|
132
|
-
const placement = () => (props.placement ??
|
|
134
|
+
const placement = () => (props.placement ?? "bottom") as Placement;
|
|
133
135
|
const containerPadding = () => props.containerPadding ?? 12;
|
|
134
136
|
const shouldFlip = () => props.shouldFlip ?? true;
|
|
135
137
|
const boundaryElement = () =>
|
|
136
|
-
props.boundaryElement ?? (typeof document !==
|
|
138
|
+
props.boundaryElement ?? (typeof document !== "undefined" ? document.body : null);
|
|
137
139
|
const offset = () => props.offset ?? 0;
|
|
138
140
|
const crossOffset = () => props.crossOffset ?? 0;
|
|
139
141
|
const shouldUpdatePosition = () => props.shouldUpdatePosition ?? true;
|
|
@@ -172,13 +174,13 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
|
|
|
172
174
|
// Reset overlay's previous max height
|
|
173
175
|
const overlay = overlayNode as HTMLElement;
|
|
174
176
|
if (!maxHeight() && overlayNode) {
|
|
175
|
-
overlay.style.top =
|
|
176
|
-
overlay.style.bottom =
|
|
177
|
-
overlay.style.maxHeight = (window.visualViewport?.height ?? window.innerHeight) +
|
|
177
|
+
overlay.style.top = "0px";
|
|
178
|
+
overlay.style.bottom = "";
|
|
179
|
+
overlay.style.maxHeight = (window.visualViewport?.height ?? window.innerHeight) + "px";
|
|
178
180
|
}
|
|
179
181
|
|
|
180
182
|
const result = calculatePosition({
|
|
181
|
-
placement: translateRTL(placement(), direction) as Placement,
|
|
183
|
+
placement: translateRTL(placement(), direction()) as Placement,
|
|
182
184
|
overlayNode,
|
|
183
185
|
targetNode,
|
|
184
186
|
scrollNode: scrollNode || overlayNode,
|
|
@@ -197,15 +199,16 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
|
|
|
197
199
|
}
|
|
198
200
|
|
|
199
201
|
// Apply styles directly for immediate positioning
|
|
200
|
-
overlay.style.top =
|
|
201
|
-
overlay.style.bottom =
|
|
202
|
-
overlay.style.left =
|
|
203
|
-
overlay.style.right =
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
202
|
+
overlay.style.top = "";
|
|
203
|
+
overlay.style.bottom = "";
|
|
204
|
+
overlay.style.left = "";
|
|
205
|
+
overlay.style.right = "";
|
|
206
|
+
|
|
207
|
+
const pos = result.position as Record<string, number | undefined>;
|
|
208
|
+
Object.keys(pos).forEach((key) => {
|
|
209
|
+
overlay.style.setProperty(key, pos[key] + "px");
|
|
207
210
|
});
|
|
208
|
-
overlay.style.maxHeight = result.maxHeight != null ? result.maxHeight +
|
|
211
|
+
overlay.style.maxHeight = result.maxHeight != null ? result.maxHeight + "px" : "";
|
|
209
212
|
|
|
210
213
|
setPosition(result);
|
|
211
214
|
};
|
|
@@ -237,10 +240,10 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
|
|
|
237
240
|
if (!isOpen()) return;
|
|
238
241
|
|
|
239
242
|
const handleResize = () => updatePosition();
|
|
240
|
-
window.addEventListener(
|
|
243
|
+
window.addEventListener("resize", handleResize, false);
|
|
241
244
|
|
|
242
245
|
onCleanup(() => {
|
|
243
|
-
window.removeEventListener(
|
|
246
|
+
window.removeEventListener("resize", handleResize, false);
|
|
244
247
|
});
|
|
245
248
|
});
|
|
246
249
|
|
|
@@ -292,12 +295,12 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
|
|
|
292
295
|
}
|
|
293
296
|
};
|
|
294
297
|
|
|
295
|
-
visualViewport?.addEventListener(
|
|
296
|
-
visualViewport?.addEventListener(
|
|
298
|
+
visualViewport?.addEventListener("resize", onResize);
|
|
299
|
+
visualViewport?.addEventListener("scroll", onScroll);
|
|
297
300
|
|
|
298
301
|
onCleanup(() => {
|
|
299
|
-
visualViewport?.removeEventListener(
|
|
300
|
-
visualViewport?.removeEventListener(
|
|
302
|
+
visualViewport?.removeEventListener("resize", onResize);
|
|
303
|
+
visualViewport?.removeEventListener("scroll", onScroll);
|
|
301
304
|
clearTimeout(timeout);
|
|
302
305
|
});
|
|
303
306
|
});
|
|
@@ -322,35 +325,41 @@ export function createOverlayPosition(props: AriaPositionProps): PositionAria {
|
|
|
322
325
|
}
|
|
323
326
|
};
|
|
324
327
|
|
|
325
|
-
document.addEventListener(
|
|
328
|
+
document.addEventListener("scroll", handleScroll, true);
|
|
326
329
|
|
|
327
330
|
onCleanup(() => {
|
|
328
|
-
document.removeEventListener(
|
|
331
|
+
document.removeEventListener("scroll", handleScroll, true);
|
|
329
332
|
});
|
|
330
333
|
});
|
|
331
334
|
|
|
332
335
|
return {
|
|
333
336
|
overlayProps: {
|
|
334
|
-
style: {
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
337
|
+
get style(): JSX.CSSProperties {
|
|
338
|
+
const current = position();
|
|
339
|
+
return {
|
|
340
|
+
position: current ? "absolute" : "fixed",
|
|
341
|
+
top: !current ? 0 : undefined,
|
|
342
|
+
left: !current ? 0 : undefined,
|
|
343
|
+
"z-index": 100000,
|
|
344
|
+
"max-height": current?.maxHeight ?? "100vh",
|
|
345
|
+
} as JSX.CSSProperties;
|
|
346
|
+
},
|
|
341
347
|
},
|
|
342
348
|
placement: () => position()?.placement ?? null,
|
|
343
349
|
triggerAnchorPoint: () => position()?.triggerAnchorPoint ?? null,
|
|
344
350
|
arrowProps: {
|
|
345
|
-
|
|
346
|
-
role:
|
|
347
|
-
style: {
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
+
"aria-hidden": "true",
|
|
352
|
+
role: "presentation",
|
|
353
|
+
get style(): JSX.CSSProperties {
|
|
354
|
+
const current = position();
|
|
355
|
+
return {
|
|
356
|
+
left: current?.arrowOffsetLeft != null ? `${current.arrowOffsetLeft}px` : undefined,
|
|
357
|
+
top: current?.arrowOffsetTop != null ? `${current.arrowOffsetTop}px` : undefined,
|
|
358
|
+
};
|
|
359
|
+
},
|
|
351
360
|
},
|
|
352
361
|
updatePosition,
|
|
353
362
|
};
|
|
354
363
|
}
|
|
355
364
|
|
|
356
|
-
export { type Placement, type PlacementAxis } from
|
|
365
|
+
export { type Placement, type PlacementAxis } from "./calculatePosition";
|
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
* Ported from @react-aria/overlays usePopover.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
import { createEffect, onCleanup, type JSX } from
|
|
9
|
-
import { createOverlay } from
|
|
8
|
+
import { createEffect, onCleanup, type JSX } from "solid-js";
|
|
9
|
+
import { createOverlay } from "../overlays/createOverlay";
|
|
10
10
|
import {
|
|
11
11
|
createOverlayPosition,
|
|
12
12
|
type AriaPositionProps,
|
|
13
13
|
type PlacementAxis,
|
|
14
|
-
} from
|
|
15
|
-
import { createPreventScroll } from
|
|
16
|
-
import { ariaHideOutside, keepVisible } from
|
|
17
|
-
import { mergeProps } from
|
|
14
|
+
} from "./createOverlayPosition";
|
|
15
|
+
import { createPreventScroll } from "../overlays/createPreventScroll";
|
|
16
|
+
import { ariaHideOutside, keepVisible } from "../overlays/ariaHideOutside";
|
|
17
|
+
import { mergeProps } from "../utils/mergeProps";
|
|
18
18
|
|
|
19
19
|
export interface OverlayTriggerState {
|
|
20
20
|
/** Whether the overlay is currently open. */
|
|
@@ -27,8 +27,10 @@ export interface OverlayTriggerState {
|
|
|
27
27
|
toggle: () => void;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
export interface AriaPopoverProps
|
|
31
|
-
|
|
30
|
+
export interface AriaPopoverProps extends Omit<
|
|
31
|
+
AriaPositionProps,
|
|
32
|
+
"isOpen" | "onClose" | "targetRef" | "overlayRef"
|
|
33
|
+
> {
|
|
32
34
|
/**
|
|
33
35
|
* The ref for the element which the popover positions itself with respect to.
|
|
34
36
|
*/
|
|
@@ -94,29 +96,36 @@ export interface PopoverAria {
|
|
|
94
96
|
* Provides the behavior and accessibility implementation for a popover component.
|
|
95
97
|
* A popover is an overlay element positioned relative to a trigger.
|
|
96
98
|
*/
|
|
97
|
-
export function createPopover(
|
|
98
|
-
props: AriaPopoverProps,
|
|
99
|
-
state: OverlayTriggerState
|
|
100
|
-
): PopoverAria {
|
|
99
|
+
export function createPopover(props: AriaPopoverProps, state: OverlayTriggerState): PopoverAria {
|
|
101
100
|
const triggerRef = () => props.triggerRef();
|
|
102
101
|
const popoverRef = () => props.popoverRef();
|
|
103
102
|
const groupRef = () => props.groupRef?.() ?? null;
|
|
104
103
|
const isNonModal = () => props.isNonModal ?? false;
|
|
105
104
|
const isKeyboardDismissDisabled = () => props.isKeyboardDismissDisabled ?? false;
|
|
106
105
|
const shouldCloseOnInteractOutside = props.shouldCloseOnInteractOutside;
|
|
107
|
-
const isSubmenu = () => props.trigger ===
|
|
106
|
+
const isSubmenu = () => props.trigger === "SubmenuTrigger";
|
|
108
107
|
|
|
109
108
|
// Overlay behavior (dismiss handling)
|
|
110
109
|
const { overlayProps, underlayProps } = createOverlay(
|
|
111
110
|
{
|
|
112
|
-
|
|
111
|
+
get isOpen() {
|
|
112
|
+
return state.isOpen();
|
|
113
|
+
},
|
|
113
114
|
onClose: state.close,
|
|
114
|
-
shouldCloseOnBlur
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
get shouldCloseOnBlur() {
|
|
116
|
+
return !isSubmenu();
|
|
117
|
+
},
|
|
118
|
+
get isDismissable() {
|
|
119
|
+
return !isNonModal() || isSubmenu();
|
|
120
|
+
},
|
|
121
|
+
get isKeyboardDismissDisabled() {
|
|
122
|
+
return isKeyboardDismissDisabled();
|
|
123
|
+
},
|
|
124
|
+
get shouldCloseOnInteractOutside() {
|
|
125
|
+
return shouldCloseOnInteractOutside;
|
|
126
|
+
},
|
|
118
127
|
},
|
|
119
|
-
() => groupRef() ?? popoverRef()
|
|
128
|
+
() => groupRef() ?? popoverRef(),
|
|
120
129
|
);
|
|
121
130
|
|
|
122
131
|
// Overlay positioning
|
|
@@ -129,13 +138,19 @@ export function createPopover(
|
|
|
129
138
|
...props,
|
|
130
139
|
targetRef: triggerRef,
|
|
131
140
|
overlayRef: popoverRef,
|
|
132
|
-
|
|
133
|
-
|
|
141
|
+
get isOpen() {
|
|
142
|
+
return state.isOpen();
|
|
143
|
+
},
|
|
144
|
+
get onClose() {
|
|
145
|
+
return isNonModal() && !isSubmenu() ? state.close : null;
|
|
146
|
+
},
|
|
134
147
|
});
|
|
135
148
|
|
|
136
149
|
// Prevent scroll when modal popover is open
|
|
137
150
|
createPreventScroll({
|
|
138
|
-
isDisabled
|
|
151
|
+
get isDisabled() {
|
|
152
|
+
return isNonModal() || !state.isOpen();
|
|
153
|
+
},
|
|
139
154
|
});
|
|
140
155
|
|
|
141
156
|
// Aria-hide outside elements
|
|
@@ -158,8 +173,32 @@ export function createPopover(
|
|
|
158
173
|
}
|
|
159
174
|
});
|
|
160
175
|
|
|
176
|
+
const merged = mergeProps(overlayProps, positionProps) as Record<string, unknown>;
|
|
177
|
+
const popoverProps = new Proxy(merged, {
|
|
178
|
+
get(target, key: string) {
|
|
179
|
+
if (key === "style") return positionProps.style;
|
|
180
|
+
return target[key];
|
|
181
|
+
},
|
|
182
|
+
has(target, key) {
|
|
183
|
+
return key in target;
|
|
184
|
+
},
|
|
185
|
+
ownKeys(target) {
|
|
186
|
+
return Reflect.ownKeys(target);
|
|
187
|
+
},
|
|
188
|
+
getOwnPropertyDescriptor(target, key) {
|
|
189
|
+
if (key === "style") {
|
|
190
|
+
return {
|
|
191
|
+
configurable: true,
|
|
192
|
+
enumerable: true,
|
|
193
|
+
get: () => positionProps.style,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
return Reflect.getOwnPropertyDescriptor(target, key);
|
|
197
|
+
},
|
|
198
|
+
});
|
|
199
|
+
|
|
161
200
|
return {
|
|
162
|
-
popoverProps
|
|
201
|
+
popoverProps,
|
|
163
202
|
arrowProps,
|
|
164
203
|
underlayProps,
|
|
165
204
|
placement,
|
|
@@ -167,4 +206,4 @@ export function createPopover(
|
|
|
167
206
|
};
|
|
168
207
|
}
|
|
169
208
|
|
|
170
|
-
export { type PlacementAxis } from
|
|
209
|
+
export { type PlacementAxis } from "./createOverlayPosition";
|
package/src/popover/index.ts
CHANGED
|
@@ -4,7 +4,7 @@ export {
|
|
|
4
4
|
type AriaPopoverProps,
|
|
5
5
|
type PopoverAria,
|
|
6
6
|
type OverlayTriggerState,
|
|
7
|
-
} from
|
|
7
|
+
} from "./createPopover";
|
|
8
8
|
|
|
9
9
|
// Overlay Position
|
|
10
10
|
export {
|
|
@@ -12,7 +12,7 @@ export {
|
|
|
12
12
|
type AriaPositionProps,
|
|
13
13
|
type PositionProps,
|
|
14
14
|
type PositionAria,
|
|
15
|
-
} from
|
|
15
|
+
} from "./createOverlayPosition";
|
|
16
16
|
|
|
17
17
|
// Position calculation utilities
|
|
18
18
|
export {
|
|
@@ -21,4 +21,4 @@ export {
|
|
|
21
21
|
type PlacementAxis,
|
|
22
22
|
type PositionOpts,
|
|
23
23
|
type PositionResult,
|
|
24
|
-
} from
|
|
24
|
+
} from "./calculatePosition";
|
|
@@ -8,16 +8,14 @@
|
|
|
8
8
|
* This is a 1:1 port of @react-aria/progress's useProgressBar hook.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { createLabel } from
|
|
12
|
-
import { mergeProps } from
|
|
13
|
-
import { filterDOMProps } from
|
|
14
|
-
import { type MaybeAccessor, access } from
|
|
15
|
-
|
|
16
|
-
// ============================================
|
|
17
|
-
// TYPES
|
|
18
|
-
// ============================================
|
|
11
|
+
import { createLabel } from "../label/createLabel";
|
|
12
|
+
import { mergeProps } from "../utils/mergeProps";
|
|
13
|
+
import { filterDOMProps } from "../utils/filterDOMProps";
|
|
14
|
+
import { type MaybeAccessor, access } from "../utils/reactivity";
|
|
19
15
|
|
|
20
16
|
export interface AriaProgressBarProps {
|
|
17
|
+
/** The element id. */
|
|
18
|
+
id?: string;
|
|
21
19
|
/** The current value (controlled). */
|
|
22
20
|
value?: number;
|
|
23
21
|
/** The smallest value allowed for the input. @default 0 */
|
|
@@ -33,13 +31,13 @@ export interface AriaProgressBarProps {
|
|
|
33
31
|
/** The content to display as the label. */
|
|
34
32
|
label?: string;
|
|
35
33
|
/** An accessibility label for this item. */
|
|
36
|
-
|
|
34
|
+
"aria-label"?: string;
|
|
37
35
|
/** Identifies the element (or elements) that labels the current element. */
|
|
38
|
-
|
|
36
|
+
"aria-labelledby"?: string;
|
|
39
37
|
/** Identifies the element (or elements) that describes the object. */
|
|
40
|
-
|
|
38
|
+
"aria-describedby"?: string;
|
|
41
39
|
/** Identifies the element (or elements) that provide a detailed, extended description for the object. */
|
|
42
|
-
|
|
40
|
+
"aria-details"?: string;
|
|
43
41
|
}
|
|
44
42
|
|
|
45
43
|
export interface ProgressBarAria {
|
|
@@ -49,17 +47,14 @@ export interface ProgressBarAria {
|
|
|
49
47
|
labelProps: Record<string, unknown>;
|
|
50
48
|
}
|
|
51
49
|
|
|
52
|
-
// ============================================
|
|
53
|
-
// UTILITIES
|
|
54
|
-
// ============================================
|
|
55
|
-
|
|
56
50
|
function clamp(value: number, min: number, max: number): number {
|
|
57
51
|
return Math.min(Math.max(value, min), max);
|
|
58
52
|
}
|
|
59
53
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
54
|
+
function getSafeRange(min: number, max: number): number {
|
|
55
|
+
const range = max - min;
|
|
56
|
+
return Number.isFinite(range) && range > 0 ? range : 1;
|
|
57
|
+
}
|
|
63
58
|
|
|
64
59
|
/**
|
|
65
60
|
* Provides the accessibility implementation for a progress bar component.
|
|
@@ -67,18 +62,27 @@ function clamp(value: number, min: number, max: number): number {
|
|
|
67
62
|
* over time.
|
|
68
63
|
*/
|
|
69
64
|
export function createProgressBar(
|
|
70
|
-
props: MaybeAccessor<AriaProgressBarProps> = {}
|
|
65
|
+
props: MaybeAccessor<AriaProgressBarProps> = {},
|
|
71
66
|
): ProgressBarAria {
|
|
72
67
|
const getProps = () => access(props);
|
|
73
68
|
|
|
74
69
|
// Create label handling
|
|
75
70
|
const { labelProps, fieldProps } = createLabel({
|
|
76
|
-
get
|
|
77
|
-
|
|
78
|
-
|
|
71
|
+
get id() {
|
|
72
|
+
return getProps().id;
|
|
73
|
+
},
|
|
74
|
+
get label() {
|
|
75
|
+
return getProps().label;
|
|
76
|
+
},
|
|
77
|
+
get "aria-label"() {
|
|
78
|
+
return getProps()["aria-label"];
|
|
79
|
+
},
|
|
80
|
+
get "aria-labelledby"() {
|
|
81
|
+
return getProps()["aria-labelledby"];
|
|
82
|
+
},
|
|
79
83
|
// Progress bar is not an HTML input element so it
|
|
80
84
|
// shouldn't be labeled by a <label> element.
|
|
81
|
-
labelElementType:
|
|
85
|
+
labelElementType: "span",
|
|
82
86
|
});
|
|
83
87
|
|
|
84
88
|
// Build progress bar props
|
|
@@ -88,15 +92,15 @@ export function createProgressBar(
|
|
|
88
92
|
const minValue = p.minValue ?? 0;
|
|
89
93
|
const maxValue = p.maxValue ?? 100;
|
|
90
94
|
const isIndeterminate = p.isIndeterminate ?? false;
|
|
91
|
-
const formatOptions = p.formatOptions ?? { style:
|
|
95
|
+
const formatOptions = p.formatOptions ?? { style: "percent" as const };
|
|
92
96
|
|
|
93
97
|
const clampedValue = clamp(value, minValue, maxValue);
|
|
94
|
-
const percentage = (clampedValue - minValue) / (maxValue
|
|
98
|
+
const percentage = (clampedValue - minValue) / getSafeRange(minValue, maxValue);
|
|
95
99
|
|
|
96
100
|
// Format value label
|
|
97
101
|
let valueLabel = p.valueLabel;
|
|
98
102
|
if (!isIndeterminate && !valueLabel) {
|
|
99
|
-
const valueToFormat = formatOptions.style ===
|
|
103
|
+
const valueToFormat = formatOptions.style === "percent" ? percentage : clampedValue;
|
|
100
104
|
try {
|
|
101
105
|
const formatter = new Intl.NumberFormat(undefined, formatOptions);
|
|
102
106
|
valueLabel = formatter.format(valueToFormat);
|
|
@@ -109,11 +113,11 @@ export function createProgressBar(
|
|
|
109
113
|
const domProps = filterDOMProps(p as Record<string, unknown>, { labelable: true });
|
|
110
114
|
|
|
111
115
|
return mergeProps(domProps, fieldProps as Record<string, unknown>, {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
role:
|
|
116
|
+
"aria-valuenow": isIndeterminate ? undefined : clampedValue,
|
|
117
|
+
"aria-valuemin": minValue,
|
|
118
|
+
"aria-valuemax": maxValue,
|
|
119
|
+
"aria-valuetext": isIndeterminate ? undefined : valueLabel,
|
|
120
|
+
role: "progressbar",
|
|
117
121
|
});
|
|
118
122
|
};
|
|
119
123
|
|
package/src/progress/index.ts
CHANGED