@proyecto-viviana/solidaria 0.2.8 → 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/README.md +31 -236
- package/dist/actiongroup/createActionGroup.d.ts +5 -5
- package/dist/actiongroup/createActionGroup.d.ts.map +1 -1
- package/dist/actiongroup/index.d.ts +1 -1
- package/dist/autocomplete/createAutocomplete.d.ts +10 -10
- 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 +9 -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 +7 -7
- package/dist/button/createToggleButtonGroup.d.ts.map +1 -1
- package/dist/button/index.d.ts +6 -6
- 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 +6 -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 +4 -2
- 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 +7 -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 +3 -3
- package/dist/collections/index.d.ts.map +1 -1
- 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 +10 -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 +51 -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 +8 -6
- package/dist/datepicker/createDateRangePicker.d.ts.map +1 -1
- package/dist/datepicker/createDateSegment.d.ts +10 -2
- 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 +2 -2
- package/dist/datepicker/createTimeSegment.d.ts.map +1 -1
- package/dist/datepicker/index.d.ts +7 -6
- 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 -4
- 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 +2 -2
- 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 +26 -6
- package/dist/dnd/createDroppableCollection.d.ts.map +1 -1
- package/dist/dnd/createDroppableItem.d.ts +3 -3
- 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/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 -51
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18012 -16820
- package/dist/index.js.map +1 -1
- 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 +14 -8
- package/dist/link/createLink.d.ts.map +1 -1
- package/dist/link/index.d.ts +1 -1
- package/dist/listbox/createListBox.d.ts +11 -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 +7 -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 +9 -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 +3 -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 +10 -10
- 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 +2 -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 +10 -6
- 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.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/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 +32 -32
- package/src/actiongroup/createActionGroup.ts +101 -91
- package/src/actiongroup/index.ts +1 -1
- package/src/autocomplete/createAutocomplete.ts +117 -134
- package/src/autocomplete/index.ts +1 -1
- package/src/breadcrumbs/createBreadcrumbs.ts +33 -42
- 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 +25 -32
- package/src/button/index.ts +6 -9
- package/src/button/types.ts +18 -12
- package/src/calendar/createCalendar.ts +62 -29
- package/src/calendar/createCalendarCell.ts +98 -46
- package/src/calendar/createCalendarGrid.ts +57 -35
- package/src/calendar/createRangeCalendar.ts +66 -31
- package/src/calendar/createRangeCalendarCell.ts +92 -31
- 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 +68 -44
- 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 +33 -29
- package/src/color/createColorArea.ts +232 -154
- package/src/color/createColorField.ts +107 -58
- package/src/color/createColorSlider.ts +231 -73
- package/src/color/createColorSwatch.ts +38 -13
- package/src/color/createColorWheel.ts +208 -83
- package/src/color/index.ts +6 -6
- package/src/color/types.ts +98 -16
- package/src/combobox/createComboBox.ts +157 -100
- package/src/combobox/index.ts +1 -1
- package/src/combobox/intl/index.ts +5 -5
- package/src/datepicker/createDateField.ts +192 -39
- package/src/datepicker/createDatePicker.ts +260 -67
- package/src/datepicker/createDatePickerGroup.ts +149 -0
- package/src/datepicker/createDateRangePicker.ts +105 -57
- package/src/datepicker/createDateSegment.ts +183 -96
- package/src/datepicker/createTimeField.ts +38 -34
- package/src/datepicker/createTimeSegment.ts +67 -85
- package/src/datepicker/index.ts +13 -14
- package/src/dialog/createDialog.ts +45 -38
- package/src/dialog/index.ts +2 -2
- package/src/dialog/types.ts +4 -4
- package/src/disclosure/createDisclosure.ts +138 -33
- package/src/disclosure/createDisclosureGroup.ts +8 -21
- package/src/disclosure/index.ts +2 -2
- package/src/dnd/createDrag.ts +19 -25
- package/src/dnd/createDraggableCollection.ts +4 -4
- package/src/dnd/createDraggableItem.ts +20 -19
- package/src/dnd/createDrop.ts +42 -51
- package/src/dnd/createDroppableCollection.ts +290 -173
- package/src/dnd/createDroppableItem.ts +34 -34
- package/src/dnd/index.ts +23 -12
- package/src/dnd/types.ts +4 -7
- package/src/dnd/utils.ts +36 -49
- package/src/focus/FocusScope.tsx +155 -164
- package/src/focus/createAutoFocus.ts +4 -20
- package/src/focus/createFocusRestore.ts +15 -28
- package/src/focus/createVirtualFocus.ts +20 -36
- package/src/focus/index.ts +4 -8
- package/src/form/createFormReset.ts +4 -4
- package/src/form/createFormValidation.ts +20 -43
- package/src/form/index.ts +2 -5
- package/src/grid/GridKeyboardDelegate.ts +30 -30
- package/src/grid/createGrid.ts +36 -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 +34 -29
- 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 +5 -18
- package/src/i18n/createDateFormatter.ts +5 -13
- package/src/i18n/createFilter.ts +11 -24
- package/src/i18n/createNumberFormatter.ts +4 -6
- package/src/i18n/createStringFormatter.ts +19 -15
- package/src/i18n/index.ts +8 -11
- package/src/i18n/locale.tsx +15 -40
- package/src/i18n/utils.ts +35 -39
- package/src/index.ts +68 -169
- package/src/interactions/FocusableProvider.tsx +3 -7
- package/src/interactions/PressEvent.ts +4 -4
- package/src/interactions/createFocus.ts +12 -8
- package/src/interactions/createFocusRing.ts +21 -19
- package/src/interactions/createFocusWithin.ts +20 -13
- 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 +23 -23
- package/src/interactions/createMove.ts +72 -62
- package/src/interactions/createPress.ts +164 -87
- 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 +30 -51
- package/src/landmark/index.ts +1 -1
- package/src/link/createLink.ts +83 -56
- package/src/link/index.ts +1 -1
- package/src/listbox/createListBox.ts +69 -58
- package/src/listbox/createOption.ts +83 -37
- package/src/listbox/index.ts +2 -6
- package/src/live-announcer/announce.ts +44 -71
- package/src/live-announcer/index.ts +1 -1
- package/src/menu/createMenu.ts +79 -50
- package/src/menu/createMenuItem.ts +79 -27
- package/src/menu/createMenuTrigger.ts +15 -15
- package/src/menu/index.ts +3 -12
- package/src/meter/createMeter.ts +7 -15
- package/src/meter/index.ts +1 -1
- package/src/numberfield/createNumberField.ts +138 -81
- package/src/numberfield/index.ts +1 -1
- package/src/overlays/ariaHideOutside.ts +14 -10
- package/src/overlays/createInteractOutside.ts +21 -18
- package/src/overlays/createModal.tsx +17 -17
- package/src/overlays/createOverlay.ts +38 -8
- package/src/overlays/createOverlayTrigger.ts +16 -16
- package/src/overlays/createPreventScroll.ts +46 -24
- package/src/overlays/index.ts +6 -17
- package/src/popover/calculatePosition.ts +115 -117
- package/src/popover/createOverlayPosition.ts +46 -40
- package/src/popover/createPopover.ts +42 -17
- package/src/popover/index.ts +3 -3
- package/src/progress/createProgressBar.ts +31 -32
- package/src/progress/index.ts +1 -1
- package/src/radio/createRadio.ts +95 -73
- package/src/radio/createRadioGroup.ts +83 -77
- package/src/radio/createRadioGroupState.ts +7 -31
- package/src/radio/index.ts +3 -8
- package/src/searchfield/createSearchField.ts +57 -29
- package/src/searchfield/index.ts +2 -2
- package/src/select/createHiddenSelect.tsx +57 -44
- package/src/select/createSelect.ts +128 -71
- package/src/select/index.ts +2 -7
- 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 +93 -124
- package/src/slider/index.ts +2 -2
- package/src/ssr/index.tsx +8 -47
- 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 +152 -85
- 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 +74 -92
- package/src/tabs/index.ts +1 -1
- package/src/tag/createTag.ts +52 -50
- package/src/tag/createTagGroup.ts +47 -41
- 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 +28 -26
- package/src/toast/createToastRegion.ts +169 -26
- 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 +193 -210
- package/src/toolbar/index.ts +1 -1
- package/src/tooltip/createTooltip.ts +11 -24
- package/src/tooltip/createTooltipTrigger.ts +61 -49
- package/src/tooltip/index.ts +2 -2
- package/src/tree/createTree.ts +35 -37
- package/src/tree/createTreeItem.ts +29 -29
- package/src/tree/createTreeSelectionCheckbox.ts +11 -8
- package/src/tree/index.ts +4 -4
- package/src/tree/types.ts +10 -6
- package/src/utils/createDescription.ts +6 -23
- package/src/utils/dom.ts +61 -54
- package/src/utils/env.ts +9 -11
- 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 +2 -2
- package/src/utils/reactivity.ts +3 -3
- package/src/utils/textSelection.ts +16 -16
- package/src/visually-hidden/createVisuallyHidden.ts +16 -28
- package/src/visually-hidden/index.ts +1 -1
- package/dist/i18n/NumberFormatter.d.ts +0 -43
- package/dist/i18n/NumberFormatter.d.ts.map +0 -1
- package/dist/index.ssr.js +0 -17082
- package/dist/index.ssr.js.map +0 -1
- package/src/i18n/NumberFormatter.ts +0 -266
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
* Provides ARIA attributes and keyboard/pointer handling for a circular hue selector.
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import { createMemo, type Accessor } from
|
|
8
|
-
import type { ColorWheelState } from
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
7
|
+
import { createMemo, onCleanup, type Accessor } from "solid-js";
|
|
8
|
+
import type { ColorWheelState } from "@proyecto-viviana/solid-stately";
|
|
9
|
+
import { useLocale } from "../i18n";
|
|
10
|
+
import { createId } from "../ssr";
|
|
11
|
+
import { focusWithoutScrolling } from "../utils/focus";
|
|
12
|
+
import type { AriaColorWheelOptions, ColorWheelAria } from "./types";
|
|
11
13
|
|
|
12
14
|
/**
|
|
13
15
|
* Creates ARIA props for a color wheel.
|
|
@@ -15,86 +17,191 @@ import type { AriaColorWheelOptions, ColorWheelAria } from './types';
|
|
|
15
17
|
export function createColorWheel(
|
|
16
18
|
props: Accessor<AriaColorWheelOptions>,
|
|
17
19
|
state: Accessor<ColorWheelState>,
|
|
18
|
-
wheelRef: Accessor<HTMLDivElement | null
|
|
20
|
+
wheelRef: Accessor<HTMLDivElement | null>,
|
|
19
21
|
): ColorWheelAria {
|
|
20
22
|
const getProps = () => props();
|
|
21
23
|
const getState = () => state();
|
|
24
|
+
const locale = useLocale();
|
|
22
25
|
|
|
23
26
|
// Generate IDs
|
|
24
27
|
const inputId = createId();
|
|
28
|
+
let cleanupPointerDrag: (() => void) | undefined;
|
|
29
|
+
let cleanupMouseDrag: (() => void) | undefined;
|
|
30
|
+
let dragElement: HTMLElement | null = null;
|
|
25
31
|
|
|
26
|
-
|
|
27
|
-
const
|
|
28
|
-
|
|
32
|
+
const outerRadius = () => getProps().outerRadius ?? 100;
|
|
33
|
+
const innerRadius = () => getProps().innerRadius ?? 74;
|
|
34
|
+
const thumbRadius = () => (innerRadius() + outerRadius()) / 2;
|
|
35
|
+
|
|
36
|
+
const getInput = () => wheelRef()?.querySelector<HTMLInputElement>('input[type="range"]') ?? null;
|
|
37
|
+
const focusInput = () => {
|
|
38
|
+
focusWithoutScrolling(getInput());
|
|
39
|
+
queueMicrotask(() => focusWithoutScrolling(getInput()));
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
const getPointFromEvent = (clientX: number, clientY: number, element?: HTMLElement | null) => {
|
|
43
|
+
const wheel = element ?? dragElement ?? wheelRef();
|
|
29
44
|
if (!wheel) return null;
|
|
30
45
|
|
|
31
46
|
const rect = wheel.getBoundingClientRect();
|
|
32
47
|
const centerX = rect.left + rect.width / 2;
|
|
33
48
|
const centerY = rect.top + rect.height / 2;
|
|
34
49
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
50
|
+
return {
|
|
51
|
+
x: clientX - centerX,
|
|
52
|
+
y: clientY - centerY,
|
|
53
|
+
};
|
|
39
54
|
};
|
|
40
55
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
56
|
+
const updateFromPoint = (
|
|
57
|
+
clientX: number,
|
|
58
|
+
clientY: number,
|
|
59
|
+
requireTrackHit = false,
|
|
60
|
+
element?: HTMLElement | null,
|
|
61
|
+
) => {
|
|
62
|
+
if (getProps().isDisabled || getState().isDisabled) return false;
|
|
44
63
|
|
|
45
|
-
const
|
|
46
|
-
if (
|
|
64
|
+
const point = getPointFromEvent(clientX, clientY, element);
|
|
65
|
+
if (!point) return false;
|
|
47
66
|
|
|
48
|
-
|
|
49
|
-
|
|
67
|
+
const distance = Math.sqrt(point.x ** 2 + point.y ** 2);
|
|
68
|
+
if (requireTrackHit && (distance <= innerRadius() || distance >= outerRadius())) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
50
71
|
|
|
51
|
-
(
|
|
72
|
+
getState().setHueFromPoint(point.x, point.y, thumbRadius());
|
|
73
|
+
return true;
|
|
52
74
|
};
|
|
53
75
|
|
|
54
|
-
|
|
55
|
-
const onPointerMove = (e: PointerEvent) => {
|
|
76
|
+
const endDrag = () => {
|
|
56
77
|
if (!getState().isDragging) return;
|
|
78
|
+
getState().setDragging(false);
|
|
79
|
+
dragElement = null;
|
|
80
|
+
focusInput();
|
|
81
|
+
};
|
|
57
82
|
|
|
58
|
-
|
|
59
|
-
if (
|
|
83
|
+
const installPointerDragListeners = () => {
|
|
84
|
+
if (typeof window === "undefined") return;
|
|
85
|
+
cleanupPointerDrag?.();
|
|
60
86
|
|
|
61
|
-
|
|
87
|
+
const onPointerMove = (e: PointerEvent) => {
|
|
88
|
+
if (!getState().isDragging) return;
|
|
89
|
+
updateFromPoint(e.clientX, e.clientY);
|
|
90
|
+
};
|
|
91
|
+
const onPointerEnd = () => {
|
|
92
|
+
cleanupPointerDrag?.();
|
|
93
|
+
cleanupPointerDrag = undefined;
|
|
94
|
+
endDrag();
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
window.addEventListener("pointermove", onPointerMove);
|
|
98
|
+
window.addEventListener("pointerup", onPointerEnd);
|
|
99
|
+
window.addEventListener("pointercancel", onPointerEnd);
|
|
100
|
+
|
|
101
|
+
cleanupPointerDrag = () => {
|
|
102
|
+
window.removeEventListener("pointermove", onPointerMove);
|
|
103
|
+
window.removeEventListener("pointerup", onPointerEnd);
|
|
104
|
+
window.removeEventListener("pointercancel", onPointerEnd);
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
const installMouseDragListeners = () => {
|
|
109
|
+
if (typeof window === "undefined") return;
|
|
110
|
+
cleanupMouseDrag?.();
|
|
111
|
+
|
|
112
|
+
const onMouseMove = (e: MouseEvent) => {
|
|
113
|
+
if (!getState().isDragging) return;
|
|
114
|
+
updateFromPoint(e.clientX, e.clientY);
|
|
115
|
+
};
|
|
116
|
+
const onMouseEnd = () => {
|
|
117
|
+
cleanupMouseDrag?.();
|
|
118
|
+
cleanupMouseDrag = undefined;
|
|
119
|
+
endDrag();
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
window.addEventListener("mousemove", onMouseMove);
|
|
123
|
+
window.addEventListener("mouseup", onMouseEnd);
|
|
124
|
+
|
|
125
|
+
cleanupMouseDrag = () => {
|
|
126
|
+
window.removeEventListener("mousemove", onMouseMove);
|
|
127
|
+
window.removeEventListener("mouseup", onMouseEnd);
|
|
128
|
+
};
|
|
62
129
|
};
|
|
63
130
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
131
|
+
onCleanup(() => {
|
|
132
|
+
cleanupPointerDrag?.();
|
|
133
|
+
cleanupMouseDrag?.();
|
|
134
|
+
});
|
|
135
|
+
|
|
136
|
+
const onTrackPointerDown = (e: PointerEvent) => {
|
|
137
|
+
dragElement = e.currentTarget as HTMLElement;
|
|
138
|
+
if (!updateFromPoint(e.clientX, e.clientY, true, dragElement)) {
|
|
139
|
+
dragElement = null;
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
focusInput();
|
|
143
|
+
getState().setDragging(true);
|
|
144
|
+
installPointerDragListeners();
|
|
145
|
+
e.preventDefault();
|
|
146
|
+
};
|
|
147
|
+
|
|
148
|
+
const onTrackMouseDown = (e: MouseEvent) => {
|
|
149
|
+
dragElement = e.currentTarget as HTMLElement;
|
|
150
|
+
if (!updateFromPoint(e.clientX, e.clientY, true, dragElement)) {
|
|
151
|
+
dragElement = null;
|
|
152
|
+
return;
|
|
69
153
|
}
|
|
154
|
+
focusInput();
|
|
155
|
+
getState().setDragging(true);
|
|
156
|
+
installMouseDragListeners();
|
|
157
|
+
e.preventDefault();
|
|
158
|
+
};
|
|
159
|
+
|
|
160
|
+
const onThumbPointerDown = (e: PointerEvent) => {
|
|
161
|
+
if (getProps().isDisabled || getState().isDisabled) return;
|
|
162
|
+
focusInput();
|
|
163
|
+
getState().setDragging(true);
|
|
164
|
+
installPointerDragListeners();
|
|
165
|
+
e.preventDefault();
|
|
166
|
+
e.stopPropagation();
|
|
167
|
+
};
|
|
168
|
+
|
|
169
|
+
const onThumbMouseDown = (e: MouseEvent) => {
|
|
170
|
+
if (getProps().isDisabled || getState().isDisabled) return;
|
|
171
|
+
focusInput();
|
|
172
|
+
getState().setDragging(true);
|
|
173
|
+
installMouseDragListeners();
|
|
174
|
+
e.preventDefault();
|
|
175
|
+
e.stopPropagation();
|
|
70
176
|
};
|
|
71
177
|
|
|
72
178
|
// Handle keyboard
|
|
73
179
|
const onKeyDown = (e: KeyboardEvent) => {
|
|
180
|
+
if (e.defaultPrevented) return;
|
|
74
181
|
if (getProps().isDisabled || getState().isDisabled) return;
|
|
75
182
|
|
|
76
183
|
const s = getState();
|
|
77
184
|
let handled = true;
|
|
78
185
|
|
|
79
186
|
switch (e.key) {
|
|
80
|
-
case
|
|
81
|
-
case
|
|
187
|
+
case "ArrowRight":
|
|
188
|
+
case "ArrowUp":
|
|
82
189
|
s.increment();
|
|
83
190
|
break;
|
|
84
|
-
case
|
|
85
|
-
case
|
|
191
|
+
case "ArrowLeft":
|
|
192
|
+
case "ArrowDown":
|
|
86
193
|
s.decrement();
|
|
87
194
|
break;
|
|
88
|
-
case
|
|
195
|
+
case "PageUp":
|
|
89
196
|
s.increment(s.pageStep);
|
|
90
197
|
break;
|
|
91
|
-
case
|
|
198
|
+
case "PageDown":
|
|
92
199
|
s.decrement(s.pageStep);
|
|
93
200
|
break;
|
|
94
|
-
case
|
|
201
|
+
case "Home":
|
|
95
202
|
s.setHue(0);
|
|
96
203
|
break;
|
|
97
|
-
case
|
|
204
|
+
case "End":
|
|
98
205
|
s.setHue(359);
|
|
99
206
|
break;
|
|
100
207
|
default:
|
|
@@ -102,6 +209,8 @@ export function createColorWheel(
|
|
|
102
209
|
}
|
|
103
210
|
|
|
104
211
|
if (handled) {
|
|
212
|
+
s.setDragging(true);
|
|
213
|
+
s.setDragging(false);
|
|
105
214
|
e.preventDefault();
|
|
106
215
|
e.stopPropagation();
|
|
107
216
|
}
|
|
@@ -110,28 +219,36 @@ export function createColorWheel(
|
|
|
110
219
|
// Hue spectrum conic gradient
|
|
111
220
|
const conicGradient = `conic-gradient(from 90deg, hsl(0, 100%, 50%), hsl(30, 100%, 50%), hsl(60, 100%, 50%), hsl(90, 100%, 50%), hsl(120, 100%, 50%), hsl(150, 100%, 50%), hsl(180, 100%, 50%), hsl(210, 100%, 50%), hsl(240, 100%, 50%), hsl(270, 100%, 50%), hsl(300, 100%, 50%), hsl(330, 100%, 50%), hsl(360, 100%, 50%))`;
|
|
112
221
|
|
|
222
|
+
const ringPath = () => {
|
|
223
|
+
const outer = outerRadius();
|
|
224
|
+
const inner = innerRadius();
|
|
225
|
+
const circlePath = (radius: number) =>
|
|
226
|
+
[
|
|
227
|
+
`M ${outer}, ${outer} m ${-radius}, 0`,
|
|
228
|
+
`a ${radius}, ${radius}, 0, 1, 0, ${radius * 2}, 0`,
|
|
229
|
+
`a ${radius}, ${radius}, 0, 1, 0 ${-radius * 2}, 0`,
|
|
230
|
+
].join(" ");
|
|
231
|
+
return `path(evenodd, "${circlePath(outer)} ${circlePath(inner)}")`;
|
|
232
|
+
};
|
|
233
|
+
|
|
113
234
|
// Track props (the wheel container)
|
|
114
235
|
const trackProps = createMemo(() => {
|
|
115
236
|
const s = getState();
|
|
116
237
|
const p = getProps();
|
|
117
238
|
|
|
118
239
|
return {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
onPointerMove,
|
|
122
|
-
onPointerUp,
|
|
240
|
+
onPointerDown: onTrackPointerDown,
|
|
241
|
+
onMouseDown: onTrackMouseDown,
|
|
123
242
|
style: {
|
|
124
|
-
position:
|
|
125
|
-
|
|
126
|
-
|
|
243
|
+
position: "relative" as const,
|
|
244
|
+
"touch-action": "none",
|
|
245
|
+
width: `${outerRadius() * 2}px`,
|
|
246
|
+
height: `${outerRadius() * 2}px`,
|
|
127
247
|
background: conicGradient,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
'-webkit-mask-image': 'radial-gradient(circle, transparent 35%, black 36%)',
|
|
131
|
-
'mask-image': 'radial-gradient(circle, transparent 35%, black 36%)',
|
|
132
|
-
'forced-color-adjust': 'none' as const,
|
|
248
|
+
"clip-path": ringPath(),
|
|
249
|
+
"forced-color-adjust": "none" as const,
|
|
133
250
|
},
|
|
134
|
-
|
|
251
|
+
"data-disabled": s.isDisabled || p.isDisabled || undefined,
|
|
135
252
|
};
|
|
136
253
|
});
|
|
137
254
|
|
|
@@ -139,27 +256,22 @@ export function createColorWheel(
|
|
|
139
256
|
const thumbProps = createMemo(() => {
|
|
140
257
|
const s = getState();
|
|
141
258
|
const p = getProps();
|
|
142
|
-
const
|
|
143
|
-
|
|
144
|
-
// Calculate thumb position on the wheel edge
|
|
145
|
-
// Assumes wheel is circular and thumb is at the outer edge
|
|
146
|
-
// Angle 0 = right (3 o'clock)
|
|
147
|
-
const thumbX = Math.cos(angle);
|
|
148
|
-
const thumbY = -Math.sin(angle); // Negative because CSS Y is inverted
|
|
259
|
+
const position = s.getThumbPosition(thumbRadius());
|
|
149
260
|
|
|
150
261
|
return {
|
|
151
|
-
|
|
262
|
+
onPointerDown: onThumbPointerDown,
|
|
263
|
+
onMouseDown: onThumbMouseDown,
|
|
264
|
+
onKeyDown,
|
|
152
265
|
style: {
|
|
153
|
-
position:
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
'touch-action': 'none',
|
|
266
|
+
position: "absolute" as const,
|
|
267
|
+
left: `${outerRadius() + position.x}px`,
|
|
268
|
+
top: `${outerRadius() + position.y}px`,
|
|
269
|
+
transform: "translate(-50%, -50%)",
|
|
270
|
+
"touch-action": "none",
|
|
271
|
+
"forced-color-adjust": "none" as const,
|
|
160
272
|
},
|
|
161
|
-
|
|
162
|
-
|
|
273
|
+
"data-dragging": s.isDragging || undefined,
|
|
274
|
+
"data-disabled": s.isDisabled || p.isDisabled || undefined,
|
|
163
275
|
};
|
|
164
276
|
});
|
|
165
277
|
|
|
@@ -169,18 +281,29 @@ export function createColorWheel(
|
|
|
169
281
|
const p = getProps();
|
|
170
282
|
|
|
171
283
|
return {
|
|
172
|
-
type:
|
|
173
|
-
id: inputId,
|
|
284
|
+
type: "range",
|
|
285
|
+
id: p.id ?? inputId,
|
|
174
286
|
min: 0,
|
|
175
287
|
max: 360,
|
|
176
288
|
step: s.step,
|
|
177
289
|
value: s.getHue(),
|
|
290
|
+
name: p.name,
|
|
291
|
+
form: p.form,
|
|
178
292
|
disabled: s.isDisabled || p.isDisabled,
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
293
|
+
tabIndex: s.isDisabled || p.isDisabled ? undefined : 0,
|
|
294
|
+
"aria-label":
|
|
295
|
+
p["aria-label"] ??
|
|
296
|
+
(p["aria-labelledby"] ? undefined : s.value.getChannelName("hue", locale().locale)),
|
|
297
|
+
"aria-labelledby": p["aria-labelledby"],
|
|
298
|
+
"aria-describedby": p["aria-describedby"],
|
|
299
|
+
"aria-details": p["aria-details"],
|
|
300
|
+
"aria-errormessage": p["aria-errormessage"],
|
|
301
|
+
"aria-valuetext": `${s.value.formatChannelValue("hue", locale().locale)}, ${s.value.getHueName(locale().locale)}`,
|
|
183
302
|
onKeyDown,
|
|
303
|
+
onInput: (e: Event) => {
|
|
304
|
+
const target = e.target as HTMLInputElement;
|
|
305
|
+
s.setHue(parseFloat(target.value));
|
|
306
|
+
},
|
|
184
307
|
onChange: (e: Event) => {
|
|
185
308
|
const target = e.target as HTMLInputElement;
|
|
186
309
|
s.setHue(parseFloat(target.value));
|
|
@@ -191,15 +314,17 @@ export function createColorWheel(
|
|
|
191
314
|
}
|
|
192
315
|
},
|
|
193
316
|
style: {
|
|
194
|
-
position:
|
|
195
|
-
width:
|
|
196
|
-
height:
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
317
|
+
position: "absolute" as const,
|
|
318
|
+
width: "100%",
|
|
319
|
+
height: "100%",
|
|
320
|
+
opacity: "0.0001",
|
|
321
|
+
padding: "0",
|
|
322
|
+
margin: "0",
|
|
323
|
+
overflow: "hidden",
|
|
324
|
+
clip: "rect(0, 0, 0, 0)",
|
|
325
|
+
"white-space": "nowrap",
|
|
326
|
+
border: "0",
|
|
327
|
+
"pointer-events": "none" as const,
|
|
203
328
|
},
|
|
204
329
|
};
|
|
205
330
|
});
|
package/src/color/index.ts
CHANGED
|
@@ -14,11 +14,11 @@ export type {
|
|
|
14
14
|
ColorFieldAria,
|
|
15
15
|
AriaColorSwatchOptions,
|
|
16
16
|
ColorSwatchAria,
|
|
17
|
-
} from
|
|
17
|
+
} from "./types";
|
|
18
18
|
|
|
19
19
|
// Hooks
|
|
20
|
-
export { createColorSlider } from
|
|
21
|
-
export { createColorArea } from
|
|
22
|
-
export { createColorWheel } from
|
|
23
|
-
export { createColorField } from
|
|
24
|
-
export { createColorSwatch } from
|
|
20
|
+
export { createColorSlider } from "./createColorSlider";
|
|
21
|
+
export { createColorArea } from "./createColorArea";
|
|
22
|
+
export { createColorWheel } from "./createColorWheel";
|
|
23
|
+
export { createColorField } from "./createColorField";
|
|
24
|
+
export { createColorSwatch } from "./createColorSwatch";
|
package/src/color/types.ts
CHANGED
|
@@ -2,18 +2,30 @@
|
|
|
2
2
|
* Color ARIA types.
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import type { JSX } from
|
|
6
|
-
import type { ColorChannel, Color } from
|
|
5
|
+
import type { JSX } from "solid-js";
|
|
6
|
+
import type { ColorChannel, Color, ColorSpace } from "@proyecto-viviana/solid-stately";
|
|
7
7
|
|
|
8
8
|
export interface AriaColorSliderOptions {
|
|
9
|
+
/** Element id for the slider track group. */
|
|
10
|
+
id?: string;
|
|
9
11
|
/** The channel this slider controls. */
|
|
10
12
|
channel: ColorChannel;
|
|
13
|
+
/** Visible label content, used to connect custom labels with the slider. */
|
|
14
|
+
label?: JSX.Element;
|
|
11
15
|
/** Accessible label for the slider. */
|
|
12
|
-
|
|
16
|
+
"aria-label"?: string;
|
|
13
17
|
/** ID of element that labels the slider. */
|
|
14
|
-
|
|
18
|
+
"aria-labelledby"?: string;
|
|
15
19
|
/** ID of element that describes the slider. */
|
|
16
|
-
|
|
20
|
+
"aria-describedby"?: string;
|
|
21
|
+
/** ID of element that provides detailed information about the slider. */
|
|
22
|
+
"aria-details"?: string;
|
|
23
|
+
/** Name for the hidden range input. */
|
|
24
|
+
name?: string;
|
|
25
|
+
/** Associated form owner for the hidden range input. */
|
|
26
|
+
form?: string;
|
|
27
|
+
/** The slider orientation. */
|
|
28
|
+
orientation?: "horizontal" | "vertical";
|
|
17
29
|
/** Whether the slider is disabled. */
|
|
18
30
|
isDisabled?: boolean;
|
|
19
31
|
/** Localized channel name. */
|
|
@@ -34,16 +46,28 @@ export interface ColorSliderAria {
|
|
|
34
46
|
}
|
|
35
47
|
|
|
36
48
|
export interface AriaColorAreaOptions {
|
|
49
|
+
/** Element id for the color area. */
|
|
50
|
+
id?: string;
|
|
37
51
|
/** The X channel. */
|
|
38
52
|
xChannel?: ColorChannel;
|
|
39
53
|
/** The Y channel. */
|
|
40
54
|
yChannel?: ColorChannel;
|
|
41
55
|
/** Accessible label for the area. */
|
|
42
|
-
|
|
56
|
+
"aria-label"?: string;
|
|
43
57
|
/** ID of element that labels the area. */
|
|
44
|
-
|
|
58
|
+
"aria-labelledby"?: string;
|
|
45
59
|
/** ID of element that describes the area. */
|
|
46
|
-
|
|
60
|
+
"aria-describedby"?: string;
|
|
61
|
+
/** ID of element that provides detailed information about the area. */
|
|
62
|
+
"aria-details"?: string;
|
|
63
|
+
/** Color space to use for channel axes. */
|
|
64
|
+
colorSpace?: ColorSpace;
|
|
65
|
+
/** Name for the hidden X-axis range input. */
|
|
66
|
+
xName?: string;
|
|
67
|
+
/** Name for the hidden Y-axis range input. */
|
|
68
|
+
yName?: string;
|
|
69
|
+
/** Associated form owner for the hidden range inputs. */
|
|
70
|
+
form?: string;
|
|
47
71
|
/** Whether the area is disabled. */
|
|
48
72
|
isDisabled?: boolean;
|
|
49
73
|
}
|
|
@@ -62,12 +86,26 @@ export interface ColorAreaAria {
|
|
|
62
86
|
}
|
|
63
87
|
|
|
64
88
|
export interface AriaColorWheelOptions {
|
|
89
|
+
/** Element id for the hidden hue range input. */
|
|
90
|
+
id?: string;
|
|
65
91
|
/** Accessible label for the wheel. */
|
|
66
|
-
|
|
92
|
+
"aria-label"?: string;
|
|
67
93
|
/** ID of element that labels the wheel. */
|
|
68
|
-
|
|
94
|
+
"aria-labelledby"?: string;
|
|
69
95
|
/** ID of element that describes the wheel. */
|
|
70
|
-
|
|
96
|
+
"aria-describedby"?: string;
|
|
97
|
+
/** ID of element that provides detailed information about the wheel. */
|
|
98
|
+
"aria-details"?: string;
|
|
99
|
+
/** ID of element that provides the error message. */
|
|
100
|
+
"aria-errormessage"?: string;
|
|
101
|
+
/** Name for the hidden hue range input. */
|
|
102
|
+
name?: string;
|
|
103
|
+
/** Associated form owner for the hidden hue range input. */
|
|
104
|
+
form?: string;
|
|
105
|
+
/** Outer radius of the circular track in pixels. */
|
|
106
|
+
outerRadius?: number;
|
|
107
|
+
/** Inner radius of the circular track in pixels. */
|
|
108
|
+
innerRadius?: number;
|
|
71
109
|
/** Whether the wheel is disabled. */
|
|
72
110
|
isDisabled?: boolean;
|
|
73
111
|
}
|
|
@@ -82,18 +120,44 @@ export interface ColorWheelAria {
|
|
|
82
120
|
}
|
|
83
121
|
|
|
84
122
|
export interface AriaColorFieldOptions {
|
|
123
|
+
/** Element id for the input. */
|
|
124
|
+
id?: string;
|
|
85
125
|
/** Accessible label for the field. */
|
|
86
|
-
|
|
126
|
+
"aria-label"?: string;
|
|
87
127
|
/** ID of element that labels the field. */
|
|
88
|
-
|
|
128
|
+
"aria-labelledby"?: string;
|
|
89
129
|
/** ID of element that describes the field. */
|
|
90
|
-
|
|
130
|
+
"aria-describedby"?: string;
|
|
131
|
+
/** ID of element that provides detailed information about the field. */
|
|
132
|
+
"aria-details"?: string;
|
|
133
|
+
/** ID of element that provides the error message. */
|
|
134
|
+
"aria-errormessage"?: string;
|
|
135
|
+
/** Form field name. */
|
|
136
|
+
name?: string;
|
|
137
|
+
/** Associated form owner. */
|
|
138
|
+
form?: string;
|
|
139
|
+
/** Whether browser wheel events should be ignored. */
|
|
140
|
+
isWheelDisabled?: boolean;
|
|
91
141
|
/** Whether the field is disabled. */
|
|
92
142
|
isDisabled?: boolean;
|
|
93
143
|
/** Whether the field is read-only. */
|
|
94
144
|
isReadOnly?: boolean;
|
|
145
|
+
/** Whether the field is required. */
|
|
146
|
+
isRequired?: boolean;
|
|
147
|
+
/** Whether the field is invalid. */
|
|
148
|
+
isInvalid?: boolean;
|
|
149
|
+
/** Whether to use native or ARIA validation semantics. */
|
|
150
|
+
validationBehavior?: "aria" | "native";
|
|
151
|
+
/** Whether the input should receive focus on mount. */
|
|
152
|
+
autoFocus?: boolean;
|
|
153
|
+
/** Whether the input should be excluded from tab order. */
|
|
154
|
+
excludeFromTabOrder?: boolean;
|
|
155
|
+
/** Placeholder text. */
|
|
156
|
+
placeholder?: string;
|
|
95
157
|
/** The color channel being edited (for single channel mode). */
|
|
96
158
|
channel?: ColorChannel;
|
|
159
|
+
/** Color space used for channel mode. */
|
|
160
|
+
colorSpace?: ColorSpace;
|
|
97
161
|
}
|
|
98
162
|
|
|
99
163
|
export interface ColorFieldAria {
|
|
@@ -101,16 +165,34 @@ export interface ColorFieldAria {
|
|
|
101
165
|
labelProps: JSX.LabelHTMLAttributes<HTMLLabelElement>;
|
|
102
166
|
/** Props for the input element. */
|
|
103
167
|
inputProps: JSX.InputHTMLAttributes<HTMLInputElement>;
|
|
168
|
+
/** Props for the description element. */
|
|
169
|
+
descriptionProps: JSX.HTMLAttributes<HTMLElement>;
|
|
170
|
+
/** Props for the error message element. */
|
|
171
|
+
errorMessageProps: JSX.HTMLAttributes<HTMLElement>;
|
|
104
172
|
}
|
|
105
173
|
|
|
106
174
|
export interface AriaColorSwatchOptions {
|
|
175
|
+
/** Element id for the swatch. */
|
|
176
|
+
id?: string;
|
|
177
|
+
/** A named slot for the swatch element. */
|
|
178
|
+
slot?: string;
|
|
107
179
|
/** The color to display. */
|
|
108
|
-
color
|
|
180
|
+
color?: Color | string;
|
|
181
|
+
/** Localized color name override. */
|
|
182
|
+
colorName?: string;
|
|
109
183
|
/** Accessible label for the swatch. */
|
|
110
|
-
|
|
184
|
+
"aria-label"?: string;
|
|
185
|
+
/** ID of element that labels the swatch. */
|
|
186
|
+
"aria-labelledby"?: string;
|
|
187
|
+
/** ID of element that describes the swatch. */
|
|
188
|
+
"aria-describedby"?: string;
|
|
189
|
+
/** ID of element that provides detailed information about the swatch. */
|
|
190
|
+
"aria-details"?: string;
|
|
111
191
|
}
|
|
112
192
|
|
|
113
193
|
export interface ColorSwatchAria {
|
|
114
194
|
/** Props for the swatch element. */
|
|
115
195
|
swatchProps: JSX.HTMLAttributes<HTMLDivElement>;
|
|
196
|
+
/** The normalized color displayed by the swatch. */
|
|
197
|
+
color: Color;
|
|
116
198
|
}
|