@proyecto-viviana/solidaria-components 0.4.0 → 0.4.1

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.
Files changed (192) hide show
  1. package/dist/ActionBar.d.ts.map +1 -1
  2. package/dist/ActionBar.js +2 -11
  3. package/dist/ActionBar.js.map +1 -1
  4. package/dist/ActionBar.jsx +2 -11
  5. package/dist/ActionBar.jsx.map +1 -1
  6. package/dist/ActionGroup.d.ts.map +1 -1
  7. package/dist/ActionGroup.js +1 -1
  8. package/dist/ActionGroup.js.map +1 -1
  9. package/dist/ActionGroup.jsx +1 -1
  10. package/dist/ActionGroup.jsx.map +1 -1
  11. package/dist/Autocomplete.d.ts +2 -2
  12. package/dist/Autocomplete.d.ts.map +1 -1
  13. package/dist/Autocomplete.js +7 -7
  14. package/dist/Autocomplete.js.map +1 -1
  15. package/dist/Autocomplete.jsx +7 -7
  16. package/dist/Autocomplete.jsx.map +1 -1
  17. package/dist/Breadcrumbs.d.ts.map +1 -1
  18. package/dist/Breadcrumbs.js +15 -16
  19. package/dist/Breadcrumbs.js.map +1 -1
  20. package/dist/Breadcrumbs.jsx +19 -24
  21. package/dist/Breadcrumbs.jsx.map +1 -1
  22. package/dist/Calendar.d.ts.map +1 -1
  23. package/dist/Calendar.js +100 -65
  24. package/dist/Calendar.js.map +1 -1
  25. package/dist/Calendar.jsx +10 -1
  26. package/dist/Calendar.jsx.map +1 -1
  27. package/dist/Color.d.ts.map +1 -1
  28. package/dist/Color.js +15 -18
  29. package/dist/Color.js.map +1 -1
  30. package/dist/Color.jsx +15 -19
  31. package/dist/Color.jsx.map +1 -1
  32. package/dist/ComboBox.d.ts +4 -0
  33. package/dist/ComboBox.d.ts.map +1 -1
  34. package/dist/ComboBox.js +21 -13
  35. package/dist/ComboBox.js.map +1 -1
  36. package/dist/ComboBox.jsx +23 -13
  37. package/dist/ComboBox.jsx.map +1 -1
  38. package/dist/DateField.d.ts +11 -2
  39. package/dist/DateField.d.ts.map +1 -1
  40. package/dist/DateField2.js +237 -234
  41. package/dist/DateField2.js.map +1 -1
  42. package/dist/DateField2.jsx +134 -97
  43. package/dist/DateField2.jsx.map +1 -1
  44. package/dist/DatePicker.d.ts +42 -3
  45. package/dist/DatePicker.d.ts.map +1 -1
  46. package/dist/DatePicker.js +6 -990
  47. package/dist/DatePicker.jsx +6 -681
  48. package/dist/DatePicker2.js +1171 -0
  49. package/dist/DatePicker2.js.map +1 -0
  50. package/dist/DatePicker2.jsx +820 -0
  51. package/dist/DatePicker2.jsx.map +1 -0
  52. package/dist/DateRangePickerContext.d.ts +2 -0
  53. package/dist/DateRangePickerContext.d.ts.map +1 -1
  54. package/dist/Disclosure.d.ts.map +1 -1
  55. package/dist/Disclosure.js +3 -0
  56. package/dist/Disclosure.js.map +1 -1
  57. package/dist/Disclosure.jsx +1 -1
  58. package/dist/Disclosure.jsx.map +1 -1
  59. package/dist/GridList.d.ts.map +1 -1
  60. package/dist/GridList.js +2 -2
  61. package/dist/GridList.js.map +1 -1
  62. package/dist/GridList.jsx +2 -2
  63. package/dist/GridList.jsx.map +1 -1
  64. package/dist/ListBox.d.ts +2 -2
  65. package/dist/ListBox.d.ts.map +1 -1
  66. package/dist/ListBox.js +327 -166
  67. package/dist/ListBox.js.map +1 -1
  68. package/dist/ListBox.jsx +161 -25
  69. package/dist/ListBox.jsx.map +1 -1
  70. package/dist/Modal.d.ts.map +1 -1
  71. package/dist/Modal.js +7 -5
  72. package/dist/Modal.js.map +1 -1
  73. package/dist/Modal.jsx +5 -5
  74. package/dist/Modal.jsx.map +1 -1
  75. package/dist/Popover.d.ts.map +1 -1
  76. package/dist/Popover.js +16 -9
  77. package/dist/Popover.js.map +1 -1
  78. package/dist/Popover.jsx +25 -4
  79. package/dist/Popover.jsx.map +1 -1
  80. package/dist/RangeCalendar.d.ts.map +1 -1
  81. package/dist/RangeCalendar.js +182 -46
  82. package/dist/RangeCalendar.js.map +1 -1
  83. package/dist/RangeCalendar.jsx +72 -2
  84. package/dist/RangeCalendar.jsx.map +1 -1
  85. package/dist/SearchField.d.ts.map +1 -1
  86. package/dist/SearchField.js +26 -2
  87. package/dist/SearchField.js.map +1 -1
  88. package/dist/SearchField.jsx +26 -2
  89. package/dist/SearchField.jsx.map +1 -1
  90. package/dist/Select.d.ts +7 -0
  91. package/dist/Select.d.ts.map +1 -1
  92. package/dist/Select.js +62 -49
  93. package/dist/Select.js.map +1 -1
  94. package/dist/Select.jsx +33 -18
  95. package/dist/Select.jsx.map +1 -1
  96. package/dist/SharedElementTransition.d.ts.map +1 -1
  97. package/dist/SharedElementTransition.js +35 -33
  98. package/dist/SharedElementTransition.js.map +1 -1
  99. package/dist/SharedElementTransition.jsx +35 -33
  100. package/dist/SharedElementTransition.jsx.map +1 -1
  101. package/dist/StepList.d.ts.map +1 -1
  102. package/dist/StepList.js +2 -9
  103. package/dist/StepList.js.map +1 -1
  104. package/dist/StepList.jsx +1 -6
  105. package/dist/StepList.jsx.map +1 -1
  106. package/dist/Table.d.ts +2 -0
  107. package/dist/Table.d.ts.map +1 -1
  108. package/dist/Table.js +10 -3
  109. package/dist/Table.js.map +1 -1
  110. package/dist/Table.jsx +10 -3
  111. package/dist/Table.jsx.map +1 -1
  112. package/dist/Tabs.d.ts.map +1 -1
  113. package/dist/Tabs.js +3 -0
  114. package/dist/Tabs.js.map +1 -1
  115. package/dist/Tabs.jsx +1 -1
  116. package/dist/Tabs.jsx.map +1 -1
  117. package/dist/TagGroup.d.ts +3 -1
  118. package/dist/TagGroup.d.ts.map +1 -1
  119. package/dist/TagGroup.js +12 -8
  120. package/dist/TagGroup.js.map +1 -1
  121. package/dist/TagGroup.jsx +11 -8
  122. package/dist/TagGroup.jsx.map +1 -1
  123. package/dist/TextField.js +4 -1
  124. package/dist/TextField.js.map +1 -1
  125. package/dist/TextField.jsx +4 -1
  126. package/dist/TextField.jsx.map +1 -1
  127. package/dist/TimeField.d.ts +14 -50
  128. package/dist/TimeField.d.ts.map +1 -1
  129. package/dist/TimeField.js +111 -205
  130. package/dist/TimeField.js.map +1 -1
  131. package/dist/TimeField.jsx +76 -82
  132. package/dist/TimeField.jsx.map +1 -1
  133. package/dist/Tree.d.ts.map +1 -1
  134. package/dist/Tree.js +3 -3
  135. package/dist/Tree.js.map +1 -1
  136. package/dist/Tree.jsx +3 -3
  137. package/dist/Tree.jsx.map +1 -1
  138. package/dist/index.d.ts +2 -3
  139. package/dist/index.d.ts.map +1 -1
  140. package/dist/index.js +5 -6
  141. package/dist/index.jsx +5 -6
  142. package/dist/useDragAndDrop.d.ts +0 -8
  143. package/dist/useDragAndDrop.d.ts.map +1 -1
  144. package/dist/useDragAndDrop2.js +6 -2
  145. package/dist/useDragAndDrop2.js.map +1 -1
  146. package/dist/useDragAndDrop2.jsx +6 -2
  147. package/dist/useDragAndDrop2.jsx.map +1 -1
  148. package/dist/utils.d.ts +1 -0
  149. package/dist/utils.d.ts.map +1 -1
  150. package/dist/utils.js +2 -2
  151. package/dist/utils.js.map +1 -1
  152. package/dist/utils.jsx +2 -2
  153. package/dist/utils.jsx.map +1 -1
  154. package/package.json +3 -9
  155. package/src/ActionBar.tsx +10 -12
  156. package/src/ActionGroup.tsx +5 -3
  157. package/src/Autocomplete.tsx +14 -9
  158. package/src/Breadcrumbs.tsx +55 -38
  159. package/src/Calendar.tsx +30 -1
  160. package/src/Color.tsx +42 -27
  161. package/src/ComboBox.tsx +49 -17
  162. package/src/DateField.tsx +285 -52
  163. package/src/DatePicker.tsx +345 -57
  164. package/src/DateRangePickerContext.tsx +2 -0
  165. package/src/Disclosure.tsx +4 -0
  166. package/src/GridList.tsx +8 -2
  167. package/src/ListBox.tsx +323 -21
  168. package/src/Modal.tsx +21 -5
  169. package/src/Popover.tsx +28 -7
  170. package/src/RangeCalendar.tsx +120 -1
  171. package/src/SearchField.tsx +53 -1
  172. package/src/Select.tsx +101 -20
  173. package/src/SharedElementTransition.tsx +92 -36
  174. package/src/StepList.tsx +0 -7
  175. package/src/Table.tsx +19 -4
  176. package/src/Tabs.tsx +1 -0
  177. package/src/TagGroup.tsx +26 -6
  178. package/src/TextField.tsx +1 -1
  179. package/src/TimeField.tsx +113 -196
  180. package/src/Tree.tsx +14 -4
  181. package/src/index.ts +1 -8
  182. package/src/useDragAndDrop.ts +8 -10
  183. package/src/utils.tsx +3 -3
  184. package/dist/DatePicker.js.map +0 -1
  185. package/dist/DatePicker.jsx.map +0 -1
  186. package/dist/HiddenTimeInput.d.ts +0 -25
  187. package/dist/HiddenTimeInput.d.ts.map +0 -1
  188. package/dist/HiddenTimeInput.js +0 -104
  189. package/dist/HiddenTimeInput.js.map +0 -1
  190. package/dist/HiddenTimeInput.jsx +0 -69
  191. package/dist/HiddenTimeInput.jsx.map +0 -1
  192. package/src/HiddenTimeInput.tsx +0 -133
