@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.
Files changed (398) hide show
  1. package/dist/ActionBar.js +184 -0
  2. package/dist/ActionBar.js.map +1 -0
  3. package/dist/ActionBar.jsx +128 -0
  4. package/dist/ActionBar.jsx.map +1 -0
  5. package/dist/ActionGroup.js +179 -0
  6. package/dist/ActionGroup.js.map +1 -0
  7. package/dist/ActionGroup.jsx +129 -0
  8. package/dist/ActionGroup.jsx.map +1 -0
  9. package/dist/Alert.js +111 -0
  10. package/dist/Alert.js.map +1 -0
  11. package/dist/Alert.jsx +82 -0
  12. package/dist/Alert.jsx.map +1 -0
  13. package/dist/Autocomplete.js +130 -0
  14. package/dist/Autocomplete.js.map +1 -0
  15. package/dist/Autocomplete.jsx +116 -0
  16. package/dist/Autocomplete.jsx.map +1 -0
  17. package/dist/Breadcrumbs.d.ts.map +1 -1
  18. package/dist/Breadcrumbs.js +334 -0
  19. package/dist/Breadcrumbs.js.map +1 -0
  20. package/dist/Breadcrumbs.jsx +266 -0
  21. package/dist/Breadcrumbs.jsx.map +1 -0
  22. package/dist/Button.d.ts.map +1 -1
  23. package/dist/Button.js +348 -0
  24. package/dist/Button.js.map +1 -0
  25. package/dist/Button.jsx +314 -0
  26. package/dist/Button.jsx.map +1 -0
  27. package/dist/Calendar.d.ts +4 -4
  28. package/dist/Calendar.d.ts.map +1 -1
  29. package/dist/Calendar.js +538 -0
  30. package/dist/Calendar.js.map +1 -0
  31. package/dist/Calendar.jsx +333 -0
  32. package/dist/Calendar.jsx.map +1 -0
  33. package/dist/CalendarPicker.d.ts +33 -0
  34. package/dist/CalendarPicker.d.ts.map +1 -0
  35. package/dist/CalendarPicker.js +44 -0
  36. package/dist/CalendarPicker.js.map +1 -0
  37. package/dist/CalendarPicker.jsx +44 -0
  38. package/dist/CalendarPicker.jsx.map +1 -0
  39. package/dist/Checkbox.d.ts +83 -4
  40. package/dist/Checkbox.d.ts.map +1 -1
  41. package/dist/Checkbox.js +923 -0
  42. package/dist/Checkbox.js.map +1 -0
  43. package/dist/Checkbox.jsx +707 -0
  44. package/dist/Checkbox.jsx.map +1 -0
  45. package/dist/Collection.d.ts.map +1 -1
  46. package/dist/Collection.js +202 -0
  47. package/dist/Collection.js.map +1 -0
  48. package/dist/Collection.jsx +152 -0
  49. package/dist/Collection.jsx.map +1 -0
  50. package/dist/Color.d.ts.map +1 -1
  51. package/dist/Color.js +1720 -0
  52. package/dist/Color.js.map +1 -0
  53. package/dist/Color.jsx +1344 -0
  54. package/dist/Color.jsx.map +1 -0
  55. package/dist/ColorEditor.js +208 -0
  56. package/dist/ColorEditor.js.map +1 -0
  57. package/dist/ColorEditor.jsx +120 -0
  58. package/dist/ColorEditor.jsx.map +1 -0
  59. package/dist/ComboBox.d.ts +4 -4
  60. package/dist/ComboBox.d.ts.map +1 -1
  61. package/dist/ComboBox.js +992 -0
  62. package/dist/ComboBox.js.map +1 -0
  63. package/dist/ComboBox.jsx +714 -0
  64. package/dist/ComboBox.jsx.map +1 -0
  65. package/dist/ContextualHelpTrigger.js +146 -0
  66. package/dist/ContextualHelpTrigger.js.map +1 -0
  67. package/dist/ContextualHelpTrigger.jsx +109 -0
  68. package/dist/ContextualHelpTrigger.jsx.map +1 -0
  69. package/dist/DateField.d.ts +3 -3
  70. package/dist/DateField.d.ts.map +1 -1
  71. package/dist/DateField.js +4 -0
  72. package/dist/DateField.jsx +4 -0
  73. package/dist/DateField2.js +499 -0
  74. package/dist/DateField2.js.map +1 -0
  75. package/dist/DateField2.jsx +317 -0
  76. package/dist/DateField2.jsx.map +1 -0
  77. package/dist/DatePicker.d.ts +4 -4
  78. package/dist/DatePicker.d.ts.map +1 -1
  79. package/dist/DatePicker.js +991 -0
  80. package/dist/DatePicker.js.map +1 -0
  81. package/dist/DatePicker.jsx +682 -0
  82. package/dist/DatePicker.jsx.map +1 -0
  83. package/dist/Dialog.d.ts.map +1 -1
  84. package/dist/Dialog.js +337 -0
  85. package/dist/Dialog.js.map +1 -0
  86. package/dist/Dialog.jsx +192 -0
  87. package/dist/Dialog.jsx.map +1 -0
  88. package/dist/Disclosure.d.ts.map +1 -1
  89. package/dist/Disclosure.js +328 -0
  90. package/dist/Disclosure.js.map +1 -0
  91. package/dist/Disclosure.jsx +230 -0
  92. package/dist/Disclosure.jsx.map +1 -0
  93. package/dist/DragAndDrop.d.ts.map +1 -1
  94. package/dist/DragAndDrop.js +176 -0
  95. package/dist/DragAndDrop.js.map +1 -0
  96. package/dist/DragAndDrop.jsx +160 -0
  97. package/dist/DragAndDrop.jsx.map +1 -0
  98. package/dist/DropZone.d.ts.map +1 -1
  99. package/dist/DropZone.js +189 -0
  100. package/dist/DropZone.js.map +1 -0
  101. package/dist/DropZone.jsx +144 -0
  102. package/dist/DropZone.jsx.map +1 -0
  103. package/dist/FieldError.js +66 -0
  104. package/dist/FieldError.js.map +1 -0
  105. package/dist/FieldError.jsx +47 -0
  106. package/dist/FieldError.jsx.map +1 -0
  107. package/dist/FileTrigger.js +79 -0
  108. package/dist/FileTrigger.js.map +1 -0
  109. package/dist/FileTrigger.jsx +49 -0
  110. package/dist/FileTrigger.jsx.map +1 -0
  111. package/dist/Focusable.js +70 -0
  112. package/dist/Focusable.js.map +1 -0
  113. package/dist/Focusable.jsx +69 -0
  114. package/dist/Focusable.jsx.map +1 -0
  115. package/dist/Form.js +99 -0
  116. package/dist/Form.js.map +1 -0
  117. package/dist/Form.jsx +73 -0
  118. package/dist/Form.jsx.map +1 -0
  119. package/dist/GridList.d.ts +34 -2
  120. package/dist/GridList.d.ts.map +1 -1
  121. package/dist/GridList.js +723 -0
  122. package/dist/GridList.js.map +1 -0
  123. package/dist/GridList.jsx +552 -0
  124. package/dist/GridList.jsx.map +1 -0
  125. package/dist/HiddenTimeInput.js +104 -0
  126. package/dist/HiddenTimeInput.js.map +1 -0
  127. package/dist/HiddenTimeInput.jsx +69 -0
  128. package/dist/HiddenTimeInput.jsx.map +1 -0
  129. package/dist/Icon.d.ts.map +1 -1
  130. package/dist/Icon.js +127 -0
  131. package/dist/Icon.js.map +1 -0
  132. package/dist/Icon.jsx +72 -0
  133. package/dist/Icon.jsx.map +1 -0
  134. package/dist/Keyboard.js +30 -0
  135. package/dist/Keyboard.js.map +1 -0
  136. package/dist/Keyboard.jsx +24 -0
  137. package/dist/Keyboard.jsx.map +1 -0
  138. package/dist/Landmark.js +134 -0
  139. package/dist/Landmark.js.map +1 -0
  140. package/dist/Landmark.jsx +118 -0
  141. package/dist/Landmark.jsx.map +1 -0
  142. package/dist/Link.d.ts.map +1 -1
  143. package/dist/Link.js +219 -0
  144. package/dist/Link.js.map +1 -0
  145. package/dist/Link.jsx +189 -0
  146. package/dist/Link.jsx.map +1 -0
  147. package/dist/ListBox.d.ts.map +1 -1
  148. package/dist/ListBox.js +670 -0
  149. package/dist/ListBox.js.map +1 -0
  150. package/dist/ListBox.jsx +508 -0
  151. package/dist/ListBox.jsx.map +1 -0
  152. package/dist/Menu.d.ts +27 -9
  153. package/dist/Menu.d.ts.map +1 -1
  154. package/dist/Menu.js +1254 -0
  155. package/dist/Menu.js.map +1 -0
  156. package/dist/Menu.jsx +1042 -0
  157. package/dist/Menu.jsx.map +1 -0
  158. package/dist/Meter.d.ts.map +1 -1
  159. package/dist/Meter.js +123 -0
  160. package/dist/Meter.js.map +1 -0
  161. package/dist/Meter.jsx +107 -0
  162. package/dist/Meter.jsx.map +1 -0
  163. package/dist/Modal.d.ts.map +1 -1
  164. package/dist/Modal.js +380 -0
  165. package/dist/Modal.js.map +1 -0
  166. package/dist/Modal.jsx +314 -0
  167. package/dist/Modal.jsx.map +1 -0
  168. package/dist/NumberField.d.ts +3 -3
  169. package/dist/NumberField.d.ts.map +1 -1
  170. package/dist/NumberField.js +573 -0
  171. package/dist/NumberField.js.map +1 -0
  172. package/dist/NumberField.jsx +443 -0
  173. package/dist/NumberField.jsx.map +1 -0
  174. package/dist/Popover.d.ts +10 -2
  175. package/dist/Popover.d.ts.map +1 -1
  176. package/dist/Popover.js +464 -0
  177. package/dist/Popover.js.map +1 -0
  178. package/dist/Popover.jsx +333 -0
  179. package/dist/Popover.jsx.map +1 -0
  180. package/dist/Pressable.js +69 -0
  181. package/dist/Pressable.js.map +1 -0
  182. package/dist/Pressable.jsx +68 -0
  183. package/dist/Pressable.jsx.map +1 -0
  184. package/dist/ProgressBar.d.ts.map +1 -1
  185. package/dist/ProgressBar.js +130 -0
  186. package/dist/ProgressBar.js.map +1 -0
  187. package/dist/ProgressBar.jsx +114 -0
  188. package/dist/ProgressBar.jsx.map +1 -0
  189. package/dist/RadioGroup.d.ts +82 -4
  190. package/dist/RadioGroup.d.ts.map +1 -1
  191. package/dist/RadioGroup.js +931 -0
  192. package/dist/RadioGroup.js.map +1 -0
  193. package/dist/RadioGroup.jsx +681 -0
  194. package/dist/RadioGroup.jsx.map +1 -0
  195. package/dist/RangeCalendar.d.ts.map +1 -1
  196. package/dist/RangeCalendar.js +410 -0
  197. package/dist/RangeCalendar.js.map +1 -0
  198. package/dist/RangeCalendar.jsx +253 -0
  199. package/dist/RangeCalendar.jsx.map +1 -0
  200. package/dist/RouterProvider.js +118 -0
  201. package/dist/RouterProvider.js.map +1 -0
  202. package/dist/RouterProvider.jsx +112 -0
  203. package/dist/RouterProvider.jsx.map +1 -0
  204. package/dist/SearchField.d.ts +2 -2
  205. package/dist/SearchField.d.ts.map +1 -1
  206. package/dist/SearchField.js +643 -0
  207. package/dist/SearchField.js.map +1 -0
  208. package/dist/SearchField.jsx +526 -0
  209. package/dist/SearchField.jsx.map +1 -0
  210. package/dist/Select.d.ts.map +1 -1
  211. package/dist/Select.js +1031 -0
  212. package/dist/Select.js.map +1 -0
  213. package/dist/Select.jsx +744 -0
  214. package/dist/Select.jsx.map +1 -0
  215. package/dist/SelectionIndicator.d.ts.map +1 -1
  216. package/dist/SelectionIndicator.js +86 -0
  217. package/dist/SelectionIndicator.js.map +1 -0
  218. package/dist/SelectionIndicator.jsx +50 -0
  219. package/dist/SelectionIndicator.jsx.map +1 -0
  220. package/dist/Separator.js +97 -0
  221. package/dist/Separator.js.map +1 -0
  222. package/dist/Separator.jsx +85 -0
  223. package/dist/Separator.jsx.map +1 -0
  224. package/dist/SharedElementTransition.d.ts.map +1 -1
  225. package/dist/SharedElementTransition.js +165 -0
  226. package/dist/SharedElementTransition.js.map +1 -0
  227. package/dist/SharedElementTransition.jsx +138 -0
  228. package/dist/SharedElementTransition.jsx.map +1 -0
  229. package/dist/Slider.d.ts +33 -1
  230. package/dist/Slider.d.ts.map +1 -1
  231. package/dist/Slider.js +515 -0
  232. package/dist/Slider.js.map +1 -0
  233. package/dist/Slider.jsx +403 -0
  234. package/dist/Slider.jsx.map +1 -0
  235. package/dist/StepList.js +198 -0
  236. package/dist/StepList.js.map +1 -0
  237. package/dist/StepList.jsx +141 -0
  238. package/dist/StepList.jsx.map +1 -0
  239. package/dist/Switch.d.ts +65 -2
  240. package/dist/Switch.d.ts.map +1 -1
  241. package/dist/Switch.js +534 -0
  242. package/dist/Switch.js.map +1 -0
  243. package/dist/Switch.jsx +393 -0
  244. package/dist/Switch.jsx.map +1 -0
  245. package/dist/Table.d.ts +48 -0
  246. package/dist/Table.d.ts.map +1 -1
  247. package/dist/Table.js +1759 -0
  248. package/dist/Table.js.map +1 -0
  249. package/dist/Table.jsx +1348 -0
  250. package/dist/Table.jsx.map +1 -0
  251. package/dist/Tabs.d.ts +0 -4
  252. package/dist/Tabs.d.ts.map +1 -1
  253. package/dist/Tabs.js +595 -0
  254. package/dist/Tabs.js.map +1 -0
  255. package/dist/Tabs.jsx +367 -0
  256. package/dist/Tabs.jsx.map +1 -0
  257. package/dist/TagGroup.d.ts.map +1 -1
  258. package/dist/TagGroup.js +378 -0
  259. package/dist/TagGroup.js.map +1 -0
  260. package/dist/TagGroup.jsx +270 -0
  261. package/dist/TagGroup.jsx.map +1 -0
  262. package/dist/Text.d.ts +18 -6
  263. package/dist/Text.d.ts.map +1 -1
  264. package/dist/Text.js +42 -0
  265. package/dist/Text.js.map +1 -0
  266. package/dist/Text.jsx +35 -0
  267. package/dist/Text.jsx.map +1 -0
  268. package/dist/TextField.d.ts +6 -6
  269. package/dist/TextField.d.ts.map +1 -1
  270. package/dist/TextField.js +436 -0
  271. package/dist/TextField.js.map +1 -0
  272. package/dist/TextField.jsx +403 -0
  273. package/dist/TextField.jsx.map +1 -0
  274. package/dist/TimeField.d.ts +3 -3
  275. package/dist/TimeField.d.ts.map +1 -1
  276. package/dist/TimeField.js +372 -0
  277. package/dist/TimeField.js.map +1 -0
  278. package/dist/TimeField.jsx +224 -0
  279. package/dist/TimeField.jsx.map +1 -0
  280. package/dist/Toast.d.ts +14 -0
  281. package/dist/Toast.d.ts.map +1 -1
  282. package/dist/Toast.js +551 -0
  283. package/dist/Toast.js.map +1 -0
  284. package/dist/Toast.jsx +361 -0
  285. package/dist/Toast.jsx.map +1 -0
  286. package/dist/ToggleButton.d.ts.map +1 -1
  287. package/dist/ToggleButton.js +123 -0
  288. package/dist/ToggleButton.js.map +1 -0
  289. package/dist/ToggleButton.jsx +88 -0
  290. package/dist/ToggleButton.jsx.map +1 -0
  291. package/dist/ToggleButtonGroup.d.ts.map +1 -1
  292. package/dist/ToggleButtonGroup.js +114 -0
  293. package/dist/ToggleButtonGroup.js.map +1 -0
  294. package/dist/ToggleButtonGroup.jsx +85 -0
  295. package/dist/ToggleButtonGroup.jsx.map +1 -0
  296. package/dist/Toolbar.js +112 -0
  297. package/dist/Toolbar.js.map +1 -0
  298. package/dist/Toolbar.jsx +92 -0
  299. package/dist/Toolbar.jsx.map +1 -0
  300. package/dist/Tooltip.d.ts.map +1 -1
  301. package/dist/Tooltip.js +539 -0
  302. package/dist/Tooltip.js.map +1 -0
  303. package/dist/Tooltip.jsx +465 -0
  304. package/dist/Tooltip.jsx.map +1 -0
  305. package/dist/Tree.d.ts +14 -2
  306. package/dist/Tree.d.ts.map +1 -1
  307. package/dist/Tree.js +1424 -0
  308. package/dist/Tree.js.map +1 -0
  309. package/dist/Tree.jsx +1172 -0
  310. package/dist/Tree.jsx.map +1 -0
  311. package/dist/Virtualizer.d.ts +16 -2
  312. package/dist/Virtualizer.d.ts.map +1 -1
  313. package/dist/Virtualizer.js +2 -0
  314. package/dist/Virtualizer.jsx +2 -0
  315. package/dist/Virtualizer2.js +751 -0
  316. package/dist/Virtualizer2.js.map +1 -0
  317. package/dist/Virtualizer2.jsx +730 -0
  318. package/dist/Virtualizer2.jsx.map +1 -0
  319. package/dist/VirtualizerLayouts.d.ts +18 -0
  320. package/dist/VirtualizerLayouts.d.ts.map +1 -1
  321. package/dist/VisuallyHidden.js +42 -0
  322. package/dist/VisuallyHidden.js.map +1 -0
  323. package/dist/VisuallyHidden.jsx +35 -0
  324. package/dist/VisuallyHidden.jsx.map +1 -0
  325. package/dist/contexts.js +33 -0
  326. package/dist/contexts.js.map +1 -0
  327. package/dist/contexts.jsx +33 -0
  328. package/dist/contexts.jsx.map +1 -0
  329. package/dist/index.d.ts +7 -6
  330. package/dist/index.d.ts.map +1 -1
  331. package/dist/index.js +70 -23932
  332. package/dist/index.jsx +70 -18337
  333. package/dist/useDragAndDrop.js +2 -0
  334. package/dist/useDragAndDrop.jsx +2 -0
  335. package/dist/useDragAndDrop2.js +395 -0
  336. package/dist/useDragAndDrop2.js.map +1 -0
  337. package/dist/useDragAndDrop2.jsx +395 -0
  338. package/dist/useDragAndDrop2.jsx.map +1 -0
  339. package/dist/utils.d.ts +83 -11
  340. package/dist/utils.d.ts.map +1 -1
  341. package/dist/utils.js +285 -0
  342. package/dist/utils.js.map +1 -0
  343. package/dist/utils.jsx +277 -0
  344. package/dist/utils.jsx.map +1 -0
  345. package/dist/virtualizer/Layout.js +144 -0
  346. package/dist/virtualizer/Layout.js.map +1 -0
  347. package/dist/virtualizer/Layout.jsx +144 -0
  348. package/dist/virtualizer/Layout.jsx.map +1 -0
  349. package/package.json +401 -4
  350. package/src/Breadcrumbs.tsx +3 -1
  351. package/src/Button.tsx +22 -2
  352. package/src/Calendar.tsx +27 -10
  353. package/src/CalendarPicker.tsx +73 -0
  354. package/src/Checkbox.tsx +539 -3
  355. package/src/Collection.tsx +9 -3
  356. package/src/Color.tsx +42 -14
  357. package/src/ComboBox.tsx +50 -6
  358. package/src/DateField.tsx +20 -2
  359. package/src/DatePicker.tsx +57 -5
  360. package/src/Dialog.tsx +13 -5
  361. package/src/Disclosure.tsx +3 -1
  362. package/src/DragAndDrop.tsx +3 -1
  363. package/src/DropZone.tsx +3 -1
  364. package/src/GridList.tsx +125 -24
  365. package/src/Icon.tsx +3 -1
  366. package/src/Link.tsx +3 -1
  367. package/src/ListBox.tsx +31 -4
  368. package/src/Menu.tsx +252 -128
  369. package/src/Meter.tsx +3 -1
  370. package/src/Modal.tsx +100 -52
  371. package/src/NumberField.tsx +51 -8
  372. package/src/Popover.tsx +40 -10
  373. package/src/ProgressBar.tsx +3 -1
  374. package/src/RadioGroup.tsx +468 -4
  375. package/src/RangeCalendar.tsx +3 -1
  376. package/src/SearchField.tsx +27 -3
  377. package/src/Select.tsx +22 -7
  378. package/src/SelectionIndicator.tsx +3 -1
  379. package/src/SharedElementTransition.tsx +3 -1
  380. package/src/Slider.tsx +159 -13
  381. package/src/Switch.tsx +395 -2
  382. package/src/Table.tsx +409 -95
  383. package/src/Tabs.tsx +16 -45
  384. package/src/TagGroup.tsx +3 -1
  385. package/src/Text.tsx +31 -10
  386. package/src/TextField.tsx +43 -5
  387. package/src/TimeField.tsx +20 -2
  388. package/src/Toast.tsx +79 -14
  389. package/src/ToggleButton.tsx +3 -1
  390. package/src/ToggleButtonGroup.tsx +3 -1
  391. package/src/Tooltip.tsx +3 -1
  392. package/src/Tree.tsx +77 -9
  393. package/src/Virtualizer.tsx +180 -31
  394. package/src/VirtualizerLayouts.ts +45 -10
  395. package/src/index.ts +50 -0
  396. package/src/utils.tsx +243 -27
  397. package/dist/index.js.map +0 -1
  398. package/dist/index.jsx.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridList.js","names":["JSX","createContext","createEffect","createMemo","createSignal","onCleanup","splitProps","useContext","For","Show","createGridList","createGridListItem","createGridListSelectionCheckbox","createGridListSection","createFocusRing","createHover","mergeProps","AriaGridListProps","GridListSectionAria","createGridState","GridState","GridCollection","GridNode","Key","DropTarget","RenderChildren","ClassNameOrFunction","StyleOrFunction","SlotProps","useRenderProps","filterDOMProps","SharedElementTransition","DragAndDropHooks","CollectionRendererContext","CollectionRendererContextValue","SectionProps","useCollectionRenderer","useVirtualizerContext","Orientation","getNormalizedDropTargetKey","mergePersistedKeysIntoVirtualRange","useDndPersistedKeys","useRenderDropIndicator","RefLike","el","T","current","assignRef","ref","GridListRenderProps","isFocused","isFocusVisible","isDisabled","isEmpty","orientation","GridListProps","Omit","items","getKey","item","getTextValue","getDisabled","selectionMode","selectionBehavior","disabledKeys","Iterable","disabledBehavior","selectedKeys","defaultSelectedKeys","onSelectionChange","keys","Set","children","Element","class","style","HTMLDivElement","renderEmptyState","hasMore","isLoading","onLoadMore","Promise","dragAndDropHooks","GridListItemRenderProps","isSelected","isPressed","isHovered","GridListItemProps","HTMLAttributes","id","textValue","onAction","GridListLoadMoreItemProps","scrollOffset","GridListSectionProps","GridListHeaderProps","CSSProperties","GridListContextValue","state","collection","dragState","dropState","GridListContext","GridListStateContext","GridListHeaderContext","GridListHeaderInnerContext","buildGridCollection","nodes","map","index","key","type","const","value","String","level","hasChildNodes","childNodes","keyMap","Map","forEach","node","set","rows","columns","headerRows","rowCount","length","columnCount","size","getKeys","n","getItem","get","at","getKeyBefore","getKeyAfter","getFirstKey","getLastKey","getChildren","_key","getCell","_rowKey","_columnKey","Symbol","iterator","GridList","props","local","stateProps","ariaProps","setRef","allDisabledKeys","add","resolveDirection","window","getComputedStyle","dir","direction","document","gridProps","isVirtualized","keyboardNavigationBehavior","focusProps","renderValues","renderProps","defaultClassName","domProps","filtered","Record","global","cleanGridProps","_ref1","rest","cleanFocusProps","_ref2","virtualizer","parentCollectionRenderer","getItemNodes","Array","from","filter","getDropTargetByIndex","position","dropPosition","hasDroppableDnd","hooks","Boolean","useDroppableCollectionState","useDroppableCollection","dropTargetDelegate","ListDropTargetDelegate","hasDraggableDnd","useDraggableCollectionState","useDraggableCollection","undefined","activeDragState","droppableCollection","activeDropState","layout","keyboardDelegate","getKeyBelow","getKeyAbove","getKeyLeftOf","getKeyRightOf","getKeyPageBelow","getKeyPageAbove","isRootDropTarget","target","dndRenderDropIndicator","dndDropIndicator","persistedKeys","focusedKey","virtualRange","baseRange","getVisibleRange","itemNodes","persistedIndexes","findIndex","dropTarget","normalizedDropKey","focusedIndex","forceIncludeIndexes","forceIncludeMaxSpan","setDropTargetItemCountResolver","setDropTargetIndexResolver","entries","setDropTargetResolver","visibleItems","range","slice","start","end","virtualSpacerStyle","width","height","contextValue","collectionRenderer","renderItem","renderDropIndicator","_$createComponent","Provider","_el$","_$getNextElement","_tmpl$","_el$2","firstChild","_el$3","_co$","_$getNextMarker","nextSibling","_el$4","_el$5","_co$2","_$use","element","_$spread","_$mergeProps","collectionProps","data-focused","data-focus-visible","data-disabled","data-empty","data-drop-target","data-orientation","_$insert","_$memo","offsetTop","_el$6","_tmpl$2","_$effect","_$p","_$style","each","itemIndex","beforeIndicator","onIndicator","afterIndicator","offsetBottom","_el$7","_tmpl$3","_c$","GridListLoadMoreItem","_$runHydrationEvents","GridListItem","context","Error","listContext","itemNode","itemAria","hoverProps","draggableItem","useDraggableItem","Parameters","NonNullable","droppableItem","useDroppableItem","cleanRowProps","rowProps","cleanHoverProps","_ref3","_el$8","_tmpl$4","_el$9","dragProps","dropProps","data-key","data-selected","data-pressed","data-hovered","data-dragging","isDragging","isDropTarget","gridCellProps","renderChildren","GridListSelectionCheckbox","itemKey","excludeFromTabOrder","checkboxAria","_el$0","_tmpl$5","checkboxProps","tabIndex","aria-label","sentinelRef","isPending","setIsPending","triggerLoadMore","IntersectionObserver","offset","margin","observer","isIntersecting","rootMargin","observe","disconnect","_el$1","_tmpl$6","_el$10","_ref$","_el$11","_tmpl$7","addEventListener","_p$","_v$","_v$2","_v$3","e","_$className","t","a","_$setAttribute","GridListHeader","rowHeaderProps","_el$12","_el$13","display","GridListSection","section","hasChildren","filteredDomProps","_el$14","_tmpl$8","rowGroupProps","slot","Item","SelectionCheckbox","LoadMoreItem"],"sources":["../src/GridList.tsx"],"sourcesContent":["/**\n * GridList component for solidaria-components\n *\n * A pre-wired headless grid list that combines state + aria hooks.\n * Based on react-aria-components/src/GridList.tsx\n *\n * GridList is similar to ListBox but supports interactive elements within items\n * and uses grid keyboard navigation.\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 createGridList,\n createGridListItem,\n createGridListSelectionCheckbox,\n createGridListSection,\n createFocusRing,\n createHover,\n mergeProps,\n type AriaGridListProps,\n type GridListSectionAria,\n} from \"@proyecto-viviana/solidaria\";\nimport {\n createGridState,\n type GridState,\n type GridCollection,\n type GridNode,\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 { type DragAndDropHooks } from \"./useDragAndDrop\";\nimport {\n CollectionRendererContext,\n type CollectionRendererContextValue,\n type SectionProps,\n useCollectionRenderer,\n} from \"./Collection\";\nimport { useVirtualizerContext, type Orientation } from \"./Virtualizer\";\nimport {\n getNormalizedDropTargetKey,\n mergePersistedKeysIntoVirtualRange,\n useDndPersistedKeys,\n useRenderDropIndicator,\n} from \"./DragAndDrop\";\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\") {\n ref(el);\n } else {\n ref.current = el;\n }\n}\n\nexport interface GridListRenderProps {\n /** Whether the grid list has focus. */\n isFocused: boolean;\n /** Whether the grid list has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the grid list is disabled. */\n isDisabled: boolean;\n /** Whether the grid list is empty. */\n isEmpty: boolean;\n /**\n * The primary orientation of the items.\n *\n * @selector [data-orientation=\"vertical | horizontal\"]\n */\n orientation: Orientation;\n}\n\nexport interface GridListProps<T extends object>\n extends Omit<AriaGridListProps, \"children\">, SlotProps {\n /** The items to render in the grid list. */\n items: 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 /** How selection should behave when pressing an item. */\n selectionBehavior?: \"replace\" | \"toggle\";\n /** Keys of disabled items. */\n disabledKeys?: Iterable<Key>;\n /** Whether disabled items can still receive focus. */\n disabledBehavior?: \"selection\" | \"all\";\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 /**\n * The primary orientation of the items. Usually this is the direction that the collection\n * scrolls.\n *\n * @default 'vertical'\n */\n orientation?: Orientation;\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<GridListRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<GridListRenderProps>;\n /** Ref for the grid list root element. */\n ref?: RefLike<HTMLDivElement>;\n /** A function to render when the grid list 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 /** Drag and drop hooks from `useDragAndDrop`. */\n dragAndDropHooks?: DragAndDropHooks<T>;\n}\n\nexport interface GridListItemRenderProps {\n /** Whether the item is selected. */\n isSelected: boolean;\n /** Whether the item is focused. */\n isFocused: boolean;\n /** Whether the item has keyboard focus. */\n isFocusVisible: boolean;\n /** Whether the item is pressed. */\n isPressed: boolean;\n /** Whether the item is hovered. */\n isHovered: boolean;\n /** Whether the item is disabled. */\n isDisabled: boolean;\n /** The grid list selection mode. */\n selectionMode: \"none\" | \"single\" | \"multiple\";\n /** How selection behaves when pressing an item. */\n selectionBehavior: \"replace\" | \"toggle\";\n}\n\nexport interface GridListItemProps<T extends object>\n extends\n SlotProps,\n Omit<JSX.HTMLAttributes<HTMLDivElement>, \"class\" | \"style\" | \"children\" | \"id\" | \"ref\"> {\n /** The unique key for the item. */\n id: Key;\n /** The item value. */\n item?: T;\n /** The children of the item. A function may be provided to receive render props. */\n children?: RenderChildren<GridListItemRenderProps>;\n /** The CSS className for the element. */\n class?: ClassNameOrFunction<GridListItemRenderProps>;\n /** The inline style for the element. */\n style?: StyleOrFunction<GridListItemRenderProps>;\n /** The text value of the item (for accessibility). */\n textValue?: string;\n /** Handler called when the item is activated. */\n onAction?: () => void;\n /** Ref for the rendered row element. */\n ref?: RefLike<HTMLDivElement>;\n}\n\nexport interface GridListLoadMoreItemProps extends SlotProps {\n onLoadMore: () => void | Promise<void>;\n isLoading?: boolean;\n /** Scroll offset multiplier for early loading trigger (default: 1 = 100% of viewport height). */\n scrollOffset?: number;\n children?: JSX.Element;\n class?: ClassNameOrFunction<{ isLoading: boolean }>;\n style?: StyleOrFunction<{ isLoading: boolean }>;\n}\n\nexport interface GridListSectionProps extends SectionProps {}\nexport interface GridListHeaderProps extends SlotProps {\n children?: JSX.Element;\n class?: string;\n style?: JSX.CSSProperties;\n}\n\ninterface GridListContextValue<T extends object> {\n state: GridState<T, GridCollection<T>>;\n collection: GridCollection<T>;\n isDisabled: boolean;\n selectionBehavior: \"replace\" | \"toggle\";\n dragAndDropHooks?: DragAndDropHooks<T>;\n dragState?: unknown;\n dropState?: unknown;\n}\n\nexport const GridListContext = createContext<GridListContextValue<object> | null>(null);\nexport const GridListStateContext = createContext<GridState<object, GridCollection<object>> | null>(\n null,\n);\n/** Carries the section header's outer (row) props to {@link GridListHeader}. */\nexport const GridListHeaderContext = createContext<GridListSectionAria[\"rowProps\"] | null>(null);\n/** Carries the section header's inner (rowheader) props to {@link GridListHeader}. */\nexport const GridListHeaderInnerContext = createContext<\n GridListSectionAria[\"rowHeaderProps\"] | null\n>(null);\n\nfunction buildGridCollection<T extends object>(\n items: T[],\n getKey?: (item: T) => Key,\n getTextValue?: (item: T) => string,\n getDisabled?: (item: T) => boolean,\n): GridCollection<T> {\n const nodes: GridNode<T>[] = items.map((item, index) => {\n const key = getKey?.(item) ?? index;\n return {\n type: \"item\" as const,\n key,\n value: item,\n textValue: getTextValue?.(item) ?? String(key),\n level: 0,\n index,\n hasChildNodes: false,\n childNodes: [],\n isDisabled: getDisabled?.(item),\n };\n });\n\n const keyMap = new Map<Key, GridNode<T>>();\n nodes.forEach((node) => keyMap.set(node.key, node));\n\n return {\n rows: nodes,\n columns: [],\n headerRows: [],\n get rowCount() {\n return nodes.length;\n },\n get columnCount() {\n return 1;\n },\n get size() {\n return nodes.length;\n },\n getKeys() {\n return nodes.map((n) => n.key);\n },\n getItem(key: Key) {\n return keyMap.get(key) ?? null;\n },\n at(index: number) {\n return nodes[index] ?? null;\n },\n getKeyBefore(key: Key) {\n const node = keyMap.get(key);\n if (!node) return null;\n return node.index > 0 ? nodes[node.index - 1].key : null;\n },\n getKeyAfter(key: Key) {\n const node = keyMap.get(key);\n if (!node) return null;\n return node.index < nodes.length - 1 ? nodes[node.index + 1].key : null;\n },\n getFirstKey() {\n return nodes[0]?.key ?? null;\n },\n getLastKey() {\n return nodes[nodes.length - 1]?.key ?? null;\n },\n getChildren(_key: Key) {\n return [];\n },\n getTextValue(key: Key) {\n return keyMap.get(key)?.textValue ?? \"\";\n },\n getCell(_rowKey: Key, _columnKey: Key) {\n return null;\n },\n [Symbol.iterator]() {\n return nodes[Symbol.iterator]();\n },\n };\n}\n\n/**\n * A grid list displays a list of interactive items, with support for\n * keyboard navigation, single or multiple selection, and row actions.\n */\nexport function GridList<T extends object>(props: GridListProps<T>): JSX.Element {\n const [local, stateProps, ariaProps] = splitProps(\n props,\n [\n \"children\",\n \"class\",\n \"style\",\n \"ref\",\n \"slot\",\n \"renderEmptyState\",\n \"hasMore\",\n \"isLoading\",\n \"onLoadMore\",\n \"dragAndDropHooks\",\n \"orientation\",\n ],\n [\n \"items\",\n \"getKey\",\n \"getTextValue\",\n \"getDisabled\",\n \"disabledKeys\",\n \"disabledBehavior\",\n \"selectionMode\",\n \"selectedKeys\",\n \"defaultSelectedKeys\",\n \"onSelectionChange\",\n \"selectionBehavior\",\n ],\n );\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null);\n\n const collection = createMemo(() =>\n buildGridCollection(\n stateProps.items,\n stateProps.getKey,\n stateProps.getTextValue,\n stateProps.getDisabled,\n ),\n );\n\n const allDisabledKeys = createMemo(() => {\n const keys = new Set<Key>();\n\n if (stateProps.disabledKeys) {\n for (const key of stateProps.disabledKeys) {\n keys.add(key);\n }\n }\n\n for (const node of collection().rows) {\n if (node.isDisabled) {\n keys.add(node.key);\n }\n }\n\n return keys;\n });\n\n const orientation = (): Orientation => local.orientation ?? \"vertical\";\n const resolveDirection = (): \"ltr\" | \"rtl\" => {\n const el = ref();\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\n const state = createGridState<T, GridCollection<T>>(() => ({\n collection: collection(),\n disabledKeys: allDisabledKeys(),\n disabledBehavior: stateProps.disabledBehavior,\n selectionMode: stateProps.selectionMode,\n selectionBehavior: stateProps.selectionBehavior ?? \"replace\",\n selectedKeys: stateProps.selectedKeys,\n defaultSelectedKeys: stateProps.defaultSelectedKeys,\n onSelectionChange: stateProps.onSelectionChange,\n }));\n\n const { gridProps } = createGridList<T, GridCollection<T>>(\n () => ({\n id: ariaProps.id,\n \"aria-label\": ariaProps[\"aria-label\"],\n \"aria-labelledby\": ariaProps[\"aria-labelledby\"],\n \"aria-describedby\": ariaProps[\"aria-describedby\"],\n isVirtualized: ariaProps.isVirtualized,\n onAction: ariaProps.onAction,\n isDisabled: ariaProps.isDisabled,\n selectionBehavior: state.selectionBehavior,\n keyboardNavigationBehavior: ariaProps.keyboardNavigationBehavior,\n orientation: orientation(),\n direction: resolveDirection(),\n }),\n () => state,\n ref,\n );\n\n const { isFocused, isFocusVisible, focusProps } = createFocusRing();\n const renderValues = createMemo<GridListRenderProps>(() => ({\n isFocused: state.isFocused || isFocused(),\n isFocusVisible: isFocusVisible(),\n isDisabled: ariaProps.isDisabled ?? false,\n isEmpty: stateProps.items.length === 0,\n orientation: orientation(),\n }));\n\n const renderProps = useRenderProps(\n {\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-GridList\",\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 cleanGridProps = () => {\n const { ref: _ref1, ...rest } = gridProps 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\n const isEmpty = () => stateProps.items.length === 0;\n const virtualizer = useVirtualizerContext();\n const parentCollectionRenderer = useCollectionRenderer<T>();\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 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: stateProps.items,\n });\n });\n const dropState = createMemo(() => {\n if (!hasDroppableDnd()) return undefined;\n return local.dragAndDropHooks?.useDroppableCollectionState?.({});\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, () => ref());\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 dropTargetDelegate =\n hooks.dropTargetDelegate ??\n parentCollectionRenderer?.dropTargetDelegate ??\n (hooks.ListDropTargetDelegate\n ? new hooks.ListDropTargetDelegate(\n () => state.collection,\n () => ref(),\n { layout: \"grid\", orientation: orientation(), direction: resolveDirection() },\n )\n : undefined);\n if (!dropTargetDelegate) return undefined;\n return hooks.useDroppableCollection(\n {\n dropTargetDelegate,\n keyboardDelegate: {\n getFirstKey: () => state.collection.getFirstKey?.() ?? null,\n getLastKey: () => state.collection.getLastKey?.() ?? null,\n getKeyBelow: (key) => state.collection.getKeyAfter?.(key) ?? null,\n getKeyAbove: (key) => state.collection.getKeyBefore?.(key) ?? null,\n getKeyLeftOf: (key) =>\n resolveDirection() === \"rtl\"\n ? (state.collection.getKeyAfter?.(key) ?? null)\n : (state.collection.getKeyBefore?.(key) ?? null),\n getKeyRightOf: (key) =>\n resolveDirection() === \"rtl\"\n ? (state.collection.getKeyBefore?.(key) ?? null)\n : (state.collection.getKeyAfter?.(key) ?? null),\n getKeyPageBelow: (key) => state.collection.getKeyAfter?.(key) ?? null,\n getKeyPageAbove: (key) => state.collection.getKeyBefore?.(key) ?? null,\n },\n },\n activeDropState,\n () => ref(),\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 persistedKeys = useDndPersistedKeys(\n { focusedKey: () => state.focusedKey },\n local.dragAndDropHooks,\n dropState(),\n state.collection,\n );\n const virtualRange = createMemo(() => {\n if (!virtualizer || !parentCollectionRenderer?.isVirtualized) 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 virtualizer.setDropTargetItemCountResolver(() => state.collection.size);\n virtualizer.setDropTargetIndexResolver((key) => {\n const entries = Array.from(state.collection);\n const index = entries.findIndex((node) => node.key === key);\n return index >= 0 ? index : null;\n });\n virtualizer.setDropTargetResolver((target) => {\n const node = Array.from(state.collection)[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\n const contextValue = createMemo<GridListContextValue<T>>(() => ({\n state,\n collection: collection(),\n isDisabled: ariaProps.isDisabled ?? false,\n selectionBehavior: state.selectionBehavior,\n dragAndDropHooks: local.dragAndDropHooks,\n dragState: dragState(),\n dropState: dropState(),\n }));\n const collectionRenderer = createMemo<CollectionRendererContextValue<unknown>>(() => ({\n ...parentCollectionRenderer,\n renderItem: (item) => props.children(item as T),\n renderDropIndicator: (index: number, position: \"before\" | \"after\" | \"on\") =>\n dndDropIndicator(index, position) ??\n parentCollectionRenderer?.renderDropIndicator?.(index, position),\n }));\n\n return (\n <GridListContext.Provider value={contextValue() as unknown as GridListContextValue<object>}>\n <GridListStateContext.Provider\n value={state as unknown as GridState<object, GridCollection<object>>}\n >\n <CollectionRendererContext.Provider value={collectionRenderer()}>\n <div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}\n {...mergeProps(\n domProps(),\n cleanGridProps(),\n cleanFocusProps(),\n (droppableCollection()?.collectionProps as Record<string, unknown> | undefined) ?? {},\n )}\n class={renderProps.class()}\n style={renderProps.style()}\n data-focused={state.isFocused || undefined}\n data-focus-visible={isFocusVisible() || undefined}\n data-disabled={ariaProps.isDisabled || undefined}\n data-empty={isEmpty() || undefined}\n data-drop-target={isRootDropTarget() || undefined}\n data-orientation={orientation()}\n >\n <SharedElementTransition>\n {isEmpty() && local.renderEmptyState ? (\n local.renderEmptyState()\n ) : (\n <>\n {virtualRange()?.offsetTop ? (\n <div\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 {props.children(item)}\n {afterIndicator()}\n </>\n );\n }}\n </For>\n {virtualRange()?.offsetBottom ? (\n <div\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 <GridListLoadMoreItem onLoadMore={local.onLoadMore} isLoading={local.isLoading} />\n )}\n </div>\n </CollectionRendererContext.Provider>\n </GridListStateContext.Provider>\n </GridListContext.Provider>\n );\n}\n\n/**\n * An item in a grid list.\n */\nexport function GridListItem<T extends object>(props: GridListItemProps<T>): JSX.Element {\n const [local, domProps] = splitProps(props, [\n \"class\",\n \"style\",\n \"slot\",\n \"id\",\n \"item\",\n \"textValue\",\n \"onAction\",\n \"children\",\n \"ref\",\n ]);\n\n const context = useContext(GridListStateContext);\n if (!context) {\n throw new Error(\"GridListItem must be used within a GridList\");\n }\n const state = context as GridState<T, GridCollection<T>>;\n const listContext = useContext(GridListContext) as GridListContextValue<T> | null;\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null);\n\n const itemNode = createMemo(() => {\n const node = state.collection.getItem(local.id);\n if (!node) {\n return {\n type: \"item\" as const,\n key: local.id,\n value: local.item ?? null,\n textValue: local.textValue ?? String(local.id),\n level: 0,\n index: 0,\n hasChildNodes: false,\n childNodes: [],\n } as GridNode<T>;\n }\n return node as GridNode<T>;\n });\n\n const itemAria = createGridListItem<T, GridCollection<T>>(\n () => ({\n node: itemNode(),\n onAction: local.onAction,\n selectionBehavior: listContext?.selectionBehavior ?? \"replace\",\n }),\n () => state,\n ref,\n );\n const isSelected = () => itemAria.isSelected;\n const isDisabled = () => itemAria.isDisabled;\n const isPressed = () => itemAria.isPressed;\n\n const { isHovered, hoverProps } = createHover({\n get isDisabled() {\n return isDisabled();\n },\n });\n\n const { isFocusVisible, focusProps } = createFocusRing();\n\n const isFocused = createMemo(() => state.focusedKey === local.id);\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 renderValues = createMemo<GridListItemRenderProps>(() => ({\n isSelected: isSelected(),\n isFocused: isFocused(),\n isFocusVisible: isFocusVisible() && isFocused(),\n isPressed: isPressed(),\n isHovered: isHovered(),\n isDisabled: isDisabled(),\n selectionMode: state.selectionMode,\n selectionBehavior: listContext?.selectionBehavior ?? \"replace\",\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-GridList-item\",\n },\n renderValues,\n );\n\n const cleanRowProps = () => {\n const { ref: _ref1, ...rest } = itemAria.rowProps as Record<string, unknown>;\n return rest;\n };\n const cleanHoverProps = () => {\n const { ref: _ref2, ...rest } = hoverProps as Record<string, unknown>;\n return rest;\n };\n const cleanFocusProps = () => {\n const { ref: _ref3, ...rest } = focusProps as Record<string, unknown>;\n return rest;\n };\n\n return (\n <div\n ref={(element) => {\n setRef(element);\n assignRef(local.ref, element);\n }}\n {...domProps}\n {...mergeProps(\n cleanRowProps(),\n cleanHoverProps(),\n cleanFocusProps(),\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-key={local.id}\n data-selected={isSelected() || undefined}\n data-focused={isFocused() || undefined}\n data-focus-visible={(isFocusVisible() && isFocused()) || undefined}\n data-pressed={isPressed() || undefined}\n data-hovered={isHovered() || undefined}\n data-disabled={isDisabled() || undefined}\n data-dragging={draggableItem()?.isDragging || undefined}\n data-drop-target={droppableItem()?.isDropTarget || undefined}\n >\n <div {...itemAria.gridCellProps}>{renderProps.renderChildren()}</div>\n </div>\n );\n}\n\n/**\n * A checkbox for item selection in a grid list.\n */\nexport function GridListSelectionCheckbox(props: {\n itemKey: Key;\n class?: string;\n style?: JSX.CSSProperties;\n excludeFromTabOrder?: boolean;\n \"aria-label\"?: string;\n}): JSX.Element {\n const context = useContext(GridListStateContext);\n if (!context) {\n throw new Error(\"GridListSelectionCheckbox must be used within a GridList\");\n }\n\n const state = context as GridState<object, GridCollection<object>>;\n\n const checkboxAria = createGridListSelectionCheckbox<object, GridCollection<object>>(\n () => ({ key: props.itemKey }),\n () => state,\n );\n\n return (\n <input\n {...checkboxAria.checkboxProps}\n class={props.class}\n style={props.style}\n tabIndex={props.excludeFromTabOrder ? -1 : undefined}\n aria-label={props[\"aria-label\"] ?? \"Select\"}\n />\n );\n}\n\nexport function GridListLoadMoreItem(props: GridListLoadMoreItemProps): JSX.Element {\n let sentinelRef: HTMLDivElement | undefined;\n const [isPending, setIsPending] = createSignal(false);\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 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 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-GridList-loadMore\",\n },\n () => ({ isLoading: isLoading() }),\n );\n\n return (\n <>\n <div style={{ position: \"relative\", width: 0, height: 0, overflow: \"hidden\" }} inert>\n <div ref={sentinelRef} style={{ position: \"absolute\", height: \"1px\", width: \"1px\" }} />\n </div>\n <div\n role=\"row\"\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 </div>\n </>\n );\n}\n\n/**\n * The header of a {@link GridListSection}. Renders as `role=\"row\"` wrapping a\n * `role=\"rowheader\"` whose id labels the section (mirrors upstream\n * `GridListHeader`). The row/rowheader props are supplied by the enclosing\n * section through context.\n */\nexport function GridListHeader(props: GridListHeaderProps): JSX.Element {\n const rowProps = useContext(GridListHeaderContext);\n const rowHeaderProps = useContext(GridListHeaderInnerContext);\n return (\n <div\n class={props.class ?? \"solidaria-GridListHeader\"}\n style={props.style}\n {...(rowProps ?? {})}\n >\n <div {...(rowHeaderProps ?? {})} style={{ display: \"contents\" }}>\n {props.children}\n </div>\n </div>\n );\n}\n\n/**\n * A section within a GridList. Renders as `role=\"rowgroup\"` and supplies its\n * optional {@link GridListHeader} with the row/rowheader props that wire up the\n * section's `aria-labelledby` (mirrors upstream `GridListSection`).\n */\nexport function GridListSection(props: GridListSectionProps): JSX.Element {\n const [local, domProps] = splitProps(props, [\"children\", \"class\", \"style\", \"slot\", \"ref\"]);\n\n const section = createGridListSection({\n get \"aria-label\"() {\n return (domProps as { \"aria-label\"?: string })[\"aria-label\"];\n },\n });\n\n // Mirror upstream: resolve class/style via renderProps but keep children out\n // of it (upstream passes `children: undefined`/`values: undefined`). The real\n // children must only be evaluated inside the header providers below, otherwise\n // a child <GridListHeader> would be instantiated in this component's owner and\n // read the contexts as null.\n // The values callback runs during setup (useRenderProps resolves class/style\n // synchronously), so it must not read `local.children` — doing so would\n // instantiate the header children in this owner, outside the providers below,\n // and break their context wiring. Mirror upstream's `values: undefined` with a\n // constant: a rendered section primitive always wraps its item collection.\n const renderProps = useRenderProps(\n {\n children: undefined,\n class: local.class,\n style: local.style,\n defaultClassName: \"solidaria-GridListSection\",\n },\n () => ({ hasChildren: true }),\n );\n\n const filteredDomProps = createMemo(() => filterDOMProps(domProps, { global: true }));\n\n return (\n <div\n ref={(el) => assignRef(local.ref, el)}\n {...filteredDomProps()}\n {...section.rowGroupProps}\n class={renderProps.class()}\n style={renderProps.style()}\n slot={local.slot}\n data-section\n >\n <GridListHeaderContext.Provider value={section.rowProps}>\n <GridListHeaderInnerContext.Provider value={section.rowHeaderProps}>\n {local.children}\n </GridListHeaderInnerContext.Provider>\n </GridListHeaderContext.Provider>\n </div>\n );\n}\n\nGridList.Item = GridListItem;\nGridList.SelectionCheckbox = GridListSelectionCheckbox;\nGridList.LoadMoreItem = GridListLoadMoreItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAmEA,SAAS+C,UAAaC,KAAiBJ,IAAa;CAClD,IAAI,CAACI,KAAK;CACV,IAAI,OAAOA,QAAQ,YACjBA,IAAIJ,EAAE;MAENI,IAAIF,UAAUF;AAElB;AA0IA,MAAa0D,kBAAkBrG,cAAmD,IAAI;AACtF,MAAasG,uBAAuBtG,cAClC,IACF;;AAEA,MAAauG,wBAAwBvG,cAAsD,IAAI;;AAE/F,MAAawG,6BAA6BxG,cAExC,IAAI;AAEN,SAASyG,oBACPjD,OACAC,QACAE,cACAC,aACmB;CACnB,MAAM8C,QAAuBlD,MAAMmD,KAAKjD,MAAMkD,UAAU;EACtD,MAAMC,MAAMpD,SAASC,IAAI,KAAKkD;EAC9B,OAAO;GACLE,MAAM;GACND;GACAG,OAAOtD;GACP+B,WAAW9B,eAAeD,IAAI,KAAKuD,OAAOJ,GAAG;GAC7CK,OAAO;GACPN;GACAO,eAAe;GACfC,YAAY,CAAA;GACZjE,YAAYS,cAAcF,IAAI;EAChC;CACF,CAAC;CAED,MAAM2D,yBAAS,IAAIC,IAAsB;CACzCZ,MAAMa,SAASC,SAASH,OAAOI,IAAID,KAAKX,KAAKW,IAAI,CAAC;CAElD,OAAO;EACLE,MAAMhB;EACNiB,SAAS,CAAA;EACTC,YAAY,CAAA;EACZ,IAAIC,WAAW;GACb,OAAOnB,MAAMoB;EACf;EACA,IAAIC,cAAc;GAChB,OAAO;EACT;EACA,IAAIC,OAAO;GACT,OAAOtB,MAAMoB;EACf;EACAG,UAAU;GACR,OAAOvB,MAAMC,KAAKuB,MAAMA,EAAErB,GAAG;EAC/B;EACAsB,QAAQtB,KAAU;GAChB,OAAOQ,OAAOe,IAAIvB,GAAG,KAAK;EAC5B;EACAwB,GAAGzB,OAAe;GAChB,OAAOF,MAAME,UAAU;EACzB;EACA0B,aAAazB,KAAU;GACrB,MAAMW,OAAOH,OAAOe,IAAIvB,GAAG;GAC3B,IAAI,CAACW,MAAM,OAAO;GAClB,OAAOA,KAAKZ,QAAQ,IAAIF,MAAMc,KAAKZ,QAAQ,EAAE,CAACC,MAAM;EACtD;EACA0B,YAAY1B,KAAU;GACpB,MAAMW,OAAOH,OAAOe,IAAIvB,GAAG;GAC3B,IAAI,CAACW,MAAM,OAAO;GAClB,OAAOA,KAAKZ,QAAQF,MAAMoB,SAAS,IAAIpB,MAAMc,KAAKZ,QAAQ,EAAE,CAACC,MAAM;EACrE;EACA2B,cAAc;GACZ,OAAO9B,MAAM,EAAE,EAAEG,OAAO;EAC1B;EACA4B,aAAa;GACX,OAAO/B,MAAMA,MAAMoB,SAAS,EAAE,EAAEjB,OAAO;EACzC;EACA6B,YAAYC,MAAW;GACrB,OAAO,CAAA;EACT;EACAhF,aAAakD,KAAU;GACrB,OAAOQ,OAAOe,IAAIvB,GAAG,CAAC,EAAEpB,aAAa;EACvC;EACAmD,QAAQC,SAAcC,YAAiB;GACrC,OAAO;EACT;EACA,CAACC,OAAOC,YAAY;GAClB,OAAOtC,MAAMqC,OAAOC,SAAS,CAAC;EAChC;CACF;AACF;;;;;AAMA,SAAgBC,SAA2BC,OAAsC;CAC/E,MAAM,CAACC,OAAOC,YAAYC,aAAahJ,WACrC6I,OACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAa,GAEf;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAmB,CAEvB;CAEA,MAAM,CAACnG,KAAKuG,UAAUnJ,aAAoC,IAAI;CAE9D,MAAM+F,aAAahG,iBACjBuG,oBACE2C,WAAW5F,OACX4F,WAAW3F,QACX2F,WAAWzF,cACXyF,WAAWxF,WACb,CACF;CAEA,MAAM2F,kBAAkBrJ,iBAAiB;EACvC,MAAMmE,uBAAO,IAAIC,IAAS;EAE1B,IAAI8E,WAAWrF,cACb,KAAK,MAAM8C,OAAOuC,WAAWrF,cAC3BM,KAAKmF,IAAI3C,GAAG;EAIhB,KAAK,MAAMW,QAAQtB,WAAW,CAAC,CAACwB,MAC9B,IAAIF,KAAKrE,YACPkB,KAAKmF,IAAIhC,KAAKX,GAAG;EAIrB,OAAOxC;CACT,CAAC;CAED,MAAMhB,oBAAiC8F,MAAM9F,eAAe;CAC5D,MAAMoG,yBAAwC;EAC5C,MAAM9G,KAAKI,IAAI;EACf,IAAIJ,MAAM,OAAO+G,WAAW,eAAe,OAAOA,OAAOC,qBAAqB;OAChED,OAAOC,iBAAiBhH,EAAE,CAAC,CAACkH,cAC5B,OAAO,OAAO;EAAA;EAE5B,OAAO,OAAOC,aAAa,eAAeA,SAASF,QAAQ,QAAQ,QAAQ;CAC7E;CAEA,MAAM3D,QAAQ/E,uBAA6C;EACzDgF,YAAYA,WAAW;EACvBnC,cAAcwF,gBAAgB;EAC9BtF,kBAAkBmF,WAAWnF;EAC7BJ,eAAeuF,WAAWvF;EAC1BC,mBAAmBsF,WAAWtF,qBAAqB;EACnDI,cAAckF,WAAWlF;EACzBC,qBAAqBiF,WAAWjF;EAChCC,mBAAmBgF,WAAWhF;CAChC,EAAE;CAEF,MAAM,EAAE2F,cAActJ,sBACb;EACL+E,IAAI6D,UAAU7D;EACd,cAAc6D,UAAU;EACxB,mBAAmBA,UAAU;EAC7B,oBAAoBA,UAAU;EAC9BW,eAAeX,UAAUW;EACzBtE,UAAU2D,UAAU3D;EACpBvC,YAAYkG,UAAUlG;EACtBW,mBAAmBmC,MAAMnC;EACzBmG,4BAA4BZ,UAAUY;EACtC5G,aAAaA,YAAY;EACzBwG,WAAWJ,iBAAiB;CAC9B,UACMxD,OACNlD,GACF;CAEA,MAAM,EAAEE,WAAWC,gBAAgBgH,eAAerJ,gBAAgB;CAClE,MAAMsJ,eAAejK,kBAAuC;EAC1D+C,WAAWgD,MAAMhD,aAAaA,UAAU;EACxCC,gBAAgBA,eAAe;EAC/BC,YAAYkG,UAAUlG,cAAc;EACpCC,SAASgG,WAAW5F,MAAMsE,WAAW;EACrCzE,aAAaA,YAAY;CAC3B,EAAE;CAEF,MAAM+G,cAAcxI,eAClB;EACE6C,OAAO0E,MAAM1E;EACbC,OAAOyE,MAAMzE;EACb2F,kBAAkB;CACpB,GACAF,YACF;CAEA,MAAMG,WAAWpK,iBAAiB;EAEhC,OADiB2B,eAAewH,WAAsC,EAAEoB,QAAQ,KAAK,CAC9EF;CACT,CAAC;CAED,MAAMG,uBAAuB;EAC3B,MAAM,EAAE3H,KAAK4H,OAAO,GAAGC,SAASb;EAChC,OAAOa;CACT;CACA,MAAMC,wBAAwB;EAC5B,MAAM,EAAE9H,KAAK+H,OAAO,GAAGF,SAASV;EAChC,OAAOU;CACT;CAEA,MAAMxH,gBAAgBgG,WAAW5F,MAAMsE,WAAW;CAClD,MAAMiD,cAAc3I,sBAAsB;CAC1C,MAAM4I,2BAA2B7I,sBAAyB;CAC1D,MAAM8I,eAAe/K,iBACnBgL,MAAMC,KAAKlF,MAAMC,UAAU,CAAC,CAACkF,QAAQ5D,SAASA,KAAKV,SAAS,MAAM,CACpE;CACA,MAAMuE,wBACJzE,OACA0E,aACsB;EACtB,MAAM9D,OAAOyD,aAAa,CAAC,CAACrE;EAC5B,IAAI,CAACY,MAAM,OAAO;EAClB,OAAO;GAAEV,MAAM;GAAQD,KAAKW,KAAKX;GAAK0E,cAAcD;EAAS;CAC/D;CACA,MAAME,kBAAkBtL,iBAAiB;EACvC,MAAMuL,QAAQtC,MAAMlE;EACpB,OAAOyG,QACLD,OAAOE,+BACPF,MAAMG,2BACLH,MAAMI,sBACLb,0BAA0Ba,sBAC1BJ,MAAMK,uBACV;CACF,CAAC;CACD,MAAMC,kBAAkB7L,iBAAiB;EACvC,MAAMuL,QAAQtC,MAAMlE;EACpB,OAAOyG,QAAQD,OAAOO,+BAA+BP,MAAMQ,sBAAsB;CACnF,CAAC;CACD,MAAM9F,YAAYjG,iBAAiB;EACjC,IAAI,CAAC6L,gBAAgB,GAAG,OAAOG,KAAAA;EAC/B,OAAO/C,MAAMlE,kBAAkB+G,8BAA8B,EAC3DxI,OAAO4F,WAAW5F,MACpB,CAAC;CACH,CAAC;CACD,MAAM4C,YAAYlG,iBAAiB;EACjC,IAAI,CAACsL,gBAAgB,GAAG,OAAOU,KAAAA;EAC/B,OAAO/C,MAAMlE,kBAAkB0G,8BAA8B,CAAC,CAAC;CACjE,CAAC;CACD1L,mBAAmB;EACjB,IAAI,CAAC8L,gBAAgB,GAAG;EACxB,MAAMN,QAAQtC,MAAMlE;EACpB,MAAMkH,kBAAkBhG,UAAU;EAClC,IAAI,CAACsF,OAAOQ,0BAA0B,CAACE,iBAAiB;EACxDV,MAAMQ,uBAAuB,CAAC,GAAGE,uBAAuBpJ,IAAI,CAAC;CAC/D,CAAC;CACD,MAAMqJ,sBAAsBlM,iBAAiB;EAC3C,IAAI,CAACsL,gBAAgB,GAAG,OAAOU,KAAAA;EAC/B,MAAMT,QAAQtC,MAAMlE;EACpB,MAAMoH,kBAAkBjG,UAAU;EAClC,IAAI,CAACqF,OAAOG,0BAA0B,CAACS,iBAAiB,OAAOH,KAAAA;EAC/D,MAAML,qBACJJ,MAAMI,sBACNb,0BAA0Ba,uBACzBJ,MAAMK,yBACH,IAAIL,MAAMK,6BACF7F,MAAMC,kBACNnD,IAAI,GACV;GAAEuJ,QAAQ;GAAQjJ,aAAaA,YAAY;GAAGwG,WAAWJ,iBAAiB;EAAE,CAC9E,IACAyC,KAAAA;EACN,IAAI,CAACL,oBAAoB,OAAOK,KAAAA;EAChC,OAAOT,MAAMG,uBACX;GACEC;GACAU,kBAAkB;IAChB/D,mBAAmBvC,MAAMC,WAAWsC,cAAc,KAAK;IACvDC,kBAAkBxC,MAAMC,WAAWuC,aAAa,KAAK;IACrD+D,cAAc3F,QAAQZ,MAAMC,WAAWqC,cAAc1B,GAAG,KAAK;IAC7D4F,cAAc5F,QAAQZ,MAAMC,WAAWoC,eAAezB,GAAG,KAAK;IAC9D6F,eAAe7F,QACb4C,iBAAiB,MAAM,QAClBxD,MAAMC,WAAWqC,cAAc1B,GAAG,KAAK,OACvCZ,MAAMC,WAAWoC,eAAezB,GAAG,KAAK;IAC/C8F,gBAAgB9F,QACd4C,iBAAiB,MAAM,QAClBxD,MAAMC,WAAWoC,eAAezB,GAAG,KAAK,OACxCZ,MAAMC,WAAWqC,cAAc1B,GAAG,KAAK;IAC9C+F,kBAAkB/F,QAAQZ,MAAMC,WAAWqC,cAAc1B,GAAG,KAAK;IACjEgG,kBAAkBhG,QAAQZ,MAAMC,WAAWoC,eAAezB,GAAG,KAAK;GACpE;EACF,GACAwF,uBACMtJ,IAAI,CACZ;CACF,CAAC;CACD,MAAM+J,mBAAmB5M,iBAAiB;EACxC,OAAOwL,QAAQtF,UAAU,CAAC,EAAE2G,QAAQjG,SAAS,MAAM;CACrD,CAAC;CACD,MAAMkG,yBAAyB9M,iBAC7BuC,uBAAuB0G,MAAMlE,kBAAkBmB,UAAU,CAAC,CAC5D;CACA,MAAM6G,oBAAoBrG,OAAe0E,aAAwC;EAC/E,MAAMyB,SAAS1B,qBAAqBzE,OAAO0E,QAAQ;EACnD,IAAI,CAACyB,UAAUA,OAAOjG,SAAS,QAAQ,OAAOoF,KAAAA;EAC9C,OAAOc,uBAAuB,CAAC,GAAGD,MAAM;CAC1C;CACA,MAAMG,gBAAgB1K,oBACpB,EAAE2K,kBAAkBlH,MAAMkH,WAAW,GACrChE,MAAMlE,kBACNmB,UAAU,GACVH,MAAMC,UACR;CACA,MAAMkH,eAAelN,iBAAiB;EACpC,IAAI,CAAC6K,eAAe,CAACC,0BAA0BhB,eAAe,OAAO;EACrE,MAAMqD,YAAYtC,YAAYuC,gBAAgBlE,WAAW5F,MAAMsE,MAAM;EACrE,MAAMyF,YAAYtC,aAAa;EAC/B,MAAMuC,mBAAmBtC,MAAMC,KAAK+B,cAAc,CAAC,CAAC,CACjDvG,KAAKE,QAAQ0G,UAAUE,WAAWjG,SAASA,KAAKX,QAAQA,GAAG,CAAC,CAAC,CAC7DuE,QAAQxE,UAAUA,SAAS,CAAC;EAC/B,MAAM8G,aAAatH,UAAU,CAAC,EAAE2G;EAChC,MAAMY,oBAAoBrL,2BAA2BoL,YAAYzH,MAAMC,UAAU;EACjF,MAAMiH,aAAalH,MAAMkH;EACzB,MAAMS,eACJT,cAAc,OAAOI,UAAUE,WAAWjG,SAASA,KAAKX,QAAQsG,UAAU,IAAI;EAChF,MAAMU,sBAAsB;GAC1BH,YAAY5G,SAAS,SAASyG,UAAUE,WAAWjG,SAASA,KAAKX,QAAQ6G,WAAW7G,GAAG,IAAI;GAC3F8G,qBAAqB,OACjBJ,UAAUE,WAAWjG,SAASA,KAAKX,QAAQ8G,iBAAiB,IAC5D;GACJD,YAAY5G,SAAS,SAAS,KAAK8G;EAAY,CAChD,CAACxC,QAAQxE,UAAUA,SAAS,CAAC;EAC9B,OAAOrE,mCACL8K,WACAG,kBACApE,WAAW5F,MAAMsE,QACjBiD,aACA,IACA;GACE8C;GACAC,qBAAqB;EACvB,CACF;CACF,CAAC;CACD7N,mBAAmB;EACjB,IAAI,CAAC8K,eAAe,CAACC,0BAA0BhB,eAAe;EAC9De,YAAYgD,qCAAqC9H,MAAMC,WAAW8B,IAAI;EACtE+C,YAAYiD,4BAA4BnH,QAAQ;GAE9C,MAAMD,QADUsE,MAAMC,KAAKlF,MAAMC,UACnB+H,CAAO,CAACR,WAAWjG,SAASA,KAAKX,QAAQA,GAAG;GAC1D,OAAOD,SAAS,IAAIA,QAAQ;EAC9B,CAAC;EACDmE,YAAYmD,uBAAuBnB,WAAW;GAC5C,MAAMvF,OAAO0D,MAAMC,KAAKlF,MAAMC,UAAU,CAAC,CAAC6G,OAAOnG;GACjD,IAAI,CAACY,MAAM,OAAOuF;GAClB,OAAO;IACL,GAAGA;IACHlG,KAAK,OAAOW,KAAKX,QAAQ,YAAY,OAAOW,KAAKX,QAAQ,WAAWW,KAAKX,MAAMqF,KAAAA;GACjF;EACF,CAAC;EACD9L,gBAAgB;GACd2K,YAAYiD,2BAA2B9B,KAAAA,CAAS;GAChDnB,YAAYgD,+BAA+B7B,KAAAA,CAAS;GACpDnB,YAAYmD,sBAAsBhC,KAAAA,CAAS;EAC7C,CAAC;CACH,CAAC;CACD,MAAMiC,eAAejO,iBAAiB;EACpC,MAAMkO,QAAQhB,aAAa;EAC3B,IAAI,CAACgB,OAAO,OAAOhF,WAAW5F;EAC9B,OAAO4F,WAAW5F,MAAM6K,MAAMD,MAAME,OAAOF,MAAMG,GAAG;CACtD,CAAC;CAGD,MAAMC,sBAAsBxG,SAC1B+C,aAAa1H,gBAAgB,eAAe,EAAEoL,OAAO,GAAGzG,KAAI,IAAK,IAAI,EAAE0G,QAAQ,GAAG1G,KAAI,IAAK;CAE7F,MAAM2G,eAAezO,kBAA2C;EAC9D+F;EACAC,YAAYA,WAAW;EACvB/C,YAAYkG,UAAUlG,cAAc;EACpCW,mBAAmBmC,MAAMnC;EACzBmB,kBAAkBkE,MAAMlE;EACxBkB,WAAWA,UAAU;EACrBC,WAAWA,UAAU;CACvB,EAAE;CACF,MAAMwI,qBAAqB1O,kBAA2D;EACpF,GAAG8K;EACH6D,aAAanL,SAASwF,MAAM3E,SAASb,IAAS;EAC9CoL,sBAAsBlI,OAAe0E,aACnC2B,iBAAiBrG,OAAO0E,QAAQ,KAChCN,0BAA0B8D,sBAAsBlI,OAAO0E,QAAQ;CACnE,EAAE;CAEF,OAAAyD,gBACG1I,gBAAgB2I,UAAQ;EAAA,IAAChI,QAAK;GAAA,OAAE2H,aAAa;EAA4C;EAAA,IAAApK,WAAA;GAAA,OAAAwK,gBACvFzI,qBAAqB0I,UAAQ;IAC5BhI,OAAOf;IAA6D,IAAA1B,WAAA;KAAA,OAAAwK,gBAEnE/M,0BAA0BgN,UAAQ;MAAA,IAAChI,QAAK;OAAA,OAAE4H,mBAAmB;MAAC;MAAA,IAAArK,WAAA;OAAA,IAAA0K,OAAAC,eAAAC,MAAA,GAAAC,QAAAH,KAAAI,YAAA,CAAAC,OAAAC,QAAAC,cAAAJ,MAAAK,WAAA,GAAAC,QAAAJ,MAAAG,aAAA,CAAAE,OAAAC,SAAAJ,cAAAE,MAAAD,WAAA;OAAAI,KAErDC,YAAY;QAChBxG,OAAOwG,OAAO;QACdhN,UAAUqG,MAAMpG,KAAK+M,OAAO;OAC9B,GAACb,IAAA;OAAAc,OAAAd,MAAAe,iBACGjP,aACFuJ,SAAS,GACTI,eAAe,GACfG,gBAAgB,GACfuB,oBAAoB,CAAC,EAAE6D,mBAA2D,CAAC,CACtF,GAAC;QAAA,KAAA,WAAA;SAAA,OACM7F,YAAY3F,MAAM;QAAC;QAAA,IAC1BC,QAAK;SAAA,OAAE0F,YAAY1F,MAAM;QAAC;QAAA,KAAA,kBAAA;SAAA,OACZuB,MAAMhD,aAAaiJ,KAAAA;QAAS;QAAA,KAAA,wBAAA;SAAA,OACtBhJ,eAAe,KAAKgJ,KAAAA;QAAS;QAAA,KAAA,mBAAA;SAAA,OAClC7C,UAAUlG,cAAc+I,KAAAA;QAAS;QAAA,KAAA,gBAAA;SAAA,OACpC9I,QAAQ,KAAK8I,KAAAA;QAAS;QAAA,KAAA,sBAAA;SAAA,OAChBY,iBAAiB,KAAKZ,KAAAA;QAAS;QAAA,KAAA,sBAAA;SAAA,OAC/B7I,YAAY;QAAC;OAAA,CAAA,GAAA,OAAA,IAAA;OAAAmN,OAAAvB,MAAAF,gBAE9BjN,yBAAuB,EAAA,IAAAyC,WAAA;QAAA,OACrBkM,WAAA,CAAA,EAAArN,QAAQ,KAAK+F,MAAMvE,iBAAgB,CAAA,CAAA,IAClCuE,MAAMvE,iBAAiB,IAAC;SAAA6L,WAGrBA,WAAA,CAAA,CAAArD,aAAa,CAAC,EAAEsD,SAAS,CAAA,CAAA,WAAA;UAAA,IAAAC,QAAAzB,eAAA0B,OAAA;UAAAC,QAAAC,QAAAC,MAAAJ,OAIfnC,mBAAmBpB,aAAa,CAAC,CAAEsD,SAAS,GAACI,GAAA,CAAA;UAAA,OAAAH;SAAA,EAAA,CAAA,IAGpD,IAAI;SAAA5B,gBACPxO,KAAG;UAAA,IAACyQ,OAAI;WAAA,OAAE7C,aAAa;UAAC;UAAA5J,WACrBb,MAAMkD,UAAU;WAChB,MAAMqK,mBAAmB7D,aAAa,CAAC,EAAEkB,SAAS,KAAK1H,MAAM;WAC7D,MAAMsK,wBACJtC,mBAAmB,CAAC,CAACE,sBAAsBmC,UAAU,GAAG,QAAQ;WAClE,MAAME,oBACJvC,mBAAmB,CAAC,CAACE,sBAAsBmC,UAAU,GAAG,IAAI;WAC9D,MAAMG,uBACJxC,mBAAmB,CAAC,CAACE,sBAAsBmC,UAAU,GAAG,OAAO;WACjE,OAAA;YAAAR,KAEKS,eAAe;YAAAT,KACfU,WAAW;YAAAV,WACXvH,MAAM3E,SAASb,IAAI,CAAC;YAAA+M,KACpBW,cAAc;WAAA;UAGrB;SAAC,CAAA;SAAAX,WAEFA,WAAA,CAAA,CAAArD,aAAa,CAAC,EAAEiE,YAAY,CAAA,CAAA,WAAA;UAAA,IAAAC,QAAApC,eAAAqC,OAAA;UAAAV,QAAAC,QAAAC,MAAAO,OAIlB9C,mBAAmBpB,aAAa,CAAC,CAAEiE,YAAY,GAACP,GAAA,CAAA;UAAA,OAAAQ;SAAA,EAAA,CAAA,IAGvD,IAAI;QAAA;OAEX,EAAA,CAAA,GAAAhC,OAAAC,IAAA;OAAAiB,OAAAvB,aAAA;QAAA,IAAAuC,MAAAf,WAAA,CAAA,EAEFtH,MAAMtE,WAAWsE,MAAMpE,WAAU;QAAA,aAAjCyM,IAAA,KAAAzC,gBACE0C,sBAAoB;SAAA,IAAC1M,aAAU;UAAA,OAAEoE,MAAMpE;SAAU;SAAA,IAAED,YAAS;UAAA,OAAEqE,MAAMrE;SAAS;QAAA,CAAA;OAC/E,EAAA,CAAA,GAAA6K,OAAAC,KAAA;OAAA8B,mBAAA;OAAA,OAAAzC;MAAA;KAAA,CAAA;IAAA;GAAA,CAAA;EAAA;CAAA,CAAA;AAMb;;;;AAKA,SAAgB0C,aAA+BzI,OAA0C;CACvF,MAAM,CAACC,OAAOmB,YAAYjK,WAAW6I,OAAO;EAC1C;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAK,CACN;CAED,MAAM0I,UAAUtR,WAAWgG,oBAAoB;CAC/C,IAAI,CAACsL,SACH,MAAM,IAAIC,MAAM,6CAA6C;CAE/D,MAAM5L,QAAQ2L;CACd,MAAME,cAAcxR,WAAW+F,eAAe;CAE9C,MAAM,CAACtD,KAAKuG,UAAUnJ,aAAoC,IAAI;CAE9D,MAAM4R,WAAW7R,iBAAiB;EAChC,MAAMsH,OAAOvB,MAAMC,WAAWiC,QAAQgB,MAAM3D,EAAE;EAC9C,IAAI,CAACgC,MACH,OAAO;GACLV,MAAM;GACND,KAAKsC,MAAM3D;GACXwB,OAAOmC,MAAMzF,QAAQ;GACrB+B,WAAW0D,MAAM1D,aAAawB,OAAOkC,MAAM3D,EAAE;GAC7C0B,OAAO;GACPN,OAAO;GACPO,eAAe;GACfC,YAAY,CAAA;EACd;EAEF,OAAOI;CACT,CAAC;CAED,MAAMwK,WAAWtR,0BACR;EACL8G,MAAMuK,SAAS;EACfrM,UAAUyD,MAAMzD;EAChB5B,mBAAmBgO,aAAahO,qBAAqB;CACvD,UACMmC,OACNlD,GACF;CACA,MAAMoC,mBAAmB6M,SAAS7M;CAClC,MAAMhC,mBAAmB6O,SAAS7O;CAClC,MAAMiC,kBAAkB4M,SAAS5M;CAEjC,MAAM,EAAEC,WAAW4M,eAAenR,YAAY,EAC5C,IAAIqC,aAAa;EACf,OAAOA,WAAW;CACpB,EACF,CAAC;CAED,MAAM,EAAED,gBAAgBgH,eAAerJ,gBAAgB;CAEvD,MAAMoC,YAAY/C,iBAAiB+F,MAAMkH,eAAehE,MAAM3D,EAAE;CAChE,MAAM0M,gBAAgBhS,iBAAiB;EACrC,IAAI,CAAC4R,aAAa7M,kBAAkBkN,oBAAoB,CAACL,YAAY3L,WACnE,OAAO+F,KAAAA;EACT,OAAO4F,YAAY7M,iBAAiBkN,iBAClC,EACEtL,KAAKsC,MAAM3D,GACb,GACAsM,YAAY3L,SACd;CACF,CAAC;CACD,MAAMmM,gBAAgBpS,iBAAiB;EACrC,IAAI,CAAC4R,aAAa7M,kBAAkBsN,oBAAoB,CAACT,YAAY1L,WACnE,OAAO8F,KAAAA;EACT,OAAO4F,YAAY7M,iBAAiBsN,iBAClC,EACE1L,KAAKsC,MAAM3D,GACb,GACAsM,YAAY1L,iBACNrD,IAAI,CACZ;CACF,CAAC;CAED,MAAMoH,eAAejK,kBAA2C;EAC9DiF,YAAYA,WAAW;EACvBlC,WAAWA,UAAU;EACrBC,gBAAgBA,eAAe,KAAKD,UAAU;EAC9CmC,WAAWA,UAAU;EACrBC,WAAWA,UAAU;EACrBlC,YAAYA,WAAW;EACvBU,eAAeoC,MAAMpC;EACrBC,mBAAmBgO,aAAahO,qBAAqB;CACvD,EAAE;CAEF,MAAMsG,cAAcxI,eAClB;EACE,IAAI2C,WAAW;GACb,OAAO2E,MAAM3E;EACf;EACAE,OAAO0E,MAAM1E;EACbC,OAAOyE,MAAMzE;EACb2F,kBAAkB;CACpB,GACAF,YACF;CAEA,MAAMqI,sBAAsB;EAC1B,MAAM,EAAEzP,KAAK4H,OAAO,GAAGC,SAASoH,SAASS;EACzC,OAAO7H;CACT;CACA,MAAM8H,wBAAwB;EAC5B,MAAM,EAAE3P,KAAK+H,OAAO,GAAGF,SAASqH;EAChC,OAAOrH;CACT;CACA,MAAMC,wBAAwB;EAC5B,MAAM,EAAE9H,KAAK4P,OAAO,GAAG/H,SAASV;EAChC,OAAOU;CACT;CAEA,cAAA;EAAA,IAAAgI,QAAA1D,eAAA2D,OAAA,GAAAC,QAAAF,MAAAvD;EAAAQ,KAEUC,YAAY;GAChBxG,OAAOwG,OAAO;GACdhN,UAAUqG,MAAMpG,KAAK+M,OAAO;EAC9B,GAAC8C,KAAA;EAAA7C,OAAA6C,OAAA5C,WACG1F,gBACAvJ,aACFyR,cAAc,GACdE,gBAAgB,GAChB7H,gBAAgB,GACfqH,cAAc,CAAC,EAAEa,aAAqD,CAAC,GACvET,cAAc,CAAC,EAAEU,aAAqD,CAAC,CAC1E,GAAC;GAAA,KAAA,WAAA;IAAA,OACM5I,YAAY3F,MAAM;GAAC;GAAA,IAC1BC,QAAK;IAAA,OAAE0F,YAAY1F,MAAM;GAAC;GAAA,KAAA,cAAA;IAAA,OAChByE,MAAM3D;GAAE;GAAA,KAAA,mBAAA;IAAA,OACHL,WAAW,KAAK+G,KAAAA;GAAS;GAAA,KAAA,kBAAA;IAAA,OAC1BjJ,UAAU,KAAKiJ,KAAAA;GAAS;GAAA,KAAA,wBAAA;IAAA,OACjBuE,WAAA,CAAA,CAAAvN,eAAe,CAAC,CAAA,CAAA,KAAID,UAAU,KAAMiJ,KAAAA;GAAS;GAAA,KAAA,kBAAA;IAAA,OACpD9G,UAAU,KAAK8G,KAAAA;GAAS;GAAA,KAAA,kBAAA;IAAA,OACxB7G,UAAU,KAAK6G,KAAAA;GAAS;GAAA,KAAA,mBAAA;IAAA,OACvB/I,WAAW,KAAK+I,KAAAA;GAAS;GAAA,KAAA,mBAAA;IAAA,OACzBgG,cAAc,CAAC,EAAEoB,cAAcpH,KAAAA;GAAS;GAAA,KAAA,sBAAA;IAAA,OACrCoG,cAAc,CAAC,EAAEiB,gBAAgBrH,KAAAA;GAAS;EAAA,CAAA,GAAA,OAAA,IAAA;EAAA6D,OAAA+C,OAAA9C,iBAEnDgC,SAASwB,aAAa,GAAA,OAAA,IAAA;EAAAhD,OAAAsC,aAAG1I,YAAYqJ,eAAe,CAAC;EAAA/B,mBAAA;EAAA,OAAAkB;CAAA,EAAA,CAAA;AAGpE;;;;AAKA,SAAgBc,0BAA0BxK,OAM1B;CACd,MAAM0I,UAAUtR,WAAWgG,oBAAoB;CAC/C,IAAI,CAACsL,SACH,MAAM,IAAIC,MAAM,0DAA0D;CAG5E,MAAM5L,QAAQ2L;CAEd,MAAMiC,eAAelT,uCACZ,EAAEkG,KAAKqC,MAAMyK,QAAQ,UACtB1N,KACR;CAEA,cAAA;EAAA,IAAA6N,QAAA5E,eAAA6E,OAAA;EAAAhE,OAAA+D,OAAA9D,iBAEQ6D,aAAaG,eAAa;GAAA,KAAA,WAAA;IAAA,OACvB9K,MAAMzE;GAAK;GAAA,IAClBC,QAAK;IAAA,OAAEwE,MAAMxE;GAAK;GAAA,IAClBuP,WAAQ;IAAA,OAAE/K,MAAM0K,sBAAsB,KAAK1H,KAAAA;GAAS;GAAA,KAAA,gBAAA;IAAA,OACxChD,MAAM,iBAAiB;GAAQ;EAAA,CAAA,GAAA,OAAA,KAAA;EAAAwI,mBAAA;EAAA,OAAAoC;CAAA,EAAA,CAAA;AAGjD;AAEA,SAAgBrC,qBAAqBvI,OAA+C;CAClF,IAAIiL;CACJ,MAAM,CAACC,WAAWC,gBAAgBlU,aAAa,KAAK;CACpD,MAAM2E,kBAAkB,CAAC,CAACoE,MAAMpE,aAAasP,UAAU;CAEvD,MAAME,kBAAkB,YAAY;EAClC,IAAIxP,UAAU,GAAG;EACjBuP,aAAa,IAAI;EACjB,IAAI;GACF,MAAMnL,MAAMnE,WAAW;EACzB,UAAU;GACRsP,aAAa,KAAK;EACpB;CACF;CAEApU,mBAAmB;EACjB,IAAI,CAACkU,eAAe,OAAOI,yBAAyB,YAAY;EAEhE,MAAME,SAAS,WAAW,OADXvL,MAAMtD,gBAAgB,GACC;EACtC,MAAM8O,WAAW,IAAIH,sBAClBtG,YAAY;GACX,IAAIA,QAAQ,EAAE,EAAE0G,gBACd,gBAAqB;EAEzB,GACA,EAAEC,YAAYH,OAAO,CACvB;EACAC,SAASG,QAAQV,WAAW;EAC5B,aAAaO,SAASI,WAAW;CACnC,CAAC;CAED,MAAM1K,cAAcxI,eAClB;EACE,IAAI2C,WAAW;GACb,OAAO2E,MAAM3E,mBAAoBO,UAAU,IAAI,oBAAoB;EACrE;EACAL,OAAOyE,MAAMzE;EACbC,OAAOwE,MAAMxE;EACb2F,kBAAkB;CACpB,UACO,EAAEvF,WAAWA,UAAU,EAAE,EAClC;CAEA,OAAA,QAAA;EAAA,IAAAiQ,QAAA7F,eAAA8F,OAAA,GAAAC,SAAAF,MAAA1F;EAAA,IAAA6F,QAGgBf;EAAW,OAAAe,UAAA,aAAArF,IAAAqF,OAAAD,MAAA,IAAXd,cAAWc;EAAA,OAAAF;CAAA,EAAA,CAAA,UAAA;EAAA,IAAAI,SAAAjG,eAAAkG,OAAA;EAAAD,OAAAE,iBAAA,eAKN;GACb,gBAAqB;EACvB,CAAC;EAAA7E,OAAA2E,cAKA/K,YAAYqJ,eAAe,CAAC;EAAA5C,QAAAyE,QAAA;GAAA,IAAAC,MAJtBnL,YAAY3F,MAAM,GAAC+Q,OACnBpL,YAAY1F,MAAM,GAAC+Q,OACZ3Q,UAAU,KAAKoH,KAAAA;GAASqJ,QAAAD,IAAAI,KAAAC,UAAAR,QAAAG,IAAAI,IAAAH,GAAA;GAAAD,IAAAM,IAAA7E,MAAAoE,QAAAK,MAAAF,IAAAM,CAAA;GAAAH,SAAAH,IAAAO,KAAAC,aAAAX,QAAA,gBAAAG,IAAAO,IAAAJ,IAAA;GAAA,OAAAH;EAAA,GAAA;GAAAI,GAAAxJ,KAAAA;GAAA0J,GAAA1J,KAAAA;GAAA2J,GAAA3J,KAAAA;EAAA,CAAA;EAAA,OAAAiJ;CAAA,EAAA,CAAA,CAAA;AAM9C;;;;;;;AAQA,SAAgBY,eAAe7M,OAAyC;CACtE,MAAMuJ,WAAWnS,WAAWiG,qBAAqB;CACjD,MAAMyP,iBAAiB1V,WAAWkG,0BAA0B;CAC5D,cAAA;EAAA,IAAAyP,SAAA/G,eAAA2D,OAAA,GAAAqD,SAAAD,OAAA5G;EAAAU,OAAAkG,QAAAjG,WAAA;GAAA,KAAA,WAAA;IAAA,OAEW9G,MAAMzE,SAAS;GAA0B;GAAA,IAChDC,QAAK;IAAA,OAAEwE,MAAMxE;GAAK;EAAA,GACb+N,YAAY,CAAC,CAAC,GAAA,OAAA,IAAA;EAAA1C,OAAAmG,QAAAlG,WAETgG,kBAAkB,CAAC,GAAC,EAAA,SAAU,EAAEG,SAAS,WAAW,EAAC,CAAA,GAAA,OAAA,IAAA;EAAA3F,OAAA0F,cAC5DhN,MAAM3E,QAAQ;EAAAmN,mBAAA;EAAA,OAAAuE;CAAA,EAAA,CAAA;AAIvB;;;;;;AAOA,SAAgBG,gBAAgBlN,OAA0C;CACxE,MAAM,CAACC,OAAOmB,YAAYjK,WAAW6I,OAAO;EAAC;EAAY;EAAS;EAAS;EAAQ;CAAK,CAAC;CAEzF,MAAMmN,UAAUzV,sBAAsB,EACpC,IAAI,eAAe;EACjB,OAAQ0J,SAAuC;CACjD,EACF,CAAC;CAYD,MAAMF,cAAcxI,eAClB;EACE2C,UAAU2H,KAAAA;EACVzH,OAAO0E,MAAM1E;EACbC,OAAOyE,MAAMzE;EACb2F,kBAAkB;CACpB,UACO,EAAEiM,aAAa,KAAK,EAC7B;CAEA,MAAMC,mBAAmBrW,iBAAiB2B,eAAeyI,UAAU,EAAEG,QAAQ,KAAK,CAAC,CAAC;CAEpF,cAAA;EAAA,IAAA+L,SAAAtH,eAAAuH,OAAA;EAAA5G,KAEUlN,OAAOG,UAAUqG,MAAMpG,KAAKJ,EAAE,GAAC6T,MAAA;EAAAzG,OAAAyG,QAAAxG,WACjCuG,wBACAF,QAAQK,eAAa;GAAA,KAAA,WAAA;IAAA,OAClBtM,YAAY3F,MAAM;GAAC;GAAA,IAC1BC,QAAK;IAAA,OAAE0F,YAAY1F,MAAM;GAAC;GAAA,IAC1BiS,OAAI;IAAA,OAAExN,MAAMwN;GAAI;GAAA,gBAAA;EAAA,CAAA,GAAA,OAAA,IAAA;EAAAnG,OAAAgG,QAAAzH,gBAGfxI,sBAAsByI,UAAQ;GAAA,IAAChI,QAAK;IAAA,OAAEqP,QAAQ5D;GAAQ;GAAA,IAAAlO,WAAA;IAAA,OAAAwK,gBACpDvI,2BAA2BwI,UAAQ;KAAA,IAAChI,QAAK;MAAA,OAAEqP,QAAQL;KAAc;KAAA,IAAAzR,WAAA;MAAA,OAC/D4E,MAAM5E;KAAQ;IAAA,CAAA;GAAA;EAAA,CAAA,CAAA;EAAAmN,mBAAA;EAAA,OAAA8E;CAAA,EAAA,CAAA;AAKzB;AAEAvN,SAAS2N,OAAOjF;AAChB1I,SAAS4N,oBAAoBnD;AAC7BzK,SAAS6N,eAAerF"}