@solid2-aria/components 0.0.0-stage → 0.0.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 (514) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -2
  3. package/dist/LICENSES/Apache-2.0.txt +201 -0
  4. package/dist/LICENSES/react-spectrum-NOTICE.txt +242 -0
  5. package/dist/NOTICE.txt +636 -0
  6. package/dist/browser/autocomplete.d.ts +35 -0
  7. package/dist/browser/autocomplete.js +69 -0
  8. package/dist/browser/autocomplete.js.map +1 -0
  9. package/dist/browser/breadcrumbs.d.ts +71 -0
  10. package/dist/browser/breadcrumbs.js +121 -0
  11. package/dist/browser/breadcrumbs.js.map +1 -0
  12. package/dist/browser/button.d.ts +36 -0
  13. package/dist/browser/button.js +156 -0
  14. package/dist/browser/button.js.map +1 -0
  15. package/dist/browser/calendar.d.ts +103 -0
  16. package/dist/browser/calendar.js +581 -0
  17. package/dist/browser/calendar.js.map +1 -0
  18. package/dist/browser/checkbox.d.ts +67 -0
  19. package/dist/browser/checkbox.js +345 -0
  20. package/dist/browser/checkbox.js.map +1 -0
  21. package/dist/browser/collection-dnd.d.ts +56 -0
  22. package/dist/browser/collection-dnd.js +156 -0
  23. package/dist/browser/collection-dnd.js.map +1 -0
  24. package/dist/browser/collection.d.ts +153 -0
  25. package/dist/browser/collection.js +106 -0
  26. package/dist/browser/collection.js.map +1 -0
  27. package/dist/browser/color-area.d.ts +21 -0
  28. package/dist/browser/color-area.js +94 -0
  29. package/dist/browser/color-area.js.map +1 -0
  30. package/dist/browser/color-field.d.ts +39 -0
  31. package/dist/browser/color-field.js +232 -0
  32. package/dist/browser/color-field.js.map +1 -0
  33. package/dist/browser/color-picker.d.ts +30 -0
  34. package/dist/browser/color-picker.js +84 -0
  35. package/dist/browser/color-picker.js.map +1 -0
  36. package/dist/browser/color-slider.d.ts +23 -0
  37. package/dist/browser/color-slider.js +132 -0
  38. package/dist/browser/color-slider.js.map +1 -0
  39. package/dist/browser/color-swatch-picker.d.ts +29 -0
  40. package/dist/browser/color-swatch-picker.js +131 -0
  41. package/dist/browser/color-swatch-picker.js.map +1 -0
  42. package/dist/browser/color-swatch.d.ts +19 -0
  43. package/dist/browser/color-swatch.js +42 -0
  44. package/dist/browser/color-swatch.js.map +1 -0
  45. package/dist/browser/color-thumb.d.ts +42 -0
  46. package/dist/browser/color-thumb.js +114 -0
  47. package/dist/browser/color-thumb.js.map +1 -0
  48. package/dist/browser/color-wheel.d.ts +29 -0
  49. package/dist/browser/color-wheel.js +109 -0
  50. package/dist/browser/color-wheel.js.map +1 -0
  51. package/dist/browser/combo-box.d.ts +113 -0
  52. package/dist/browser/combo-box.js +394 -0
  53. package/dist/browser/combo-box.js.map +1 -0
  54. package/dist/browser/create-drag-and-drop.d.ts +61 -0
  55. package/dist/browser/create-drag-and-drop.js +56 -0
  56. package/dist/browser/create-drag-and-drop.js.map +1 -0
  57. package/dist/browser/date-field.d.ts +71 -0
  58. package/dist/browser/date-field.js +508 -0
  59. package/dist/browser/date-field.js.map +1 -0
  60. package/dist/browser/date-picker.d.ts +50 -0
  61. package/dist/browser/date-picker.js +403 -0
  62. package/dist/browser/date-picker.js.map +1 -0
  63. package/dist/browser/dialog.d.ts +35 -0
  64. package/dist/browser/dialog.js +148 -0
  65. package/dist/browser/dialog.js.map +1 -0
  66. package/dist/browser/disclosure.d.ts +56 -0
  67. package/dist/browser/disclosure.js +180 -0
  68. package/dist/browser/disclosure.js.map +1 -0
  69. package/dist/browser/drag-and-drop.d.ts +43 -0
  70. package/dist/browser/drag-and-drop.js +66 -0
  71. package/dist/browser/drag-and-drop.js.map +1 -0
  72. package/dist/browser/drop-zone.d.ts +33 -0
  73. package/dist/browser/drop-zone.js +161 -0
  74. package/dist/browser/drop-zone.js.map +1 -0
  75. package/dist/browser/field-error.d.ts +28 -0
  76. package/dist/browser/field-error.js +60 -0
  77. package/dist/browser/field-error.js.map +1 -0
  78. package/dist/browser/file-trigger.d.ts +30 -0
  79. package/dist/browser/file-trigger.js +66 -0
  80. package/dist/browser/file-trigger.js.map +1 -0
  81. package/dist/browser/form.d.ts +28 -0
  82. package/dist/browser/form.js +64 -0
  83. package/dist/browser/form.js.map +1 -0
  84. package/dist/browser/grid-layout.d.ts +22 -0
  85. package/dist/browser/grid-layout.js +30 -0
  86. package/dist/browser/grid-layout.js.map +1 -0
  87. package/dist/browser/grid-list.d.ts +95 -0
  88. package/dist/browser/grid-list.js +609 -0
  89. package/dist/browser/grid-list.js.map +1 -0
  90. package/dist/browser/group.d.ts +35 -0
  91. package/dist/browser/group.js +92 -0
  92. package/dist/browser/group.js.map +1 -0
  93. package/dist/browser/header.d.ts +25 -0
  94. package/dist/browser/header.js +57 -0
  95. package/dist/browser/header.js.map +1 -0
  96. package/dist/browser/heading.d.ts +26 -0
  97. package/dist/browser/heading.js +53 -0
  98. package/dist/browser/heading.js.map +1 -0
  99. package/dist/browser/hidden-date-input.d.ts +34 -0
  100. package/dist/browser/hidden-date-input.js +84 -0
  101. package/dist/browser/hidden-date-input.js.map +1 -0
  102. package/dist/browser/index.d.ts +133 -0
  103. package/dist/browser/index.js +98 -0
  104. package/dist/browser/input.d.ts +33 -0
  105. package/dist/browser/input.js +94 -0
  106. package/dist/browser/input.js.map +1 -0
  107. package/dist/browser/intl/ar-AE.js +11 -0
  108. package/dist/browser/intl/ar-AE.js.map +1 -0
  109. package/dist/browser/intl/bg-BG.js +11 -0
  110. package/dist/browser/intl/bg-BG.js.map +1 -0
  111. package/dist/browser/intl/cs-CZ.js +11 -0
  112. package/dist/browser/intl/cs-CZ.js.map +1 -0
  113. package/dist/browser/intl/da-DK.js +11 -0
  114. package/dist/browser/intl/da-DK.js.map +1 -0
  115. package/dist/browser/intl/de-DE.js +11 -0
  116. package/dist/browser/intl/de-DE.js.map +1 -0
  117. package/dist/browser/intl/el-GR.js +11 -0
  118. package/dist/browser/intl/el-GR.js.map +1 -0
  119. package/dist/browser/intl/en-US.js +11 -0
  120. package/dist/browser/intl/en-US.js.map +1 -0
  121. package/dist/browser/intl/es-ES.js +11 -0
  122. package/dist/browser/intl/es-ES.js.map +1 -0
  123. package/dist/browser/intl/et-EE.js +11 -0
  124. package/dist/browser/intl/et-EE.js.map +1 -0
  125. package/dist/browser/intl/fi-FI.js +11 -0
  126. package/dist/browser/intl/fi-FI.js.map +1 -0
  127. package/dist/browser/intl/fr-FR.js +11 -0
  128. package/dist/browser/intl/fr-FR.js.map +1 -0
  129. package/dist/browser/intl/he-IL.js +11 -0
  130. package/dist/browser/intl/he-IL.js.map +1 -0
  131. package/dist/browser/intl/hr-HR.js +11 -0
  132. package/dist/browser/intl/hr-HR.js.map +1 -0
  133. package/dist/browser/intl/hu-HU.js +11 -0
  134. package/dist/browser/intl/hu-HU.js.map +1 -0
  135. package/dist/browser/intl/index.js +75 -0
  136. package/dist/browser/intl/index.js.map +1 -0
  137. package/dist/browser/intl/it-IT.js +11 -0
  138. package/dist/browser/intl/it-IT.js.map +1 -0
  139. package/dist/browser/intl/ja-JP.js +11 -0
  140. package/dist/browser/intl/ja-JP.js.map +1 -0
  141. package/dist/browser/intl/ko-KR.js +11 -0
  142. package/dist/browser/intl/ko-KR.js.map +1 -0
  143. package/dist/browser/intl/lt-LT.js +11 -0
  144. package/dist/browser/intl/lt-LT.js.map +1 -0
  145. package/dist/browser/intl/lv-LV.js +11 -0
  146. package/dist/browser/intl/lv-LV.js.map +1 -0
  147. package/dist/browser/intl/nb-NO.js +11 -0
  148. package/dist/browser/intl/nb-NO.js.map +1 -0
  149. package/dist/browser/intl/nl-NL.js +11 -0
  150. package/dist/browser/intl/nl-NL.js.map +1 -0
  151. package/dist/browser/intl/pl-PL.js +11 -0
  152. package/dist/browser/intl/pl-PL.js.map +1 -0
  153. package/dist/browser/intl/pt-BR.js +11 -0
  154. package/dist/browser/intl/pt-BR.js.map +1 -0
  155. package/dist/browser/intl/pt-PT.js +11 -0
  156. package/dist/browser/intl/pt-PT.js.map +1 -0
  157. package/dist/browser/intl/ro-RO.js +11 -0
  158. package/dist/browser/intl/ro-RO.js.map +1 -0
  159. package/dist/browser/intl/ru-RU.js +11 -0
  160. package/dist/browser/intl/ru-RU.js.map +1 -0
  161. package/dist/browser/intl/sk-SK.js +11 -0
  162. package/dist/browser/intl/sk-SK.js.map +1 -0
  163. package/dist/browser/intl/sl-SI.js +11 -0
  164. package/dist/browser/intl/sl-SI.js.map +1 -0
  165. package/dist/browser/intl/sr-SP.js +11 -0
  166. package/dist/browser/intl/sr-SP.js.map +1 -0
  167. package/dist/browser/intl/sv-SE.js +11 -0
  168. package/dist/browser/intl/sv-SE.js.map +1 -0
  169. package/dist/browser/intl/tr-TR.js +11 -0
  170. package/dist/browser/intl/tr-TR.js.map +1 -0
  171. package/dist/browser/intl/uk-UA.js +11 -0
  172. package/dist/browser/intl/uk-UA.js.map +1 -0
  173. package/dist/browser/intl/zh-CN.js +11 -0
  174. package/dist/browser/intl/zh-CN.js.map +1 -0
  175. package/dist/browser/intl/zh-TW.js +11 -0
  176. package/dist/browser/intl/zh-TW.js.map +1 -0
  177. package/dist/browser/keyboard.d.ts +25 -0
  178. package/dist/browser/keyboard.js +50 -0
  179. package/dist/browser/keyboard.js.map +1 -0
  180. package/dist/browser/label.d.ts +26 -0
  181. package/dist/browser/label.js +53 -0
  182. package/dist/browser/label.js.map +1 -0
  183. package/dist/browser/link.d.ts +34 -0
  184. package/dist/browser/link.js +92 -0
  185. package/dist/browser/link.js.map +1 -0
  186. package/dist/browser/list-box.d.ts +171 -0
  187. package/dist/browser/list-box.js +547 -0
  188. package/dist/browser/list-box.js.map +1 -0
  189. package/dist/browser/menu.d.ts +150 -0
  190. package/dist/browser/menu.js +597 -0
  191. package/dist/browser/menu.js.map +1 -0
  192. package/dist/browser/meter.d.ts +29 -0
  193. package/dist/browser/meter.js +73 -0
  194. package/dist/browser/meter.js.map +1 -0
  195. package/dist/browser/modal.d.ts +48 -0
  196. package/dist/browser/modal.js +190 -0
  197. package/dist/browser/modal.js.map +1 -0
  198. package/dist/browser/navigation-tree.d.ts +54 -0
  199. package/dist/browser/navigation-tree.js +233 -0
  200. package/dist/browser/navigation-tree.js.map +1 -0
  201. package/dist/browser/number-field.d.ts +36 -0
  202. package/dist/browser/number-field.js +179 -0
  203. package/dist/browser/number-field.js.map +1 -0
  204. package/dist/browser/overlay-arrow.d.ts +32 -0
  205. package/dist/browser/overlay-arrow.js +65 -0
  206. package/dist/browser/overlay-arrow.js.map +1 -0
  207. package/dist/browser/overlay-contexts.d.ts +22 -0
  208. package/dist/browser/overlay-contexts.js +24 -0
  209. package/dist/browser/overlay-contexts.js.map +1 -0
  210. package/dist/browser/popover.d.ts +50 -0
  211. package/dist/browser/popover.js +255 -0
  212. package/dist/browser/popover.js.map +1 -0
  213. package/dist/browser/preview-trigger.d.ts +25 -0
  214. package/dist/browser/preview-trigger.js +93 -0
  215. package/dist/browser/preview-trigger.js.map +1 -0
  216. package/dist/browser/progress-bar.d.ts +30 -0
  217. package/dist/browser/progress-bar.js +76 -0
  218. package/dist/browser/progress-bar.js.map +1 -0
  219. package/dist/browser/radio-group.d.ts +67 -0
  220. package/dist/browser/radio-group.js +336 -0
  221. package/dist/browser/radio-group.js.map +1 -0
  222. package/dist/browser/search-field.d.ts +34 -0
  223. package/dist/browser/search-field.js +156 -0
  224. package/dist/browser/search-field.js.map +1 -0
  225. package/dist/browser/select.d.ts +115 -0
  226. package/dist/browser/select.js +351 -0
  227. package/dist/browser/select.js.map +1 -0
  228. package/dist/browser/selection-indicator.d.ts +25 -0
  229. package/dist/browser/selection-indicator.js +40 -0
  230. package/dist/browser/selection-indicator.js.map +1 -0
  231. package/dist/browser/separator.d.ts +30 -0
  232. package/dist/browser/separator.js +68 -0
  233. package/dist/browser/separator.js.map +1 -0
  234. package/dist/browser/shared-element-transition.d.ts +35 -0
  235. package/dist/browser/shared-element-transition.js +141 -0
  236. package/dist/browser/shared-element-transition.js.map +1 -0
  237. package/dist/browser/sheet.d.ts +64 -0
  238. package/dist/browser/sheet.js +982 -0
  239. package/dist/browser/sheet.js.map +1 -0
  240. package/dist/browser/slider.d.ts +77 -0
  241. package/dist/browser/slider.js +318 -0
  242. package/dist/browser/slider.js.map +1 -0
  243. package/dist/browser/switch.d.ts +54 -0
  244. package/dist/browser/switch.js +240 -0
  245. package/dist/browser/switch.js.map +1 -0
  246. package/dist/browser/table-layout.d.ts +22 -0
  247. package/dist/browser/table-layout.js +31 -0
  248. package/dist/browser/table-layout.js.map +1 -0
  249. package/dist/browser/table.d.ts +184 -0
  250. package/dist/browser/table.js +1268 -0
  251. package/dist/browser/table.js.map +1 -0
  252. package/dist/browser/tabs.d.ts +194 -0
  253. package/dist/browser/tabs.js +378 -0
  254. package/dist/browser/tabs.js.map +1 -0
  255. package/dist/browser/tag-group.d.ts +112 -0
  256. package/dist/browser/tag-group.js +291 -0
  257. package/dist/browser/tag-group.js.map +1 -0
  258. package/dist/browser/text-area.d.ts +16 -0
  259. package/dist/browser/text-area.js +75 -0
  260. package/dist/browser/text-area.js.map +1 -0
  261. package/dist/browser/text-field.d.ts +31 -0
  262. package/dist/browser/text-field.js +152 -0
  263. package/dist/browser/text-field.js.map +1 -0
  264. package/dist/browser/text.d.ts +25 -0
  265. package/dist/browser/text.js +52 -0
  266. package/dist/browser/text.js.map +1 -0
  267. package/dist/browser/toast.d.ts +66 -0
  268. package/dist/browser/toast.js +226 -0
  269. package/dist/browser/toast.js.map +1 -0
  270. package/dist/browser/toggle-button-group.d.ts +32 -0
  271. package/dist/browser/toggle-button-group.js +74 -0
  272. package/dist/browser/toggle-button-group.js.map +1 -0
  273. package/dist/browser/toggle-button.d.ts +33 -0
  274. package/dist/browser/toggle-button.js +119 -0
  275. package/dist/browser/toggle-button.js.map +1 -0
  276. package/dist/browser/token-field.d.ts +124 -0
  277. package/dist/browser/token-field.js +277 -0
  278. package/dist/browser/token-field.js.map +1 -0
  279. package/dist/browser/toolbar.d.ts +28 -0
  280. package/dist/browser/toolbar.js +51 -0
  281. package/dist/browser/toolbar.js.map +1 -0
  282. package/dist/browser/tooltip.d.ts +44 -0
  283. package/dist/browser/tooltip.js +183 -0
  284. package/dist/browser/tooltip.js.map +1 -0
  285. package/dist/browser/tree-drop-target-delegate.d.ts +33 -0
  286. package/dist/browser/tree-drop-target-delegate.js +178 -0
  287. package/dist/browser/tree-drop-target-delegate.js.map +1 -0
  288. package/dist/browser/tree.d.ts +98 -0
  289. package/dist/browser/tree.js +699 -0
  290. package/dist/browser/tree.js.map +1 -0
  291. package/dist/browser/utils.d.ts +94 -0
  292. package/dist/browser/utils.js +173 -0
  293. package/dist/browser/utils.js.map +1 -0
  294. package/dist/browser/virtualizer.d.ts +33 -0
  295. package/dist/browser/virtualizer.js +179 -0
  296. package/dist/browser/virtualizer.js.map +1 -0
  297. package/dist/server/autocomplete.js +125 -0
  298. package/dist/server/autocomplete.js.map +1 -0
  299. package/dist/server/breadcrumbs.js +185 -0
  300. package/dist/server/breadcrumbs.js.map +1 -0
  301. package/dist/server/button.js +252 -0
  302. package/dist/server/button.js.map +1 -0
  303. package/dist/server/calendar.js +1054 -0
  304. package/dist/server/calendar.js.map +1 -0
  305. package/dist/server/checkbox.js +595 -0
  306. package/dist/server/checkbox.js.map +1 -0
  307. package/dist/server/collection-dnd.js +217 -0
  308. package/dist/server/collection-dnd.js.map +1 -0
  309. package/dist/server/collection.js +106 -0
  310. package/dist/server/collection.js.map +1 -0
  311. package/dist/server/color-area.js +142 -0
  312. package/dist/server/color-area.js.map +1 -0
  313. package/dist/server/color-field.js +394 -0
  314. package/dist/server/color-field.js.map +1 -0
  315. package/dist/server/color-picker.js +170 -0
  316. package/dist/server/color-picker.js.map +1 -0
  317. package/dist/server/color-slider.js +328 -0
  318. package/dist/server/color-slider.js.map +1 -0
  319. package/dist/server/color-swatch-picker.js +234 -0
  320. package/dist/server/color-swatch-picker.js.map +1 -0
  321. package/dist/server/color-swatch.js +52 -0
  322. package/dist/server/color-swatch.js.map +1 -0
  323. package/dist/server/color-thumb.js +132 -0
  324. package/dist/server/color-thumb.js.map +1 -0
  325. package/dist/server/color-wheel.js +188 -0
  326. package/dist/server/color-wheel.js.map +1 -0
  327. package/dist/server/combo-box.js +914 -0
  328. package/dist/server/combo-box.js.map +1 -0
  329. package/dist/server/create-drag-and-drop.js +56 -0
  330. package/dist/server/create-drag-and-drop.js.map +1 -0
  331. package/dist/server/date-field.js +1055 -0
  332. package/dist/server/date-field.js.map +1 -0
  333. package/dist/server/date-picker.js +1079 -0
  334. package/dist/server/date-picker.js.map +1 -0
  335. package/dist/server/dialog.js +295 -0
  336. package/dist/server/dialog.js.map +1 -0
  337. package/dist/server/disclosure.js +292 -0
  338. package/dist/server/disclosure.js.map +1 -0
  339. package/dist/server/drag-and-drop.js +66 -0
  340. package/dist/server/drag-and-drop.js.map +1 -0
  341. package/dist/server/drop-zone.js +241 -0
  342. package/dist/server/drop-zone.js.map +1 -0
  343. package/dist/server/field-error.js +90 -0
  344. package/dist/server/field-error.js.map +1 -0
  345. package/dist/server/file-trigger.js +98 -0
  346. package/dist/server/file-trigger.js.map +1 -0
  347. package/dist/server/form.js +116 -0
  348. package/dist/server/form.js.map +1 -0
  349. package/dist/server/grid-layout.js +30 -0
  350. package/dist/server/grid-layout.js.map +1 -0
  351. package/dist/server/grid-list.js +1015 -0
  352. package/dist/server/grid-list.js.map +1 -0
  353. package/dist/server/group.js +146 -0
  354. package/dist/server/group.js.map +1 -0
  355. package/dist/server/header.js +72 -0
  356. package/dist/server/header.js.map +1 -0
  357. package/dist/server/heading.js +68 -0
  358. package/dist/server/heading.js.map +1 -0
  359. package/dist/server/hidden-date-input.js +79 -0
  360. package/dist/server/hidden-date-input.js.map +1 -0
  361. package/dist/server/index.js +98 -0
  362. package/dist/server/input.js +134 -0
  363. package/dist/server/input.js.map +1 -0
  364. package/dist/server/intl/ar-AE.js +11 -0
  365. package/dist/server/intl/ar-AE.js.map +1 -0
  366. package/dist/server/intl/bg-BG.js +11 -0
  367. package/dist/server/intl/bg-BG.js.map +1 -0
  368. package/dist/server/intl/cs-CZ.js +11 -0
  369. package/dist/server/intl/cs-CZ.js.map +1 -0
  370. package/dist/server/intl/da-DK.js +11 -0
  371. package/dist/server/intl/da-DK.js.map +1 -0
  372. package/dist/server/intl/de-DE.js +11 -0
  373. package/dist/server/intl/de-DE.js.map +1 -0
  374. package/dist/server/intl/el-GR.js +11 -0
  375. package/dist/server/intl/el-GR.js.map +1 -0
  376. package/dist/server/intl/en-US.js +11 -0
  377. package/dist/server/intl/en-US.js.map +1 -0
  378. package/dist/server/intl/es-ES.js +11 -0
  379. package/dist/server/intl/es-ES.js.map +1 -0
  380. package/dist/server/intl/et-EE.js +11 -0
  381. package/dist/server/intl/et-EE.js.map +1 -0
  382. package/dist/server/intl/fi-FI.js +11 -0
  383. package/dist/server/intl/fi-FI.js.map +1 -0
  384. package/dist/server/intl/fr-FR.js +11 -0
  385. package/dist/server/intl/fr-FR.js.map +1 -0
  386. package/dist/server/intl/he-IL.js +11 -0
  387. package/dist/server/intl/he-IL.js.map +1 -0
  388. package/dist/server/intl/hr-HR.js +11 -0
  389. package/dist/server/intl/hr-HR.js.map +1 -0
  390. package/dist/server/intl/hu-HU.js +11 -0
  391. package/dist/server/intl/hu-HU.js.map +1 -0
  392. package/dist/server/intl/index.js +75 -0
  393. package/dist/server/intl/index.js.map +1 -0
  394. package/dist/server/intl/it-IT.js +11 -0
  395. package/dist/server/intl/it-IT.js.map +1 -0
  396. package/dist/server/intl/ja-JP.js +11 -0
  397. package/dist/server/intl/ja-JP.js.map +1 -0
  398. package/dist/server/intl/ko-KR.js +11 -0
  399. package/dist/server/intl/ko-KR.js.map +1 -0
  400. package/dist/server/intl/lt-LT.js +11 -0
  401. package/dist/server/intl/lt-LT.js.map +1 -0
  402. package/dist/server/intl/lv-LV.js +11 -0
  403. package/dist/server/intl/lv-LV.js.map +1 -0
  404. package/dist/server/intl/nb-NO.js +11 -0
  405. package/dist/server/intl/nb-NO.js.map +1 -0
  406. package/dist/server/intl/nl-NL.js +11 -0
  407. package/dist/server/intl/nl-NL.js.map +1 -0
  408. package/dist/server/intl/pl-PL.js +11 -0
  409. package/dist/server/intl/pl-PL.js.map +1 -0
  410. package/dist/server/intl/pt-BR.js +11 -0
  411. package/dist/server/intl/pt-BR.js.map +1 -0
  412. package/dist/server/intl/pt-PT.js +11 -0
  413. package/dist/server/intl/pt-PT.js.map +1 -0
  414. package/dist/server/intl/ro-RO.js +11 -0
  415. package/dist/server/intl/ro-RO.js.map +1 -0
  416. package/dist/server/intl/ru-RU.js +11 -0
  417. package/dist/server/intl/ru-RU.js.map +1 -0
  418. package/dist/server/intl/sk-SK.js +11 -0
  419. package/dist/server/intl/sk-SK.js.map +1 -0
  420. package/dist/server/intl/sl-SI.js +11 -0
  421. package/dist/server/intl/sl-SI.js.map +1 -0
  422. package/dist/server/intl/sr-SP.js +11 -0
  423. package/dist/server/intl/sr-SP.js.map +1 -0
  424. package/dist/server/intl/sv-SE.js +11 -0
  425. package/dist/server/intl/sv-SE.js.map +1 -0
  426. package/dist/server/intl/tr-TR.js +11 -0
  427. package/dist/server/intl/tr-TR.js.map +1 -0
  428. package/dist/server/intl/uk-UA.js +11 -0
  429. package/dist/server/intl/uk-UA.js.map +1 -0
  430. package/dist/server/intl/zh-CN.js +11 -0
  431. package/dist/server/intl/zh-CN.js.map +1 -0
  432. package/dist/server/intl/zh-TW.js +11 -0
  433. package/dist/server/intl/zh-TW.js.map +1 -0
  434. package/dist/server/keyboard.js +65 -0
  435. package/dist/server/keyboard.js.map +1 -0
  436. package/dist/server/label.js +68 -0
  437. package/dist/server/label.js.map +1 -0
  438. package/dist/server/link.js +138 -0
  439. package/dist/server/link.js.map +1 -0
  440. package/dist/server/list-box.js +906 -0
  441. package/dist/server/list-box.js.map +1 -0
  442. package/dist/server/menu.js +1188 -0
  443. package/dist/server/menu.js.map +1 -0
  444. package/dist/server/meter.js +101 -0
  445. package/dist/server/meter.js.map +1 -0
  446. package/dist/server/modal.js +360 -0
  447. package/dist/server/modal.js.map +1 -0
  448. package/dist/server/navigation-tree.js +316 -0
  449. package/dist/server/navigation-tree.js.map +1 -0
  450. package/dist/server/number-field.js +371 -0
  451. package/dist/server/number-field.js.map +1 -0
  452. package/dist/server/overlay-arrow.js +81 -0
  453. package/dist/server/overlay-arrow.js.map +1 -0
  454. package/dist/server/overlay-contexts.js +24 -0
  455. package/dist/server/overlay-contexts.js.map +1 -0
  456. package/dist/server/popover.js +455 -0
  457. package/dist/server/popover.js.map +1 -0
  458. package/dist/server/preview-trigger.js +153 -0
  459. package/dist/server/preview-trigger.js.map +1 -0
  460. package/dist/server/progress-bar.js +104 -0
  461. package/dist/server/progress-bar.js.map +1 -0
  462. package/dist/server/radio-group.js +586 -0
  463. package/dist/server/radio-group.js.map +1 -0
  464. package/dist/server/search-field.js +288 -0
  465. package/dist/server/search-field.js.map +1 -0
  466. package/dist/server/select.js +771 -0
  467. package/dist/server/select.js.map +1 -0
  468. package/dist/server/selection-indicator.js +54 -0
  469. package/dist/server/selection-indicator.js.map +1 -0
  470. package/dist/server/separator.js +91 -0
  471. package/dist/server/separator.js.map +1 -0
  472. package/dist/server/shared-element-transition.js +189 -0
  473. package/dist/server/shared-element-transition.js.map +1 -0
  474. package/dist/server/sheet.js +1197 -0
  475. package/dist/server/sheet.js.map +1 -0
  476. package/dist/server/slider.js +581 -0
  477. package/dist/server/slider.js.map +1 -0
  478. package/dist/server/switch.js +400 -0
  479. package/dist/server/switch.js.map +1 -0
  480. package/dist/server/table-layout.js +31 -0
  481. package/dist/server/table-layout.js.map +1 -0
  482. package/dist/server/table.js +2075 -0
  483. package/dist/server/table.js.map +1 -0
  484. package/dist/server/tabs.js +668 -0
  485. package/dist/server/tabs.js.map +1 -0
  486. package/dist/server/tag-group.js +538 -0
  487. package/dist/server/tag-group.js.map +1 -0
  488. package/dist/server/text-area.js +115 -0
  489. package/dist/server/text-area.js.map +1 -0
  490. package/dist/server/text-field.js +272 -0
  491. package/dist/server/text-field.js.map +1 -0
  492. package/dist/server/text.js +67 -0
  493. package/dist/server/text.js.map +1 -0
  494. package/dist/server/toast.js +449 -0
  495. package/dist/server/toast.js.map +1 -0
  496. package/dist/server/toggle-button-group.js +125 -0
  497. package/dist/server/toggle-button-group.js.map +1 -0
  498. package/dist/server/toggle-button.js +183 -0
  499. package/dist/server/toggle-button.js.map +1 -0
  500. package/dist/server/token-field.js +457 -0
  501. package/dist/server/token-field.js.map +1 -0
  502. package/dist/server/toolbar.js +67 -0
  503. package/dist/server/toolbar.js.map +1 -0
  504. package/dist/server/tooltip.js +331 -0
  505. package/dist/server/tooltip.js.map +1 -0
  506. package/dist/server/tree-drop-target-delegate.js +178 -0
  507. package/dist/server/tree-drop-target-delegate.js.map +1 -0
  508. package/dist/server/tree.js +1096 -0
  509. package/dist/server/tree.js.map +1 -0
  510. package/dist/server/utils.js +184 -0
  511. package/dist/server/utils.js.map +1 -0
  512. package/dist/server/virtualizer.js +254 -0
  513. package/dist/server/virtualizer.js.map +1 -0
  514. package/package.json +437 -4