@@ -1 +1 @@
1
- {"version":3,"file":"ListBox.d.ts","sourceRoot":"","sources":["../src/ListBox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListBox.d.ts","sourceRoot":"","sources":["../src/ListBox.tsx"],"names":[],"mappings":"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"}
package/dist/ListBox.js CHANGED
@@ -3,11 +3,12 @@ import { SharedElementTransition } from "./SharedElementTransition.js";
3
3
  import { SelectionIndicatorContext } from "./SelectionIndicator.js";
4
4
  import { CollectionRendererContext, Group, Header, Section, flattenCollectionEntries, isCollectionSection, useCollectionRenderer } from "./Collection.js";
5
5
  import { r as useVirtualizerContext } from "./Virtualizer2.js";
6
- import { getNormalizedDropTargetKey, mergePersistedKeysIntoVirtualRange, useDndPersistedKeys, useRenderDropIndicator } from "./DragAndDrop.js";
6
+ import { useAutocompleteCollection } from "./Autocomplete.js";
7
+ import { DropIndicatorContext, getNormalizedDropTargetKey, mergePersistedKeysIntoVirtualRange, useDndPersistedKeys, useRenderDropIndicator } from "./DragAndDrop.js";
7
8
  import { className, createComponent, effect, getNextElement, getNextMarker, insert, memo, mergeProps, runHydrationEvents, setAttribute, spread, style, template, use } from "solid-js/web";
8
- import { For, Show, createContext, createEffect, createMemo, createSignal, onCleanup, splitProps, useContext } from "solid-js";
9
- import { createFocusRing, createListBox, createOption, createScrollIntoViewOnFocus, mergeProps as mergeProps$2, useLocale } from "@proyecto-viviana/solidaria";
10
- import { createListState } from "@proyecto-viviana/solid-stately";
9
+ import { For, Show, createContext, createEffect, createMemo, createSignal, on, onCleanup, splitProps, useContext } from "solid-js";
10
+ import { CLEAR_FOCUS_EVENT, FOCUS_EVENT, createDragSession, createFocusRing, createListBox, createOption, createScrollIntoViewOnFocus, createStringFormatter, dndIntlStrings, getGlobalDraggingCollectionRef, getGlobalDraggingKeys, mergeProps as mergeProps$2, moveVirtualFocus, registerDropItem, useLocale } from "@proyecto-viviana/solidaria";
11
+ import { createFilteredListState, createListState } from "@proyecto-viviana/solid-stately";
11
12
  //#region src/ListBox.tsx
12
13
  /**
13
14
  * ListBox component for solidaria-components
@@ -15,7 +16,7 @@ import { createListState } from "@proyecto-viviana/solid-stately";
15
16
  * A pre-wired headless listbox that combines state + aria hooks.
16
17
  * Port of react-aria-components/src/ListBox.tsx
17
18
  */
18
- var _tmpl$ = /*#__PURE__*/ template(`<span>`), _tmpl$2 = /*#__PURE__*/ template(`<ul><!$><!/><!$><!/>`), _tmpl$3 = /*#__PURE__*/ template(`<li role=option data-empty-state style=display:contents>`), _tmpl$4 = /*#__PURE__*/ template(`<ul role=group>`), _tmpl$5 = /*#__PURE__*/ template(`<li role=presentation data-section-wrapper>`), _tmpl$6 = /*#__PURE__*/ template(`<li role=presentation aria-hidden=true data-virtualizer-spacer=top>`), _tmpl$7 = /*#__PURE__*/ template(`<li role=presentation aria-hidden=true data-virtualizer-spacer=bottom>`), _tmpl$8 = /*#__PURE__*/ template(`<li>`), _tmpl$9 = /*#__PURE__*/ template(`<li inert style=position:relative;width:0;height:0;overflow:hidden><div style=position:absolute;height:1px;width:1px>`), _tmpl$0 = /*#__PURE__*/ template(`<li role=option tabindex=0>`);
19
+ var _tmpl$ = /*#__PURE__*/ template(`<div role=option class=solidaria-DropIndicator tabindex=-1>`), _tmpl$2 = /*#__PURE__*/ template(`<span>`), _tmpl$3 = /*#__PURE__*/ template(`<div><!$><!/><!$><!/>`), _tmpl$4 = /*#__PURE__*/ template(`<div role=option data-empty-state style=display:contents>`), _tmpl$5 = /*#__PURE__*/ template(`<div role=group>`), _tmpl$6 = /*#__PURE__*/ template(`<div role=presentation data-section-wrapper>`), _tmpl$7 = /*#__PURE__*/ template(`<div role=presentation aria-hidden=true data-virtualizer-spacer=top>`), _tmpl$8 = /*#__PURE__*/ template(`<div role=presentation aria-hidden=true data-virtualizer-spacer=bottom>`), _tmpl$9 = /*#__PURE__*/ template(`<div>`), _tmpl$0 = /*#__PURE__*/ template(`<div inert style=position:relative;width:0;height:0;overflow:hidden><div style=position:absolute;height:1px;width:1px>`), _tmpl$1 = /*#__PURE__*/ template(`<div role=option tabindex=0>`);
19
20
  function assignRef(ref, el) {
20
21
  if (!ref) return;
21
22
  if (typeof ref === "function") ref(el);
@@ -60,7 +61,7 @@ function ListBox(props) {
60
61
  return flattenCollectionEntries(stateProps.items);
61
62
  });
62
63
  const hasSections = createMemo(() => stateProps.items.some((item) => isCollectionSection(item)));
63
- const state = createListState({
64
+ const baseState = createListState({
64
65
  get items() {
65
66
  return flatItems();
66
67
  },
@@ -95,14 +96,32 @@ function ListBox(props) {
95
96
  return stateProps.onSelectionChange;
96
97
  }
97
98
  });
99
+ const autocompleteCtx = useAutocompleteCollection();
100
+ const state = autocompleteCtx ? createFilteredListState(baseState, () => autocompleteCtx.filter) : baseState;
98
101
  const resolveDisabled = () => {
99
102
  const disabled = ariaProps.isDisabled;
100
103
  if (typeof disabled === "function") return disabled();
101
104
  return !!disabled;
102
105
  };
103
106
  const locale = useLocale();
107
+ const parentCollectionRenderer = useCollectionRenderer();
104
108
  const listBoxAria = createListBox({
105
109
  ...ariaProps,
110
+ get isVirtualized() {
111
+ return parentCollectionRenderer?.isVirtualized ?? ariaProps.isVirtualized;
112
+ },
113
+ get id() {
114
+ return autocompleteCtx?.collectionProps.id ?? ariaProps.id;
115
+ },
116
+ get "aria-label"() {
117
+ return autocompleteCtx?.collectionProps["aria-label"] ?? ariaProps["aria-label"];
118
+ },
119
+ get shouldUseVirtualFocus() {
120
+ return autocompleteCtx?.collectionProps.shouldUseVirtualFocus ?? ariaProps.shouldUseVirtualFocus;
121
+ },
122
+ get disallowTypeAhead() {
123
+ return autocompleteCtx?.collectionProps.disallowTypeAhead ?? ariaProps.disallowTypeAhead;
124
+ },
106
125
  get isDisabled() {
107
126
  return resolveDisabled();
108
127
  },
@@ -146,8 +165,50 @@ function ListBox(props) {
146
165
  isActive: () => state.isFocused(),
147
166
  ref: () => listRef()
148
167
  });
168
+ if (autocompleteCtx) {
169
+ let shouldVirtualFocusFirst = false;
170
+ createEffect(() => {
171
+ const list = listRef();
172
+ if (!list) return;
173
+ const onFocusEvent = (e) => {
174
+ const detail = e.detail;
175
+ e.stopPropagation();
176
+ state.setFocused(true);
177
+ if (detail?.focusStrategy === "first") shouldVirtualFocusFirst = true;
178
+ };
179
+ const onClearFocusEvent = (e) => {
180
+ e.stopPropagation();
181
+ state.setFocused(false);
182
+ if (e.detail?.clearFocusKey) state.setFocusedKey(null);
183
+ };
184
+ list.addEventListener(FOCUS_EVENT, onFocusEvent);
185
+ list.addEventListener(CLEAR_FOCUS_EVENT, onClearFocusEvent);
186
+ onCleanup(() => {
187
+ list.removeEventListener(FOCUS_EVENT, onFocusEvent);
188
+ list.removeEventListener(CLEAR_FOCUS_EVENT, onClearFocusEvent);
189
+ });
190
+ });
191
+ createEffect(on(() => [state.collection().getFirstKey?.() ?? null, state.collection().size], ([firstKey, size]) => {
192
+ if (!shouldVirtualFocusFirst) return;
193
+ if (firstKey == null) {
194
+ const list = listRef();
195
+ if (list) moveVirtualFocus(list);
196
+ if (size > 0) shouldVirtualFocusFirst = false;
197
+ } else {
198
+ state.setFocusedKey(firstKey);
199
+ shouldVirtualFocusFirst = false;
200
+ }
201
+ }, { defer: true }));
202
+ createEffect(() => {
203
+ const key = state.focusedKey();
204
+ const list = listRef();
205
+ if (!list || !state.isFocused()) return;
206
+ if (key == null) return;
207
+ const el = list.ownerDocument.getElementById(String(key));
208
+ if (el) moveVirtualFocus(el);
209
+ });
210
+ }
149
211
  const isEmpty = () => stateProps.items.length === 0;
150
- const parentCollectionRenderer = useCollectionRenderer();
151
212
  const getItemNodes = createMemo(() => Array.from(state.collection()).filter((node) => node.type === "item"));
152
213
  const getDropTargetByIndex = (index, position) => {
153
214
  const node = getItemNodes()[index];
@@ -208,7 +269,11 @@ function ListBox(props) {
208
269
  getKeyAbove: (key) => state.collection().getKeyBefore(key),
209
270
  getKeyPageBelow: (key) => state.collection().getKeyAfter(key),
210
271
  getKeyPageAbove: (key) => state.collection().getKeyBefore(key)
211
- }
272
+ },
273
+ collection: state.collection(),
274
+ selectedKeys: state.selectionManager.selectedKeys,
275
+ setSelectedKeys: (keys) => state.selectionManager.setSelectedKeys(keys),
276
+ setFocusedKey: (key) => state.setFocusedKey(key)
212
277
  }, activeDropState, () => listRef());
213
278
  });
