@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
|
@@ -7,12 +7,8 @@
|
|
|
7
7
|
* This is a 1:1 port of @react-stately/checkbox's useCheckboxGroupState.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { createSignal, Accessor } from
|
|
11
|
-
import { type MaybeAccessor, access } from
|
|
12
|
-
|
|
13
|
-
// ============================================
|
|
14
|
-
// TYPES
|
|
15
|
-
// ============================================
|
|
10
|
+
import { createSignal, Accessor } from "solid-js";
|
|
11
|
+
import { type MaybeAccessor, access } from "../utils/reactivity";
|
|
16
12
|
|
|
17
13
|
export interface CheckboxGroupProps {
|
|
18
14
|
/** The current selected values (controlled). */
|
|
@@ -71,47 +67,36 @@ export interface CheckboxGroupState {
|
|
|
71
67
|
toggleValue(value: string): void;
|
|
72
68
|
}
|
|
73
69
|
|
|
74
|
-
// ============================================
|
|
75
|
-
// IMPLEMENTATION
|
|
76
|
-
// ============================================
|
|
77
|
-
|
|
78
70
|
/**
|
|
79
71
|
* Provides state management for a checkbox group component.
|
|
80
72
|
* Provides a name for the group, and manages selection and focus state.
|
|
81
73
|
*/
|
|
82
74
|
export function createCheckboxGroupState(
|
|
83
|
-
props: MaybeAccessor<CheckboxGroupProps> = {}
|
|
75
|
+
props: MaybeAccessor<CheckboxGroupProps> = {},
|
|
84
76
|
): CheckboxGroupState {
|
|
85
77
|
const getProps = () => access(props);
|
|
86
78
|
|
|
87
|
-
// Get initial values
|
|
88
79
|
const initialProps = getProps();
|
|
89
80
|
const initialValue = initialProps.value ?? initialProps.defaultValue ?? [];
|
|
90
81
|
|
|
91
|
-
// Create internal signal for uncontrolled mode
|
|
92
82
|
const [internalValue, setInternalValue] = createSignal<readonly string[]>(initialValue);
|
|
93
83
|
|
|
94
|
-
// Determine if controlled
|
|
95
84
|
const isControlled = () => getProps().value !== undefined;
|
|
96
85
|
|
|
97
|
-
// Get current value
|
|
98
86
|
const value: Accessor<readonly string[]> = () => {
|
|
99
87
|
const p = getProps();
|
|
100
88
|
return isControlled() ? (p.value ?? []) : internalValue();
|
|
101
89
|
};
|
|
102
90
|
|
|
103
|
-
// Check if required (true if isRequired and no items selected)
|
|
104
91
|
const isRequired: Accessor<boolean> = () => {
|
|
105
92
|
const p = getProps();
|
|
106
93
|
return !!p.isRequired && value().length === 0;
|
|
107
94
|
};
|
|
108
95
|
|
|
109
|
-
// Check if invalid
|
|
110
96
|
const isInvalid = () => {
|
|
111
97
|
return getProps().isInvalid ?? false;
|
|
112
98
|
};
|
|
113
99
|
|
|
114
|
-
// Set value
|
|
115
100
|
function setValue(newValue: string[]): void {
|
|
116
101
|
const p = getProps();
|
|
117
102
|
if (p.isReadOnly || p.isDisabled) {
|
|
@@ -125,12 +110,10 @@ export function createCheckboxGroupState(
|
|
|
125
110
|
p.onChange?.(newValue);
|
|
126
111
|
}
|
|
127
112
|
|
|
128
|
-
// Check if value is selected
|
|
129
113
|
function isSelected(checkValue: string): boolean {
|
|
130
114
|
return value().includes(checkValue);
|
|
131
115
|
}
|
|
132
116
|
|
|
133
|
-
// Add value
|
|
134
117
|
function addValue(addVal: string): void {
|
|
135
118
|
const p = getProps();
|
|
136
119
|
if (p.isReadOnly || p.isDisabled) {
|
|
@@ -143,7 +126,6 @@ export function createCheckboxGroupState(
|
|
|
143
126
|
}
|
|
144
127
|
}
|
|
145
128
|
|
|
146
|
-
// Remove value
|
|
147
129
|
function removeValue(removeVal: string): void {
|
|
148
130
|
const p = getProps();
|
|
149
131
|
if (p.isReadOnly || p.isDisabled) {
|
|
@@ -156,7 +138,6 @@ export function createCheckboxGroupState(
|
|
|
156
138
|
}
|
|
157
139
|
}
|
|
158
140
|
|
|
159
|
-
// Toggle value
|
|
160
141
|
function toggleValue(toggleVal: string): void {
|
|
161
142
|
const p = getProps();
|
|
162
143
|
if (p.isReadOnly || p.isDisabled) {
|
package/src/checkbox/index.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
export { createCheckbox } from
|
|
2
|
-
export type { AriaCheckboxProps, CheckboxAria } from
|
|
1
|
+
export { createCheckbox } from "./createCheckbox";
|
|
2
|
+
export type { AriaCheckboxProps, CheckboxAria } from "./createCheckbox";
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
export {
|
|
6
|
-
export type { CheckboxGroupProps, CheckboxGroupState } from '@proyecto-viviana/solid-stately';
|
|
4
|
+
export { createCheckboxGroupState } from "@proyecto-viviana/solid-stately";
|
|
5
|
+
export type { CheckboxGroupProps, CheckboxGroupState } from "@proyecto-viviana/solid-stately";
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
export {
|
|
10
|
-
export type { AriaCheckboxGroupProps, CheckboxGroupAria } from './createCheckboxGroup';
|
|
7
|
+
export { createCheckboxGroup, checkboxGroupData } from "./createCheckboxGroup";
|
|
8
|
+
export type { AriaCheckboxGroupProps, CheckboxGroupAria } from "./createCheckboxGroup";
|
|
11
9
|
|
|
12
|
-
export { createCheckboxGroupItem } from
|
|
13
|
-
export type { AriaCheckboxGroupItemProps } from
|
|
10
|
+
export { createCheckboxGroupItem } from "./createCheckboxGroupItem";
|
|
11
|
+
export type { AriaCheckboxGroupItemProps } from "./createCheckboxGroupItem";
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { createContext, createMemo, useContext, type Accessor } from "solid-js";
|
|
2
|
+
import { access, type MaybeAccessor } from "../utils";
|
|
3
|
+
import {
|
|
4
|
+
ListCollection,
|
|
5
|
+
type Collection as StatelyCollection,
|
|
6
|
+
type CollectionNode as StatelyCollectionNode,
|
|
7
|
+
type Key,
|
|
8
|
+
} from "@proyecto-viviana/solid-stately";
|
|
9
|
+
|
|
10
|
+
export interface CachedChildrenOptions<T> {
|
|
11
|
+
items?: Iterable<T>;
|
|
12
|
+
children?: ((item: T) => unknown) | unknown;
|
|
13
|
+
dependencies?: ReadonlyArray<unknown>;
|
|
14
|
+
getKey?: (item: T) => Key;
|
|
15
|
+
idScope?: Key;
|
|
16
|
+
addIdAndValue?: boolean;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface CollectionBuilderProps<T> extends CachedChildrenOptions<T> {}
|
|
20
|
+
|
|
21
|
+
export interface CollectionProps<T> extends CollectionBuilderProps<T> {}
|
|
22
|
+
|
|
23
|
+
export interface CollectionCompatNode<TProps = unknown, TValue = unknown> {
|
|
24
|
+
key: Key;
|
|
25
|
+
value: TValue;
|
|
26
|
+
props: TProps;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const COLLECTION_NODE_PROP = "__collectionNode";
|
|
30
|
+
|
|
31
|
+
function applyCollectionMetadata<T>(
|
|
32
|
+
rendered: unknown,
|
|
33
|
+
item: T,
|
|
34
|
+
key: Key,
|
|
35
|
+
addIdAndValue: boolean,
|
|
36
|
+
): unknown {
|
|
37
|
+
if (typeof rendered !== "object" || rendered === null) return rendered;
|
|
38
|
+
const next = {
|
|
39
|
+
...(rendered as Record<string, unknown>),
|
|
40
|
+
key,
|
|
41
|
+
[COLLECTION_NODE_PROP]: {
|
|
42
|
+
key,
|
|
43
|
+
value: item,
|
|
44
|
+
props: rendered as Record<string, unknown>,
|
|
45
|
+
} satisfies CollectionCompatNode<Record<string, unknown>, T>,
|
|
46
|
+
} as Record<string, unknown>;
|
|
47
|
+
if (addIdAndValue) {
|
|
48
|
+
next.id = key;
|
|
49
|
+
next.value = item;
|
|
50
|
+
}
|
|
51
|
+
return next;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Compatibility helper mirroring React Aria collections API shape.
|
|
56
|
+
* For Solid, this is a lightweight mapper over item arrays.
|
|
57
|
+
*/
|
|
58
|
+
export function CollectionBuilder<T>(props: CollectionBuilderProps<T>): unknown {
|
|
59
|
+
if (typeof props.children === "function" && props.items) {
|
|
60
|
+
const children = props.children as (item: T) => unknown;
|
|
61
|
+
const mapped: unknown[] = [];
|
|
62
|
+
let index = 0;
|
|
63
|
+
|
|
64
|
+
for (const item of props.items) {
|
|
65
|
+
const baseKey = getResolvedItemKey(item, index, props.getKey);
|
|
66
|
+
if (baseKey == null) {
|
|
67
|
+
throw new Error("Could not determine key for item");
|
|
68
|
+
}
|
|
69
|
+
const key = props.idScope != null ? `${String(props.idScope)}:${String(baseKey)}` : baseKey;
|
|
70
|
+
const rendered = children(item);
|
|
71
|
+
const withMeta = applyCollectionMetadata(rendered, item, key, props.addIdAndValue ?? false);
|
|
72
|
+
mapped.push(withMeta);
|
|
73
|
+
index += 1;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
return mapped;
|
|
77
|
+
}
|
|
78
|
+
return props.children ?? null;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function Collection<T>(props: CollectionProps<T>): unknown {
|
|
82
|
+
return CollectionBuilder({
|
|
83
|
+
...props,
|
|
84
|
+
addIdAndValue: props.addIdAndValue ?? true,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Identity helper retained for API compatibility.
|
|
90
|
+
*/
|
|
91
|
+
export function createLeafComponent<TProps>(
|
|
92
|
+
component: (props: TProps, node?: CollectionCompatNode<TProps, unknown>) => unknown,
|
|
93
|
+
): (props: TProps) => unknown {
|
|
94
|
+
return (props: TProps) => {
|
|
95
|
+
const node = (props as Record<string, unknown>)[COLLECTION_NODE_PROP] as
|
|
96
|
+
| CollectionCompatNode<TProps, unknown>
|
|
97
|
+
| undefined;
|
|
98
|
+
if (component.length >= 2 && !node) {
|
|
99
|
+
throw new Error(`${component.name || "Component"} cannot be rendered outside a collection.`);
|
|
100
|
+
}
|
|
101
|
+
return component(props, node);
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Identity helper retained for API compatibility.
|
|
107
|
+
*/
|
|
108
|
+
export function createBranchComponent<TProps>(
|
|
109
|
+
component: (props: TProps, node?: CollectionCompatNode<TProps, unknown>) => unknown,
|
|
110
|
+
): (props: TProps) => unknown {
|
|
111
|
+
return (props: TProps) => {
|
|
112
|
+
const node = (props as Record<string, unknown>)[COLLECTION_NODE_PROP] as
|
|
113
|
+
| CollectionCompatNode<TProps, unknown>
|
|
114
|
+
| undefined;
|
|
115
|
+
if (component.length >= 2 && !node) {
|
|
116
|
+
throw new Error(`${component.name || "Component"} cannot be rendered outside a collection.`);
|
|
117
|
+
}
|
|
118
|
+
return component(props, node);
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const HiddenContext = createContext<Accessor<boolean>>(() => false);
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Wraps a component and suppresses rendering when the hidden context is true.
|
|
126
|
+
*/
|
|
127
|
+
export function createHideableComponent<TProps>(
|
|
128
|
+
component: (props: TProps) => unknown,
|
|
129
|
+
): (props: TProps) => unknown {
|
|
130
|
+
return (props: TProps) => {
|
|
131
|
+
const isHidden = useIsHidden();
|
|
132
|
+
if (isHidden()) return null;
|
|
133
|
+
return component(props);
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export function useIsHidden(): Accessor<boolean> {
|
|
138
|
+
return useContext(HiddenContext) ?? (() => false);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Memoized item renderer for dynamic child mapping.
|
|
143
|
+
*/
|
|
144
|
+
export function useCachedChildren<T>(
|
|
145
|
+
options: MaybeAccessor<CachedChildrenOptions<T>>,
|
|
146
|
+
): Accessor<unknown[]> {
|
|
147
|
+
let objectCache = new WeakMap<object, unknown>();
|
|
148
|
+
const primitiveCache = new Map<Key, unknown>();
|
|
149
|
+
let lastDependencies: ReadonlyArray<unknown> | undefined;
|
|
150
|
+
let lastIdScope: Key | undefined;
|
|
151
|
+
let lastAddIdAndValue: boolean | undefined;
|
|
152
|
+
let lastGetKey: ((item: T) => Key) | undefined;
|
|
153
|
+
|
|
154
|
+
const clearCaches = (): void => {
|
|
155
|
+
objectCache = new WeakMap<object, unknown>();
|
|
156
|
+
primitiveCache.clear();
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
const getItemKey = (item: T, index: number, getKey?: (item: T) => Key): Key | undefined => {
|
|
160
|
+
return getResolvedItemKey(item, index, getKey);
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
return createMemo(() => {
|
|
164
|
+
const resolved = access(options);
|
|
165
|
+
const resolvedAddIdAndValue = resolved.addIdAndValue ?? false;
|
|
166
|
+
const resolvedGetKey = resolved.getKey;
|
|
167
|
+
const resolvedIdScope = resolved.idScope;
|
|
168
|
+
|
|
169
|
+
if (resolved.dependencies && resolved.dependencies !== lastDependencies) {
|
|
170
|
+
clearCaches();
|
|
171
|
+
lastDependencies = resolved.dependencies;
|
|
172
|
+
}
|
|
173
|
+
if (
|
|
174
|
+
resolvedIdScope !== lastIdScope ||
|
|
175
|
+
resolvedAddIdAndValue !== lastAddIdAndValue ||
|
|
176
|
+
resolvedGetKey !== lastGetKey
|
|
177
|
+
) {
|
|
178
|
+
clearCaches();
|
|
179
|
+
lastIdScope = resolvedIdScope;
|
|
180
|
+
lastAddIdAndValue = resolvedAddIdAndValue;
|
|
181
|
+
lastGetKey = resolvedGetKey;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (typeof resolved.children === "function" && resolved.items) {
|
|
185
|
+
const children = resolved.children as (item: T) => unknown;
|
|
186
|
+
const rendered: unknown[] = [];
|
|
187
|
+
let index = 0;
|
|
188
|
+
|
|
189
|
+
for (const item of resolved.items) {
|
|
190
|
+
const baseKey = getItemKey(item, index, resolvedGetKey);
|
|
191
|
+
if (baseKey == null) {
|
|
192
|
+
throw new Error("Could not determine key for item");
|
|
193
|
+
}
|
|
194
|
+
const key =
|
|
195
|
+
resolvedIdScope != null ? `${String(resolvedIdScope)}:${String(baseKey)}` : baseKey;
|
|
196
|
+
let child: unknown;
|
|
197
|
+
|
|
198
|
+
if (typeof item === "object" && item !== null) {
|
|
199
|
+
child = objectCache.get(item as object);
|
|
200
|
+
if (child === undefined) {
|
|
201
|
+
child = applyCollectionMetadata(children(item), item, key, resolvedAddIdAndValue);
|
|
202
|
+
objectCache.set(item as object, child);
|
|
203
|
+
}
|
|
204
|
+
} else {
|
|
205
|
+
if (primitiveCache.has(key)) {
|
|
206
|
+
child = primitiveCache.get(key);
|
|
207
|
+
} else {
|
|
208
|
+
child = applyCollectionMetadata(children(item), item, key, resolvedAddIdAndValue);
|
|
209
|
+
primitiveCache.set(key, child);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
rendered.push(child);
|
|
214
|
+
index += 1;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
return rendered;
|
|
218
|
+
}
|
|
219
|
+
const child = resolved.children;
|
|
220
|
+
return child == null ? [] : [child];
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Minimal BaseCollection compatibility class.
|
|
226
|
+
*/
|
|
227
|
+
export class BaseCollection<T = unknown> extends ListCollection<T> {}
|
|
228
|
+
|
|
229
|
+
export type CollectionNode<T = unknown> = StatelyCollectionNode<T>;
|
|
230
|
+
export type ItemNode<T = unknown> = StatelyCollectionNode<T>;
|
|
231
|
+
export type SectionNode<T = unknown> = StatelyCollectionNode<T>;
|
|
232
|
+
export type FilterableNode<T = unknown> = StatelyCollectionNode<T>;
|
|
233
|
+
export type LoaderNode<T = unknown> = StatelyCollectionNode<T>;
|
|
234
|
+
export type HeaderNode<T = unknown> = StatelyCollectionNode<T>;
|
|
235
|
+
export type CollectionType<T = unknown> = StatelyCollection<T>;
|
|
236
|
+
|
|
237
|
+
function getResolvedItemKey<T>(item: T, index: number, getKey?: (item: T) => Key): Key | undefined {
|
|
238
|
+
if (getKey) return getKey(item);
|
|
239
|
+
if (typeof item === "object" && item !== null) {
|
|
240
|
+
const keyed = item as Record<string, unknown>;
|
|
241
|
+
const keyValue = keyed.key ?? keyed.id;
|
|
242
|
+
if (typeof keyValue === "string" || typeof keyValue === "number") return keyValue;
|
|
243
|
+
}
|
|
244
|
+
if (typeof item === "string" || typeof item === "number") return index;
|
|
245
|
+
return undefined;
|
|
246
|
+
}
|