@@ -0,0 +1,547 @@
1
+ /*
2
+ * Copyright 2022 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ /*
13
+ * Derived from Adobe React Spectrum: packages/react-aria-components/src/ListBox.tsx.
14
+ * Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, and reactive properties for Solid 2; uses Solid class props.
15
+ * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.
16
+ */
17
+ import { DEFAULT_SLOT, assignRef, createContextProps, createRenderProps, createSlot, dom } from "./utils.js";
18
+ import { SelectableCollectionContext } from "./autocomplete.js";
19
+ import { CollectionRendererContext, SectionContext } from "./collection.js";
20
+ import { TextContext } from "./text.js";
21
+ import { SelectionIndicatorContext } from "./selection-indicator.js";
22
+ import { DragAndDropContext, DropIndicatorContext, createDndPersistedKeys, createRenderDropIndicator } from "./drag-and-drop.js";
23
+ import { createCollectionDragAndDrop } from "./collection-dnd.js";
24
+ import { HeaderContext } from "./header.js";
25
+ import { applyRef, createComponent, dynamic, getNextElement, insert, memo, mergeProps, ref, scope, template } from "@solidjs/web";
26
+ import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
27
+ import { Show, createContext, createMemo, createSignal, merge, omit, untrack, useContext } from "solid-js";
28
+ import { BaseCollection, ItemNode, LoaderNode, SectionNode } from "@solid2-aria/core/collections/base-collection";
29
+ import { Collection, CollectionBuilder, createBranchComponent, createLeafComponent } from "@solid2-aria/core/collections/collection-builder";
30
+ import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
31
+ import { createFocusRing } from "@solid2-aria/core/focus/create-focus-ring";
32
+ import { createHover } from "@solid2-aria/core/interactions/create-hover";
33
+ import { isTruthy } from "@solid2-aria/core/utils/truthy";
34
+ import { createLocale } from "@solid2-aria/core/i18n/i18n-provider";
35
+ import { ListKeyboardDelegate } from "@solid2-aria/core/selection/list-keyboard-delegate";
36
+ import { createCollator } from "@solid2-aria/core/i18n/create-collator";
37
+ import { createFocus } from "@solid2-aria/core/interactions/create-focus";
38
+ import { createKeyboard } from "@solid2-aria/core/interactions/create-keyboard";
39
+ import { createListBox } from "@solid2-aria/core/listbox/create-list-box";
40
+ import { createListBoxSection } from "@solid2-aria/core/listbox/create-list-box-section";
41
+ import { createOption } from "@solid2-aria/core/listbox/create-option";
42
+ import { createLoadMoreSentinel } from "@solid2-aria/core/utils/create-load-more-sentinel";
43
+ import { createListState } from "@solid2-aria/stately/list/create-list-state";
44
+ // src/list-box.tsx
45
+ var _tmpl$ = /* @__PURE__ */ template(`<div role=option style=display:contents>`);
46
+ var _tmpl$2 = /* @__PURE__ */ template(`<div inert style=height:0;position:relative;width:0><div data-testid=loadMoreSentinel style=height:1px;position:absolute;width:1px>`);
47
+ const ListBoxContext = createContext(null);
48
+ const ListStateContext = createContext(null);
49
+ function ListBox(input) {
50
+ const [props, , setRef] = createContextProps(input, untrack(() => input.ref), ListBoxContext);
51
+ const state = useContext(ListStateContext);
52
+ if (state) return createComponent(ListBoxInner, {
53
+ props,
54
+ state,
55
+ listRef: setRef
56
+ });
57
+ return createComponent(CollectionBuilder, {
58
+ createCollection: () => new BaseCollection(),
59
+ get content() {
60
+ return createComponent(Collection, props);
61
+ },
62
+ children: (collection) => createComponent(StandaloneListBox, {
63
+ props,
64
+ collection,
65
+ listRef: setRef
66
+ })
67
+ });
68
+ }
69
+ function StandaloneListBox(input) {
70
+ const state = createListState(mergeProps$1(merge(() => input.props ?? {}), {
71
+ children: null,
72
+ get collection() {
73
+ return input.collection;
74
+ },
75
+ items: void 0
76
+ }));
77
+ return createComponent(ListBoxInner, {
78
+ get props() {
79
+ return input.props;
80
+ },
81
+ state,
82
+ get listRef() {
83
+ return input.listRef;
84
+ }
85
+ });
86
+ }
87
+ function ListBoxInner(input) {
88
+ const [props, ref, setRef] = createContextProps(untrack(() => input.props), untrack(() => input.listRef), SelectableCollectionContext);
89
+ const renderer = useContext(CollectionRendererContext);
90
+ const filtered = createMemo(() => props.filter && input.state.collection.filter ? input.state.collection.filter(props.filter) : input.state.collection);
91
+ const state = {
92
+ get collection() {
93
+ return filtered();
94
+ },
95
+ get disabledKeys() {
96
+ return input.state.disabledKeys;
97
+ },
98
+ get selectionManager() {
99
+ return input.state.selectionManager.withCollection(filtered());
100
+ }
101
+ };
102
+ const locale = createLocale();
103
+ const collator = createCollator({
104
+ sensitivity: "base",
105
+ usage: "search"
106
+ });
107
+ const keyboardDelegate = createMemo(() => new ListKeyboardDelegate({
108
+ collator,
109
+ collection: state.collection,
110
+ direction: locale.direction,
111
+ disabledBehavior: state.selectionManager.disabledBehavior,
112
+ disabledKeys: state.disabledKeys,
113
+ layout: props.layout ?? "stack",
114
+ layoutDelegate: renderer.layoutDelegate,
115
+ orientation: props.orientation ?? "vertical",
116
+ ref
117
+ }));
118
+ const dnd = createCollectionDragAndDrop({
119
+ get collection() {
120
+ return state.collection;
121
+ },
122
+ get direction() {
123
+ return locale.direction;
124
+ },
125
+ get dropTargetDelegate() {
126
+ return renderer.dropTargetDelegate;
127
+ },
128
+ get hooks() {
129
+ return props.dragAndDropHooks;
130
+ },
131
+ get keyboardDelegate() {
132
+ return keyboardDelegate();
133
+ },
134
+ get layout() {
135
+ return props.layout;
136
+ },
137
+ get orientation() {
138
+ return props.orientation;
139
+ },
140
+ ref,
141
+ get selectionManager() {
142
+ return state.selectionManager;
143
+ }
144
+ });
145
+ const aria = createListBox(mergeProps$1(props, {
146
+ get isVirtualized() {
147
+ return renderer.isVirtualized;
148
+ },
149
+ get keyboardDelegate() {
150
+ return keyboardDelegate();
151
+ }
152
+ }), state, ref);
153
+ const focus = createFocusRing();
154
+ const values = {
155
+ get isDropTarget() {
156
+ return dnd.dropState?.isDropTarget({ type: "root" }) === true;
157
+ },
158
+ get isEmpty() {
159
+ return state.collection.size === 0;
160
+ },
161
+ get isFocusVisible() {
162
+ return focus.isFocusVisible;
163
+ },
164
+ get isFocused() {
165
+ return focus.isFocused;
166
+ },
167
+ get layout() {
168
+ return props.layout ?? "stack";
169
+ },
170
+ get orientation() {
171
+ return props.orientation ?? "vertical";
172
+ },
173
+ state
174
+ };
175
+ const render = createRenderProps(mergeProps$1(props, {
176
+ children: void 0,
177
+ defaultClass: "solid2-aria-ListBox",
178
+ values
179
+ }));
180
+ const Root = renderer.CollectionRoot;
181
+ return createComponent(dom.div, mergeProps(() => {
182
+ return mergeProps$1(filterDOMProps(props, { global: true }), merge(() => aria.listBoxProps ?? {}), merge(() => dnd.collectionProps ?? {}), merge(() => focus.focusProps ?? {}), render);
183
+ }, {
184
+ ref: (element) => {
185
+ setRef(element);
186
+ },
187
+ get slot() {
188
+ return props.slot ?? void 0;
189
+ },
190
+ get "data-drop-target"() {
191
+ return values.isDropTarget || void 0;
192
+ },
193
+ get "data-empty"() {
194
+ return values.isEmpty || void 0;
195
+ },
196
+ get "data-focused"() {
197
+ return focus.isFocused || void 0;
198
+ },
199
+ get "data-focus-visible"() {
200
+ return focus.isFocusVisible || void 0;
201
+ },
202
+ get "data-layout"() {
203
+ return values.layout;
204
+ },
205
+ get "data-orientation"() {
206
+ return values.orientation;
207
+ },
208
+ get children() {
209
+ return [
210
+ createComponent(ListBoxContext, {
211
+ value: props,
212
+ get children() {
213
+ return createComponent(ListStateContext, {
214
+ value: state,
215
+ get children() {
216
+ return createComponent(SectionContext, {
217
+ value: {
218
+ name: "ListBoxSection",
219
+ render: (sectionProps, sectionRef, sectionNode, defaultClass) => createComponent(ListBoxSectionContent, {
220
+ props: sectionProps,
221
+ sectionRef,
222
+ node: sectionNode,
223
+ defaultClass
224
+ })
225
+ },
226
+ get children() {
227
+ return createComponent(DragAndDropContext, {
228
+ value: dnd,
229
+ get children() {
230
+ return createComponent(DropIndicatorContext, {
231
+ value: { render: (indicatorProps, indicatorRef) => createComponent(ListBoxDropIndicator, mergeProps(indicatorProps, { ref(r$) {
232
+ var _ref$ = indicatorRef;
233
+ typeof _ref$ === "function" || Array.isArray(_ref$) ? applyRef(_ref$, r$) : indicatorRef = r$;
234
+ } })) },
235
+ get children() {
236
+ return createComponent(Root, {
237
+ get collection() {
238
+ return state.collection;
239
+ },
240
+ scrollRef: ref,
241
+ get persistedKeys() {
242
+ return createDndPersistedKeys(state.selectionManager, props.dragAndDropHooks, dnd.dropState);
243
+ },
244
+ get renderDropIndicator() {
245
+ return createRenderDropIndicator(props.dragAndDropHooks, dnd.dropState);
246
+ }
247
+ });
248
+ }
249
+ });
250
+ }
251
+ });
252
+ }
253
+ });
254
+ }
255
+ });
256
+ }
257
+ }),
258
+ memo(() => {
259
+ return dnd.preview;
260
+ }),
261
+ memo(() => {
262
+ return memo(() => {
263
+ return !!(values.isEmpty && props.renderEmptyState);
264
+ })() ? (() => {
265
+ var _el$ = getNextElement(_tmpl$);
266
+ insert(_el$, scope(() => {
267
+ return props.renderEmptyState(values);
268
+ }));
269
+ return _el$;
270
+ })() : null;
271
+ })
272
+ ];
273
+ }
274
+ }));
275
+ }
276
+ function ListBoxSectionInner(props, ref, section, defaultClass = "solid2-aria-ListBoxSection") {
277
+ const state = useContext(ListStateContext);
278
+ if (!state) throw new Error("ListBoxSection must be rendered in a ListBox.");
279
+ const Branch = useContext(CollectionRendererContext).CollectionBranch;
280
+ const [registerHeading, heading] = createSlot();
281
+ const aria = createListBoxSection({
282
+ get "aria-label"() {
283
+ return props["aria-label"] ?? void 0;
284
+ },
285
+ get heading() {
286
+ return heading();
287
+ }
288
+ });
289
+ return createComponent(dom.section, mergeProps(() => {
290
+ return mergeProps$1(omit(filterDOMProps(props, { global: true }), "id"), merge(() => aria.groupProps ?? {}));
291
+ }, {
292
+ get "class"() {
293
+ return props.class ?? defaultClass;
294
+ },
295
+ get style() {
296
+ return props.style;
297
+ },
298
+ get render() {
299
+ return props.render;
300
+ },
301
+ ref(r$) {
302
+ var _ref$2 = ref;
303
+ typeof _ref$2 === "function" || Array.isArray(_ref$2) ? applyRef(_ref$2, r$) : ref = r$;
304
+ },
305
+ get children() {
306
+ return createComponent(HeaderContext, {
307
+ get value() {
308
+ return mergeProps$1(merge(() => aria.headingProps ?? {}), { registerSlot: registerHeading });
309
+ },
310
+ get children() {
311
+ return createComponent(Branch, {
312
+ get collection() {
313
+ return state.collection;
314
+ },
315
+ parent: section
316
+ });
317
+ }
318
+ });
319
+ }
320
+ }));
321
+ }
322
+ const ListBoxSectionCollection = createBranchComponent(SectionNode, ListBoxSectionInner);
323
+ const ListBoxItemCollection = createLeafComponent(ItemNode, (props, forwardedRef, item) => {
324
+ const state = useContext(ListStateContext);
325
+ if (!state) throw new Error("ListBoxItem must be rendered in a ListBox.");
326
+ const [ref, setRef] = createSignal(null, { ownedWrite: true });
327
+ const aria = createOption({
328
+ get "aria-label"() {
329
+ return props["aria-label"];
330
+ },
331
+ key: item.key
332
+ }, state, ref);
333
+ const hover = createHover(mergeProps$1(props, { get isDisabled() {
334
+ return aria.isDisabled;
335
+ } }));
336
+ const dnd = useContext(DragAndDropContext);
337
+ const drag = dnd.dragState ? dnd.dragAndDropHooks?.createDraggableItem?.({
338
+ hasAction: aria.hasAction,
339
+ key: item.key
340
+ }, dnd.dragState) : void 0;
341
+ const drop = dnd.dropState ? dnd.dragAndDropHooks?.createDroppableItem?.({ target: {
342
+ dropPosition: "on",
343
+ key: item.key,
344
+ type: "item"
345
+ } }, dnd.dropState, ref) : void 0;
346
+ const keyboard = createKeyboard(props);
347
+ const focus = createFocus(props);
348
+ const values = {
349
+ get allowsDragging() {
350
+ return !!dnd.dragState;
351
+ },
352
+ get isDisabled() {
353
+ return aria.isDisabled;
354
+ },
355
+ get isDragging() {
356
+ return dnd.dragState?.isDragging(item.key) === true;
357
+ },
358
+ get isDropTarget() {
359
+ return drop?.isDropTarget === true;
360
+ },
361
+ get isFocusVisible() {
362
+ return aria.isFocusVisible;
363
+ },
364
+ get isFocused() {
365
+ return aria.isFocused;
366
+ },
367
+ get isHovered() {
368
+ return hover.isHovered;
369
+ },
370
+ get isPressed() {
371
+ return aria.isPressed;
372
+ },
373
+ get isSelected() {
374
+ return aria.isSelected;
375
+ },
376
+ get selectionBehavior() {
377
+ return state.selectionManager.selectionBehavior;
378
+ },
379
+ get selectionMode() {
380
+ return state.selectionManager.selectionMode;
381
+ }
382
+ };
383
+ const render = createRenderProps(mergeProps$1(props, {
384
+ defaultClass: "solid2-aria-ListBoxItem",
385
+ values
386
+ }));
387
+ const Element = dynamic(() => isTruthy(props.href) ? dom.a : dom.div);
388
+ return createComponent(Element, mergeProps(() => {
389
+ return mergeProps$1(omit(filterDOMProps(props, { global: true }), "id", "onClick"), render, merge(() => aria.optionProps ?? {}), merge(() => hover.hoverProps ?? {}), merge(() => keyboard.keyboardProps ?? {}), merge(() => focus.focusProps ?? {}), merge(() => drag?.dragProps ?? {}), merge(() => drop?.dropProps ?? {}));
390
+ }, {
391
+ ref: [(element) => {
392
+ setRef(element);
393
+ }, (element) => {
394
+ assignRef(forwardedRef, element);
395
+ }],
396
+ get "data-allows-dragging"() {
397
+ return values.allowsDragging ?? void 0;
398
+ },
399
+ get "data-dragging"() {
400
+ return values.isDragging ?? void 0;
401
+ },
402
+ get "data-drop-target"() {
403
+ return values.isDropTarget ?? void 0;
404
+ },
405
+ get "data-selected"() {
406
+ return aria.isSelected || void 0;
407
+ },
408
+ get "data-disabled"() {
409
+ return aria.isDisabled || void 0;
410
+ },
411
+ get "data-hovered"() {
412
+ return hover.isHovered || void 0;
413
+ },
414
+ get "data-focused"() {
415
+ return aria.isFocused || void 0;
416
+ },
417
+ get "data-focus-visible"() {
418
+ return aria.isFocusVisible || void 0;
419
+ },
420
+ get "data-pressed"() {
421
+ return aria.isPressed || void 0;
422
+ },
423
+ get "data-selection-mode"() {
424
+ return memo(() => {
425
+ return state.selectionManager.selectionMode === "none";
426
+ })() ? void 0 : state.selectionManager.selectionMode;
427
+ },
428
+ get children() {
429
+ return createComponent(TextContext, {
430
+ value: { slots: {
431
+ get [DEFAULT_SLOT]() {
432
+ return aria.labelProps;
433
+ },
434
+ get description() {
435
+ return aria.descriptionProps;
436
+ },
437
+ get label() {
438
+ return aria.labelProps;
439
+ }
440
+ } },
441
+ get children() {
442
+ return createComponent(SelectionIndicatorContext, {
443
+ value: { get isSelected() {
444
+ return aria.isSelected;
445
+ } },
446
+ get children() {
447
+ return render.children;
448
+ }
449
+ });
450
+ }
451
+ });
452
+ }
453
+ }));
454
+ });
455
+ const ListBoxLoadMoreItemCollection = createLeafComponent(LoaderNode, (props, forwardedRef, _node) => {
456
+ const state = useContext(ListStateContext);
457
+ if (!state) throw new Error("ListBoxLoadMoreItem must be rendered in a ListBox.");
458
+ const [sentinel, setSentinel] = createSignal(null, { ownedWrite: true });
459
+ createLoadMoreSentinel(mergeProps$1(props, { get collection() {
460
+ return state.collection;
461
+ } }), sentinel);
462
+ const render = createRenderProps(mergeProps$1(props, {
463
+ defaultClass: "solid2-aria-ListBoxLoadingIndicator",
464
+ values: void 0
465
+ }));
466
+ return [(() => {
467
+ var _el$2 = getNextElement(_tmpl$2);
468
+ var _el$3 = _el$2.firstChild;
469
+ ref(() => {
470
+ return (element) => {
471
+ setSentinel(element);
472
+ };
473
+ }, _el$3);
474
+ return _el$2;
475
+ })(), createComponent(Show, {
476
+ get when() {
477
+ return props.isLoading;
478
+ },
479
+ get children() {
480
+ return createComponent(dom.div, mergeProps(() => {
481
+ return filterDOMProps(props, { global: true });
482
+ }, render, {
483
+ role: "option",
484
+ tabindex: -1,
485
+ ref: (element) => {
486
+ assignRef(forwardedRef, element);
487
+ },
488
+ get children() {
489
+ return render.children;
490
+ }
491
+ }));
492
+ }
493
+ })];
494
+ });
495
+ function ListBoxSectionContent(input) {
496
+ return ListBoxSectionInner(input.props, input.sectionRef, input.node, input.defaultClass);
497
+ }
498
+ function ListBoxItem(props) {
499
+ return createComponent(ListBoxItemCollection, mergeProps(props, { ref: (element) => {
500
+ assignRef(untrack(() => props.ref), element);
501
+ } }));
502
+ }
503
+ function ListBoxSection(props) {
504
+ return createComponent(ListBoxSectionCollection, mergeProps(props, { ref: (element) => {
505
+ assignRef(untrack(() => props.ref), element);
506
+ } }));
507
+ }
508
+ function ListBoxLoadMoreItem(props) {
509
+ return createComponent(ListBoxLoadMoreItemCollection, mergeProps(props, { ref: (element) => {
510
+ assignRef(untrack(() => props.ref), element);
511
+ } }));
512
+ }
513
+ function ListBoxDropIndicator(props) {
514
+ const context = useContext(DragAndDropContext);
515
+ const [ref, setRef] = createSignal(null, { ownedWrite: true });
516
+ if (!context.dragAndDropHooks?.createDropIndicator || !context.dropState) return null;
517
+ const aria = context.dragAndDropHooks.createDropIndicator(props, context.dropState, ref);
518
+ const render = createRenderProps(mergeProps$1(props, {
519
+ defaultClass: "solid2-aria-DropIndicator",
520
+ values: { get isDropTarget() {
521
+ return aria.isDropTarget;
522
+ } }
523
+ }));
524
+ return createComponent(Show, {
525
+ get when() {
526
+ return !aria.isHidden;
527
+ },
528
+ get children() {
529
+ return createComponent(dom.div, mergeProps(() => {
530
+ return aria.dropIndicatorProps;
531
+ }, render, {
532
+ role: "option",
533
+ ref: [(element) => {
534
+ setRef(element);
535
+ }, (element) => {
536
+ assignRef(untrack(() => props.ref), element);
537
+ }],
538
+ get "data-drop-target"() {
539
+ return aria.isDropTarget || void 0;
540
+ }
541
+ }));
542
+ }
543
+ });
544
+ }
545
+ export { ListBox, ListBoxContext, ListBoxItem, ListBoxLoadMoreItem, ListBoxSection, ListStateContext };
546
+
547
+ //# sourceMappingURL=list-box.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-box.js","names":["<ListBoxInner props={props} state={state} listRef={setRef} />","listRef={setRef}","<CollectionBuilder\n createCollection={() => new BaseCollection<object>()}\n content={<Collection {...props} />}\n >\n {(collection) => (\n <StandaloneListBox\n props={props}\n collection={collection}\n listRef={setRef}\n />\n )}\n </CollectionBuilder>","createCollection={() => new BaseCollection<object>()}","<Collection {...props} />","<StandaloneListBox\n props={props}\n collection={collection}\n listRef={setRef}\n />","<ListBoxInner props={input.props} state={state} listRef={input.listRef} />","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.listBoxProps ?? {}),\n merge(() => dnd.collectionProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-drop-target={values.isDropTarget || undefined}\n data-empty={values.isEmpty || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-layout={values.layout}\n data-orientation={values.orientation}\n >\n <ListBoxContext value={props}>\n <ListStateContext value={state}>\n <SectionContext\n value={{\n name: \"ListBoxSection\",\n render: (sectionProps, sectionRef, sectionNode, defaultClass) => (\n <ListBoxSectionContent\n props={sectionProps}\n sectionRef={sectionRef}\n node={sectionNode}\n defaultClass={defaultClass}\n />\n ),\n }}\n >\n <DragAndDropContext value={dnd}>\n <DropIndicatorContext\n value={{\n render: (indicatorProps, indicatorRef) => (\n <ListBoxDropIndicator\n {...indicatorProps}\n ref={indicatorRef}\n />\n ),\n }}\n >\n <Root\n collection={state.collection}\n scrollRef={ref}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n renderDropIndicator={createRenderDropIndicator(\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </DropIndicatorContext>\n </DragAndDropContext>\n </SectionContext>\n </ListStateContext>\n </ListBoxContext>\n {dnd.preview}\n {values.isEmpty && props.renderEmptyState ? (\n <div role=\"option\" style={{ display: \"contents\" }}>\n {props.renderEmptyState(values)}\n </div>\n ) : null}\n </dom.div>","dom.div","ref={(element: HTMLDivElement) => {\n setRef(element);\n }}","<ListBoxContext value={props}>\n <ListStateContext value={state}>\n <SectionContext\n value={{\n name: \"ListBoxSection\",\n render: (sectionProps, sectionRef, sectionNode, defaultClass) => (\n <ListBoxSectionContent\n props={sectionProps}\n sectionRef={sectionRef}\n node={sectionNode}\n defaultClass={defaultClass}\n />\n ),\n }}\n >\n <DragAndDropContext value={dnd}>\n <DropIndicatorContext\n value={{\n render: (indicatorProps, indicatorRef) => (\n <ListBoxDropIndicator\n {...indicatorProps}\n ref={indicatorRef}\n />\n ),\n }}\n >\n <Root\n collection={state.collection}\n scrollRef={ref}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n renderDropIndicator={createRenderDropIndicator(\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </DropIndicatorContext>\n </DragAndDropContext>\n </SectionContext>\n </ListStateContext>\n </ListBoxContext>","value={props}","<ListStateContext value={state}>\n <SectionContext\n value={{\n name: \"ListBoxSection\",\n render: (sectionProps, sectionRef, sectionNode, defaultClass) => (\n <ListBoxSectionContent\n props={sectionProps}\n sectionRef={sectionRef}\n node={sectionNode}\n defaultClass={defaultClass}\n />\n ),\n }}\n >\n <DragAndDropContext value={dnd}>\n <DropIndicatorContext\n value={{\n render: (indicatorProps, indicatorRef) => (\n <ListBoxDropIndicator\n {...indicatorProps}\n ref={indicatorRef}\n />\n ),\n }}\n >\n <Root\n collection={state.collection}\n scrollRef={ref}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n renderDropIndicator={createRenderDropIndicator(\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </DropIndicatorContext>\n </DragAndDropContext>\n </SectionContext>\n </ListStateContext>","value={state}","<SectionContext\n value={{\n name: \"ListBoxSection\",\n render: (sectionProps, sectionRef, sectionNode, defaultClass) => (\n <ListBoxSectionContent\n props={sectionProps}\n sectionRef={sectionRef}\n node={sectionNode}\n defaultClass={defaultClass}\n />\n ),\n }}\n >\n <DragAndDropContext value={dnd}>\n <DropIndicatorContext\n value={{\n render: (indicatorProps, indicatorRef) => (\n <ListBoxDropIndicator\n {...indicatorProps}\n ref={indicatorRef}\n />\n ),\n }}\n >\n <Root\n collection={state.collection}\n scrollRef={ref}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n renderDropIndicator={createRenderDropIndicator(\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </DropIndicatorContext>\n </DragAndDropContext>\n </SectionContext>","value={{\n name: \"ListBoxSection\",\n render: (sectionProps, sectionRef, sectionNode, defaultClass) => (\n <ListBoxSectionContent\n props={sectionProps}\n sectionRef={sectionRef}\n node={sectionNode}\n defaultClass={defaultClass}\n />\n ),\n }}","<ListBoxSectionContent\n props={sectionProps}\n sectionRef={sectionRef}\n node={sectionNode}\n defaultClass={defaultClass}\n />","props={sectionProps}","node={sectionNode}","<DragAndDropContext value={dnd}>\n <DropIndicatorContext\n value={{\n render: (indicatorProps, indicatorRef) => (\n <ListBoxDropIndicator\n {...indicatorProps}\n ref={indicatorRef}\n />\n ),\n }}\n >\n <Root\n collection={state.collection}\n scrollRef={ref}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n renderDropIndicator={createRenderDropIndicator(\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </DropIndicatorContext>\n </DragAndDropContext>","value={dnd}","<DropIndicatorContext\n value={{\n render: (indicatorProps, indicatorRef) => (\n <ListBoxDropIndicator\n {...indicatorProps}\n ref={indicatorRef}\n />\n ),\n }}\n >\n <Root\n collection={state.collection}\n scrollRef={ref}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n renderDropIndicator={createRenderDropIndicator(\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </DropIndicatorContext>","value={{\n render: (indicatorProps, indicatorRef) => (\n <ListBoxDropIndicator\n {...indicatorProps}\n ref={indicatorRef}\n />\n ),\n }}","<ListBoxDropIndicator\n {...indicatorProps}\n ref={indicatorRef}\n />","ref={indicatorRef}","<Root\n collection={state.collection}\n scrollRef={ref}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n renderDropIndicator={createRenderDropIndicator(\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />","scrollRef={ref}","dnd.preview","{values.isEmpty && props.renderEmptyState ? (\n <div role=\"option\" style={{ display: \"contents\" }}>\n {props.renderEmptyState(values)}\n </div>\n ) : null}","{props.renderEmptyState(values)}","<dom.section\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n merge(() => aria.groupProps ?? {})\n )}\n class={props.class ?? defaultClass}\n style={props.style}\n render={props.render}\n ref={ref}\n >\n <HeaderContext\n value={mergeProps(\n merge(() => aria.headingProps ?? {}),\n { registerSlot: registerHeading }\n )}\n >\n <Branch collection={state.collection} parent={section} />\n </HeaderContext>\n </dom.section>","dom.section","ref={ref}","<HeaderContext\n value={mergeProps(\n merge(() => aria.headingProps ?? {}),\n { registerSlot: registerHeading }\n )}\n >\n <Branch collection={state.collection} parent={section} />\n </HeaderContext>","<Branch collection={state.collection} parent={section} />","parent={section}","<Element\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n render,\n merge(() => aria.optionProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n merge(() => keyboard.keyboardProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => drag?.dragProps ?? {}),\n merge(() => drop?.dropProps ?? {})\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n },\n ]}\n data-allows-dragging={values.allowsDragging ?? undefined}\n data-dragging={values.isDragging ?? undefined}\n data-drop-target={values.isDropTarget ?? undefined}\n data-selected={aria.isSelected || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={aria.isFocused || undefined}\n data-focus-visible={aria.isFocusVisible || undefined}\n data-pressed={aria.isPressed || undefined}\n data-selection-mode={\n state.selectionManager.selectionMode === \"none\"\n ? undefined\n : state.selectionManager.selectionMode\n }\n >\n <TextContext\n value={{\n slots: {\n get [DEFAULT_SLOT]() {\n return aria.labelProps;\n },\n get description() {\n return aria.descriptionProps;\n },\n get label() {\n return aria.labelProps;\n },\n },\n }}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n {render.children}\n </SelectionIndicatorContext>\n </TextContext>\n </Element>","ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n },\n ]}","state.selectionManager.selectionMode === \"none\"\n ? undefined\n : state.selectionManager.selectionMode","<TextContext\n value={{\n slots: {\n get [DEFAULT_SLOT]() {\n return aria.labelProps;\n },\n get description() {\n return aria.descriptionProps;\n },\n get label() {\n return aria.labelProps;\n },\n },\n }}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n {render.children}\n </SelectionIndicatorContext>\n </TextContext>","value={{\n slots: {\n get [DEFAULT_SLOT]() {\n return aria.labelProps;\n },\n get description() {\n return aria.descriptionProps;\n },\n get label() {\n return aria.labelProps;\n },\n },\n }}","<SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n {render.children}\n </SelectionIndicatorContext>","value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}","ref={(element: HTMLDivElement) => {\n setSentinel(element);\n }}","<Show when={props.isLoading}>\n <dom.div\n {...filterDOMProps(props, { global: true })}\n {...render}\n role=\"option\"\n tabindex={-1}\n ref={(element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n }}\n >\n {render.children}\n </dom.div>\n </Show>","<dom.div\n {...filterDOMProps(props, { global: true })}\n {...render}\n role=\"option\"\n tabindex={-1}\n ref={(element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n }}\n >\n {render.children}\n </dom.div>","role=\"option\"","tabindex={-1}","ref={(element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n }}","<ListBoxItemCollection\n {...props}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />","ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}","<ListBoxSectionCollection\n {...props}\n ref={(element: HTMLElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />","ref={(element: HTMLElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}","<ListBoxLoadMoreItemCollection\n {...props}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />","<Show when={!aria.isHidden}>\n <dom.div\n {...aria.dropIndicatorProps}\n {...render}\n role=\"option\"\n ref={[\n (element: HTMLElement) => {\n setRef(element);\n },\n (element: HTMLElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-drop-target={aria.isDropTarget || undefined}\n />\n </Show>","<dom.div\n {...aria.dropIndicatorProps}\n {...render}\n role=\"option\"\n ref={[\n (element: HTMLElement) => {\n setRef(element);\n },\n (element: HTMLElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-drop-target={aria.isDropTarget || undefined}\n />","ref={[\n (element: HTMLElement) => {\n setRef(element);\n },\n (element: HTMLElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}","_$createComponent","mergeProps","_$mergeProps","_$applyRef","_$memo","_$getNextElement","_$scope"],"sources":["../../src/list-box.tsx"],"sourcesContent":["/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n/*\n * Derived from Adobe React Spectrum: packages/react-aria-components/src/ListBox.tsx.\n * Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, and reactive properties for Solid 2; uses Solid class props.\n * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.\n */\n\nimport {\n ItemNode,\n SectionNode,\n LoaderNode,\n BaseCollection,\n} from \"@solid2-aria/core/collections/base-collection\";\nimport {\n Collection,\n CollectionBuilder,\n createLeafComponent,\n createBranchComponent,\n} from \"@solid2-aria/core/collections/collection-builder\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createCollator } from \"@solid2-aria/core/i18n/create-collator\";\nimport { createLocale } from \"@solid2-aria/core/i18n/i18n-provider\";\nimport { createFocus } from \"@solid2-aria/core/interactions/create-focus\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\nimport { createKeyboard } from \"@solid2-aria/core/interactions/create-keyboard\";\nimport { createListBox } from \"@solid2-aria/core/listbox/create-list-box\";\nimport type { AriaListBoxProps } from \"@solid2-aria/core/listbox/create-list-box\";\nimport { createListBoxSection } from \"@solid2-aria/core/listbox/create-list-box-section\";\nimport { createOption } from \"@solid2-aria/core/listbox/create-option\";\nimport { ListKeyboardDelegate } from \"@solid2-aria/core/selection/list-keyboard-delegate\";\nimport { createLoadMoreSentinel } from \"@solid2-aria/core/utils/create-load-more-sentinel\";\nimport type { LoadMoreSentinelProps } from \"@solid2-aria/core/utils/create-load-more-sentinel\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { isTruthy } from \"@solid2-aria/core/utils/truthy\";\nimport { createListState } from \"@solid2-aria/stately/list/create-list-state\";\nimport type { ListState } from \"@solid2-aria/stately/list/create-list-state\";\nimport type {\n Collection as SharedCollection,\n FocusEvents,\n HoverEvents,\n Key,\n KeyboardEvents,\n LinkDOMProps,\n PressEvents,\n Orientation,\n SelectionBehavior,\n Node,\n} from \"@solid2-aria/types-shared\";\nimport type { GlobalDOMAttributes } from \"@solid2-aria/types-shared-web\";\nimport { dynamic } from \"@solidjs/web\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n merge,\n untrack,\n createSignal,\n createContext,\n createMemo,\n useContext,\n omit,\n Show,\n} from \"solid-js\";\n\nimport { SelectableCollectionContext } from \"./autocomplete\";\nimport type { SelectableCollectionContextValue } from \"./autocomplete\";\nimport { CollectionRendererContext, SectionContext } from \"./collection\";\nimport type {\n CollectionProps,\n ItemRenderProps,\n SectionProps,\n} from \"./collection\";\nimport { createCollectionDragAndDrop } from \"./collection-dnd\";\nimport type { DragAndDropHooks } from \"./create-drag-and-drop\";\nimport {\n DragAndDropContext,\n DropIndicatorContext,\n createRenderDropIndicator,\n createDndPersistedKeys,\n} from \"./drag-and-drop\";\nimport type { DropIndicatorProps } from \"./drag-and-drop\";\nimport { HeaderContext } from \"./header\";\nimport { SelectionIndicatorContext } from \"./selection-indicator\";\nimport { TextContext } from \"./text\";\nimport {\n dom,\n createContextProps,\n createRenderProps,\n createSlot,\n DEFAULT_SLOT,\n assignRef,\n} from \"./utils\";\nimport type {\n Ref,\n ClassOrFunction,\n DOMRenderProps,\n PossibleLinkDOMRenderProps,\n RenderProps,\n SlotProps,\n StyleProps,\n StyleRenderProps,\n ContextValue,\n} from \"./utils\";\n\nexport const ListBoxContext =\n // oxlint-disable-next-line typescript/no-explicit-any -- Collection contexts erase item types; each typed factory restores its owner's item contract.\n createContext<ContextValue<ListBoxProps<any>, HTMLDivElement>>(null);\n\nexport const ListStateContext = createContext<ListState<unknown> | null>(null);\n\nexport interface ListBoxRenderProps {\n /**\n * Whether the listbox has no items and should display its empty state.\n *\n * @selector [data-empty]\n */\n isEmpty: boolean;\n /**\n * Whether the listbox is currently focused.\n *\n * @selector [data-focused]\n */\n isFocused: boolean;\n /**\n * Whether the listbox is currently keyboard focused.\n *\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean;\n /**\n * Whether the listbox is currently the active drop target.\n *\n * @selector [data-drop-target]\n */\n isDropTarget: boolean;\n /**\n * Whether the items are arranged in a stack or grid.\n *\n * @selector [data-layout=\"stack | grid\"]\n */\n layout: \"stack\" | \"grid\";\n /**\n * The primary orientation of the items.\n *\n * @selector [data-orientation=\"vertical | horizontal\"]\n */\n orientation: Orientation;\n /**\n * State of the listbox.\n */\n state: ListState<unknown>;\n}\n\nexport interface ListBoxProps<T>\n extends\n Omit<AriaListBoxProps<T>, \"children\" | \"label\">,\n CollectionProps<T>,\n StyleRenderProps<ListBoxRenderProps>,\n SlotProps,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-ListBox'\n */\n class?: ClassOrFunction<ListBoxRenderProps>;\n /**\n * How multiple selection should behave in the collection.\n *\n * @default 'toggle'\n */\n selectionBehavior?: SelectionBehavior;\n /**\n * The drag and drop hooks returned by `createDragAndDrop` used to enable drag and drop behavior for\n * the ListBox.\n */\n dragAndDropHooks?: DragAndDropHooks<NoInfer<T>>;\n /** Provides content to display when there are no items in the list. */\n renderEmptyState?: (props: ListBoxRenderProps) => JSX.Element;\n /**\n * Whether the items are arranged in a stack or grid.\n *\n * @default 'stack'\n */\n layout?: \"stack\" | \"grid\";\n /**\n * The primary orientation of the items. Usually this is the\n * direction that the collection scrolls.\n *\n * @default 'vertical'\n */\n orientation?: Orientation;\n}\n\nexport interface ListBoxSectionProps<T>\n extends SectionProps<T>, DOMRenderProps<\"section\", undefined> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element.\n *\n * @default 'react-aria-ListBoxSection'\n */\n class?: JSX.ClassValue;\n}\n\nexport type ListBoxItemRenderProps = ItemRenderProps;\n\nexport interface ListBoxItemProps<T = object>\n extends\n Omit<RenderProps<ListBoxItemRenderProps>, \"render\">,\n PossibleLinkDOMRenderProps<\"div\", ListBoxItemRenderProps>,\n LinkDOMProps,\n HoverEvents,\n PressEvents,\n KeyboardEvents,\n FocusEvents<HTMLDivElement>,\n Omit<GlobalDOMAttributes<HTMLDivElement>, \"onClick\"> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element. A function may be provided to compute the class based on component state.\n *\n * @default 'react-aria-ListBoxItem'\n */\n class?: ClassOrFunction<ListBoxItemRenderProps>;\n /** The unique id of the item. */\n id?: Key;\n /**\n * The object value that this item represents. When using dynamic collections, this is set\n * automatically.\n */\n value?: T;\n /** A string representation of the item's contents, used for features like typeahead. */\n textValue?: string;\n /** An accessibility label for this item. */\n \"aria-label\"?: string;\n /** Whether the item is disabled. */\n isDisabled?: boolean;\n /**\n * Handler that is called when a user performs an action on the item. The exact user event depends\n * on the collection's `selectionBehavior` prop and the interaction modality.\n */\n onAction?: () => void;\n}\n\nexport interface ListBoxLoadMoreItemProps\n extends\n Omit<LoadMoreSentinelProps, \"collection\" | \"direction\">,\n StyleProps,\n DOMRenderProps<\"div\", undefined>,\n GlobalDOMAttributes<HTMLDivElement> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element.\n *\n * @default 'react-aria-ListBoxLoadingIndicator'\n */\n class?: JSX.ClassValue;\n /**\n * The load more spinner to render when loading additional items.\n */\n children?: JSX.Element;\n /**\n * Whether or not the loading spinner should be rendered or not.\n */\n isLoading?: boolean;\n}\n\nexport function ListBox<T extends object>(\n input: ListBoxProps<T> & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n ListBoxContext\n );\n\n const state = useContext(ListStateContext);\n\n if (state) {\n // oxlint-disable-next-line solid/components-return-once -- Static collection traversal and context registration are fixed when the owner is created.\n return <ListBoxInner props={props} state={state} listRef={setRef} />;\n }\n\n return (\n <CollectionBuilder\n createCollection={() => new BaseCollection<object>()}\n content={<Collection {...props} />}\n >\n {(collection) => (\n <StandaloneListBox\n props={props}\n collection={collection}\n listRef={setRef}\n />\n )}\n </CollectionBuilder>\n );\n}\n\nfunction StandaloneListBox<T extends object>(input: {\n props: ListBoxProps<T>;\n collection: BaseCollection<object>;\n listRef: (element: HTMLDivElement) => void;\n}): JSX.Element {\n const state = createListState(\n mergeProps(\n merge(() => input.props ?? {}),\n {\n children: null,\n get collection() {\n return input.collection;\n },\n items: undefined,\n }\n )\n );\n\n return (\n <ListBoxInner props={input.props} state={state} listRef={input.listRef} />\n );\n}\n\nfunction ListBoxInner<T>(input: {\n props: ListBoxProps<T> & SelectableCollectionContextValue<unknown>;\n state: ListState<unknown>;\n listRef: (element: HTMLDivElement) => void;\n}): JSX.Element {\n const [props, ref, setRef] = createContextProps(\n untrack(() => input.props),\n untrack(() => input.listRef),\n SelectableCollectionContext\n );\n\n const renderer = useContext(CollectionRendererContext);\n\n const filtered = createMemo(() =>\n props.filter && input.state.collection.filter\n ? input.state.collection.filter(props.filter)\n : input.state.collection\n );\n\n const state: ListState<unknown> = {\n get collection() {\n return filtered();\n },\n get disabledKeys() {\n return input.state.disabledKeys;\n },\n get selectionManager() {\n return input.state.selectionManager.withCollection(filtered());\n },\n };\n\n const locale = createLocale();\n const collator = createCollator({ sensitivity: \"base\", usage: \"search\" });\n\n const keyboardDelegate = createMemo(\n () =>\n new ListKeyboardDelegate({\n collator,\n collection: state.collection,\n direction: locale.direction,\n disabledBehavior: state.selectionManager.disabledBehavior,\n disabledKeys: state.disabledKeys,\n layout: props.layout ?? \"stack\",\n layoutDelegate: renderer.layoutDelegate,\n orientation: props.orientation ?? \"vertical\",\n ref,\n })\n );\n\n const dnd = createCollectionDragAndDrop<T>({\n get collection() {\n // SAFETY: This state was constructed from the same ListBox<T> collection passed to the drag adapter.\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion -- The shared selection context erases T between the owner and its descendants.\n return state.collection as SharedCollection<Node<T>>;\n },\n get direction() {\n return locale.direction;\n },\n get dropTargetDelegate() {\n return renderer.dropTargetDelegate;\n },\n get hooks() {\n return props.dragAndDropHooks;\n },\n get keyboardDelegate() {\n return keyboardDelegate();\n },\n get layout() {\n return props.layout;\n },\n get orientation() {\n return props.orientation;\n },\n ref,\n get selectionManager() {\n return state.selectionManager;\n },\n });\n\n const aria = createListBox(\n mergeProps(props, {\n get isVirtualized() {\n return renderer.isVirtualized;\n },\n get keyboardDelegate() {\n return keyboardDelegate();\n },\n }),\n state,\n ref\n );\n\n const focus = createFocusRing();\n\n const values: ListBoxRenderProps = {\n get isDropTarget() {\n return dnd.dropState?.isDropTarget({ type: \"root\" }) === true;\n },\n get isEmpty() {\n return state.collection.size === 0;\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n get layout() {\n return props.layout ?? \"stack\";\n },\n get orientation() {\n return props.orientation ?? \"vertical\";\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n children: undefined,\n defaultClass: \"solid2-aria-ListBox\",\n values,\n })\n );\n\n const Root = renderer.CollectionRoot;\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.listBoxProps ?? {}),\n merge(() => dnd.collectionProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-drop-target={values.isDropTarget || undefined}\n data-empty={values.isEmpty || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-layout={values.layout}\n data-orientation={values.orientation}\n >\n <ListBoxContext value={props}>\n <ListStateContext value={state}>\n <SectionContext\n value={{\n name: \"ListBoxSection\",\n render: (sectionProps, sectionRef, sectionNode, defaultClass) => (\n <ListBoxSectionContent\n props={sectionProps}\n sectionRef={sectionRef}\n node={sectionNode}\n defaultClass={defaultClass}\n />\n ),\n }}\n >\n <DragAndDropContext value={dnd}>\n <DropIndicatorContext\n value={{\n render: (indicatorProps, indicatorRef) => (\n <ListBoxDropIndicator\n {...indicatorProps}\n ref={indicatorRef}\n />\n ),\n }}\n >\n <Root\n collection={state.collection}\n scrollRef={ref}\n persistedKeys={createDndPersistedKeys(\n state.selectionManager,\n props.dragAndDropHooks,\n dnd.dropState\n )}\n renderDropIndicator={createRenderDropIndicator(\n props.dragAndDropHooks,\n dnd.dropState\n )}\n />\n </DropIndicatorContext>\n </DragAndDropContext>\n </SectionContext>\n </ListStateContext>\n </ListBoxContext>\n {dnd.preview}\n {values.isEmpty && props.renderEmptyState ? (\n <div role=\"option\" style={{ display: \"contents\" }}>\n {props.renderEmptyState(values)}\n </div>\n ) : null}\n </dom.div>\n );\n}\n\nfunction ListBoxSectionInner(\n // oxlint-disable-next-line typescript/no-explicit-any -- Collection contexts erase item types; each typed factory restores its owner's item contract.\n props: ListBoxSectionProps<any>,\n ref: Ref<HTMLElement>,\n section: Node<unknown>,\n defaultClass = \"solid2-aria-ListBoxSection\"\n): JSX.Element {\n const state = useContext(ListStateContext);\n\n if (!state) {\n throw new Error(\"ListBoxSection must be rendered in a ListBox.\");\n }\n\n const renderer = useContext(CollectionRendererContext);\n const Branch = renderer.CollectionBranch;\n const [registerHeading, heading] = createSlot();\n\n const aria = createListBoxSection({\n get \"aria-label\"() {\n return props[\"aria-label\"] ?? undefined;\n },\n get heading() {\n return heading();\n },\n });\n\n return (\n <dom.section\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n merge(() => aria.groupProps ?? {})\n )}\n class={props.class ?? defaultClass}\n style={props.style}\n render={props.render}\n ref={ref}\n >\n <HeaderContext\n value={mergeProps(\n merge(() => aria.headingProps ?? {}),\n { registerSlot: registerHeading }\n )}\n >\n <Branch collection={state.collection} parent={section} />\n </HeaderContext>\n </dom.section>\n );\n}\n\nconst ListBoxSectionCollection = createBranchComponent(\n SectionNode,\n ListBoxSectionInner\n);\n\nconst ListBoxItemCollection = createLeafComponent(\n ItemNode,\n <T,>(\n props: ListBoxItemProps<T>,\n forwardedRef: Ref<HTMLDivElement>,\n item: Node<T>\n ): JSX.Element => {\n const state = useContext(ListStateContext);\n\n if (!state) {\n throw new Error(\"ListBoxItem must be rendered in a ListBox.\");\n }\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const aria = createOption(\n {\n get \"aria-label\"() {\n return props[\"aria-label\"];\n },\n key: item.key,\n },\n state,\n ref\n );\n\n const hover = createHover(\n mergeProps(props, {\n get isDisabled() {\n return aria.isDisabled;\n },\n })\n );\n\n const dnd = useContext(DragAndDropContext);\n\n const drag = dnd.dragState\n ? dnd.dragAndDropHooks?.createDraggableItem?.(\n { hasAction: aria.hasAction, key: item.key },\n dnd.dragState\n )\n : undefined;\n\n const drop = dnd.dropState\n ? dnd.dragAndDropHooks?.createDroppableItem?.(\n { target: { dropPosition: \"on\", key: item.key, type: \"item\" } },\n dnd.dropState,\n ref\n )\n : undefined;\n\n const keyboard = createKeyboard(props);\n const focus = createFocus(props);\n\n const values: ListBoxItemRenderProps = {\n get allowsDragging() {\n return !!dnd.dragState;\n },\n get isDisabled() {\n return aria.isDisabled;\n },\n get isDragging() {\n return dnd.dragState?.isDragging(item.key) === true;\n },\n get isDropTarget() {\n return drop?.isDropTarget === true;\n },\n get isFocusVisible() {\n return aria.isFocusVisible;\n },\n get isFocused() {\n return aria.isFocused;\n },\n get isHovered() {\n return hover.isHovered;\n },\n get isPressed() {\n return aria.isPressed;\n },\n get isSelected() {\n return aria.isSelected;\n },\n get selectionBehavior() {\n return state.selectionManager.selectionBehavior;\n },\n get selectionMode() {\n return state.selectionManager.selectionMode;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-ListBoxItem\", values })\n );\n\n const Element = dynamic(() => (isTruthy(props.href) ? dom.a : dom.div));\n\n return (\n <Element\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\", \"onClick\"),\n render,\n merge(() => aria.optionProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n merge(() => keyboard.keyboardProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => drag?.dragProps ?? {}),\n merge(() => drop?.dropProps ?? {})\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n },\n ]}\n data-allows-dragging={values.allowsDragging ?? undefined}\n data-dragging={values.isDragging ?? undefined}\n data-drop-target={values.isDropTarget ?? undefined}\n data-selected={aria.isSelected || undefined}\n data-disabled={aria.isDisabled || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={aria.isFocused || undefined}\n data-focus-visible={aria.isFocusVisible || undefined}\n data-pressed={aria.isPressed || undefined}\n data-selection-mode={\n state.selectionManager.selectionMode === \"none\"\n ? undefined\n : state.selectionManager.selectionMode\n }\n >\n <TextContext\n value={{\n slots: {\n get [DEFAULT_SLOT]() {\n return aria.labelProps;\n },\n get description() {\n return aria.descriptionProps;\n },\n get label() {\n return aria.labelProps;\n },\n },\n }}\n >\n <SelectionIndicatorContext\n value={{\n get isSelected() {\n return aria.isSelected;\n },\n }}\n >\n {render.children}\n </SelectionIndicatorContext>\n </TextContext>\n </Element>\n );\n }\n);\n\nconst ListBoxLoadMoreItemCollection = createLeafComponent(\n LoaderNode,\n (\n props: ListBoxLoadMoreItemProps,\n forwardedRef: Ref<HTMLDivElement>,\n _node: Node<unknown>\n ): JSX.Element => {\n const state = useContext(ListStateContext);\n\n if (!state) {\n throw new Error(\"ListBoxLoadMoreItem must be rendered in a ListBox.\");\n }\n\n const [sentinel, setSentinel] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n createLoadMoreSentinel(\n mergeProps(props, {\n get collection() {\n return state.collection;\n },\n }),\n sentinel\n );\n\n const render = createRenderProps(\n mergeProps(props, {\n defaultClass: \"solid2-aria-ListBoxLoadingIndicator\",\n values: undefined,\n })\n );\n\n return (\n <>\n <div style={{ height: 0, position: \"relative\", width: 0 }} inert>\n <div\n data-testid=\"loadMoreSentinel\"\n ref={(element: HTMLDivElement) => {\n setSentinel(element);\n }}\n style={{ height: \"1px\", position: \"absolute\", width: \"1px\" }}\n />\n </div>\n <Show when={props.isLoading}>\n <dom.div\n {...filterDOMProps(props, { global: true })}\n {...render}\n role=\"option\"\n tabindex={-1}\n ref={(element: HTMLDivElement) => {\n assignRef(forwardedRef, element);\n }}\n >\n {render.children}\n </dom.div>\n </Show>\n </>\n );\n }\n);\n\nfunction ListBoxSectionContent(input: {\n props: SectionProps<unknown>;\n sectionRef: Ref<HTMLElement>;\n node: Node<unknown>;\n defaultClass?: string;\n}): JSX.Element {\n return ListBoxSectionInner(\n input.props,\n input.sectionRef,\n input.node,\n input.defaultClass\n );\n}\n\nexport function ListBoxItem<T>(\n props: ListBoxItemProps<T> & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n return (\n <ListBoxItemCollection\n {...props}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />\n );\n}\n\nexport function ListBoxSection<T>(\n props: ListBoxSectionProps<T> & { ref?: Ref<HTMLElement> }\n): JSX.Element {\n return (\n <ListBoxSectionCollection\n {...props}\n ref={(element: HTMLElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />\n );\n}\n\nexport function ListBoxLoadMoreItem(\n props: ListBoxLoadMoreItemProps & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n return (\n <ListBoxLoadMoreItemCollection\n {...props}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />\n );\n}\n\nfunction ListBoxDropIndicator(props: DropIndicatorProps): JSX.Element {\n const context = useContext(DragAndDropContext);\n\n const [ref, setRef] = createSignal<HTMLElement | null>(null, {\n ownedWrite: true,\n });\n\n if (!context.dragAndDropHooks?.createDropIndicator || !context.dropState) {\n // oxlint-disable-next-line solid/components-return-once -- Static collection traversal and context registration are fixed when the owner is created.\n return null;\n }\n\n const aria = context.dragAndDropHooks.createDropIndicator(\n props,\n context.dropState,\n ref\n );\n\n const render = createRenderProps(\n mergeProps(props, {\n defaultClass: \"solid2-aria-DropIndicator\",\n values: {\n get isDropTarget() {\n return aria.isDropTarget;\n },\n },\n })\n );\n\n return (\n <Show when={!aria.isHidden}>\n <dom.div\n {...aria.dropIndicatorProps}\n {...render}\n role=\"option\"\n ref={[\n (element: HTMLElement) => {\n setRef(element);\n },\n (element: HTMLElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-drop-target={aria.isDropTarget || undefined}\n />\n </Show>\n );\n}\n"],"mappings":"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"}