214
279
  const isRootDropTarget = createMemo(() => {
@@ -220,6 +285,93 @@ function ListBox(props) {
220
285
  if (!target || target.type !== "item") return void 0;
221
286
  return dndRenderDropIndicator()?.(target);
222
287
  };
288
+ const dndFormatter = createStringFormatter(dndIntlStrings);
289
+ const dragSession = createDragSession();
290
+ const dropIndicatorTargetsEqual = (a, b) => !!a && a.type === "item" && a.key === b.key && a.dropPosition === b.dropPosition;
291
+ const dropIndicatorLabel = (target) => {
292
+ const collection = state.collection();
293
+ const getText = (key) => {
294
+ if (key == null) return "";
295
+ return collection.getTextValue(key) ?? collection.getItem(key)?.textValue ?? "";
296
+ };
297
+ if (target.dropPosition === "on") return dndFormatter().format("dropOnItem", { itemText: getText(target.key) });
298
+ let before;
299
+ let after;
300
+ if (target.dropPosition === "before") {
301
+ const prevKey = collection.getKeyBefore(target.key);
302
+ const prevNode = prevKey != null ? collection.getItem(prevKey) : null;
303
+ before = prevNode?.type === "item" ? prevNode.key : null;
304
+ } else before = target.key;
305
+ if (target.dropPosition === "after") {
306
+ const nextKey = collection.getKeyAfter(target.key);
307
+ const nextNode = nextKey != null ? collection.getItem(nextKey) : null;
308
+ after = nextNode?.type === "item" ? nextNode.key : null;
309
+ } else after = target.key;
310
+ if (before != null && after != null) return dndFormatter().format("insertBetween", {
311
+ beforeItemText: getText(before),
312
+ afterItemText: getText(after)
313
+ });
314
+ if (before != null) return dndFormatter().format("insertAfter", { itemText: getText(before) });
315
+ if (after != null) return dndFormatter().format("insertBefore", { itemText: getText(after) });
316
+ return "";
317
+ };
318
+ const wrapDropTypes = (types) => ({ has: (type) => {
319
+ if (typeof type === "string") return types.has(type);
320
+ if (Array.isArray(type)) return type.some((t) => typeof t === "string" && types.has(t));
321
+ return false;
322
+ } });
323
+ const ListBoxDropIndicator = (props) => {
324
+ const [indicatorRef, setIndicatorRef] = createSignal(null);
325
+ const isDropTarget = createMemo(() => dropIndicatorTargetsEqual(dropState()?.target, props.target));
326
+ const ariaHidden = createMemo(() => !dragSession() ? "true" : isDropTarget() ? void 0 : "true");
327
+ const isHidden = createMemo(() => !isDropTarget() && !!ariaHidden());
328
+ createEffect(() => {
329
+ const el = indicatorRef();
330
+ if (!el) return;
331
+ onCleanup(registerDropItem({
332
+ element: el,
333
+ target: props.target,
334
+ getDropOperation: (types, allowedOperations) => {
335
+ const st = dropState();
336
+ if (!st) return "cancel";
337
+ const isInternal = getGlobalDraggingCollectionRef() === listRef();
338
+ return st.getDropOperation(props.target, wrapDropTypes(types), allowedOperations, isInternal, getGlobalDraggingKeys());
339
+ }
340
+ }));
341
+ if (dragSession() && isDropTarget()) requestAnimationFrame(() => {
342
+ if (dragSession() && isDropTarget() && indicatorRef() === el) el.focus();
343
+ });
344
+ });
345
+ return createComponent(Show, {
346
+ get when() {
347
+ return !isHidden();
348
+ },
349
+ get children() {
350
+ var _el$ = getNextElement(_tmpl$);
351
+ use((el) => {
352
+ setIndicatorRef(el);
353
+ onCleanup(() => setIndicatorRef(null));
354
+ }, _el$);
355
+ effect((_p$) => {
356
+ var _v$ = dndFormatter().format("dropIndicator"), _v$2 = dropIndicatorLabel(props.target), _v$3 = ariaHidden(), _v$4 = isDropTarget() || void 0;
357
+ _v$ !== _p$.e && setAttribute(_el$, "aria-roledescription", _p$.e = _v$);
358
+ _v$2 !== _p$.t && setAttribute(_el$, "aria-label", _p$.t = _v$2);
359
+ _v$3 !== _p$.a && setAttribute(_el$, "aria-hidden", _p$.a = _v$3);
360
+ _v$4 !== _p$.o && setAttribute(_el$, "data-drop-target", _p$.o = _v$4);
361
+ return _p$;
362
+ }, {
363
+ e: void 0,
364
+ t: void 0,
365
+ a: void 0,
366
+ o: void 0
367
+ });
368
+ return _el$;
369
+ }
370
+ });
371
+ };
372
+ const dropIndicatorContextValue = { render: (p) => createComponent(ListBoxDropIndicator, { get target() {
373
+ return p.target;
374
+ } }) };
223
375
  const virtualizer = useVirtualizerContext();
224
376
  const persistedKeys = useDndPersistedKeys({ focusedKey: state.focusedKey }, local.dragAndDropHooks, dropState(), state.collection());
225
377
  const virtualRange = createMemo(() => {
@@ -314,146 +466,152 @@ function ListBox(props) {
314
466
  return collectionRenderer();
315
467
  },
316
468
  get children() {
317
- return [createComponent(Show, {
318
- get when() {
319
- return ariaProps.label;
320
- },
469
+ return createComponent(DropIndicatorContext.Provider, {
470
+ value: dropIndicatorContextValue,
321
471
  get children() {
322
- var _el$ = getNextElement(_tmpl$);
323
- spread(_el$, mergeProps(cleanLabelProps), false, true);
324
- insert(_el$, () => ariaProps.label);
325
- runHydrationEvents();
326
- return _el$;
327
- }
328
- }), (() => {
329
- var _el$2 = getNextElement(_tmpl$2), _el$3 = _el$2.firstChild, [_el$4, _co$] = getNextMarker(_el$3.nextSibling), _el$5 = _el$4.nextSibling, [_el$6, _co$2] = getNextMarker(_el$5.nextSibling);
330
- use((el) => {
331
- setListRef(el);
332
- assignRef(local.ref, el);
333
- }, _el$2);
334
- spread(_el$2, mergeProps(() => mergeProps$2(domProps(), cleanListBoxProps(), cleanFocusProps(), droppableCollection()?.collectionProps ?? {}), {
335
- get ["class"]() {
336
- return renderProps.class();
337
- },
338
- get style() {
339
- return renderProps.style();
340
- },
341
- get ["data-focused"]() {
342
- return state.isFocused() || void 0;
343
- },
344
- get ["data-focus-visible"]() {
345
- return isFocusVisible() || void 0;
346
- },
347
- get ["data-disabled"]() {
348
- return resolveDisabled() || void 0;
349
- },
350
- get ["data-empty"]() {
351
- return isEmpty() || void 0;
352
- },
353
- get ["data-layout"]() {
354
- return stateProps.layout;
355
- },
356
- get ["data-orientation"]() {
357
- return stateProps.orientation;
358
- },
359
- get ["data-drop-target"]() {
360
- return isRootDropTarget() || void 0;
361
- },
362
- get slot() {
363
- return local.slot;
364
- }
365
- }), false, true);
366
- insert(_el$2, createComponent(SharedElementTransition, { get children() {
367
- return memo(() => !!(isEmpty() && local.renderEmptyState))() ? (() => {
368
- var _el$7 = getNextElement(_tmpl$3);
369
- insert(_el$7, () => local.renderEmptyState());
370
- return _el$7;
371
- })() : memo(() => !!hasSections())() ? createComponent(For, {
372
- get each() {
373
- return sectionedRenderEntries();
472
+ return [createComponent(Show, {
473
+ get when() {
474
+ return ariaProps.label;
374
475
  },
375
- children: (entry) => entry.type === "section" ? (() => {
376
- var _el$8 = getNextElement(_tmpl$5);
377
- insert(_el$8, createComponent(Section, {
378
- "class": "solidaria-ListBox-section",
379
- get children() {
380
- return [memo(() => memo(() => entry.section.title != null)() && createComponent(Header, {
381
- "class": "solidaria-ListBox-sectionHeader",
382
- get children() {
383
- return entry.section.title;
384
- }
385
- })), createComponent(Group, {
386
- "class": "solidaria-ListBox-sectionGroup",
476
+ get children() {
477
+ var _el$2 = getNextElement(_tmpl$2);
478
+ spread(_el$2, mergeProps(cleanLabelProps), false, true);
479
+ insert(_el$2, () => ariaProps.label);
480
+ runHydrationEvents();
481
+ return _el$2;
482
+ }
483
+ }), (() => {
484
+ var _el$3 = getNextElement(_tmpl$3), _el$4 = _el$3.firstChild, [_el$5, _co$] = getNextMarker(_el$4.nextSibling), _el$6 = _el$5.nextSibling, [_el$7, _co$2] = getNextMarker(_el$6.nextSibling);
485
+ use((el) => {
486
+ setListRef(el);
487
+ assignRef(local.ref, el);
488
+ autocompleteCtx?.collectionRef(el);
489
+ }, _el$3);
490
+ spread(_el$3, mergeProps(() => mergeProps$2(domProps(), cleanListBoxProps(), cleanFocusProps(), droppableCollection()?.collectionProps ?? {}), {
491
+ get ["class"]() {
492
+ return renderProps.class();
493
+ },
494
+ get style() {
495
+ return renderProps.style();
496
+ },
497
+ get ["data-focused"]() {
498
+ return state.isFocused() || void 0;
499
+ },
500
+ get ["data-focus-visible"]() {
501
+ return isFocusVisible() || void 0;
502
+ },
503
+ get ["data-disabled"]() {
504
+ return resolveDisabled() || void 0;
505
+ },
506
+ get ["data-empty"]() {
507
+ return isEmpty() || void 0;
508
+ },
509
+ get ["data-layout"]() {
510
+ return stateProps.layout;
511
+ },
512
+ get ["data-orientation"]() {
513
+ return stateProps.orientation;
514
+ },
515
+ get ["data-drop-target"]() {
516
+ return isRootDropTarget() || void 0;
517
+ },
518
+ get slot() {
519
+ return local.slot;
520
+ }
521
+ }), false, true);
522
+ insert(_el$3, createComponent(SharedElementTransition, { get children() {
523
+ return memo(() => !!(isEmpty() && local.renderEmptyState))() ? (() => {
524
+ var _el$8 = getNextElement(_tmpl$4);
525
+ insert(_el$8, () => local.renderEmptyState());
526
+ return _el$8;
527
+ })() : memo(() => !!hasSections())() ? createComponent(For, {
528
+ get each() {
529
+ return sectionedRenderEntries();
530
+ },
531
+ children: (entry) => entry.type === "section" ? (() => {
532
+ var _el$9 = getNextElement(_tmpl$6);
533
+ insert(_el$9, createComponent(Section, {
534
+ "class": "solidaria-ListBox-section",
387
535
  get children() {
388
- var _el$9 = getNextElement(_tmpl$4);
389
- insert(_el$9, createComponent(For, {
390
- get each() {
391
- return entry.items;
392
- },
393
- children: (indexedItem) => [
394
- memo(() => collectionRenderer().renderDropIndicator?.(indexedItem.index, "before")),
395
- memo(() => collectionRenderer().renderDropIndicator?.(indexedItem.index, "on")),
396
- memo(() => local.children(indexedItem.item)),
397
- memo(() => collectionRenderer().renderDropIndicator?.(indexedItem.index, "after"))
398
- ]
399
- }));
400
- effect(() => setAttribute(_el$9, "aria-label", entry.section["aria-label"]));
401
- return _el$9;
536
+ return [memo(() => memo(() => entry.section.title != null)() && createComponent(Header, {
537
+ "class": "solidaria-ListBox-sectionHeader",
538
+ get children() {
539
+ return entry.section.title;
540
+ }
541
+ })), createComponent(Group, {
542
+ "class": "solidaria-ListBox-sectionGroup",
543
+ get children() {
544
+ var _el$0 = getNextElement(_tmpl$5);
545
+ insert(_el$0, createComponent(For, {
546
+ get each() {
547
+ return entry.items;
548
+ },
549
+ children: (indexedItem) => [
550
+ memo(() => collectionRenderer().renderDropIndicator?.(indexedItem.index, "before")),
551
+ memo(() => collectionRenderer().renderDropIndicator?.(indexedItem.index, "on")),
552
+ memo(() => local.children(indexedItem.item)),
553
+ memo(() => collectionRenderer().renderDropIndicator?.(indexedItem.index, "after"))
554
+ ]
555
+ }));
556
+ effect(() => setAttribute(_el$0, "aria-label", entry.section["aria-label"]));
557
+ return _el$0;
558
+ }
559
+ })];
402
560
  }
403
- })];
561
+ }));
562
+ return _el$9;
563
+ })() : [
564
+ memo(() => collectionRenderer().renderDropIndicator?.(entry.item.index, "before")),
565
+ memo(() => collectionRenderer().renderDropIndicator?.(entry.item.index, "on")),
566
+ memo(() => local.children(entry.item.item)),
567
+ memo(() => collectionRenderer().renderDropIndicator?.(entry.item.index, "after"))
568
+ ]
569
+ }) : [
570
+ memo(() => memo(() => !!virtualRange()?.offsetTop)() ? (() => {
571
+ var _el$1 = getNextElement(_tmpl$7);
572
+ effect((_$p) => style(_el$1, virtualSpacerStyle(virtualRange().offsetTop), _$p));
573
+ return _el$1;
574
+ })() : null),
575
+ createComponent(For, {
576
+ get each() {
577
+ return visibleItems();
578
+ },
579
+ children: (item, index) => {
580
+ const itemIndex = () => (virtualRange()?.start ?? 0) + index();
581
+ const beforeIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex(), "before");
582
+ const onIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex(), "on");
583
+ const afterIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex(), "after");
584
+ return [
585
+ memo(beforeIndicator),
586
+ memo(onIndicator),
587
+ memo(() => local.children(item)),
588
+ memo(afterIndicator)
589
+ ];
590
+ }
591
+ }),
592
+ memo(() => memo(() => !!virtualRange()?.offsetBottom)() ? (() => {
593
+ var _el$10 = getNextElement(_tmpl$8);
594
+ effect((_$p) => style(_el$10, virtualSpacerStyle(virtualRange().offsetBottom), _$p));
595
+ return _el$10;
596
+ })() : null)
597
+ ];
598
+ } }), _el$5, _co$);
599
+ insert(_el$3, (() => {
600
+ var _c$ = memo(() => !!(local.hasMore && local.onLoadMore));
601
+ return () => _c$() && createComponent(ListBoxLoadMoreItem, {
602
+ get onLoadMore() {
603
+ return local.onLoadMore;
604
+ },
605
+ get isLoading() {
606
+ return local.isLoading;
404
607
  }
405
- }));
406
- return _el$8;
407
- })() : [
408
- memo(() => collectionRenderer().renderDropIndicator?.(entry.item.index, "before")),
409
- memo(() => collectionRenderer().renderDropIndicator?.(entry.item.index, "on")),
410
- memo(() => local.children(entry.item.item)),
411
- memo(() => collectionRenderer().renderDropIndicator?.(entry.item.index, "after"))
412
- ]
413
- }) : [
414
- memo(() => memo(() => !!virtualRange()?.offsetTop)() ? (() => {
415
- var _el$0 = getNextElement(_tmpl$6);
416
- effect((_$p) => style(_el$0, virtualSpacerStyle(virtualRange().offsetTop), _$p));
417
- return _el$0;
418
- })() : null),
419
- createComponent(For, {
420
- get each() {
421
- return visibleItems();
422
- },
423
- children: (item, index) => {
424
- const itemIndex = () => (virtualRange()?.start ?? 0) + index();
425
- const beforeIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex(), "before");
426
- const onIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex(), "on");
427
- const afterIndicator = () => collectionRenderer().renderDropIndicator?.(itemIndex(), "after");
428
- return [
429
- memo(beforeIndicator),
430
- memo(onIndicator),
431
- memo(() => local.children(item)),
432
- memo(afterIndicator)
433
- ];
434
- }
435
- }),
436
- memo(() => memo(() => !!virtualRange()?.offsetBottom)() ? (() => {
437
- var _el$1 = getNextElement(_tmpl$7);
438
- effect((_$p) => style(_el$1, virtualSpacerStyle(virtualRange().offsetBottom), _$p));
439
- return _el$1;
440
- })() : null)
441
- ];
442
- } }), _el$4, _co$);
443
- insert(_el$2, (() => {
444
- var _c$ = memo(() => !!(local.hasMore && local.onLoadMore));
445
- return () => _c$() && createComponent(ListBoxLoadMoreItem, {
446
- get onLoadMore() {
447
- return local.onLoadMore;
448
- },
449
- get isLoading() {
450
- return local.isLoading;
451
- }
452
- });
453
- })(), _el$6, _co$2);
454
- runHydrationEvents();
455
- return _el$2;
456
- })()];
608
+ });
609
+ })(), _el$7, _co$2);
610
+ runHydrationEvents();
611
+ return _el$3;
612
+ })()];
613
+ }
614
+ });
457
615
  }
