@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 @@
1
+ {"version":3,"file":"select.js","names":["selectRef={setRef}","{render.children}","<HiddenSelect\n {...aria.hiddenSelectProps}\n autoComplete={props.autoComplete}\n />","ref={input.selectRef}","dom.div","<dom.div\n {...mergeProps(\n omit(\n filterDOMProps(props, { global: true }),\n \"id\"\n ),\n render,\n merge(() => focus.focusProps ?? {})\n )}\n ref={input.selectRef}\n slot={props.slot ?? undefined}\n data-focused={state.isFocused || undefined}\n data-focus-visible={\n focus.isFocusVisible || undefined\n }\n data-open={state.isOpen || undefined}\n data-disabled={props.isDisabled ?? undefined}\n data-invalid={aria.isInvalid || undefined}\n data-required={props.isRequired ?? undefined}\n >\n {render.children}\n <HiddenSelect\n {...aria.hiddenSelectProps}\n autoComplete={props.autoComplete}\n />\n </dom.div>","dom.span","<dom.span\n {...filterDOMProps(props, { global: true })}\n {...render}\n ref={(element: HTMLElement) => {\n setRef(element);\n }}\n data-placeholder={values.isPlaceholder || undefined}\n >\n <TextContext value={null}>{render.children}</TextContext>\n </dom.span>","_$memo","_$mergeProps","_$applyRef","intlMessages","render"],"sources":["../../src/select.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/Select.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 { BaseCollection } from \"@solid2-aria/core/collections/base-collection\";\nimport { CollectionBuilder } from \"@solid2-aria/core/collections/collection-builder\";\nimport { createIsHidden } from \"@solid2-aria/core/collections/hidden\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createListFormatter } from \"@solid2-aria/core/i18n/create-list-formatter\";\nimport { createLocalizedStringFormatter } from \"@solid2-aria/core/i18n/create-localized-string-formatter\";\nimport { createSelect } from \"@solid2-aria/core/select/create-select\";\nimport type { AriaSelectProps } from \"@solid2-aria/core/select/create-select\";\nimport { HiddenSelect } from \"@solid2-aria/core/select/hidden-select\";\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 { createSelectState } from \"@solid2-aria/stately/select/create-select-state\";\nimport type { SelectState } from \"@solid2-aria/stately/select/create-select-state\";\nimport type { GlobalDOMAttributes } from \"@solid2-aria/types-shared-web\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n merge,\n untrack,\n createSignal,\n createContext,\n createMemo,\n useContext,\n omit,\n} from \"solid-js\";\n\nimport intlMessages from \"../intl/index\";\nimport { ButtonContext } from \"./button\";\nimport { OverlayTriggerStateContext } from \"./dialog\";\nimport { FieldErrorContext } from \"./field-error\";\nimport { FormContext } from \"./form\";\nimport { LabelContext } from \"./label\";\nimport { ListBoxContext, ListStateContext } from \"./list-box\";\nimport { PopoverContext } from \"./popover\";\nimport { TextContext } from \"./text\";\nimport {\n dom,\n createContextProps,\n createRenderProps,\n createSlot,\n createSlottedContext,\n} from \"./utils\";\nimport type {\n Ref,\n ClassOrFunction,\n RACValidation,\n RenderProps,\n SlotProps,\n ContextValue,\n} from \"./utils\";\n\nexport const SelectContext = createContext<\n ContextValue<\n // oxlint-disable-next-line typescript/no-explicit-any -- Collection contexts erase item types; each typed factory restores its owner's item contract.\n Omit<SelectProps<any, SelectionMode>, \"validate\" | \"onChange\">,\n HTMLDivElement\n >\n>(null);\n\nexport const SelectStateContext = createContext<SelectState<\n unknown,\n SelectionMode\n> | null>(null);\n\nexport const SelectValueContext =\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<SelectValueProps<any>, HTMLSpanElement>>(null);\n\ntype SelectionMode = \"single\" | \"multiple\";\n\nexport interface SelectRenderProps {\n /**\n * Whether the select is focused, either via a mouse or keyboard.\n *\n * @selector [data-focused]\n */\n isFocused: boolean;\n /**\n * Whether the select is keyboard focused.\n *\n * @selector [data-focus-visible]\n */\n isFocusVisible: boolean;\n /**\n * Whether the select is disabled.\n *\n * @selector [data-disabled]\n */\n isDisabled: boolean;\n /**\n * Whether the select is currently open.\n *\n * @selector [data-open]\n */\n isOpen: boolean;\n /**\n * Whether the select is invalid.\n *\n * @selector [data-invalid]\n */\n isInvalid: boolean;\n /**\n * Whether the select is required.\n *\n * @selector [data-required]\n */\n isRequired: boolean;\n}\n\nexport interface SelectProps<T = object, M extends SelectionMode = \"single\">\n extends\n Omit<\n AriaSelectProps<T, M>,\n | \"children\"\n | \"label\"\n | \"description\"\n | \"errorMessage\"\n | \"validationState\"\n | \"validationBehavior\"\n | \"items\"\n >,\n RACValidation,\n RenderProps<SelectRenderProps>,\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-Select'\n */\n class?: ClassOrFunction<SelectRenderProps>;\n /**\n * Temporary text that occupies the select when it is empty.\n *\n * @default 'Select an item' (localized)\n */\n placeholder?: string;\n}\n\nexport interface SelectValueRenderProps<T> {\n /**\n * Whether the value is a placeholder.\n *\n * @selector [data-placeholder]\n */\n isPlaceholder: boolean;\n /**\n * The object value of the first selected item.\n *\n * @deprecated\n */\n selectedItem: T | null;\n /** The object values of the currently selected items. */\n selectedItems: (T | null)[];\n /** The textValue of the currently selected items. */\n selectedText: string;\n /** The state of the select. */\n state: SelectState<T, \"single\" | \"multiple\">;\n}\n\nexport interface SelectValueProps<T>\n extends\n Omit<JSX.HTMLAttributes<HTMLElement>, keyof RenderProps<unknown>>,\n RenderProps<SelectValueRenderProps<T>, \"span\"> {\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-SelectValue'\n */\n class?: ClassOrFunction<SelectValueRenderProps<T>>;\n}\n\nexport function Select<T extends object, M extends SelectionMode = \"single\">(\n input: SelectProps<T, M> & { ref?: Ref<HTMLDivElement> }\n): JSX.Element {\n if (createIsHidden()) {\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 [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n SelectContext\n );\n\n const contentValues: SelectRenderProps = {\n get isDisabled() {\n return props.isDisabled === true;\n },\n isFocusVisible: false,\n isFocused: false,\n get isInvalid() {\n return props.isInvalid === true;\n },\n isOpen: false,\n get isRequired() {\n return props.isRequired === true;\n },\n };\n\n const content = () => {\n const child = props.children;\n\n return typeof child === \"function\"\n ? child({ ...contentValues, defaultChildren: undefined })\n : child;\n };\n\n return (\n <ListStateContext value={null}>\n <CollectionBuilder\n createCollection={() => new BaseCollection<T>()}\n content={content()}\n >\n {(collection) => (\n <SelectInner\n props={props}\n collection={collection}\n selectRef={setRef}\n />\n )}\n </CollectionBuilder>\n </ListStateContext>\n );\n}\n\nfunction SelectInner<T extends object, M extends SelectionMode>(input: {\n props: SelectProps<T, M>;\n collection: BaseCollection<T>;\n selectRef: (element: HTMLDivElement) => void;\n}): JSX.Element {\n const [scrollRef, setScrollRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const { props } = untrack(() => input);\n const form = createSlottedContext(FormContext);\n\n const validationBehavior = () =>\n props.validationBehavior ?? form?.validationBehavior ?? \"native\";\n\n const state = createSelectState(\n mergeProps(props, {\n children: undefined,\n get collection() {\n return input.collection;\n },\n get validationBehavior() {\n return validationBehavior();\n },\n })\n );\n\n const focus = createFocusRing({ within: true });\n\n const [buttonRef, setButtonRef] = createSignal<HTMLButtonElement | null>(\n null,\n { ownedWrite: true }\n );\n\n const [registerLabel, label] = createSlot(\n () => !isTruthy(props[\"aria-label\"]) && !isTruthy(props[\"aria-labelledby\"])\n );\n\n const aria = createSelect(\n mergeProps(props, {\n get label() {\n return label();\n },\n get validationBehavior() {\n return validationBehavior();\n },\n }),\n state,\n buttonRef\n );\n\n const values: SelectRenderProps = {\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return state.isFocused;\n },\n get isInvalid() {\n return aria.isInvalid;\n },\n get isOpen() {\n return state.isOpen;\n },\n get isRequired() {\n return props.isRequired === true;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Select\", values })\n );\n\n return (\n <SelectContext value={props}>\n <SelectStateContext value={state}>\n <SelectValueContext value={aria.valueProps}>\n <LabelContext\n value={mergeProps(\n merge(() => aria.labelProps ?? {}),\n {\n get elementType(): \"span\" {\n return \"span\";\n },\n registerSlot: registerLabel,\n }\n )}\n >\n <ButtonContext\n value={mergeProps(\n merge(() => aria.triggerProps ?? {}),\n {\n get autoFocus() {\n return props.autoFocus;\n },\n get isPressed() {\n return state.isOpen;\n },\n ref: (element: HTMLButtonElement) => {\n setButtonRef(element);\n },\n }\n )}\n >\n <OverlayTriggerStateContext value={state}>\n <PopoverContext\n value={mergeProps(\n {\n clearContexts: [LabelContext, ButtonContext, TextContext],\n get placement(): \"bottom start\" {\n return \"bottom start\";\n },\n scrollRef,\n trigger: \"Select\",\n triggerRef: buttonRef,\n },\n {\n get \"aria-labelledby\"() {\n return aria.menuProps[\"aria-labelledby\"];\n },\n }\n )}\n >\n <ListBoxContext\n value={mergeProps(\n merge(() => aria.menuProps ?? {}),\n {\n ref: (element: HTMLDivElement) => {\n setScrollRef(element);\n },\n }\n )}\n >\n <ListStateContext value={state}>\n <TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <FieldErrorContext value={aria}>\n <dom.div\n {...mergeProps(\n omit(\n filterDOMProps(props, { global: true }),\n \"id\"\n ),\n render,\n merge(() => focus.focusProps ?? {})\n )}\n ref={input.selectRef}\n slot={props.slot ?? undefined}\n data-focused={state.isFocused || undefined}\n data-focus-visible={\n focus.isFocusVisible || undefined\n }\n data-open={state.isOpen || undefined}\n data-disabled={props.isDisabled ?? undefined}\n data-invalid={aria.isInvalid || undefined}\n data-required={props.isRequired ?? undefined}\n >\n {render.children}\n <HiddenSelect\n {...aria.hiddenSelectProps}\n autoComplete={props.autoComplete}\n />\n </dom.div>\n </FieldErrorContext>\n </TextContext>\n </ListStateContext>\n </ListBoxContext>\n </PopoverContext>\n </OverlayTriggerStateContext>\n </ButtonContext>\n </LabelContext>\n </SelectValueContext>\n </SelectStateContext>\n </SelectContext>\n );\n}\n\nexport function SelectValue<T>(\n input: SelectValueProps<T> & { ref?: Ref<HTMLSpanElement> }\n): JSX.Element {\n if (createIsHidden()) {\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 [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n SelectValueContext\n );\n\n const current = useContext(SelectStateContext);\n\n if (!current) {\n throw new Error(\"SelectValue must be rendered in a Select.\");\n }\n\n // The context erases the item type; it comes from the same Select owner as these render props.\n // SAFETY: The Select owner provides the same T items consumed by this render callback.\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion -- The context erases the owner's generic item type.\n const state = current as SelectState<T, SelectionMode>;\n const context = createSlottedContext(SelectContext);\n const formatter = createListFormatter();\n\n const strings = createLocalizedStringFormatter(\n intlMessages,\n \"@solid2-aria/components\"\n );\n\n const text = createMemo(() =>\n state.selectedItems.map((item) => item.textValue)\n );\n\n const selectedText = createMemo(() =>\n state.selectionManager.selectionMode === \"single\"\n ? (text()[0] ?? \"\")\n : formatter.format(text())\n );\n\n const defaults = createMemo(() => {\n const rendered = state.selectedItems.map((item) => {\n const content: unknown = item.rendered;\n\n if (typeof content === \"function\") {\n // SAFETY: Item render functions are stored by the typed collection factory and return Solid children.\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion -- Collection storage erases the render callback signature.\n const render = content as (...values: unknown[]) => JSX.Element;\n\n return render({\n defaultChildren: undefined,\n isDisabled: false,\n isFocusVisible: false,\n isFocused: false,\n isHovered: false,\n isPressed: false,\n isSelected: false,\n selectionBehavior: \"toggle\",\n selectionMode: \"single\",\n });\n }\n\n return item.rendered;\n });\n\n if (!rendered.length) {\n return context?.placeholder ?? strings.format(\"selectPlaceholder\");\n }\n\n if (state.selectionManager.selectionMode === \"single\") {\n return rendered[0];\n }\n\n let index = 0;\n\n return formatter\n .formatToParts(text())\n .map((part) =>\n part.type === \"element\" ? rendered[(index += 1)] : part.value\n );\n });\n\n const values: SelectValueRenderProps<T> = {\n get isPlaceholder() {\n return state.selectedItems.length === 0;\n },\n // oxlint-disable-next-line typescript/no-deprecated -- Preserve the upstream public getter while selectedItems remains the preferred API.\n get selectedItem() {\n return state.selectedItems[0]?.value ?? null;\n },\n get selectedItems() {\n return state.selectedItems.map((item) => item.value);\n },\n get selectedText() {\n return selectedText();\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n get defaultChildren() {\n return defaults();\n },\n defaultClass: \"solid2-aria-SelectValue\",\n values,\n })\n );\n\n return (\n <dom.span\n {...filterDOMProps(props, { global: true })}\n {...render}\n ref={(element: HTMLElement) => {\n setRef(element);\n }}\n data-placeholder={values.isPlaceholder || undefined}\n >\n <TextContext value={null}>{render.children}</TextContext>\n </dom.span>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwOQ,OAAS,QAAQ;;;;;;;;;;;;;;;;;EAFnB,OAAA,kBAAA,IAAA,IAEW,eADe,IAAI,eAAkB,IAG5C,eAAA,YACA;GACS;GACK;GACZA,WAAW;EACZ,CAAA,CAEc,CAAA;;;;;;;;;;;;;;;EAkLK,O,SAAc,CAAM;;;;;;;;;;;;EAbtB,O,UAAM,CAAM,QAAQ,KAAA;;;;;;;EACpB,O,UAAc,CAAM,aAAa,KAAA;;;;;;;EACjC,O,UACE,CAAM,kBAAkB,KAAA;;;;;;;EAE1B,O,UAAW,CAAM,UAAU,KAAA;;;;;;;EAC3B,O,UAAe,CAAM,cAAc,KAAA;;;;;;;EACnC,O,UAAc,CAAK,aAAa,KAAA;;;;;;;EAChC,O,UAAe,CAAM,cAAc,KAAA;;;;;;;;;;EAlBrC,OAmBC,CACCC,WAAAA;GAAC,OAAA,OAAO;EAAQ,CAAA,GAAA,aAChBC,mBACE;GAAI,OAAA,KAAK;EAAiB,GAD5B,IAAA,KAEgB,KACf,CAAA,CAAA,CAJF;;;;;;;;;;;;CAXC,KAAA,OAAA,OAAA;;EAAK,IAAA,QAAA,MAAM;EAAX,OAAA,UAAA,cAAA,MAAA,QAAA,KAAoB,IAApBC,SAAAA,OAAAA,EAAoB,IAApB,MAAW,YAAXA;;;;;;;;;;;;;;;;;;;;EATF,OAAA,IAACC,IAADC,mBACE;GAAI,OAAA,WACF,KACE,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC,GACtC,IACF,GACA,QACA,YAAY,MAAM,cAAc,CAAC,CAAC,CACpC;EAAC,GARH,IAAA,KASO,OACC,OACQ,OAEZ,OAIY,MAGb,MAKM,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;EA1BX,OAAA,kBAAA,IAAA,KAIuB,OAGjB,QACY,OAET,OAES,OAMA,MAlBQ,IA2BP,CAAA;;;;;;;;;;;;;;;;;;;;;;;;EAvCrB,OAAA,YAAA,IAAA,KAgByB,OAGjB,QACY,OAET,OAES,OAMA,MA7BX,EACL,OAAO;GACL,IAAI,cAAc;IAChB,OAAO,KAAK;GACd;GACA,IAAI,eAAe;IACjB,OAAO,KAAK;GACd;EACF,EACF,CA8BW,CAAA;;;;;;;;;;;;;;;;;;;;EAlDf,OAAO,WACL,YAAY,KAAK,aAAa,CAAC,CAAC,GAChC,EACE,MAAM,YAA4B;GAChC,aAAa,OAAO;EACtB,EACF,CACF;;;;;;;;;;;;;EAEA,OAAA,iBAAA,IAAA,KAiB2B,OAGjB,QACY,OAET,OAES,OAMA,MA/BG,KA0CP,CAAA;;;;;;;;;;;;;;;;;;;;;;EArEpB,OAAO,WACL;GACE,eAAe;IAAC;IAAc;IAAe;GAAW;GACxD,IAAI,YAA4B;IAC9B,OAAO;GACT;GACA;GACA,SAAS;GACT,YAAY;EACd,GACA,EACE,IAAI,oBAAoB;GACtB,OAAO,KAAK,UAAU;EACxB,EACF,CACF;;;;;;;;;;;;;;EAEA,OAAA,eAAA,IAAA,KAEgB,MAGR,cAsBqB,OAGjB,QACY,OAET,OAES,KAkBR,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAvElB,OAAA,eAAA,IAAA,KAOM,WAEY,WAIH,MAUL,cAsBqB,OAGjB,QACY,OAET,OAES,KAmBV,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;EAxFlB,OAAO,WACL,YAAY,KAAK,gBAAgB,CAAC,CAAC,GACnC;GACE,IAAI,YAAY;IACd,OAAO,MAAM;GACf;GACA,IAAI,YAAY;IACd,OAAO,MAAM;GACf;GACA,MAAM,YAA+B;IACnC,aAAa,OAAO;GACtB;EACF,CACF;;;;;;;;;;;;;;;;EAEA,OAAA,2BAAA,IAAA,MAQQ,WAEY,WAIH,MAUL,cAsBqB,OAGjB,QACY,OAET,OAES,OAtDO,KA0EP,CAAA;;;;;;;;;;;;;;;;;;;;;;;;EApG9B,OAAO,WACL,YAAY,KAAK,cAAc,CAAC,CAAC,GACjC;GACE,IAAI,cAAsB;IACxB,OAAO;GACT;GACA,cAAc;EAChB,CACF;;;;;;;;;;;;;;;;;EAEA,OAAA,cAAA,IAAA,MAEgB,MAGD,OAGA,OAGP,cAaE,WAEY,WAcR,cAyBI,QACY,OAET,KAuBN,CAAA;;;;;;;;;;;;;;;;;;;;;;;EAvGC,O,SAAO,CAAK;;;;;;;;;;;;;;;;;;EAC9B,OAAA,aAAA,IAAA,MAEgB,MAKI,eASH,OAGA,OAGP,cAaE,WAEY,WAcR,cAyBI,QACY,OAET,KAwBT,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAxGhB,OAAA,mBAAA,IAAA,MAA2B,MAQL,eASH,OAGA,OAGP,cAaE,WAEY,WAcR,cAyBI,QACY,OAET,KAyBL,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA1GtB,OAAA,mBAAA,IAAA,MAC6B,MAQL,eASH,OAGA,OAGP,cAaE,WAEY,WAcR,cAyBI,QACY,OAET,OAjFA,KA2GP,CAAA;;;;;;;;;;;;;;;;;;;;;;;EA6HM,O,SAAC,CAAO;;;;;;;;;;;;;EAFlC,O,SAAkB,CAAO,iBAAiB,KAAA;;;;;;;;EAE1C,OAAA,YAAA,IAAA,MAA2B,QAAP,IAAoC,CAAA;;;;;;;;;;;;;AAxe9D,MAAa,gBAAgB,cAM3B,IAAI;AAEN,MAAa,qBAAqB,cAGxB,IAAI;AAEd,MAAa,qBAEX,cAAoE,IAAI;AA4G1E,SAAgB,OACd,OACa;CACb,IAAI,eAAe,GAEjB,OAAO;CAGT,MAAM,CAAC,SAAS,UAAU,mBACxB,OACA,cAAc,MAAM,GAAG,GACvB,aACF;CAEA,MAAM,gBAAmC;EACvC,IAAI,aAAa;GACf,OAAO,MAAM,eAAe;EAC9B;EACA,gBAAgB;EAChB,WAAW;EACX,IAAI,YAAY;GACd,OAAO,MAAM,cAAc;EAC7B;EACA,QAAQ;EACR,IAAI,aAAa;GACf,OAAO,MAAM,eAAe;EAC9B;CACF;CAEA,MAAM,gBAAgB;EACpB,MAAM,QAAQ,MAAM;EAEpB,OAAO,OAAO,UAAU,aACpB,MAAM;GAAE,GAAG;GAAe,iBAAiB,KAAA;EAAU,CAAC,IACtD;CACN;CAEA,OAAA,iBACE,IAAA,KAGa,SAIE,OAEI,QATM,IAaP,CAAA;AAEtB;AAEA,SAAS,YAAuD,OAIhD;CACd,MAAM,CAAC,WAAW,gBAAgB,aAAoC,MAAM,EAC1E,YAAY,KACd,CAAC;CAED,MAAM,EAAE,UAAU,cAAc,KAAK;CACrC,MAAM,OAAO,qBAAqB,WAAW;CAE7C,MAAM,2BACJ,MAAM,sBAAsB,MAAM,sBAAsB;CAE1D,MAAM,QAAQ,kBACZ,WAAW,OAAO;EAChB,UAAU,KAAA;EACV,IAAI,aAAa;GACf,OAAO,MAAM;EACf;EACA,IAAI,qBAAqB;GACvB,OAAO,mBAAmB;EAC5B;CACF,CAAC,CACH;CAEA,MAAM,QAAQ,gBAAgB,EAAE,QAAQ,KAAK,CAAC;CAE9C,MAAM,CAAC,WAAW,gBAAgB,aAChC,MACA,EAAE,YAAY,KAAK,CACrB;CAEA,MAAM,CAAC,eAAe,SAAS,iBACvB,CAAC,SAAS,MAAM,aAAa,KAAK,CAAC,SAAS,MAAM,kBAAkB,CAC5E;CAEA,MAAM,OAAO,aACX,WAAW,OAAO;EAChB,IAAI,QAAQ;GACV,OAAO,MAAM;EACf;EACA,IAAI,qBAAqB;GACvB,OAAO,mBAAmB;EAC5B;CACF,CAAC,GACD,OACA,SACF;CAuBA,MAAM,SAAS,kBACb,WAAW,OAAO;EAAE,cAAc;EAAsB,QAAA;GArBxD,IAAI,aAAa;IACf,OAAO,MAAM,eAAe;GAC9B;GACA,IAAI,iBAAiB;IACnB,OAAO,MAAM;GACf;GACA,IAAI,YAAY;IACd,OAAO,MAAM;GACf;GACA,IAAI,YAAY;IACd,OAAO,KAAK;GACd;GACA,IAAI,SAAS;IACX,OAAO,MAAM;GACf;GACA,IAAI,aAAa;IACf,OAAO,MAAM,eAAe;GAC9B;EAIwD;CAAO,CAAC,CAClE;CAEA,OAAA,cACE,IAAA,MAE+B,MAQL,eASH,OAGA,OAGP,cAaE,WAEY,WAcR,cAyBI,QACY,OAET,OAlFP,KA6GP,CAAA;AAEnB;AAEA,SAAgB,YACd,OACa;CACb,IAAI,eAAe,GAEjB,OAAO;CAGT,MAAM,CAAC,SAAS,UAAU,mBACxB,OACA,cAAc,MAAM,GAAG,GACvB,kBACF;CAEA,MAAM,UAAU,WAAW,kBAAkB;CAE7C,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,2CAA2C;CAM7D,MAAM,QAAQ;CACd,MAAM,UAAU,qBAAqB,aAAa;CAClD,MAAM,YAAY,oBAAoB;CAEtC,MAAM,UAAU,+BACdM,cACA,yBACF;CAEA,MAAM,OAAO,iBACX,MAAM,cAAc,KAAK,SAAS,KAAK,SAAS,CAClD;CAEA,MAAM,eAAe,iBACnB,MAAM,iBAAiB,kBAAkB,WACpC,KAAK,CAAC,CAAC,MAAM,KACd,UAAU,OAAO,KAAK,CAAC,CAC7B;CAEA,MAAM,WAAW,iBAAiB;EAChC,MAAM,WAAW,MAAM,cAAc,KAAK,SAAS;GACjD,MAAM,UAAmB,KAAK;GAE9B,IAAI,OAAO,YAAY,YAKrB,OAAOC,QAAO;IACZ,iBAAiB,KAAA;IACjB,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,WAAW;IACX,WAAW;IACX,YAAY;IACZ,mBAAmB;IACnB,eAAe;GACjB,CAAC;GAGH,OAAO,KAAK;EACd,CAAC;EAED,IAAI,CAAC,SAAS,QACZ,OAAO,SAAS,eAAe,QAAQ,OAAO,mBAAmB;EAGnE,IAAI,MAAM,iBAAiB,kBAAkB,UAC3C,OAAO,SAAS;EAGlB,IAAI,QAAQ;EAEZ,OAAO,UACJ,cAAc,KAAK,CAAC,CAAC,CACrB,KAAK,SACJ,KAAK,SAAS,YAAY,SAAU,SAAS,KAAM,KAAK,KAC1D;CACJ,CAAC;CAED,MAAM,SAAoC;EACxC,IAAI,gBAAgB;GAClB,OAAO,MAAM,cAAc,WAAW;EACxC;EAEA,IAAI,eAAe;GACjB,OAAO,MAAM,cAAc,EAAE,EAAE,SAAS;EAC1C;EACA,IAAI,gBAAgB;GAClB,OAAO,MAAM,cAAc,KAAK,SAAS,KAAK,KAAK;EACrD;EACA,IAAI,eAAe;GACjB,OAAO,aAAa;EACtB;EACA;CACF;CAEA,MAAM,SAAS,kBACb,WAAW,OAAO;EAChB,IAAI,kBAAkB;GACpB,OAAO,SAAS;EAClB;EACA,cAAc;EACd;CACF,CAAC,CACH;CAEA,OAAA,IACGN,KAADC,mBACE;EAAI,OAAA,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC;CAAC,GACvC,QAFN,IAAA,MAMoB,QAES,SALrB,YAAyB;EAC7B,OAAO,OAAO;CAChB,CAIQ,CAAA,CAAA;AAEd"}
@@ -0,0 +1,54 @@
1
+ /*
2
+ * Copyright 2025 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/SelectionIndicator.tsx.
14
+ * Modified for Solid Aria: adapted components, contexts, refs, 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 { createContextProps } from "./utils.js";
18
+ import { SharedElement } from "./shared-element-transition.js";
19
+ import { createContext, untrack } from "solid-js";
20
+ import { mergeProps } from "@solidjs/web";
21
+ // src/selection-indicator.tsx
22
+ var _m$ = Symbol();
23
+ var _d$ = {
24
+ get() {
25
+ return this[_m$].class ?? "solid2-aria-SelectionIndicator";
26
+ },
27
+ enumerable: true,
28
+ configurable: true
29
+ };
30
+ var _d$2 = {
31
+ get() {
32
+ return this[_m$].isSelected;
33
+ },
34
+ enumerable: true,
35
+ configurable: true
36
+ };
37
+ function _P$(_p, _p2, _p3) {
38
+ this[_m$] = _p;
39
+ Object.defineProperty(this, "class", _d$);
40
+ this.name = _p2;
41
+ Object.defineProperty(this, "isVisible", _d$2);
42
+ this.ref = _p3;
43
+ }
44
+ _P$.prototype = Object.prototype;
45
+ const SelectionIndicatorContext = createContext({ isSelected: false });
46
+ function SelectionIndicator(input) {
47
+ const [props, , setRef] = createContextProps(input, untrack(() => input.ref), SelectionIndicatorContext);
48
+ return SharedElement(mergeProps(props, new _P$(props, "SelectionIndicator", (element) => {
49
+ setRef(element);
50
+ })));
51
+ }
52
+ export { SelectionIndicator, SelectionIndicatorContext };
53
+
54
+ //# sourceMappingURL=selection-indicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selection-indicator.js","names":["<SharedElement\n {...props}\n class={props.class ?? \"solid2-aria-SelectionIndicator\"}\n name=\"SelectionIndicator\"\n isVisible={props.isSelected}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n />","_$mergeProps"],"sources":["../../src/selection-indicator.tsx"],"sourcesContent":["/*\n * Copyright 2025 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/SelectionIndicator.tsx.\n * Modified for Solid Aria: adapted components, contexts, refs, 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 type { JSX } from \"@solidjs/web\";\nimport { untrack, createContext } from \"solid-js\";\n\nimport { SharedElement } from \"./shared-element-transition\";\nimport type { SharedElementPropsBase } from \"./shared-element-transition\";\nimport { createContextProps } from \"./utils\";\nimport type { ContextValue, SlotProps } from \"./utils\";\n\nexport interface SelectionIndicatorProps\n extends SharedElementPropsBase, SlotProps {\n isSelected?: boolean;\n}\n\nexport const SelectionIndicatorContext = createContext<\n ContextValue<SelectionIndicatorProps, HTMLDivElement>\n>({ isSelected: false });\n\nexport function SelectionIndicator(\n input: SelectionIndicatorProps\n): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n SelectionIndicatorContext\n );\n\n return (\n <SharedElement\n {...props}\n class={props.class ?? \"solid2-aria-SelectionIndicator\"}\n name=\"SelectionIndicator\"\n isVisible={props.isSelected}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EA8CM,O,SAAO,CAAM,SAAS;;;;;;;EAEtB,O,SAAW,CAAM;;;;;;;;;;;;;AAlBvB,MAAa,4BAA4B,cAEvC,EAAE,YAAY,MAAM,CAAC;AAEvB,SAAgB,mBACd,OACa;CACb,MAAM,CAAC,SAAS,UAAU,mBACxB,OACA,cAAc,MAAM,GAAG,GACvB,yBACF;CAEA,OAAA,cACEA,WACM,OADN,IAAA,IAES,OACP,uBAEM,YAA4B;EAChC,OAAO,OAAO;CAChB,CACD,CAAA,CAAA;AAEL"}
@@ -0,0 +1,91 @@
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/Separator.tsx.
14
+ * Modified for Solid Aria: adapted components, contexts, refs, 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 { assignRef, createContextProps, dom } from "./utils.js";
18
+ import { mergeProps } from "@solid2-aria/core/utils/merge-props";
19
+ import { createContext, merge, untrack } from "solid-js";
20
+ import { dynamic, mergeProps as mergeProps$1 } from "@solidjs/web";
21
+ import { CollectionNode } from "@solid2-aria/core/collections/base-collection";
22
+ import { createLeafComponent } from "@solid2-aria/core/collections/collection-builder";
23
+ import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
24
+ import { createSeparator } from "@solid2-aria/core/separator/create-separator";
25
+ // src/separator.tsx
26
+ var _m$ = Symbol();
27
+ var _d$ = {
28
+ get() {
29
+ return this[_m$].class ?? "solid2-aria-Separator";
30
+ },
31
+ enumerable: true,
32
+ configurable: true
33
+ };
34
+ var _d$2 = {
35
+ get() {
36
+ return this[_m$].style;
37
+ },
38
+ enumerable: true,
39
+ configurable: true
40
+ };
41
+ var _d$3 = {
42
+ get() {
43
+ return this[_m$].render;
44
+ },
45
+ enumerable: true,
46
+ configurable: true
47
+ };
48
+ var _d$4 = {
49
+ get() {
50
+ return this[_m$].slot ?? void 0;
51
+ },
52
+ enumerable: true,
53
+ configurable: true
54
+ };
55
+ function _P$(_p, _p2) {
56
+ this[_m$] = _p;
57
+ Object.defineProperty(this, "class", _d$);
58
+ Object.defineProperty(this, "style", _d$2);
59
+ Object.defineProperty(this, "render", _d$3);
60
+ this.ref = _p2;
61
+ Object.defineProperty(this, "slot", _d$4);
62
+ }
63
+ _P$.prototype = Object.prototype;
64
+ const SeparatorContext = createContext({});
65
+ var SeparatorNode = class extends CollectionNode {
66
+ static type = "separator";
67
+ filter(collection, next) {
68
+ const prev = this.prevKey === null ? null : next.getItem(this.prevKey);
69
+ if (!prev || prev.type === "separator") return null;
70
+ const clone = this.clone();
71
+ next.addDescendants(clone, collection);
72
+ return clone;
73
+ }
74
+ };
75
+ const SeparatorComponent = createLeafComponent(SeparatorNode, (input) => {
76
+ const [props, , setRef] = createContextProps(input, untrack(() => input.ref), SeparatorContext);
77
+ const aria = createSeparator(props);
78
+ return dynamic(() => dom[props.elementType === "div" || props.orientation === "vertical" ? "div" : "hr"])(mergeProps$1(() => {
79
+ return mergeProps(filterDOMProps(props, { global: true }), merge(() => aria.separatorProps ?? {}));
80
+ }, new _P$(props, (element) => {
81
+ setRef(element);
82
+ })));
83
+ });
84
+ function Separator(props) {
85
+ return SeparatorComponent(mergeProps$1(props, { ref: (element) => {
86
+ assignRef(untrack(() => props.ref), element);
87
+ } }));
88
+ }
89
+ export { Separator, SeparatorContext, SeparatorNode };
90
+
91
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.js","names":["<Element\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.separatorProps ?? {})\n )}\n class={props.class ?? \"solid2-aria-Separator\"}\n style={props.style}\n render={props.render}\n ref={(element: HTMLElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n />","<SeparatorComponent\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 }}","_$mergeProps"],"sources":["../../src/separator.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/Separator.tsx.\n * Modified for Solid Aria: adapted components, contexts, refs, 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 { CollectionNode } from \"@solid2-aria/core/collections/base-collection\";\nimport type { BaseCollection } from \"@solid2-aria/core/collections/base-collection\";\nimport { createLeafComponent } from \"@solid2-aria/core/collections/collection-builder\";\nimport { createSeparator } from \"@solid2-aria/core/separator/create-separator\";\nimport type { SeparatorProps as AriaSeparatorProps } from \"@solid2-aria/core/separator/create-separator\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { dynamic } from \"@solidjs/web\";\nimport type { JSX } from \"@solidjs/web\";\nimport { merge, untrack, createContext } from \"solid-js\";\n\nimport { assignRef, dom, createContextProps } from \"./utils\";\nimport type {\n ContextValue,\n Ref,\n StyleProps,\n SlotProps,\n DOMRenderProps,\n} from \"./utils\";\n\nexport interface SeparatorProps\n extends\n AriaSeparatorProps,\n StyleProps,\n SlotProps,\n DOMRenderProps<\"hr\" | \"div\", undefined> {\n ref?: Ref<HTMLElement>;\n}\n\nexport const SeparatorContext = createContext<\n ContextValue<SeparatorProps, HTMLElement>\n>({});\n\nexport class SeparatorNode extends CollectionNode<unknown> {\n static override readonly type = \"separator\";\n override filter(\n collection: BaseCollection<unknown>,\n next: BaseCollection<unknown>\n ): this | null {\n const prev = this.prevKey === null ? null : next.getItem(this.prevKey);\n\n if (!prev || prev.type === \"separator\") {\n return null;\n }\n\n const clone = this.clone();\n next.addDescendants(clone, collection);\n\n return clone;\n }\n}\n\nconst SeparatorComponent = createLeafComponent<SeparatorProps, HTMLElement>(\n SeparatorNode,\n (input: SeparatorProps): JSX.Element => {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n SeparatorContext\n );\n\n const aria = createSeparator(props);\n\n const Element = dynamic(\n () =>\n dom[\n props.elementType === \"div\" || props.orientation === \"vertical\"\n ? \"div\"\n : \"hr\"\n ]\n );\n\n return (\n <Element\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.separatorProps ?? {})\n )}\n class={props.class ?? \"solid2-aria-Separator\"}\n style={props.style}\n render={props.render}\n ref={(element: HTMLElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n />\n );\n }\n);\n\nexport function Separator(props: SeparatorProps): JSX.Element {\n return (\n <SeparatorComponent\n {...props}\n ref={(element: HTMLElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+FQ,O,SAAO,CAAM,SAAS;;;;;;;EACtB,O,SAAO,CAAM;;;;;;;EACb,O,SAAQ,CAAM;;;;;;;EAId,O,SAAM,CAAM,QAAQ,KAAA;;;;;;;;;;;;;;AAvD5B,MAAa,mBAAmB,cAE9B,CAAC,CAAC;AAEJ,IAAa,gBAAb,cAAmC,eAAwB;CACzD,OAAyB,OAAO;CAChC,OACE,YACA,MACa;EACb,MAAM,OAAO,KAAK,YAAY,OAAO,OAAO,KAAK,QAAQ,KAAK,OAAO;EAErE,IAAI,CAAC,QAAQ,KAAK,SAAS,aACzB,OAAO;EAGT,MAAM,QAAQ,KAAK,MAAM;EACzB,KAAK,eAAe,OAAO,UAAU;EAErC,OAAO;CACT;AACF;AAEA,MAAM,qBAAqB,oBACzB,gBACC,UAAuC;CACtC,MAAM,CAAC,SAAS,UAAU,mBACxB,OACA,cAAc,MAAM,GAAG,GACvB,gBACF;CAEA,MAAM,OAAO,gBAAgB,KAAK;CAWlC,OATgB,cAEZ,IACE,MAAM,gBAAgB,SAAS,MAAM,gBAAgB,aACjD,QACA,KAIV,CAAA,CACEA,mBACE;EAAI,OAAA,WACF,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC,GACtC,YAAY,KAAK,kBAAkB,CAAC,CAAC,CACvC;CAAC,GAJH,IAAA,IAKS,QAGD,YAAyB;EAC7B,OAAO,OAAO;CAChB,CAED,CAAA,CAAA;AAEL,CACF;AAEA,SAAgB,UAAU,OAAoC;CAC5D,OAAA,mBACEC,aACM,OADN,EAEEC,MAAM,YAAyB;EAC7B,UACE,cAAc,MAAM,GAAG,GACvB,OACF;CACF,EACD,CAAA,CAAA;AAEL"}
@@ -0,0 +1,189 @@
1
+ /*
2
+ * Copyright 2025 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/SharedElementTransition.tsx.
14
+ * Modified for Solid Aria: adapted components, contexts, refs, and reactive properties for Solid 2.
15
+ * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.
16
+ */
17
+ import { assignRef, createRenderProps, dom } from "./utils.js";
18
+ import { mergeProps } from "@solid2-aria/core/utils/merge-props";
19
+ import { Show, createContext, createEffect, createSignal, onSettled, untrack, useContext } from "solid-js";
20
+ import { mergeProps as mergeProps$1 } from "@solidjs/web";
21
+ import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
22
+ // src/shared-element-transition.tsx
23
+ var _m$ = Symbol();
24
+ var _m$2 = Symbol();
25
+ var _m$3 = Symbol();
26
+ var _m$4 = Symbol();
27
+ var _m$5 = Symbol();
28
+ var _d$ = {
29
+ get() {
30
+ return this[_m$].children;
31
+ },
32
+ enumerable: true,
33
+ configurable: true
34
+ };
35
+ function _P$(_p, _p2) {
36
+ this[_m$] = _p;
37
+ this.value = _p2;
38
+ Object.defineProperty(this, "children", _d$);
39
+ }
40
+ _P$.prototype = Object.prototype;
41
+ var _d$2 = {
42
+ get() {
43
+ return this[_m$].isEntering || void 0;
44
+ },
45
+ enumerable: true,
46
+ configurable: true
47
+ };
48
+ var _d$3 = {
49
+ get() {
50
+ return this[_m$].isExiting || void 0;
51
+ },
52
+ enumerable: true,
53
+ configurable: true
54
+ };
55
+ function _P$2(_p3, _p4) {
56
+ this[_m$] = _p3;
57
+ this.ref = _p4;
58
+ Object.defineProperty(this, "data-entering", _d$2);
59
+ Object.defineProperty(this, "data-exiting", _d$3);
60
+ }
61
+ _P$2.prototype = Object.prototype;
62
+ var _d$4 = {
63
+ get() {
64
+ const state = this[_m$];
65
+ return state() !== "hidden";
66
+ },
67
+ enumerable: true,
68
+ configurable: true
69
+ };
70
+ var _d$5 = {
71
+ get() {
72
+ const props = this[_m$2];
73
+ const render = this[_m$3];
74
+ const values = this[_m$4];
75
+ const setRef = this[_m$5];
76
+ return dom.div(mergeProps$1(() => {
77
+ return filterDOMProps(props, { global: true });
78
+ }, render, new _P$2(values, [(element) => {
79
+ setRef(element);
80
+ }, (element) => {
81
+ assignRef(untrack(() => props.ref), element);
82
+ }])));
83
+ },
84
+ enumerable: true,
85
+ configurable: true
86
+ };
87
+ function _P$3(_p5, _p6, _p7, _p8, _p9) {
88
+ this[_m$] = _p5;
89
+ this[_m$2] = _p6;
90
+ this[_m$3] = _p7;
91
+ this[_m$4] = _p8;
92
+ this[_m$5] = _p9;
93
+ Object.defineProperty(this, "when", _d$4);
94
+ Object.defineProperty(this, "children", _d$5);
95
+ }
96
+ _P$3.prototype = Object.prototype;
97
+ const SharedElementContext = createContext(null);
98
+ function SharedElementTransition(props) {
99
+ return SharedElementContext(new _P$(props, /* @__PURE__ */ new Map()));
100
+ }
101
+ function SharedElement(props) {
102
+ const scope = useContext(SharedElementContext);
103
+ if (!scope) throw new Error("SharedElement must be inside SharedElementTransition.");
104
+ const [ref, setRef] = createSignal(null, { ownedWrite: true });
105
+ const [state, setState] = createSignal(untrack(() => props.isVisible === false ? "hidden" : "visible"), { ownedWrite: true });
106
+ let frame;
107
+ let generation = 0;
108
+ const snapshot = () => {
109
+ const el = ref();
110
+ if (!(el?.isConnected === true) || Object.hasOwn(el.dataset, "exiting")) return;
111
+ const style = getComputedStyle(el);
112
+ if (style.transitionProperty !== "none") scope.set(props.name, {
113
+ rect: el.getBoundingClientRect(),
114
+ style: style.transitionProperty.split(/\s*,\s*/u).map((property) => [property, style.getPropertyValue(property)])
115
+ });
116
+ };
117
+ createEffect(() => ({
118
+ element: ref(),
119
+ name: props.name,
120
+ visible: props.isVisible !== false
121
+ }), ({ visible, name, element }) => {
122
+ generation += 1;
123
+ const current = generation;
124
+ if (frame !== void 0) cancelAnimationFrame(frame);
125
+ if (visible && !element) {
126
+ setState("visible");
127
+ return;
128
+ }
129
+ if (!element) return;
130
+ const previous = scope.get(name);
131
+ if (visible && previous) {
132
+ scope.delete(name);
133
+ setState("visible");
134
+ const animations = element.getAnimations?.() ?? [];
135
+ const values = previous.style.map(([property, value]) => {
136
+ const currentValue = element.style.getPropertyValue(property);
137
+ if (property === "translate") {
138
+ const rect = element.getBoundingClientRect();
139
+ element.style.setProperty(property, `${previous.rect.left - rect.left}px ${previous.rect.top - rect.top}px`);
140
+ } else element.style.setProperty(property, value);
141
+ return [property, currentValue];
142
+ });
143
+ for (const animation of element.getAnimations?.() ?? []) if (!animations.includes(animation)) animation.cancel();
144
+ frame = requestAnimationFrame(() => {
145
+ for (const [property, value] of values) element.style.setProperty(property, value);
146
+ frame = void 0;
147
+ });
148
+ } else if (visible) {
149
+ setState("entering");
150
+ frame = requestAnimationFrame(() => {
151
+ frame = void 0;
152
+ if (current === generation) setState("visible");
153
+ });
154
+ } else {
155
+ snapshot();
156
+ queueMicrotask(() => {
157
+ if (current !== generation) return;
158
+ if (scope.has(name)) {
159
+ scope.delete(name);
160
+ setState("exiting");
161
+ const hide = async () => {
162
+ await Promise.allSettled((element.getAnimations?.() ?? []).map((animation) => animation.finished));
163
+ if (current === generation) setState("hidden");
164
+ };
165
+ hide();
166
+ } else setState("hidden");
167
+ });
168
+ }
169
+ return snapshot;
170
+ });
171
+ onSettled(() => () => {
172
+ generation += 1;
173
+ snapshot();
174
+ if (frame !== void 0) cancelAnimationFrame(frame);
175
+ });
176
+ const values = {
177
+ get isEntering() {
178
+ return state() === "entering";
179
+ },
180
+ get isExiting() {
181
+ return state() === "exiting";
182
+ }
183
+ };
184
+ const render = createRenderProps(mergeProps(props, { values }));
185
+ return Show(new _P$3(state, props, render, values, setRef));
186
+ }
187
+ export { SharedElement, SharedElementTransition };
188
+
189
+ //# sourceMappingURL=shared-element-transition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shared-element-transition.js","names":["dom.div","<dom.div\n {...filterDOMProps(props, { global: true })}\n {...render}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-entering={values.isEntering || undefined}\n data-exiting={values.isExiting || undefined}\n />","_$mergeProps"],"sources":["../../src/shared-element-transition.tsx"],"sourcesContent":["/*\n * Copyright 2025 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/SharedElementTransition.tsx.\n * Modified for Solid Aria: adapted components, contexts, refs, and reactive properties for Solid 2.\n * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.\n */\n\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n createSignal,\n createContext,\n createEffect,\n onSettled,\n Show,\n useContext,\n untrack,\n} from \"solid-js\";\n\nimport { assignRef, dom, createRenderProps } from \"./utils\";\nimport type { Ref, SlotProps, RenderProps } from \"./utils\";\n\ninterface Snapshot {\n rect: DOMRect;\n style: [string, string][];\n}\n\nconst SharedElementContext = createContext<Map<string, Snapshot> | null>(null);\n\nexport interface SharedElementTransitionProps {\n children?: JSX.Element;\n}\n\nexport function SharedElementTransition(\n props: SharedElementTransitionProps\n): JSX.Element {\n return (\n <SharedElementContext value={new Map()}>\n {props.children}\n </SharedElementContext>\n );\n}\n\nexport interface SharedElementRenderProps {\n isEntering: boolean;\n isExiting: boolean;\n}\n\nexport interface SharedElementPropsBase\n extends\n Omit<\n JSX.HTMLAttributes<HTMLDivElement>,\n \"children\" | \"class\" | \"style\" | \"ref\" | \"slot\"\n >,\n SlotProps,\n RenderProps<SharedElementRenderProps> {\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface SharedElementProps extends SharedElementPropsBase {\n name: string;\n isVisible?: boolean;\n}\n\nexport function SharedElement(props: SharedElementProps): JSX.Element {\n const scope = useContext(SharedElementContext);\n\n if (!scope) {\n throw new Error(\"SharedElement must be inside SharedElementTransition.\");\n }\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const [state, setState] = createSignal<\n \"visible\" | \"hidden\" | \"entering\" | \"exiting\"\n >(\n untrack(() => (props.isVisible === false ? \"hidden\" : \"visible\")),\n { ownedWrite: true }\n );\n\n let frame: number | undefined;\n let generation = 0;\n\n const snapshot = () => {\n const el = ref();\n\n if (!(el?.isConnected === true) || Object.hasOwn(el.dataset, \"exiting\")) {\n return;\n }\n\n const style = getComputedStyle(el);\n\n if (style.transitionProperty !== \"none\") {\n scope.set(props.name, {\n rect: el.getBoundingClientRect(),\n style: style.transitionProperty\n .split(/\\s*,\\s*/u)\n .map((property) => [property, style.getPropertyValue(property)]),\n });\n }\n };\n\n createEffect(\n () => ({\n element: ref(),\n name: props.name,\n visible: props.isVisible !== false,\n }),\n ({ visible, name, element }): undefined | (() => void) => {\n generation += 1;\n const current = generation;\n\n if (frame !== undefined) {\n cancelAnimationFrame(frame);\n }\n\n if (visible && !element) {\n setState(\"visible\");\n\n return undefined;\n }\n\n if (!element) {\n return undefined;\n }\n\n const previous = scope.get(name);\n\n if (visible && previous) {\n scope.delete(name);\n setState(\"visible\");\n const animations = element.getAnimations?.() ?? [];\n\n const values = previous.style.map(([property, value]) => {\n const currentValue = element.style.getPropertyValue(property);\n\n if (property === \"translate\") {\n const rect = element.getBoundingClientRect();\n element.style.setProperty(\n property,\n `${previous.rect.left - rect.left}px ${previous.rect.top - rect.top}px`\n );\n } else {\n element.style.setProperty(property, value);\n }\n\n return [property, currentValue] as const;\n });\n\n for (const animation of element.getAnimations?.() ?? []) {\n if (!animations.includes(animation)) {\n animation.cancel();\n }\n }\n\n frame = requestAnimationFrame(() => {\n for (const [property, value] of values) {\n element.style.setProperty(property, value);\n }\n\n frame = undefined;\n });\n } else if (visible) {\n setState(\"entering\");\n frame = requestAnimationFrame(() => {\n frame = undefined;\n\n if (current === generation) {\n setState(\"visible\");\n }\n });\n } else {\n snapshot();\n queueMicrotask(() => {\n if (current !== generation) {\n return;\n }\n\n if (scope.has(name)) {\n scope.delete(name);\n setState(\"exiting\");\n\n const hide = async () => {\n await Promise.allSettled(\n (element.getAnimations?.() ?? []).map(\n // oxlint-disable-next-line typescript/promise-function-async -- Wait on existing animation promises without wrapping them.\n (animation) => animation.finished\n )\n );\n\n if (current === generation) {\n setState(\"hidden\");\n }\n };\n\n void hide();\n } else {\n setState(\"hidden\");\n }\n });\n }\n\n return snapshot;\n }\n );\n onSettled(() => () => {\n generation += 1;\n snapshot();\n\n if (frame !== undefined) {\n cancelAnimationFrame(frame);\n }\n });\n\n const values: SharedElementRenderProps = {\n get isEntering() {\n return state() === \"entering\";\n },\n get isExiting() {\n return state() === \"exiting\";\n },\n };\n\n const render = createRenderProps(mergeProps(props, { values }));\n\n return (\n <Show when={state() !== \"hidden\"}>\n <dom.div\n {...filterDOMProps(props, { global: true })}\n {...render}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-entering={values.isEntering || undefined}\n data-exiting={values.isExiting || undefined}\n />\n </Show>\n );\n}\n"],"mappings":"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"}