@proyecto-viviana/solidaria-components 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActionBar.js +184 -0
- package/dist/ActionBar.js.map +1 -0
- package/dist/ActionBar.jsx +128 -0
- package/dist/ActionBar.jsx.map +1 -0
- package/dist/ActionGroup.js +179 -0
- package/dist/ActionGroup.js.map +1 -0
- package/dist/ActionGroup.jsx +129 -0
- package/dist/ActionGroup.jsx.map +1 -0
- package/dist/Alert.js +111 -0
- package/dist/Alert.js.map +1 -0
- package/dist/Alert.jsx +82 -0
- package/dist/Alert.jsx.map +1 -0
- package/dist/Autocomplete.js +130 -0
- package/dist/Autocomplete.js.map +1 -0
- package/dist/Autocomplete.jsx +116 -0
- package/dist/Autocomplete.jsx.map +1 -0
- package/dist/Breadcrumbs.d.ts.map +1 -1
- package/dist/Breadcrumbs.js +334 -0
- package/dist/Breadcrumbs.js.map +1 -0
- package/dist/Breadcrumbs.jsx +266 -0
- package/dist/Breadcrumbs.jsx.map +1 -0
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.js +348 -0
- package/dist/Button.js.map +1 -0
- package/dist/Button.jsx +314 -0
- package/dist/Button.jsx.map +1 -0
- package/dist/Calendar.d.ts +4 -4
- package/dist/Calendar.d.ts.map +1 -1
- package/dist/Calendar.js +538 -0
- package/dist/Calendar.js.map +1 -0
- package/dist/Calendar.jsx +333 -0
- package/dist/Calendar.jsx.map +1 -0
- package/dist/CalendarPicker.d.ts +33 -0
- package/dist/CalendarPicker.d.ts.map +1 -0
- package/dist/CalendarPicker.js +44 -0
- package/dist/CalendarPicker.js.map +1 -0
- package/dist/CalendarPicker.jsx +44 -0
- package/dist/CalendarPicker.jsx.map +1 -0
- package/dist/Checkbox.d.ts +83 -4
- package/dist/Checkbox.d.ts.map +1 -1
- package/dist/Checkbox.js +923 -0
- package/dist/Checkbox.js.map +1 -0
- package/dist/Checkbox.jsx +707 -0
- package/dist/Checkbox.jsx.map +1 -0
- package/dist/Collection.d.ts.map +1 -1
- package/dist/Collection.js +202 -0
- package/dist/Collection.js.map +1 -0
- package/dist/Collection.jsx +152 -0
- package/dist/Collection.jsx.map +1 -0
- package/dist/Color.d.ts.map +1 -1
- package/dist/Color.js +1720 -0
- package/dist/Color.js.map +1 -0
- package/dist/Color.jsx +1344 -0
- package/dist/Color.jsx.map +1 -0
- package/dist/ColorEditor.js +208 -0
- package/dist/ColorEditor.js.map +1 -0
- package/dist/ColorEditor.jsx +120 -0
- package/dist/ColorEditor.jsx.map +1 -0
- package/dist/ComboBox.d.ts +4 -4
- package/dist/ComboBox.d.ts.map +1 -1
- package/dist/ComboBox.js +992 -0
- package/dist/ComboBox.js.map +1 -0
- package/dist/ComboBox.jsx +714 -0
- package/dist/ComboBox.jsx.map +1 -0
- package/dist/ContextualHelpTrigger.js +146 -0
- package/dist/ContextualHelpTrigger.js.map +1 -0
- package/dist/ContextualHelpTrigger.jsx +109 -0
- package/dist/ContextualHelpTrigger.jsx.map +1 -0
- package/dist/DateField.d.ts +3 -3
- package/dist/DateField.d.ts.map +1 -1
- package/dist/DateField.js +4 -0
- package/dist/DateField.jsx +4 -0
- package/dist/DateField2.js +499 -0
- package/dist/DateField2.js.map +1 -0
- package/dist/DateField2.jsx +317 -0
- package/dist/DateField2.jsx.map +1 -0
- package/dist/DatePicker.d.ts +4 -4
- package/dist/DatePicker.d.ts.map +1 -1
- package/dist/DatePicker.js +991 -0
- package/dist/DatePicker.js.map +1 -0
- package/dist/DatePicker.jsx +682 -0
- package/dist/DatePicker.jsx.map +1 -0
- package/dist/Dialog.d.ts.map +1 -1
- package/dist/Dialog.js +337 -0
- package/dist/Dialog.js.map +1 -0
- package/dist/Dialog.jsx +192 -0
- package/dist/Dialog.jsx.map +1 -0
- package/dist/Disclosure.d.ts.map +1 -1
- package/dist/Disclosure.js +328 -0
- package/dist/Disclosure.js.map +1 -0
- package/dist/Disclosure.jsx +230 -0
- package/dist/Disclosure.jsx.map +1 -0
- package/dist/DragAndDrop.d.ts.map +1 -1
- package/dist/DragAndDrop.js +176 -0
- package/dist/DragAndDrop.js.map +1 -0
- package/dist/DragAndDrop.jsx +160 -0
- package/dist/DragAndDrop.jsx.map +1 -0
- package/dist/DropZone.d.ts.map +1 -1
- package/dist/DropZone.js +189 -0
- package/dist/DropZone.js.map +1 -0
- package/dist/DropZone.jsx +144 -0
- package/dist/DropZone.jsx.map +1 -0
- package/dist/FieldError.js +66 -0
- package/dist/FieldError.js.map +1 -0
- package/dist/FieldError.jsx +47 -0
- package/dist/FieldError.jsx.map +1 -0
- package/dist/FileTrigger.js +79 -0
- package/dist/FileTrigger.js.map +1 -0
- package/dist/FileTrigger.jsx +49 -0
- package/dist/FileTrigger.jsx.map +1 -0
- package/dist/Focusable.js +70 -0
- package/dist/Focusable.js.map +1 -0
- package/dist/Focusable.jsx +69 -0
- package/dist/Focusable.jsx.map +1 -0
- package/dist/Form.js +99 -0
- package/dist/Form.js.map +1 -0
- package/dist/Form.jsx +73 -0
- package/dist/Form.jsx.map +1 -0
- package/dist/GridList.d.ts +34 -2
- package/dist/GridList.d.ts.map +1 -1
- package/dist/GridList.js +723 -0
- package/dist/GridList.js.map +1 -0
- package/dist/GridList.jsx +552 -0
- package/dist/GridList.jsx.map +1 -0
- package/dist/HiddenTimeInput.js +104 -0
- package/dist/HiddenTimeInput.js.map +1 -0
- package/dist/HiddenTimeInput.jsx +69 -0
- package/dist/HiddenTimeInput.jsx.map +1 -0
- package/dist/Icon.d.ts.map +1 -1
- package/dist/Icon.js +127 -0
- package/dist/Icon.js.map +1 -0
- package/dist/Icon.jsx +72 -0
- package/dist/Icon.jsx.map +1 -0
- package/dist/Keyboard.js +30 -0
- package/dist/Keyboard.js.map +1 -0
- package/dist/Keyboard.jsx +24 -0
- package/dist/Keyboard.jsx.map +1 -0
- package/dist/Landmark.js +134 -0
- package/dist/Landmark.js.map +1 -0
- package/dist/Landmark.jsx +118 -0
- package/dist/Landmark.jsx.map +1 -0
- package/dist/Link.d.ts.map +1 -1
- package/dist/Link.js +219 -0
- package/dist/Link.js.map +1 -0
- package/dist/Link.jsx +189 -0
- package/dist/Link.jsx.map +1 -0
- package/dist/ListBox.d.ts.map +1 -1
- package/dist/ListBox.js +670 -0
- package/dist/ListBox.js.map +1 -0
- package/dist/ListBox.jsx +508 -0
- package/dist/ListBox.jsx.map +1 -0
- package/dist/Menu.d.ts +27 -9
- package/dist/Menu.d.ts.map +1 -1
- package/dist/Menu.js +1254 -0
- package/dist/Menu.js.map +1 -0
- package/dist/Menu.jsx +1042 -0
- package/dist/Menu.jsx.map +1 -0
- package/dist/Meter.d.ts.map +1 -1
- package/dist/Meter.js +123 -0
- package/dist/Meter.js.map +1 -0
- package/dist/Meter.jsx +107 -0
- package/dist/Meter.jsx.map +1 -0
- package/dist/Modal.d.ts.map +1 -1
- package/dist/Modal.js +380 -0
- package/dist/Modal.js.map +1 -0
- package/dist/Modal.jsx +314 -0
- package/dist/Modal.jsx.map +1 -0
- package/dist/NumberField.d.ts +3 -3
- package/dist/NumberField.d.ts.map +1 -1
- package/dist/NumberField.js +573 -0
- package/dist/NumberField.js.map +1 -0
- package/dist/NumberField.jsx +443 -0
- package/dist/NumberField.jsx.map +1 -0
- package/dist/Popover.d.ts +10 -2
- package/dist/Popover.d.ts.map +1 -1
- package/dist/Popover.js +464 -0
- package/dist/Popover.js.map +1 -0
- package/dist/Popover.jsx +333 -0
- package/dist/Popover.jsx.map +1 -0
- package/dist/Pressable.js +69 -0
- package/dist/Pressable.js.map +1 -0
- package/dist/Pressable.jsx +68 -0
- package/dist/Pressable.jsx.map +1 -0
- package/dist/ProgressBar.d.ts.map +1 -1
- package/dist/ProgressBar.js +130 -0
- package/dist/ProgressBar.js.map +1 -0
- package/dist/ProgressBar.jsx +114 -0
- package/dist/ProgressBar.jsx.map +1 -0
- package/dist/RadioGroup.d.ts +82 -4
- package/dist/RadioGroup.d.ts.map +1 -1
- package/dist/RadioGroup.js +931 -0
- package/dist/RadioGroup.js.map +1 -0
- package/dist/RadioGroup.jsx +681 -0
- package/dist/RadioGroup.jsx.map +1 -0
- package/dist/RangeCalendar.d.ts.map +1 -1
- package/dist/RangeCalendar.js +410 -0
- package/dist/RangeCalendar.js.map +1 -0
- package/dist/RangeCalendar.jsx +253 -0
- package/dist/RangeCalendar.jsx.map +1 -0
- package/dist/RouterProvider.js +118 -0
- package/dist/RouterProvider.js.map +1 -0
- package/dist/RouterProvider.jsx +112 -0
- package/dist/RouterProvider.jsx.map +1 -0
- package/dist/SearchField.d.ts +2 -2
- package/dist/SearchField.d.ts.map +1 -1
- package/dist/SearchField.js +643 -0
- package/dist/SearchField.js.map +1 -0
- package/dist/SearchField.jsx +526 -0
- package/dist/SearchField.jsx.map +1 -0
- package/dist/Select.d.ts.map +1 -1
- package/dist/Select.js +1031 -0
- package/dist/Select.js.map +1 -0
- package/dist/Select.jsx +744 -0
- package/dist/Select.jsx.map +1 -0
- package/dist/SelectionIndicator.d.ts.map +1 -1
- package/dist/SelectionIndicator.js +86 -0
- package/dist/SelectionIndicator.js.map +1 -0
- package/dist/SelectionIndicator.jsx +50 -0
- package/dist/SelectionIndicator.jsx.map +1 -0
- package/dist/Separator.js +97 -0
- package/dist/Separator.js.map +1 -0
- package/dist/Separator.jsx +85 -0
- package/dist/Separator.jsx.map +1 -0
- package/dist/SharedElementTransition.d.ts.map +1 -1
- package/dist/SharedElementTransition.js +165 -0
- package/dist/SharedElementTransition.js.map +1 -0
- package/dist/SharedElementTransition.jsx +138 -0
- package/dist/SharedElementTransition.jsx.map +1 -0
- package/dist/Slider.d.ts +33 -1
- package/dist/Slider.d.ts.map +1 -1
- package/dist/Slider.js +515 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Slider.jsx +403 -0
- package/dist/Slider.jsx.map +1 -0
- package/dist/StepList.js +198 -0
- package/dist/StepList.js.map +1 -0
- package/dist/StepList.jsx +141 -0
- package/dist/StepList.jsx.map +1 -0
- package/dist/Switch.d.ts +65 -2
- package/dist/Switch.d.ts.map +1 -1
- package/dist/Switch.js +534 -0
- package/dist/Switch.js.map +1 -0
- package/dist/Switch.jsx +393 -0
- package/dist/Switch.jsx.map +1 -0
- package/dist/Table.d.ts +48 -0
- package/dist/Table.d.ts.map +1 -1
- package/dist/Table.js +1759 -0
- package/dist/Table.js.map +1 -0
- package/dist/Table.jsx +1348 -0
- package/dist/Table.jsx.map +1 -0
- package/dist/Tabs.d.ts +0 -4
- package/dist/Tabs.d.ts.map +1 -1
- package/dist/Tabs.js +595 -0
- package/dist/Tabs.js.map +1 -0
- package/dist/Tabs.jsx +367 -0
- package/dist/Tabs.jsx.map +1 -0
- package/dist/TagGroup.d.ts.map +1 -1
- package/dist/TagGroup.js +378 -0
- package/dist/TagGroup.js.map +1 -0
- package/dist/TagGroup.jsx +270 -0
- package/dist/TagGroup.jsx.map +1 -0
- package/dist/Text.d.ts +18 -6
- package/dist/Text.d.ts.map +1 -1
- package/dist/Text.js +42 -0
- package/dist/Text.js.map +1 -0
- package/dist/Text.jsx +35 -0
- package/dist/Text.jsx.map +1 -0
- package/dist/TextField.d.ts +6 -6
- package/dist/TextField.d.ts.map +1 -1
- package/dist/TextField.js +436 -0
- package/dist/TextField.js.map +1 -0
- package/dist/TextField.jsx +403 -0
- package/dist/TextField.jsx.map +1 -0
- package/dist/TimeField.d.ts +3 -3
- package/dist/TimeField.d.ts.map +1 -1
- package/dist/TimeField.js +372 -0
- package/dist/TimeField.js.map +1 -0
- package/dist/TimeField.jsx +224 -0
- package/dist/TimeField.jsx.map +1 -0
- package/dist/Toast.d.ts +14 -0
- package/dist/Toast.d.ts.map +1 -1
- package/dist/Toast.js +551 -0
- package/dist/Toast.js.map +1 -0
- package/dist/Toast.jsx +361 -0
- package/dist/Toast.jsx.map +1 -0
- package/dist/ToggleButton.d.ts.map +1 -1
- package/dist/ToggleButton.js +123 -0
- package/dist/ToggleButton.js.map +1 -0
- package/dist/ToggleButton.jsx +88 -0
- package/dist/ToggleButton.jsx.map +1 -0
- package/dist/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/ToggleButtonGroup.js +114 -0
- package/dist/ToggleButtonGroup.js.map +1 -0
- package/dist/ToggleButtonGroup.jsx +85 -0
- package/dist/ToggleButtonGroup.jsx.map +1 -0
- package/dist/Toolbar.js +112 -0
- package/dist/Toolbar.js.map +1 -0
- package/dist/Toolbar.jsx +92 -0
- package/dist/Toolbar.jsx.map +1 -0
- package/dist/Tooltip.d.ts.map +1 -1
- package/dist/Tooltip.js +539 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/Tooltip.jsx +465 -0
- package/dist/Tooltip.jsx.map +1 -0
- package/dist/Tree.d.ts +14 -2
- package/dist/Tree.d.ts.map +1 -1
- package/dist/Tree.js +1424 -0
- package/dist/Tree.js.map +1 -0
- package/dist/Tree.jsx +1172 -0
- package/dist/Tree.jsx.map +1 -0
- package/dist/Virtualizer.d.ts +16 -2
- package/dist/Virtualizer.d.ts.map +1 -1
- package/dist/Virtualizer.js +2 -0
- package/dist/Virtualizer.jsx +2 -0
- package/dist/Virtualizer2.js +751 -0
- package/dist/Virtualizer2.js.map +1 -0
- package/dist/Virtualizer2.jsx +730 -0
- package/dist/Virtualizer2.jsx.map +1 -0
- package/dist/VirtualizerLayouts.d.ts +18 -0
- package/dist/VirtualizerLayouts.d.ts.map +1 -1
- package/dist/VisuallyHidden.js +42 -0
- package/dist/VisuallyHidden.js.map +1 -0
- package/dist/VisuallyHidden.jsx +35 -0
- package/dist/VisuallyHidden.jsx.map +1 -0
- package/dist/contexts.js +33 -0
- package/dist/contexts.js.map +1 -0
- package/dist/contexts.jsx +33 -0
- package/dist/contexts.jsx.map +1 -0
- package/dist/index.d.ts +7 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +70 -23932
- package/dist/index.jsx +70 -18337
- package/dist/useDragAndDrop.js +2 -0
- package/dist/useDragAndDrop.jsx +2 -0
- package/dist/useDragAndDrop2.js +395 -0
- package/dist/useDragAndDrop2.js.map +1 -0
- package/dist/useDragAndDrop2.jsx +395 -0
- package/dist/useDragAndDrop2.jsx.map +1 -0
- package/dist/utils.d.ts +83 -11
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +285 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.jsx +277 -0
- package/dist/utils.jsx.map +1 -0
- package/dist/virtualizer/Layout.js +144 -0
- package/dist/virtualizer/Layout.js.map +1 -0
- package/dist/virtualizer/Layout.jsx +144 -0
- package/dist/virtualizer/Layout.jsx.map +1 -0
- package/package.json +401 -4
- package/src/Breadcrumbs.tsx +3 -1
- package/src/Button.tsx +22 -2
- package/src/Calendar.tsx +27 -10
- package/src/CalendarPicker.tsx +73 -0
- package/src/Checkbox.tsx +539 -3
- package/src/Collection.tsx +9 -3
- package/src/Color.tsx +42 -14
- package/src/ComboBox.tsx +50 -6
- package/src/DateField.tsx +20 -2
- package/src/DatePicker.tsx +57 -5
- package/src/Dialog.tsx +13 -5
- package/src/Disclosure.tsx +3 -1
- package/src/DragAndDrop.tsx +3 -1
- package/src/DropZone.tsx +3 -1
- package/src/GridList.tsx +125 -24
- package/src/Icon.tsx +3 -1
- package/src/Link.tsx +3 -1
- package/src/ListBox.tsx +31 -4
- package/src/Menu.tsx +252 -128
- package/src/Meter.tsx +3 -1
- package/src/Modal.tsx +100 -52
- package/src/NumberField.tsx +51 -8
- package/src/Popover.tsx +40 -10
- package/src/ProgressBar.tsx +3 -1
- package/src/RadioGroup.tsx +468 -4
- package/src/RangeCalendar.tsx +3 -1
- package/src/SearchField.tsx +27 -3
- package/src/Select.tsx +22 -7
- package/src/SelectionIndicator.tsx +3 -1
- package/src/SharedElementTransition.tsx +3 -1
- package/src/Slider.tsx +159 -13
- package/src/Switch.tsx +395 -2
- package/src/Table.tsx +409 -95
- package/src/Tabs.tsx +16 -45
- package/src/TagGroup.tsx +3 -1
- package/src/Text.tsx +31 -10
- package/src/TextField.tsx +43 -5
- package/src/TimeField.tsx +20 -2
- package/src/Toast.tsx +79 -14
- package/src/ToggleButton.tsx +3 -1
- package/src/ToggleButtonGroup.tsx +3 -1
- package/src/Tooltip.tsx +3 -1
- package/src/Tree.tsx +77 -9
- package/src/Virtualizer.tsx +180 -31
- package/src/VirtualizerLayouts.ts +45 -10
- package/src/index.ts +50 -0
- package/src/utils.tsx +243 -27
- package/dist/index.js.map +0 -1
- package/dist/index.jsx.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListBox.jsx","names":["mergeProps"],"sources":["../src/ListBox.tsx"],"sourcesContent":["/**\n * ListBox component for solidaria-components\n *\n * A pre-wired headless listbox that combines state + aria hooks.\n * Port of react-aria-components/src/ListBox.tsx\n */\n\nimport {\n type JSX,\n createContext,\n createEffect,\n createMemo,\n createSignal,\n onCleanup,\n splitProps,\n useContext,\n For,\n Show,\n} from \"solid-js\";\nimport {\n createListBox,\n createOption,\n createFocusRing,\n createScrollIntoViewOnFocus,\n mergeProps,\n useLocale,\n type AriaListBoxProps,\n type AriaOptionProps,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n createListState,\n type ListState,\n type Key,\n type DropTarget,\n} from \"@proyecto-viviana/solid-stately\";\nimport {\n type RenderChildren,\n type ClassNameOrFunction,\n type StyleOrFunction,\n type SlotProps,\n useRenderProps,\n filterDOMProps,\n} from \"./utils\";\nimport { SharedElementTransition } from \"./SharedElementTransition\";\nimport {\n SelectionIndicatorContext,\n type SelectionIndicatorContextValue,\n} from \"./SelectionIndicator\";\nimport { useVirtualizerContext } from \"./Virtualizer\";\nimport { type DragAndDropHooks } from \"./useDragAndDrop\";\nimport {\n getNormalizedDropTargetKey,\n mergePersistedKeysIntoVirtualRange,\n useDndPersistedKeys,\n useRenderDropIndicator,\n} from \"./DragAndDrop\";\nimport {\n CollectionRendererContext,\n Section,\n Header,\n Group,\n type CollectionEntry,\n type CollectionRendererContextValue,\n type SectionProps,\n useCollectionRenderer,\n isCollectionSection,\n flattenCollectionEntries,\n} from \"./Collection\";\n\nexport interface ListBoxRenderProps {\n /** Whether the listbox has focus. */\n isFocused: boolean;\n /** Whether the listbox has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the listbox is disabled. */\n isDisabled: boolean;\n /** Whether the listbox is empty. */\n isEmpty: boolean;\n}\n\ntype RefLike<T> = ((el: T) => void) | { current?: T | null } | undefined;\n\nfunction assignRef<T>(ref: RefLike<T>, el: T): void {\n if (!ref) return;\n if (typeof ref === \"function\") ref(el);\n else ref.current = el;\n}\n\nexport interface ListBoxProps<T> extends Omit<AriaListBoxProps, \"children\">, SlotProps {\n /** The items to render in the listbox. */\n items: CollectionEntry<T>[];\n /** Function to get the key from an item. */\n getKey?: (item: T) => Key;\n /** Function to get the text value from an item. */\n getTextValue?: (item: T) => string;\n /** Function to check if an item is disabled. */\n getDisabled?: (item: T) => boolean;\n /** The selection mode. */\n selectionMode?: \"none\" | \"single\" | \"multiple\";\n /** The selection behavior (toggle vs replace). */\n selectionBehavior?: \"toggle\" | \"replace\";\n /** Whether disabled items can still receive focus. */\n disabledBehavior?: \"selection\" | \"all\";\n /** Keys of disabled items. */\n disabledKeys?: Iterable<Key>;\n /** Currently selected keys (controlled). */\n selectedKeys?: \"all\" | Iterable<Key>;\n /** Default selected keys (uncontrolled). */\n defaultSelectedKeys?: \"all\" | Iterable<Key>;\n /** Handler called when selection changes. */\n onSelectionChange?: (keys: \"all\" | Set<Key>) => void;\n /** The children of the component. A function may be provided to render each item. */\n children: (item: T) => JSX.Element;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<ListBoxRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<ListBoxRenderProps>;\n /** A function to render when the listbox is empty. */\n renderEmptyState?: () => JSX.Element;\n /** Whether there are more items to load. */\n hasMore?: boolean;\n /** Whether additional items are currently loading. */\n isLoading?: boolean;\n /** Called when the load more sentinel becomes visible. */\n onLoadMore?: () => void | Promise<void>;\n /** Ref for the listbox element. */\n ref?: RefLike<HTMLUListElement>;\n /** Drag and drop hooks from `useDragAndDrop`. */\n dragAndDropHooks?: DragAndDropHooks<T>;\n /** Layout hint for styling parity. */\n layout?: \"stack\" | \"grid\";\n /** Orientation hint for styling parity. */\n orientation?: \"vertical\" | \"horizontal\";\n /** Slot definitions provided through ListBoxContext. */\n slots?: Record<string, Partial<ListBoxProps<T>>>;\n}\n\nexport interface ListBoxOptionRenderProps {\n /** Whether the option is selected. */\n isSelected: boolean;\n /** Whether the option is focused. */\n isFocused: boolean;\n /** Whether the option has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the option is pressed. */\n isPressed: boolean;\n /** Whether the option is hovered. */\n isHovered: boolean;\n /** Whether the option is disabled. */\n isDisabled: boolean;\n}\n\nexport interface ListBoxOptionProps<T>\n extends Omit<AriaOptionProps, \"children\" | \"key\">, SlotProps {\n /** The unique key for the option. */\n id: Key;\n /** The item value. */\n item?: T;\n /** The children of the option. A function may be provided to receive render props. */\n children?: RenderChildren<ListBoxOptionRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<ListBoxOptionRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<ListBoxOptionRenderProps>;\n /** The text value of the option (for typeahead). */\n textValue?: string;\n /** Ref for the option element. */\n ref?: RefLike<HTMLLIElement>;\n}\n\nexport interface ListBoxLoadMoreItemProps extends SlotProps {\n /** Called when the sentinel becomes visible. */\n onLoadMore: () => void | Promise<void>;\n /** Whether additional items are currently loading. */\n isLoading?: boolean;\n /** Scroll offset multiplier for early loading trigger (default: 1 = 100% of viewport height). */\n scrollOffset?: number;\n /** Content for the load more row. */\n children?: JSX.Element;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<{ isLoading: boolean }>;\n /** The inline style for the element. */\n style?: StyleOrFunction<{ isLoading: boolean }>;\n}\n\nexport interface ListBoxSectionProps extends SectionProps {}\n\ninterface ListBoxContextValue<T> {\n state: ListState<T>;\n isDisabled: () => boolean;\n dragAndDropHooks?: DragAndDropHooks<unknown>;\n dragState?: unknown;\n dropState?: unknown;\n slots?: Record<string, Partial<ListBoxProps<T>>>;\n}\n\nexport const ListBoxContext = createContext<ListBoxContextValue<unknown> | null>(null);\nexport const ListBoxStateContext = createContext<ListState<unknown> | null>(null);\nexport const ListStateContext = ListBoxStateContext;\n\n/**\n * A listbox displays a list of options and allows a user to select one or more of them.\n */\nexport function ListBox<T>(props: ListBoxProps<T>): JSX.Element {\n const parentContext = useContext(ListBoxContext) as ListBoxContextValue<T> | null;\n const contextSlotProps = parentContext?.slots?.[props.slot ?? \"default\"];\n const mergedListBoxProps = contextSlotProps\n ? (mergeProps(contextSlotProps, props) as ListBoxProps<T>)\n : props;\n const [local, stateProps, ariaProps] = splitProps(\n mergedListBoxProps,\n [\n \"children\",\n \"class\",\n \"style\",\n \"slot\",\n \"renderEmptyState\",\n \"hasMore\",\n \"isLoading\",\n \"onLoadMore\",\n \"dragAndDropHooks\",\n \"slots\",\n \"ref\",\n ],\n [\n \"items\",\n \"getKey\",\n \"getTextValue\",\n \"getDisabled\",\n \"disabledKeys\",\n \"disabledBehavior\",\n \"selectionMode\",\n \"selectionBehavior\",\n \"selectedKeys\",\n \"defaultSelectedKeys\",\n \"onSelectionChange\",\n \"layout\",\n \"orientation\",\n ],\n );\n\n const flatItems = createMemo<T[]>(() => {\n return flattenCollectionEntries(stateProps.items);\n });\n\n const hasSections = createMemo(() => stateProps.items.some((item) => isCollectionSection(item)));\n\n const state = createListState<T>({\n get items() {\n return flatItems();\n },\n get getKey() {\n return stateProps.getKey;\n },\n get getTextValue() {\n return stateProps.getTextValue;\n },\n get getDisabled() {\n return stateProps.getDisabled;\n },\n get disabledKeys() {\n return stateProps.disabledKeys;\n },\n get selectionMode() {\n return stateProps.selectionMode;\n },\n get selectionBehavior() {\n return stateProps.selectionBehavior;\n },\n get disabledBehavior() {\n return stateProps.disabledBehavior;\n },\n get selectedKeys() {\n return stateProps.selectedKeys;\n },\n get defaultSelectedKeys() {\n return stateProps.defaultSelectedKeys;\n },\n get onSelectionChange() {\n return stateProps.onSelectionChange;\n },\n });\n\n const resolveDisabled = (): boolean => {\n const disabled = ariaProps.isDisabled;\n if (typeof disabled === \"function\") {\n return (disabled as () => boolean)();\n }\n return !!disabled;\n };\n\n const locale = useLocale();\n const listBoxAria = createListBox(\n {\n ...ariaProps,\n get isDisabled() {\n return resolveDisabled();\n },\n get orientation() {\n return stateProps.orientation ?? \"vertical\";\n },\n get direction() {\n return locale().direction;\n },\n },\n state,\n () => listRef(),\n );\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n\n const renderValues = createMemo<ListBoxRenderProps>(() => ({\n isFocused: state.isFocused() || isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: resolveDisabled(),\n isEmpty: state.collection().size === 0,\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ListBox\",\n },\n renderValues,\n );\n\n const domProps = createMemo(() => {\n const filtered = filterDOMProps(ariaProps as Record<string, unknown>, { global: true });\n return filtered;\n });\n\n const cleanListBoxProps = () => {\n const { ref: _ref1, ...rest } = listBoxAria.listBoxProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref2, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n const cleanLabelProps = () => {\n const { ref: _ref3, ...rest } = listBoxAria.labelProps as Record<string, unknown>;\n return rest;\n };\n const [listRef, setListRef] = createSignal<HTMLElement | null>(null);\n\n // Reveal the activedescendant-focused option on keyboard navigation. The\n // listbox keeps real DOM focus on itself, so the browser won't natively scroll\n // an off-screen focused option into view the way roving tabindex would.\n createScrollIntoViewOnFocus({\n focusedKey: () => state.focusedKey(),\n isActive: () => state.isFocused(),\n ref: () => listRef(),\n });\n\n const isEmpty = () => stateProps.items.length === 0;\n const parentCollectionRenderer = useCollectionRenderer<unknown>();\n const getItemNodes = createMemo(() =>\n Array.from(state.collection()).filter((node) => node.type === \"item\"),\n );\n const getDropTargetByIndex = (\n index: number,\n position: \"before\" | \"after\" | \"on\",\n ): DropTarget | null => {\n const node = getItemNodes()[index];\n if (!node) return null;\n return { type: \"item\", key: node.key, dropPosition: position };\n };\n const hasDroppableDnd = createMemo(() => {\n const hooks = local.dragAndDropHooks;\n return Boolean(\n hooks?.useDroppableCollectionState &&\n hooks.useDroppableCollection &&\n (hooks.dropTargetDelegate ||\n parentCollectionRenderer?.dropTargetDelegate ||\n hooks.ListDropTargetDelegate),\n );\n });\n const dropState = createMemo(() => {\n if (!hasDroppableDnd()) return undefined;\n return local.dragAndDropHooks?.useDroppableCollectionState?.({});\n });\n const hasDraggableDnd = createMemo(() => {\n const hooks = local.dragAndDropHooks;\n return Boolean(hooks?.useDraggableCollectionState && hooks.useDraggableCollection);\n });\n const dragState = createMemo(() => {\n if (!hasDraggableDnd()) return undefined;\n return local.dragAndDropHooks?.useDraggableCollectionState?.({\n items: flatItems(),\n });\n });\n createEffect(() => {\n if (!hasDraggableDnd()) return;\n const hooks = local.dragAndDropHooks;\n const activeDragState = dragState();\n if (!hooks?.useDraggableCollection || !activeDragState) return;\n hooks.useDraggableCollection({}, activeDragState, () => listRef());\n });\n const droppableCollection = createMemo(() => {\n if (!hasDroppableDnd()) return undefined;\n const hooks = local.dragAndDropHooks;\n const activeDropState = dropState();\n if (!hooks?.useDroppableCollection || !activeDropState) return undefined;\n const resolveDirection = (): \"ltr\" | \"rtl\" => {\n const el = listRef();\n if (el && typeof window !== \"undefined\" && typeof window.getComputedStyle === \"function\") {\n const dir = window.getComputedStyle(el).direction;\n if (dir === \"rtl\") return \"rtl\";\n }\n return typeof document !== \"undefined\" && document.dir === \"rtl\" ? \"rtl\" : \"ltr\";\n };\n const dropTargetDelegate =\n hooks.dropTargetDelegate ??\n parentCollectionRenderer?.dropTargetDelegate ??\n (hooks.ListDropTargetDelegate\n ? new hooks.ListDropTargetDelegate(\n () => state.collection(),\n () => listRef(),\n { layout: \"stack\", orientation: \"vertical\", direction: resolveDirection() },\n )\n : undefined);\n if (!dropTargetDelegate) return undefined;\n return hooks.useDroppableCollection(\n {\n dropTargetDelegate,\n keyboardDelegate: {\n getFirstKey: () => state.collection().getFirstKey(),\n getLastKey: () => state.collection().getLastKey(),\n getKeyBelow: (key) => state.collection().getKeyAfter(key),\n getKeyAbove: (key) => state.collection().getKeyBefore(key),\n getKeyPageBelow: (key) => state.collection().getKeyAfter(key),\n getKeyPageAbove: (key) => state.collection().getKeyBefore(key),\n },\n },\n activeDropState,\n () => listRef(),\n );\n });\n const isRootDropTarget = createMemo(() => {\n return Boolean(dropState()?.target?.type === \"root\");\n });\n const dndRenderDropIndicator = createMemo(() =>\n useRenderDropIndicator(local.dragAndDropHooks, dropState()),\n );\n const dndDropIndicator = (index: number, position: \"before\" | \"after\" | \"on\") => {\n const target = getDropTargetByIndex(index, position);\n if (!target || target.type !== \"item\") return undefined;\n return dndRenderDropIndicator()?.(target);\n };\n const virtualizer = useVirtualizerContext();\n const persistedKeys = useDndPersistedKeys(\n { focusedKey: state.focusedKey },\n local.dragAndDropHooks,\n dropState(),\n state.collection(),\n );\n const virtualRange = createMemo(() => {\n if (!virtualizer || !parentCollectionRenderer?.isVirtualized || hasSections()) return null;\n const baseRange = virtualizer.getVisibleRange(stateProps.items.length);\n const itemNodes = getItemNodes();\n const persistedIndexes = Array.from(persistedKeys())\n .map((key) => itemNodes.findIndex((node) => node.key === key))\n .filter((index) => index >= 0);\n const dropTarget = dropState()?.target;\n const normalizedDropKey = getNormalizedDropTargetKey(dropTarget, state.collection());\n const focusedKey = state.focusedKey();\n const focusedIndex =\n focusedKey != null ? itemNodes.findIndex((node) => node.key === focusedKey) : -1;\n const forceIncludeIndexes = [\n dropTarget?.type === \"item\" ? itemNodes.findIndex((node) => node.key === dropTarget.key) : -1,\n normalizedDropKey != null\n ? itemNodes.findIndex((node) => node.key === normalizedDropKey)\n : -1,\n dropTarget?.type === \"item\" ? -1 : focusedIndex,\n ].filter((index) => index >= 0);\n return mergePersistedKeysIntoVirtualRange(\n baseRange,\n persistedIndexes,\n stateProps.items.length,\n virtualizer,\n 80,\n {\n forceIncludeIndexes,\n forceIncludeMaxSpan: 320,\n },\n );\n });\n createEffect(() => {\n if (!virtualizer || !parentCollectionRenderer?.isVirtualized) return;\n const getItemNodes = () =>\n Array.from(state.collection()).filter((node) => node.type === \"item\");\n virtualizer.setDropTargetItemCountResolver(() => getItemNodes().length);\n virtualizer.setDropTargetIndexResolver((key) => {\n const index = getItemNodes().findIndex((node) => node.key === key);\n return index >= 0 ? index : null;\n });\n virtualizer.setDropTargetResolver((target) => {\n const node = getItemNodes()[target.index];\n if (!node) return target;\n return {\n ...target,\n key: typeof node.key === \"string\" || typeof node.key === \"number\" ? node.key : undefined,\n };\n });\n onCleanup(() => {\n virtualizer.setDropTargetIndexResolver(undefined);\n virtualizer.setDropTargetItemCountResolver(undefined);\n virtualizer.setDropTargetResolver(undefined);\n });\n });\n const visibleItems = createMemo(() => {\n const range = virtualRange();\n if (!range) return stateProps.items;\n return stateProps.items.slice(range.start, range.end);\n });\n // Spacers reserve the windowed-out extent along the virtualizer's primary axis,\n // so a horizontal layout offsets along width rather than height.\n const virtualSpacerStyle = (size: number): JSX.CSSProperties =>\n virtualizer?.orientation === \"horizontal\" ? { width: `${size}px` } : { height: `${size}px` };\n const sectionedRenderEntries = createMemo(() => {\n let globalIndex = 0;\n return stateProps.items.map((entry) => {\n if (isCollectionSection(entry)) {\n const sectionItems = entry.items.map((item) => ({\n item,\n index: globalIndex++,\n }));\n return {\n type: \"section\" as const,\n section: entry,\n items: sectionItems,\n };\n }\n const indexedItem = {\n item: entry as T,\n index: globalIndex++,\n };\n return {\n type: \"item\" as const,\n item: indexedItem,\n };\n });\n });\n const collectionRenderer = createMemo<CollectionRendererContextValue<unknown>>(() => ({\n ...parentCollectionRenderer,\n renderItem: (item) => local.children(item as T),\n renderDropIndicator: (index, position) =>\n dndDropIndicator(index, position) ??\n parentCollectionRenderer?.renderDropIndicator?.(index, position),\n }));\n\n return (\n <ListBoxContext.Provider\n value={\n {\n state,\n isDisabled: resolveDisabled,\n dragAndDropHooks: local.dragAndDropHooks as DragAndDropHooks<unknown> | undefined,\n dragState: dragState(),\n dropState: dropState(),\n slots: local.slots,\n } as ListBoxContextValue<unknown>\n }\n >\n <ListBoxStateContext.Provider value={state}>\n <CollectionRendererContext.Provider value={collectionRenderer()}>\n <>\n <Show when={ariaProps.label}>\n <span {...cleanLabelProps()}>{ariaProps.label as JSX.Element}</span>\n </Show>\n <ul\n {...mergeProps(\n domProps(),\n cleanListBoxProps(),\n cleanFocusProps(),\n (droppableCollection()?.collectionProps as Record<string, unknown> | undefined) ??\n {},\n )}\n ref={(el) => {\n setListRef(el);\n assignRef(local.ref, el);\n }}\n class={renderProps.class()}\n style={renderProps.style()}\n data-focused={state.isFocused() || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-disabled={resolveDisabled() || undefined}\n data-empty={isEmpty() || undefined}\n data-layout={stateProps.layout}\n data-orientation={stateProps.orientation}\n data-drop-target={isRootDropTarget() || undefined}\n slot={local.slot}\n >\n <SharedElementTransition>\n {isEmpty() && local.renderEmptyState ? (\n <li role=\"option\" style={{ display: \"contents\" }} data-empty-state>\n {local.renderEmptyState()}\n </li>\n ) : hasSections() ? (\n <For each={sectionedRenderEntries()}>\n {(entry) =>\n entry.type === \"section\" ? (\n <li role=\"presentation\" data-section-wrapper>\n <Section class=\"solidaria-ListBox-section\">\n {entry.section.title != null && (\n <Header class=\"solidaria-ListBox-sectionHeader\">\n {entry.section.title}\n </Header>\n )}\n <Group class=\"solidaria-ListBox-sectionGroup\">\n <ul role=\"group\" aria-label={entry.section[\"aria-label\"]}>\n <For each={entry.items}>\n {(indexedItem) => (\n <>\n {collectionRenderer().renderDropIndicator?.(\n indexedItem.index,\n \"before\",\n )}\n {collectionRenderer().renderDropIndicator?.(\n indexedItem.index,\n \"on\",\n )}\n {local.children(indexedItem.item)}\n {collectionRenderer().renderDropIndicator?.(\n indexedItem.index,\n \"after\",\n )}\n </>\n )}\n </For>\n </ul>\n </Group>\n </Section>\n </li>\n ) : (\n <>\n {collectionRenderer().renderDropIndicator?.(entry.item.index, \"before\")}\n {collectionRenderer().renderDropIndicator?.(entry.item.index, \"on\")}\n {local.children(entry.item.item)}\n {collectionRenderer().renderDropIndicator?.(entry.item.index, \"after\")}\n </>\n )\n }\n </For>\n ) : (\n <>\n {virtualRange()?.offsetTop ? (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n style={virtualSpacerStyle(virtualRange()!.offsetTop)}\n data-virtualizer-spacer=\"top\"\n />\n ) : null}\n <For each={visibleItems()}>\n {(item, index) => {\n const itemIndex = () => (virtualRange()?.start ?? 0) + index();\n const beforeIndicator = () =>\n collectionRenderer().renderDropIndicator?.(itemIndex(), \"before\");\n const onIndicator = () =>\n collectionRenderer().renderDropIndicator?.(itemIndex(), \"on\");\n const afterIndicator = () =>\n collectionRenderer().renderDropIndicator?.(itemIndex(), \"after\");\n return (\n <>\n {beforeIndicator()}\n {onIndicator()}\n {local.children(item as T)}\n {afterIndicator()}\n </>\n );\n }}\n </For>\n {virtualRange()?.offsetBottom ? (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n style={virtualSpacerStyle(virtualRange()!.offsetBottom)}\n data-virtualizer-spacer=\"bottom\"\n />\n ) : null}\n </>\n )}\n </SharedElementTransition>\n {local.hasMore && local.onLoadMore && (\n <ListBoxLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />\n )}\n </ul>\n </>\n </CollectionRendererContext.Provider>\n </ListBoxStateContext.Provider>\n </ListBoxContext.Provider>\n );\n}\n\n/**\n * An option in a listbox.\n */\nexport function ListBoxOption<T>(props: ListBoxOptionProps<T>): JSX.Element {\n const [local, ariaProps] = splitProps(props, [\n \"class\",\n \"style\",\n \"slot\",\n \"id\",\n \"item\",\n \"textValue\",\n \"ref\",\n ]);\n\n const context = useContext(ListBoxStateContext);\n if (!context) {\n throw new Error(\"ListBoxOption must be used within a ListBox\");\n }\n const state = context as ListState<T>;\n const listContext = useContext(ListBoxContext) as ListBoxContextValue<T> | null;\n const [ref, setRef] = createSignal<HTMLLIElement | null>(null);\n\n const optionAria = createOption<T>(\n {\n key: local.id,\n get isDisabled() {\n return Boolean(ariaProps.isDisabled || listContext?.isDisabled());\n },\n get \"aria-label\"() {\n return ariaProps[\"aria-label\"] ?? local.textValue;\n },\n get shouldSelectOnPressUp() {\n return ariaProps.shouldSelectOnPressUp;\n },\n get shouldFocusOnHover() {\n return ariaProps.shouldFocusOnHover;\n },\n get onHoverStart() {\n return ariaProps.onHoverStart;\n },\n get onHoverEnd() {\n return ariaProps.onHoverEnd;\n },\n get onHoverChange() {\n return ariaProps.onHoverChange;\n },\n },\n state,\n );\n\n const renderValues = createMemo<ListBoxOptionRenderProps>(() => ({\n isSelected: optionAria.isSelected(),\n isFocused: optionAria.isFocused(),\n isFocusVisible: optionAria.isFocusVisible(),\n isPressed: optionAria.isPressed(),\n isHovered: optionAria.isHovered(),\n isDisabled: optionAria.isDisabled(),\n }));\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children;\n },\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-ListBox-option\",\n },\n renderValues,\n );\n const hasPrimitiveLabel = () => {\n return typeof props.children === \"string\" || typeof props.children === \"number\";\n };\n\n const selectionIndicatorContext = createMemo<SelectionIndicatorContextValue>(() => ({\n isSelected: optionAria.isSelected,\n }));\n const draggableItem = createMemo(() => {\n if (!listContext?.dragAndDropHooks?.useDraggableItem || !listContext.dragState)\n return undefined;\n return listContext.dragAndDropHooks.useDraggableItem(\n {\n key: local.id as string | number,\n },\n listContext.dragState as Parameters<NonNullable<DragAndDropHooks<T>[\"useDraggableItem\"]>>[1],\n );\n });\n const droppableItem = createMemo(() => {\n if (!listContext?.dragAndDropHooks?.useDroppableItem || !listContext.dropState)\n return undefined;\n return listContext.dragAndDropHooks.useDroppableItem(\n {\n key: local.id as string | number,\n },\n listContext.dropState as Parameters<NonNullable<DragAndDropHooks<T>[\"useDroppableItem\"]>>[1],\n () => ref(),\n );\n });\n\n const cleanOptionProps = () => {\n const {\n ref: _ref1,\n \"aria-describedby\": _ariaDescribedby,\n ...rest\n } = optionAria.optionProps as Record<string, unknown>;\n if (!hasPrimitiveLabel() && rest[\"aria-label\"] == null) {\n delete rest[\"aria-labelledby\"];\n }\n return rest;\n };\n const domProps = () => filterDOMProps(ariaProps as Record<string, unknown>, { global: true });\n\n return (\n <SelectionIndicatorContext.Provider value={selectionIndicatorContext()}>\n <li\n ref={(el) => {\n setRef(el);\n assignRef(local.ref, el);\n }}\n {...mergeProps(\n domProps(),\n cleanOptionProps(),\n (draggableItem()?.dragProps as Record<string, unknown> | undefined) ?? {},\n (droppableItem()?.dropProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-selected={optionAria.isSelected() || undefined}\n data-focused={optionAria.isFocused() || undefined}\n data-focus-visible={optionAria.isFocusVisible() || undefined}\n data-pressed={optionAria.isPressed() || undefined}\n data-hovered={optionAria.isHovered() || undefined}\n data-disabled={optionAria.isDisabled() || undefined}\n data-dragging={draggableItem()?.isDragging || undefined}\n data-drop-target={droppableItem()?.isDropTarget || undefined}\n slot={local.slot}\n >\n {hasPrimitiveLabel() ? (\n <span {...optionAria.labelProps}>{renderProps.renderChildren()}</span>\n ) : (\n renderProps.renderChildren()\n )}\n </li>\n </SelectionIndicatorContext.Provider>\n );\n}\n\n/**\n * Load more sentinel item for listbox collections.\n */\nexport function ListBoxLoadMoreItem(props: ListBoxLoadMoreItemProps): JSX.Element {\n let sentinelRef: HTMLDivElement | undefined;\n const [isPending, setIsPending] = createSignal(false);\n\n const isLoading = () => !!props.isLoading || isPending();\n\n const triggerLoadMore = async () => {\n if (isLoading()) return;\n setIsPending(true);\n try {\n await props.onLoadMore();\n } finally {\n setIsPending(false);\n }\n };\n\n createEffect(() => {\n if (!sentinelRef || typeof IntersectionObserver !== \"function\") return;\n\n const offset = props.scrollOffset ?? 1;\n const margin = `0px 0px ${100 * offset}% 0px`;\n const observer = new IntersectionObserver(\n (entries) => {\n if (entries[0]?.isIntersecting) {\n void triggerLoadMore();\n }\n },\n { rootMargin: margin },\n );\n\n observer.observe(sentinelRef);\n return () => observer.disconnect();\n });\n\n const renderProps = useRenderProps(\n {\n get children() {\n return props.children ?? (() => (isLoading() ? \"Loading more...\" : \"Load more\"));\n },\n class: props.class,\n style: props.style,\n defaultClassName: \"solidaria-ListBox-loadMore\",\n },\n () => ({ isLoading: isLoading() }),\n );\n\n return (\n <>\n <li style={{ position: \"relative\", width: 0, height: 0, overflow: \"hidden\" }} inert>\n <div ref={sentinelRef} style={{ position: \"absolute\", height: \"1px\", width: \"1px\" }} />\n </li>\n <li\n role=\"option\"\n aria-disabled={true}\n tabIndex={0}\n onFocus={() => {\n void triggerLoadMore();\n }}\n class={renderProps.class()}\n style={renderProps.style()}\n data-loading={isLoading() || undefined}\n >\n {renderProps.renderChildren()}\n </li>\n </>\n );\n}\n\n/**\n * Section primitive alias for ListBox composition parity.\n */\nexport function ListBoxSection(props: ListBoxSectionProps): JSX.Element {\n return <Section {...props} />;\n}\n\nListBox.Option = ListBoxOption;\nListBox.LoadMoreItem = ListBoxLoadMoreItem;\n"],"mappings":"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"}
|
package/dist/Menu.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface MenuRenderProps {
|
|
|
18
18
|
/** Whether the menu has no items. */
|
|
19
19
|
isEmpty: boolean;
|
|
20
20
|
}
|
|
21
|
-
export interface MenuProps<T> extends Omit<AriaMenuProps
|
|
21
|
+
export interface MenuProps<T> extends Omit<AriaMenuProps<T>, "children">, SlotProps, Pick<MenuStateProps<T>, "selectionMode" | "selectionBehavior" | "disallowEmptySelection" | "selectedKeys" | "defaultSelectedKeys" | "onSelectionChange" | "allowDuplicateSelectionEvents"> {
|
|
22
22
|
/** The items to render in the menu. */
|
|
23
23
|
items?: CollectionEntry<T>[];
|
|
24
24
|
/** Function to get the key from an item. */
|
|
@@ -29,8 +29,10 @@ export interface MenuProps<T> extends Omit<AriaMenuProps, "children">, SlotProps
|
|
|
29
29
|
getDisabled?: (item: T) => boolean;
|
|
30
30
|
/** Keys of disabled items. */
|
|
31
31
|
disabledKeys?: Iterable<Key>;
|
|
32
|
-
/**
|
|
33
|
-
|
|
32
|
+
/** Whether disabled items can still receive focus. */
|
|
33
|
+
disabledBehavior?: "selection" | "all";
|
|
34
|
+
/** Handler called when an item is activated, with the activated item's value. */
|
|
35
|
+
onAction?: (key: Key, value: T) => void;
|
|
34
36
|
/** Handler called when the menu should close. */
|
|
35
37
|
onClose?: () => void;
|
|
36
38
|
/** The children of the component. A function may be provided to render each item. */
|
|
@@ -46,9 +48,9 @@ export interface MenuProps<T> extends Omit<AriaMenuProps, "children">, SlotProps
|
|
|
46
48
|
/** Whether the menu should close when an item is selected. */
|
|
47
49
|
shouldCloseOnSelect?: boolean;
|
|
48
50
|
/** Ref for the menu element. */
|
|
49
|
-
ref?: RefLike<
|
|
51
|
+
ref?: RefLike<HTMLDivElement>;
|
|
50
52
|
/** Custom renderer for the menu element. */
|
|
51
|
-
render?: (props: JSX.HTMLAttributes<
|
|
53
|
+
render?: (props: JSX.HTMLAttributes<HTMLDivElement>, renderProps: MenuRenderProps) => JSX.Element;
|
|
52
54
|
/** Drag and drop hooks from `useDragAndDrop`. */
|
|
53
55
|
dragAndDropHooks?: DragAndDropHooks<T>;
|
|
54
56
|
}
|
|
@@ -71,8 +73,20 @@ export interface MenuItemRenderProps {
|
|
|
71
73
|
hasSubmenu: boolean;
|
|
72
74
|
/** Whether the submenu is currently open. */
|
|
73
75
|
isOpen: boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Internal: props (carrying the slot `id` the item's `aria-describedby`
|
|
78
|
+
* references) for the item's description text element. Threaded to the styled
|
|
79
|
+
* `Text slot="description"` so it receives the id — mirrors upstream's
|
|
80
|
+
* `TextContext` description-slot delegation.
|
|
81
|
+
*/
|
|
82
|
+
descriptionProps?: JSX.HTMLAttributes<HTMLElement>;
|
|
83
|
+
/**
|
|
84
|
+
* Internal: props (id + `aria-hidden`) for the item's keyboard-shortcut
|
|
85
|
+
* element, threaded to the styled `Keyboard`.
|
|
86
|
+
*/
|
|
87
|
+
keyboardShortcutProps?: JSX.HTMLAttributes<HTMLElement>;
|
|
74
88
|
}
|
|
75
|
-
export interface MenuItemProps<T> extends Omit<AriaMenuItemProps, "children" | "key">, SlotProps {
|
|
89
|
+
export interface MenuItemProps<T> extends Omit<AriaMenuItemProps, "children" | "key" | "id">, SlotProps {
|
|
76
90
|
/** The unique key for the item. */
|
|
77
91
|
id: Key;
|
|
78
92
|
/** The item value. */
|
|
@@ -101,10 +115,10 @@ export interface MenuItemProps<T> extends Omit<AriaMenuItemProps, "children" | "
|
|
|
101
115
|
onHoverEnd?: () => void;
|
|
102
116
|
/** Handler called when hover state changes. */
|
|
103
117
|
onHoverChange?: (isHovered: boolean) => void;
|
|
104
|
-
/** Ref for the menu item element. */
|
|
105
|
-
ref?: RefLike<
|
|
118
|
+
/** Ref for the menu item element (a `<div>`, or an `<a>` for link items). */
|
|
119
|
+
ref?: RefLike<HTMLElement>;
|
|
106
120
|
/** Custom renderer for the menu item element. */
|
|
107
|
-
render?: (props: JSX.HTMLAttributes<
|
|
121
|
+
render?: (props: JSX.HTMLAttributes<HTMLElement>, renderProps: MenuItemRenderProps) => JSX.Element;
|
|
108
122
|
}
|
|
109
123
|
export interface MenuTriggerRenderProps {
|
|
110
124
|
/** Whether the menu is open. */
|
|
@@ -155,6 +169,10 @@ interface MenuTriggerContextValue {
|
|
|
155
169
|
state: OverlayTriggerState;
|
|
156
170
|
triggerProps: JSX.HTMLAttributes<HTMLElement>;
|
|
157
171
|
menuProps: JSX.HTMLAttributes<HTMLElement>;
|
|
172
|
+
isPressed?: () => boolean;
|
|
173
|
+
onPressStart?: (e: {
|
|
174
|
+
pointerType?: string;
|
|
175
|
+
}) => void;
|
|
158
176
|
}
|
|
159
177
|
export declare const MenuContext: import("solid-js").Context<MenuContextValue<unknown> | null>;
|
|
160
178
|
export declare const MenuStateContext: import("solid-js").Context<MenuState<unknown> | null>;
|
package/dist/Menu.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../src/Menu.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,KAAK,GAAG,EAWT,MAAM,UAAU,CAAC;AAClB,OAAO,
|
|
1
|
+
{"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../src/Menu.tsx"],"names":[],"mappings":"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"}
|