458
616
  });
459
617
  }
@@ -502,7 +660,7 @@ function ListBoxOption(props) {
502
660
  get onHoverChange() {
503
661
  return ariaProps.onHoverChange;
504
662
  }
505
- }, state);
663
+ }, state, ref);
506
664
  const renderValues = createMemo(() => ({
507
665
  isSelected: optionAria.isSelected(),
508
666
  isFocused: optionAria.isFocused(),
@@ -525,7 +683,10 @@ function ListBoxOption(props) {
525
683
  const selectionIndicatorContext = createMemo(() => ({ isSelected: optionAria.isSelected }));
526
684
  const draggableItem = createMemo(() => {
527
685
  if (!listContext?.dragAndDropHooks?.useDraggableItem || !listContext.dragState) return void 0;
528
- return listContext.dragAndDropHooks.useDraggableItem({ key: local.id }, listContext.dragState);
686
+ return listContext.dragAndDropHooks.useDraggableItem({
687
+ key: local.id,
688
+ selectionMode: state.selectionManager.selectionMode
689
+ }, listContext.dragState);
529
690
  });
530
691
  const droppableItem = createMemo(() => {
531
692
  if (!listContext?.dragAndDropHooks?.useDroppableItem || !listContext.dropState) return void 0;
@@ -542,12 +703,12 @@ function ListBoxOption(props) {
542
703
  return selectionIndicatorContext();
543
704
  },
544
705
  get children() {
545
- var _el$10 = getNextElement(_tmpl$8);
706
+ var _el$11 = getNextElement(_tmpl$9);
546
707
  use((el) => {
547
708
  setRef(el);
548
709
  assignRef(local.ref, el);
549
- }, _el$10);
550
- spread(_el$10, mergeProps(() => mergeProps$2(domProps(), cleanOptionProps(), draggableItem()?.dragProps ?? {}, droppableItem()?.dropProps ?? {}), {
710
+ }, _el$11);
711
+ spread(_el$11, mergeProps(() => mergeProps$2(domProps(), cleanOptionProps(), draggableItem()?.dragProps ?? {}, droppableItem()?.dropProps ?? {}), {
551
712
  get ["class"]() {
552
713
  return renderProps.class();
553
714
  },
@@ -582,18 +743,18 @@ function ListBoxOption(props) {
582
743
  return local.slot;
583
744
  }
584
745
  }), false, true);
585
- insert(_el$10, (() => {
746
+ insert(_el$11, (() => {
586
747
  var _c$2 = memo(() => !!hasPrimitiveLabel());
587
748
  return () => _c$2() ? (() => {
588
- var _el$11 = getNextElement(_tmpl$);
589
- spread(_el$11, mergeProps(() => optionAria.labelProps), false, true);
590
- insert(_el$11, () => renderProps.renderChildren());
749
+ var _el$12 = getNextElement(_tmpl$2);
750
+ spread(_el$12, mergeProps(() => optionAria.labelProps), false, true);
751
+ insert(_el$12, () => renderProps.renderChildren());
591
752
  runHydrationEvents();
592
- return _el$11;
753
+ return _el$12;
593
754
  })() : renderProps.renderChildren();
594
755
  })());
595
756
  runHydrationEvents();
596
- return _el$10;
757
+ return _el$11;
597
758
  }
598
759
  });
599
760
  }
@@ -631,29 +792,29 @@ function ListBoxLoadMoreItem(props) {
631
792
  defaultClassName: "solidaria-ListBox-loadMore"
632
793
  }, () => ({ isLoading: isLoading() }));
633
794
  return [(() => {
634
- var _el$12 = getNextElement(_tmpl$9), _el$13 = _el$12.firstChild;
795
+ var _el$13 = getNextElement(_tmpl$0), _el$14 = _el$13.firstChild;
635
796
  var _ref$ = sentinelRef;
636
- typeof _ref$ === "function" ? use(_ref$, _el$13) : sentinelRef = _el$13;
637
- return _el$12;
797
+ typeof _ref$ === "function" ? use(_ref$, _el$14) : sentinelRef = _el$14;
798
+ return _el$13;
638
799
  })(), (() => {
639
- var _el$14 = getNextElement(_tmpl$0);
640
- _el$14.addEventListener("focus", () => {
800
+ var _el$15 = getNextElement(_tmpl$1);
801
+ _el$15.addEventListener("focus", () => {
641
802
  triggerLoadMore();
642
803
  });
643
- setAttribute(_el$14, "aria-disabled", true);
644
- insert(_el$14, () => renderProps.renderChildren());
804
+ setAttribute(_el$15, "aria-disabled", true);
805
+ insert(_el$15, () => renderProps.renderChildren());
645
806
  effect((_p$) => {
646
- var _v$ = renderProps.class(), _v$2 = renderProps.style(), _v$3 = isLoading() || void 0;
647
- _v$ !== _p$.e && className(_el$14, _p$.e = _v$);
648
- _p$.t = style(_el$14, _v$2, _p$.t);
649
- _v$3 !== _p$.a && setAttribute(_el$14, "data-loading", _p$.a = _v$3);
807
+ var _v$5 = renderProps.class(), _v$6 = renderProps.style(), _v$7 = isLoading() || void 0;
808
+ _v$5 !== _p$.e && className(_el$15, _p$.e = _v$5);
809
+ _p$.t = style(_el$15, _v$6, _p$.t);
810
+ _v$7 !== _p$.a && setAttribute(_el$15, "data-loading", _p$.a = _v$7);
650
811
  return _p$;
651
812
  }, {
652
813
  e: void 0,
653
814
  t: void 0,
654
815
  a: void 0
655
816
  });
656
- return _el$14;
817
+ return _el$15;
657
818
  })()];
658
819
  }
659
820
  /**