@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,180 @@
1
+ /*
2
+ * Copyright 2024 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/Disclosure.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 { DEFAULT_SLOT, assignRef, createContextProps, createRenderProps, dom } from "./utils.js";
18
+ import { ButtonContext } from "./button.js";
19
+ import { createComponent, mergeProps } from "@solidjs/web";
20
+ import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
21
+ import { createContext, createSignal, createUniqueId, merge, omit, untrack, useContext } from "solid-js";
22
+ import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
23
+ import { createFocusRing } from "@solid2-aria/core/focus/create-focus-ring";
24
+ import { createDisclosure } from "@solid2-aria/core/disclosure/create-disclosure";
25
+ import { createDisclosureGroupState } from "@solid2-aria/stately/disclosure/create-disclosure-group-state";
26
+ import { createDisclosureState } from "@solid2-aria/stately/disclosure/create-disclosure-state";
27
+ // src/disclosure.tsx
28
+ const DisclosureGroupStateContext = createContext(null);
29
+ const DisclosureStateContext = createContext(null);
30
+ const DisclosureContext = createContext(null);
31
+ const PanelContext = createContext(null);
32
+ function DisclosureGroup(props) {
33
+ const state = createDisclosureGroupState(props);
34
+ const render = createRenderProps(mergeProps$1(props, {
35
+ defaultClass: "solid2-aria-DisclosureGroup",
36
+ values: {
37
+ get isDisabled() {
38
+ return state.isDisabled;
39
+ },
40
+ state
41
+ }
42
+ }));
43
+ return createComponent(dom.div, mergeProps(() => {
44
+ return filterDOMProps(props, { global: true });
45
+ }, render, {
46
+ ref: (element) => {
47
+ assignRef(untrack(() => props.ref), element);
48
+ },
49
+ get "data-disabled"() {
50
+ return state.isDisabled || void 0;
51
+ },
52
+ get children() {
53
+ return createComponent(DisclosureGroupStateContext, {
54
+ value: state,
55
+ get children() {
56
+ return render.children;
57
+ }
58
+ });
59
+ }
60
+ }));
61
+ }
62
+ function Disclosure(input) {
63
+ const [props, , setRef] = createContextProps(input, untrack(() => input.ref), DisclosureContext);
64
+ const group = useContext(DisclosureGroupStateContext);
65
+ const defaultId = createUniqueId();
66
+ const id = () => props.id ?? defaultId;
67
+ const options = mergeProps$1(props, {
68
+ get isDisabled() {
69
+ return props.isDisabled ?? group?.isDisabled;
70
+ },
71
+ get isExpanded() {
72
+ return group ? group.expandedKeys.has(id()) : props.isExpanded;
73
+ },
74
+ onExpandedChange(expanded) {
75
+ group?.toggleKey(id());
76
+ props.onExpandedChange?.(expanded);
77
+ }
78
+ });
79
+ const state = createDisclosureState(options);
80
+ const [panelRef, setPanelRef] = createSignal(null, { ownedWrite: true });
81
+ const aria = createDisclosure(options, state, panelRef);
82
+ const focus = createFocusRing({ within: true });
83
+ const values = {
84
+ get isDisabled() {
85
+ return options.isDisabled === true;
86
+ },
87
+ get isExpanded() {
88
+ return state.isExpanded;
89
+ },
90
+ get isFocusVisibleWithin() {
91
+ return focus.isFocusVisible;
92
+ },
93
+ state
94
+ };
95
+ const render = createRenderProps(mergeProps$1(props, {
96
+ defaultClass: "solid2-aria-Disclosure",
97
+ values
98
+ }));
99
+ const panel = {
100
+ get panelProps() {
101
+ return aria.panelProps;
102
+ },
103
+ panelRef,
104
+ setPanelRef: (element) => {
105
+ setPanelRef(element);
106
+ }
107
+ };
108
+ return createComponent(dom.div, mergeProps(() => {
109
+ return mergeProps$1(omit(filterDOMProps(props, { global: true }), "id"), merge(() => focus.focusProps ?? {}), render);
110
+ }, {
111
+ ref: (element) => {
112
+ setRef(element);
113
+ },
114
+ get "data-expanded"() {
115
+ return state.isExpanded || void 0;
116
+ },
117
+ get "data-disabled"() {
118
+ return values.isDisabled || void 0;
119
+ },
120
+ get "data-focus-visible-within"() {
121
+ return values.isFocusVisibleWithin || void 0;
122
+ },
123
+ get children() {
124
+ return createComponent(DisclosureStateContext, {
125
+ value: state,
126
+ get children() {
127
+ return createComponent(PanelContext, {
128
+ value: panel,
129
+ get children() {
130
+ return createComponent(ButtonContext, {
131
+ value: { slots: {
132
+ [DEFAULT_SLOT]: {},
133
+ get trigger() {
134
+ return aria.buttonProps;
135
+ }
136
+ } },
137
+ get children() {
138
+ return render.children;
139
+ }
140
+ });
141
+ }
142
+ });
143
+ }
144
+ });
145
+ }
146
+ }));
147
+ }
148
+ function DisclosurePanel(props) {
149
+ const context = useContext(PanelContext);
150
+ if (!context) throw new Error("DisclosurePanel requires Disclosure");
151
+ const focus = createFocusRing({ within: true });
152
+ const values = { get isFocusVisibleWithin() {
153
+ return focus.isFocusVisible;
154
+ } };
155
+ const render = createRenderProps(mergeProps$1(props, {
156
+ defaultClass: "solid2-aria-DisclosurePanel",
157
+ values
158
+ }));
159
+ return createComponent(dom.div, mergeProps(() => {
160
+ return mergeProps$1(filterDOMProps(props, { global: true }), merge(() => context.panelProps ?? {}), merge(() => focus.focusProps ?? {}), render);
161
+ }, {
162
+ get role() {
163
+ return props.role ?? "group";
164
+ },
165
+ ref: [(element) => {
166
+ context.setPanelRef(element);
167
+ }, (element) => {
168
+ assignRef(untrack(() => props.ref), element);
169
+ }],
170
+ get "data-focus-visible-within"() {
171
+ return values.isFocusVisibleWithin || void 0;
172
+ },
173
+ get children() {
174
+ return render.children;
175
+ }
176
+ }));
177
+ }
178
+ export { Disclosure, DisclosureContext, DisclosureGroup, DisclosureGroupStateContext, DisclosurePanel, DisclosureStateContext };
179
+
180
+ //# sourceMappingURL=disclosure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disclosure.js","names":["<dom.div\n {...filterDOMProps(props, { global: true })}\n {...render}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n data-disabled={state.isDisabled || undefined}\n >\n <DisclosureGroupStateContext value={state}>\n {render.children}\n </DisclosureGroupStateContext>\n </dom.div>","dom.div","ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}","<DisclosureGroupStateContext value={state}>\n {render.children}\n </DisclosureGroupStateContext>","value={state}","<dom.div\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n data-expanded={state.isExpanded || undefined}\n data-disabled={values.isDisabled || undefined}\n data-focus-visible-within={values.isFocusVisibleWithin || undefined}\n >\n <DisclosureStateContext value={state}>\n <PanelContext value={panel}>\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get trigger() {\n return aria.buttonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </PanelContext>\n </DisclosureStateContext>\n </dom.div>","ref={(element: HTMLDivElement) => {\n setRef(element);\n }}","<DisclosureStateContext value={state}>\n <PanelContext value={panel}>\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get trigger() {\n return aria.buttonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </PanelContext>\n </DisclosureStateContext>","<PanelContext value={panel}>\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get trigger() {\n return aria.buttonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </PanelContext>","value={panel}","<ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get trigger() {\n return aria.buttonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>","value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get trigger() {\n return aria.buttonProps;\n },\n },\n }}","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => context.panelProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n role={props.role ?? \"group\"}\n ref={[\n (element: HTMLDivElement) => {\n context.setPanelRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-focus-visible-within={values.isFocusVisibleWithin || undefined}\n >\n {render.children}\n </dom.div>","ref={[\n (element: HTMLDivElement) => {\n context.setPanelRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}","mergeProps","_$createComponent","_$mergeProps"],"sources":["../../src/disclosure.tsx"],"sourcesContent":["/*\n * Copyright 2024 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/Disclosure.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 { createDisclosure } from \"@solid2-aria/core/disclosure/create-disclosure\";\nimport type { AriaDisclosureProps } from \"@solid2-aria/core/disclosure/create-disclosure\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { createDisclosureGroupState } from \"@solid2-aria/stately/disclosure/create-disclosure-group-state\";\nimport type {\n DisclosureGroupState,\n DisclosureGroupProps as GroupOptions,\n} from \"@solid2-aria/stately/disclosure/create-disclosure-group-state\";\nimport { createDisclosureState } from \"@solid2-aria/stately/disclosure/create-disclosure-state\";\nimport type { DisclosureState } from \"@solid2-aria/stately/disclosure/create-disclosure-state\";\nimport type { Key } from \"@solid2-aria/types-shared\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n merge,\n untrack,\n createSignal,\n createContext,\n createUniqueId,\n useContext,\n omit,\n} from \"solid-js\";\nimport type { Accessor } from \"solid-js\";\n\nimport { ButtonContext } from \"./button\";\nimport {\n assignRef,\n dom,\n DEFAULT_SLOT,\n createContextProps,\n createRenderProps,\n} from \"./utils\";\nimport type { ContextValue, Ref, RenderProps, SlotProps } from \"./utils\";\n\nexport interface DisclosureGroupRenderProps {\n isDisabled: boolean;\n state: DisclosureGroupState;\n}\n\nexport interface DisclosureGroupProps\n extends GroupOptions, RenderProps<DisclosureGroupRenderProps> {\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface DisclosureRenderProps {\n isExpanded: boolean;\n isFocusVisibleWithin: boolean;\n isDisabled: boolean;\n state: DisclosureState;\n}\n\nexport interface DisclosureProps\n extends AriaDisclosureProps, RenderProps<DisclosureRenderProps>, SlotProps {\n id?: Key;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface DisclosurePanelRenderProps {\n isFocusVisibleWithin: boolean;\n}\n\nexport interface DisclosurePanelProps extends RenderProps<DisclosurePanelRenderProps> {\n ref?: Ref<HTMLDivElement>;\n role?: \"group\" | \"region\";\n shouldForceMount?: boolean;\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n}\n\nexport const DisclosureGroupStateContext =\n createContext<DisclosureGroupState | null>(null);\n\nexport const DisclosureStateContext = createContext<DisclosureState | null>(\n null\n);\n\nexport const DisclosureContext =\n createContext<ContextValue<DisclosureProps, HTMLDivElement>>(null);\n\nconst PanelContext = createContext<{\n panelProps: JSX.HTMLAttributes<HTMLElement>;\n panelRef: Accessor<HTMLDivElement | null>;\n setPanelRef: (element: HTMLDivElement) => void;\n} | null>(null);\n\nexport function DisclosureGroup(props: DisclosureGroupProps): JSX.Element {\n const state = createDisclosureGroupState(props);\n\n const values = {\n get isDisabled() {\n return state.isDisabled;\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n defaultClass: \"solid2-aria-DisclosureGroup\",\n values,\n })\n );\n\n return (\n <dom.div\n {...filterDOMProps(props, { global: true })}\n {...render}\n ref={(element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n data-disabled={state.isDisabled || undefined}\n >\n <DisclosureGroupStateContext value={state}>\n {render.children}\n </DisclosureGroupStateContext>\n </dom.div>\n );\n}\n\nexport function Disclosure(input: DisclosureProps): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n DisclosureContext\n );\n\n const group = useContext(DisclosureGroupStateContext);\n const defaultId = createUniqueId();\n const id = () => props.id ?? defaultId;\n\n const options = mergeProps(props, {\n get isDisabled() {\n return props.isDisabled ?? group?.isDisabled;\n },\n get isExpanded() {\n return group ? group.expandedKeys.has(id()) : props.isExpanded;\n },\n onExpandedChange(expanded: boolean) {\n group?.toggleKey(id());\n props.onExpandedChange?.(expanded);\n },\n });\n\n const state = createDisclosureState(options);\n\n const [panelRef, setPanelRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const aria = createDisclosure(options, state, panelRef);\n const focus = createFocusRing({ within: true });\n\n const values: DisclosureRenderProps = {\n get isDisabled() {\n return options.isDisabled === true;\n },\n get isExpanded() {\n return state.isExpanded;\n },\n get isFocusVisibleWithin() {\n return focus.isFocusVisible;\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Disclosure\", values })\n );\n\n const panel = {\n get panelProps() {\n return aria.panelProps;\n },\n panelRef,\n setPanelRef: (element: HTMLDivElement) => {\n setPanelRef(element);\n },\n };\n\n return (\n <dom.div\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"id\"),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n data-expanded={state.isExpanded || undefined}\n data-disabled={values.isDisabled || undefined}\n data-focus-visible-within={values.isFocusVisibleWithin || undefined}\n >\n <DisclosureStateContext value={state}>\n <PanelContext value={panel}>\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get trigger() {\n return aria.buttonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </PanelContext>\n </DisclosureStateContext>\n </dom.div>\n );\n}\n\nexport function DisclosurePanel(props: DisclosurePanelProps): JSX.Element {\n const context = useContext(PanelContext);\n\n if (!context) {\n throw new Error(\"DisclosurePanel requires Disclosure\");\n }\n\n const focus = createFocusRing({ within: true });\n\n const values = {\n get isFocusVisibleWithin() {\n return focus.isFocusVisible;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n defaultClass: \"solid2-aria-DisclosurePanel\",\n values,\n })\n );\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => context.panelProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n role={props.role ?? \"group\"}\n ref={[\n (element: HTMLDivElement) => {\n context.setPanelRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-focus-visible-within={values.isFocusVisibleWithin || undefined}\n >\n {render.children}\n </dom.div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Copyright 2024 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/DragAndDrop.tsx.
14
+ * Modified for Solid Aria: contexts and indicator rendering use Solid reactive ownership.
15
+ * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.
16
+ */
17
+ import { Ref, RenderProps } from "./utils.js";
18
+ import { DragAndDropHooks } from "./create-drag-and-drop.js";
19
+ import { JSX } from "@solidjs/web";
20
+ import { DropIndicatorProps as DropIndicatorProps$1 } from "@solid2-aria/core/dnd/create-drop-indicator";
21
+ import { DraggableCollectionState } from "@solid2-aria/stately/dnd/create-draggable-collection-state";
22
+ import { DroppableCollectionState } from "@solid2-aria/stately/dnd/create-droppable-collection-state";
23
+ import { ItemDropTarget, Key } from "@solid2-aria/types-shared";
24
+ import { MultipleSelectionManager } from "@solid2-aria/stately/selection/types";
25
+ export interface DragAndDropContextValue {
26
+ dragAndDropHooks?: DragAndDropHooks<any>;
27
+ dragState?: DraggableCollectionState;
28
+ dropState?: DroppableCollectionState;
29
+ }
30
+ export interface DropIndicatorRenderProps {
31
+ isDropTarget: boolean;
32
+ }
33
+ export interface DropIndicatorProps extends Omit<DropIndicatorProps$1, "activateButtonRef">, RenderProps<DropIndicatorRenderProps> {
34
+ ref?: Ref<HTMLElement>;
35
+ }
36
+ export declare const DragAndDropContext: import("solid-js").Context<DragAndDropContextValue>;
37
+ export declare const DropIndicatorContext: import("solid-js").Context<{
38
+ render: (props: DropIndicatorProps, ref?: Ref<HTMLElement>) => JSX.Element;
39
+ } | null>;
40
+ export declare function DropIndicator(props: DropIndicatorProps): JSX.Element;
41
+ export declare function createRenderDropIndicator<T>(hooks?: DragAndDropHooks<T>, state?: DroppableCollectionState): ((target: ItemDropTarget) => JSX.Element) | undefined;
42
+ export declare function createDndPersistedKeys<T>(manager: MultipleSelectionManager, hooks?: DragAndDropHooks<T>, state?: DroppableCollectionState): Set<Key>;
43
+ //# sourceMappingURL=drag-and-drop.d.ts.map
@@ -0,0 +1,66 @@
1
+ /*
2
+ * Copyright 2024 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/DragAndDrop.tsx.
14
+ * Modified for Solid Aria: contexts and indicator rendering use Solid reactive ownership.
15
+ * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.
16
+ */
17
+ import { createComponent, memo } from "@solidjs/web";
18
+ import { createContext, untrack, useContext } from "solid-js";
19
+ import { isPresent } from "@solid2-aria/core/utils/is-present";
20
+ // src/drag-and-drop.tsx
21
+ const DragAndDropContext = createContext({});
22
+ const DropIndicatorContext = createContext(null);
23
+ function DropIndicator(props) {
24
+ const context = useContext(DropIndicatorContext);
25
+ if (!context) throw new Error("DropIndicator must be rendered in a droppable collection.");
26
+ return context.render(props, untrack(() => props.ref));
27
+ }
28
+ function createRenderDropIndicator(hooks, state) {
29
+ if (!hooks?.createDropIndicator) return;
30
+ return (target) => {
31
+ if (hooks.isVirtualDragging?.() !== true && state?.isDropTarget(target) !== true) return null;
32
+ return memo(() => {
33
+ return memo(() => {
34
+ return !!hooks.renderDropIndicator;
35
+ })() ? hooks.renderDropIndicator(target) : createComponent(DropIndicator, { target });
36
+ });
37
+ };
38
+ }
39
+ function createDndPersistedKeys(manager, hooks, state) {
40
+ let dropKey = null;
41
+ if (hooks?.isVirtualDragging?.() === true && state?.target?.type === "item") {
42
+ dropKey = state.target.key;
43
+ if (state.target.dropPosition === "after") {
44
+ let next = state.collection.getKeyAfter(dropKey);
45
+ let last = null;
46
+ const level = state.collection.getItem(dropKey)?.level ?? 0;
47
+ while (isPresent(next)) {
48
+ const node = state.collection.getItem(next);
49
+ if (!node) break;
50
+ if (node.type === "item") {
51
+ if ((node.level ?? 0) <= level) break;
52
+ last = next;
53
+ }
54
+ next = state.collection.getKeyAfter(next);
55
+ }
56
+ dropKey = next ?? last ?? dropKey;
57
+ }
58
+ }
59
+ const keys = /* @__PURE__ */ new Set();
60
+ if (isPresent(manager.focusedKey)) keys.add(manager.focusedKey);
61
+ if (isPresent(dropKey)) keys.add(dropKey);
62
+ return keys;
63
+ }
64
+ export { DragAndDropContext, DropIndicator, DropIndicatorContext, createDndPersistedKeys, createRenderDropIndicator };
65
+
66
+ //# sourceMappingURL=drag-and-drop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-and-drop.js","names":["{hooks.renderDropIndicator ? (\n hooks.renderDropIndicator(target)\n ) : (\n <DropIndicator target={target} />\n )}","<DropIndicator target={target} />","_$memo","_$createComponent"],"sources":["../../src/drag-and-drop.tsx"],"sourcesContent":["/*\n * Copyright 2024 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/DragAndDrop.tsx.\n * Modified for Solid Aria: contexts and indicator rendering use Solid reactive ownership.\n * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.\n */\n\nimport type { DropIndicatorProps as AriaDropIndicatorProps } from \"@solid2-aria/core/dnd/create-drop-indicator\";\nimport { isPresent } from \"@solid2-aria/core/utils/is-present\";\nimport type { DraggableCollectionState } from \"@solid2-aria/stately/dnd/create-draggable-collection-state\";\nimport type { DroppableCollectionState } from \"@solid2-aria/stately/dnd/create-droppable-collection-state\";\nimport type { MultipleSelectionManager } from \"@solid2-aria/stately/selection/types\";\nimport type { ItemDropTarget, Key } from \"@solid2-aria/types-shared\";\nimport type { JSX } from \"@solidjs/web\";\nimport { untrack, createContext, useContext } from \"solid-js\";\n\nimport type { DragAndDropHooks } from \"./create-drag-and-drop\";\nimport type { Ref, RenderProps } from \"./utils\";\n\nexport interface DragAndDropContextValue {\n // oxlint-disable-next-line typescript/no-explicit-any -- The collection owner and its descendants share one item type through this context.\n dragAndDropHooks?: DragAndDropHooks<any>;\n dragState?: DraggableCollectionState;\n dropState?: DroppableCollectionState;\n}\n\nexport interface DropIndicatorRenderProps {\n isDropTarget: boolean;\n}\n\nexport interface DropIndicatorProps\n extends\n Omit<AriaDropIndicatorProps, \"activateButtonRef\">,\n RenderProps<DropIndicatorRenderProps> {\n ref?: Ref<HTMLElement>;\n}\n\nexport const DragAndDropContext = createContext<DragAndDropContextValue>({});\n\nexport const DropIndicatorContext = createContext<{\n render: (props: DropIndicatorProps, ref?: Ref<HTMLElement>) => JSX.Element;\n} | null>(null);\n\nexport function DropIndicator(props: DropIndicatorProps): JSX.Element {\n const context = useContext(DropIndicatorContext);\n\n if (!context) {\n throw new Error(\n \"DropIndicator must be rendered in a droppable collection.\"\n );\n }\n\n return context.render(\n props,\n untrack(() => props.ref)\n );\n}\n\nexport function createRenderDropIndicator<T>(\n hooks?: DragAndDropHooks<T>,\n state?: DroppableCollectionState\n): ((target: ItemDropTarget) => JSX.Element) | undefined {\n if (!hooks?.createDropIndicator) {\n return undefined;\n }\n\n return (target): JSX.Element => {\n if (\n hooks.isVirtualDragging?.() !== true &&\n state?.isDropTarget(target) !== true\n ) {\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 return (\n <>\n {hooks.renderDropIndicator ? (\n hooks.renderDropIndicator(target)\n ) : (\n <DropIndicator target={target} />\n )}\n </>\n );\n };\n}\n\nexport function createDndPersistedKeys<T>(\n manager: MultipleSelectionManager,\n hooks?: DragAndDropHooks<T>,\n state?: DroppableCollectionState\n): Set<Key> {\n let dropKey: Key | null = null;\n\n if (hooks?.isVirtualDragging?.() === true && state?.target?.type === \"item\") {\n dropKey = state.target.key;\n\n if (state.target.dropPosition === \"after\") {\n let next = state.collection.getKeyAfter(dropKey);\n let last: Key | null = null;\n const level = state.collection.getItem(dropKey)?.level ?? 0;\n\n while (isPresent(next)) {\n const node = state.collection.getItem(next);\n\n if (!node) {\n break;\n }\n\n if (node.type === \"item\") {\n if ((node.level ?? 0) <= level) {\n break;\n }\n\n last = next;\n }\n\n next = state.collection.getKeyAfter(next);\n }\n\n dropKey = next ?? last ?? dropKey;\n }\n }\n\n const keys = new Set<Key>();\n\n if (isPresent(manager.focusedKey)) {\n keys.add(manager.focusedKey);\n }\n\n if (isPresent(dropKey)) {\n keys.add(dropKey);\n }\n\n return keys;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA+CA,MAAa,qBAAqB,cAAuC,CAAC,CAAC;AAE3E,MAAa,uBAAuB,cAE1B,IAAI;AAEd,SAAgB,cAAc,OAAwC;CACpE,MAAM,UAAU,WAAW,oBAAoB;CAE/C,IAAI,CAAC,SACH,MAAM,IAAI,MACR,2DACF;CAGF,OAAO,QAAQ,OACb,OACA,cAAc,MAAM,GAAG,CACzB;AACF;AAEA,SAAgB,0BACd,OACA,OACuD;CACvD,IAAI,CAAC,OAAO,qBACV;CAGF,QAAQ,WAAwB;EAC9B,IACE,MAAM,oBAAoB,MAAM,QAChC,OAAO,aAAa,MAAM,MAAM,MAGhC,OAAO;EAGT,OAEIA,WAAAA;;IAAC,OAAA,CAAA,CAAA,MAAM;GAIN,CAAA,CAAC,CAAD,IAHC,MAAM,oBAAoB,MAAM,IAEhCC,gBAAAA,eAAAA,EAAuB,OAAS,CAAA;EACjC,CAAA;CAGP;AACF;AAEA,SAAgB,uBACd,SACA,OACA,OACU;CACV,IAAI,UAAsB;CAE1B,IAAI,OAAO,oBAAoB,MAAM,QAAQ,OAAO,QAAQ,SAAS,QAAQ;EAC3E,UAAU,MAAM,OAAO;EAEvB,IAAI,MAAM,OAAO,iBAAiB,SAAS;GACzC,IAAI,OAAO,MAAM,WAAW,YAAY,OAAO;GAC/C,IAAI,OAAmB;GACvB,MAAM,QAAQ,MAAM,WAAW,QAAQ,OAAO,CAAC,EAAE,SAAS;GAE1D,OAAO,UAAU,IAAI,GAAG;IACtB,MAAM,OAAO,MAAM,WAAW,QAAQ,IAAI;IAE1C,IAAI,CAAC,MACH;IAGF,IAAI,KAAK,SAAS,QAAQ;KACxB,KAAK,KAAK,SAAS,MAAM,OACvB;KAGF,OAAO;IACT;IAEA,OAAO,MAAM,WAAW,YAAY,IAAI;GAC1C;GAEA,UAAU,QAAQ,QAAQ;EAC5B;CACF;CAEA,MAAM,uBAAO,IAAI,IAAS;CAE1B,IAAI,UAAU,QAAQ,UAAU,GAC9B,KAAK,IAAI,QAAQ,UAAU;CAG7B,IAAI,UAAU,OAAO,GACnB,KAAK,IAAI,OAAO;CAGlB,OAAO;AACT"}
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright 2023 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/DropZone.tsx.
14
+ * Modified for Solid Aria: DOM refs, focus, drag, clipboard and render state use Solid factories; 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 { ContextValue, Ref, RenderProps, SlotProps } from "./utils.js";
18
+ import { DropOptions } from "@solid2-aria/core/dnd/create-drop";
19
+ import { AriaLabelingProps, HoverEvents } from "@solid2-aria/types-shared";
20
+ import { GlobalDOMAttributes } from "@solid2-aria/types-shared-web";
21
+ export interface DropZoneRenderProps {
22
+ isHovered: boolean;
23
+ isFocused: boolean;
24
+ isFocusVisible: boolean;
25
+ isDropTarget: boolean;
26
+ isDisabled: boolean;
27
+ }
28
+ export interface DropZoneProps extends Omit<DropOptions, "getDropOperationForPoint" | "ref" | "hasDropButton">, HoverEvents, RenderProps<DropZoneRenderProps>, SlotProps, AriaLabelingProps, GlobalDOMAttributes<HTMLDivElement> {
29
+ ref?: Ref<HTMLDivElement>;
30
+ }
31
+ export declare const DropZoneContext: import("solid-js").Context<ContextValue<DropZoneProps, HTMLDivElement>>;
32
+ export declare function DropZone(input: DropZoneProps): import("@solidjs/web").JSX.Element;
33
+ //# sourceMappingURL=drop-zone.d.ts.map
@@ -0,0 +1,161 @@
1
+ /*
2
+ * Copyright 2023 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/DropZone.tsx.
14
+ * Modified for Solid Aria: DOM refs, focus, drag, clipboard and render state use Solid factories; 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, createRenderProps, dom } from "./utils.js";
18
+ import { TextContext } from "./text.js";
19
+ import intl_default from "./intl/index.js";
20
+ import { createComponent, getNextElement, memo, mergeProps, ref, runHydrationEvents, spread, template } from "@solidjs/web";
21
+ import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
22
+ import { createContext, createSignal, merge, untrack } from "solid-js";
23
+ import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
24
+ import { createFocusRing } from "@solid2-aria/core/focus/create-focus-ring";
25
+ import { createHover } from "@solid2-aria/core/interactions/create-hover";
26
+ import { createButton } from "@solid2-aria/core/button/create-button";
27
+ import { createVisuallyHidden } from "@solid2-aria/core/visually-hidden/visually-hidden";
28
+ import { createLocalizedStringFormatter } from "@solid2-aria/core/i18n/create-localized-string-formatter";
29
+ import { createClipboard } from "@solid2-aria/core/dnd/create-clipboard";
30
+ import { createDrop } from "@solid2-aria/core/dnd/create-drop";
31
+ import { createSlotId } from "@solid2-aria/core/utils/create-id";
32
+ import { createLabels } from "@solid2-aria/core/utils/create-labels";
33
+ import { focusWithoutScrolling } from "@solid2-aria/core/utils/focus-without-scrolling";
34
+ import { isFocusable } from "@solid2-aria/core/utils/is-focusable";
35
+ // src/drop-zone.tsx
36
+ var _tmpl$ = /* @__PURE__ */ template(`<div><button>`);
37
+ const DropZoneContext = createContext(null);
38
+ function DropZone(input) {
39
+ const [props, ref$1, setRef] = createContextProps(input, untrack(() => input.ref), DropZoneContext);
40
+ const [buttonRef, setButtonRef] = createSignal(null, { ownedWrite: true });
41
+ const drop = createDrop(mergeProps$1(props, {
42
+ hasDropButton: true,
43
+ ref: buttonRef
44
+ }));
45
+ const button = createButton(mergeProps$1({ get children() {
46
+ return props.children;
47
+ } }, drop.dropButtonProps ?? {}), buttonRef);
48
+ const hover = createHover(props);
49
+ const focus = createFocusRing();
50
+ const hidden = createVisuallyHidden();
51
+ const textId = createSlotId();
52
+ const formatter = createLocalizedStringFormatter(intl_default, "@solid2-aria/components");
53
+ const labels = createLabels({
54
+ get "aria-label"() {
55
+ return props["aria-label"] ?? formatter.format("dropzoneLabel");
56
+ },
57
+ get "aria-labelledby"() {
58
+ return [textId(), props["aria-labelledby"]].filter(Boolean).join(" ") || void 0;
59
+ }
60
+ });
61
+ const clipboard = createClipboard({
62
+ get isDisabled() {
63
+ return props.isDisabled;
64
+ },
65
+ onPaste: (items) => props.onDrop?.({
66
+ dropOperation: "copy",
67
+ items,
68
+ type: "drop",
69
+ x: 0,
70
+ y: 0
71
+ })
72
+ });
73
+ const render = createRenderProps(mergeProps$1(props, {
74
+ defaultClass: "solid2-aria-DropZone",
75
+ values: {
76
+ get isDisabled() {
77
+ return props.isDisabled === true;
78
+ },
79
+ get isDropTarget() {
80
+ return drop.isDropTarget;
81
+ },
82
+ get isFocusVisible() {
83
+ return focus.isFocusVisible;
84
+ },
85
+ get isFocused() {
86
+ return focus.isFocused;
87
+ },
88
+ get isHovered() {
89
+ return hover.isHovered;
90
+ }
91
+ }
92
+ }));
93
+ return createComponent(TextContext, {
94
+ value: { slots: { label: { get id() {
95
+ return textId();
96
+ } } } },
97
+ get children() {
98
+ return createComponent(dom.div, mergeProps(() => {
99
+ return mergeProps$1(filterDOMProps(props, { global: true }), render, merge(() => drop.dropProps ?? {}), merge(() => hover.hoverProps ?? {}));
100
+ }, {
101
+ ref: (element) => {
102
+ setRef(element);
103
+ },
104
+ get slot() {
105
+ return props.slot ?? void 0;
106
+ },
107
+ get "data-hovered"() {
108
+ return hover.isHovered || void 0;
109
+ },
110
+ get "data-focused"() {
111
+ return focus.isFocused || void 0;
112
+ },
113
+ get "data-focus-visible"() {
114
+ return focus.isFocusVisible || void 0;
115
+ },
116
+ get "data-drop-target"() {
117
+ return drop.isDropTarget || void 0;
118
+ },
119
+ get "data-disabled"() {
120
+ return props.isDisabled ?? void 0;
121
+ },
122
+ onClick: (event) => {
123
+ let target = event.target instanceof HTMLElement ? event.target : null;
124
+ while (target && ref$1()?.contains(target) === true) {
125
+ if (isFocusable(target)) break;
126
+ const focusTarget = buttonRef();
127
+ if (target === ref$1() && focusTarget) {
128
+ focusWithoutScrolling(focusTarget);
129
+ break;
130
+ }
131
+ target = target.parentElement;
132
+ }
133
+ },
134
+ get children() {
135
+ return [(() => {
136
+ var _el$ = getNextElement(_tmpl$);
137
+ var _el$2 = _el$.firstChild;
138
+ spread(_el$, () => {
139
+ return hidden.visuallyHiddenProps;
140
+ }, true);
141
+ spread(_el$2, () => {
142
+ return mergeProps$1(merge(() => button.buttonProps ?? {}), merge(() => focus.focusProps ?? {}), merge(() => clipboard.clipboardProps ?? {}), labels);
143
+ }, false);
144
+ ref(() => {
145
+ return (element) => {
146
+ setButtonRef(element);
147
+ };
148
+ }, _el$2);
149
+ runHydrationEvents();
150
+ return _el$;
151
+ })(), memo(() => {
152
+ return render.children;
153
+ })];
154
+ }
155
+ }));
156
+ }
157
+ });
158
+ }
159
+ export { DropZone, DropZoneContext };
160
+
161
+ //# sourceMappingURL=drop-zone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drop-zone.js","names":["<TextContext\n value={{\n slots: {\n label: {\n get id() {\n return textId();\n },\n },\n },\n }}\n >\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => drop.dropProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-drop-target={drop.isDropTarget || undefined}\n data-disabled={props.isDisabled ?? undefined}\n onClick={(event) => {\n let target =\n event.target instanceof HTMLElement ? event.target : null;\n\n while (target && ref()?.contains(target) === true) {\n if (isFocusable(target)) {\n break;\n }\n\n const focusTarget = buttonRef();\n\n if (target === ref() && focusTarget) {\n focusWithoutScrolling(focusTarget);\n break;\n }\n\n target = target.parentElement;\n }\n }}\n >\n <div {...hidden.visuallyHiddenProps}>\n <button\n {...mergeProps(\n merge(() => button.buttonProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => clipboard.clipboardProps ?? {}),\n labels\n )}\n\n ref={(element: HTMLButtonElement) => {\n setButtonRef(element);\n }}\n />\n </div>\n {render.children}\n </dom.div>\n </TextContext>","value={{\n slots: {\n label: {\n get id() {\n return textId();\n },\n },\n },\n }}","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => drop.dropProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-drop-target={drop.isDropTarget || undefined}\n data-disabled={props.isDisabled ?? undefined}\n onClick={(event) => {\n let target =\n event.target instanceof HTMLElement ? event.target : null;\n\n while (target && ref()?.contains(target) === true) {\n if (isFocusable(target)) {\n break;\n }\n\n const focusTarget = buttonRef();\n\n if (target === ref() && focusTarget) {\n focusWithoutScrolling(focusTarget);\n break;\n }\n\n target = target.parentElement;\n }\n }}\n >\n <div {...hidden.visuallyHiddenProps}>\n <button\n {...mergeProps(\n merge(() => button.buttonProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => clipboard.clipboardProps ?? {}),\n labels\n )}\n\n ref={(element: HTMLButtonElement) => {\n setButtonRef(element);\n }}\n />\n </div>\n {render.children}\n </dom.div>","dom.div","ref={(element: HTMLDivElement) => {\n setRef(element);\n }}","onClick={(event) => {\n let target =\n event.target instanceof HTMLElement ? event.target : null;\n\n while (target && ref()?.contains(target) === true) {\n if (isFocusable(target)) {\n break;\n }\n\n const focusTarget = buttonRef();\n\n if (target === ref() && focusTarget) {\n focusWithoutScrolling(focusTarget);\n break;\n }\n\n target = target.parentElement;\n }\n }}","ref={(element: HTMLButtonElement) => {\n setButtonRef(element);\n }}","render.children","ref","mergeProps","intlMessages","_$createComponent","_$mergeProps","_$getNextElement","_$memo"],"sources":["../../src/drop-zone.tsx"],"sourcesContent":["/*\n * Copyright 2023 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/DropZone.tsx.\n * Modified for Solid Aria: DOM refs, focus, drag, clipboard and render state use Solid factories; 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 { createButton } from \"@solid2-aria/core/button/create-button\";\nimport { createClipboard } from \"@solid2-aria/core/dnd/create-clipboard\";\nimport { createDrop } from \"@solid2-aria/core/dnd/create-drop\";\nimport type { DropOptions } from \"@solid2-aria/core/dnd/create-drop\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createLocalizedStringFormatter } from \"@solid2-aria/core/i18n/create-localized-string-formatter\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\nimport { createSlotId } from \"@solid2-aria/core/utils/create-id\";\nimport { createLabels } from \"@solid2-aria/core/utils/create-labels\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { focusWithoutScrolling } from \"@solid2-aria/core/utils/focus-without-scrolling\";\nimport { isFocusable } from \"@solid2-aria/core/utils/is-focusable\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { createVisuallyHidden } from \"@solid2-aria/core/visually-hidden/visually-hidden\";\nimport type { AriaLabelingProps, HoverEvents } from \"@solid2-aria/types-shared\";\nimport type { GlobalDOMAttributes } from \"@solid2-aria/types-shared-web\";\nimport { merge, untrack, createSignal, createContext } from \"solid-js\";\n\nimport intlMessages from \"../intl\";\nimport { TextContext } from \"./text\";\nimport { dom, createContextProps, createRenderProps } from \"./utils\";\nimport type { ContextValue, RenderProps, SlotProps, Ref } from \"./utils\";\n\nexport interface DropZoneRenderProps {\n isHovered: boolean;\n isFocused: boolean;\n isFocusVisible: boolean;\n isDropTarget: boolean;\n isDisabled: boolean;\n}\n\nexport interface DropZoneProps\n extends\n Omit<DropOptions, \"getDropOperationForPoint\" | \"ref\" | \"hasDropButton\">,\n HoverEvents,\n RenderProps<DropZoneRenderProps>,\n SlotProps,\n AriaLabelingProps,\n GlobalDOMAttributes<HTMLDivElement> {\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const DropZoneContext =\n createContext<ContextValue<DropZoneProps, HTMLDivElement>>(null);\n\nexport function DropZone(input: DropZoneProps) {\n const [props, ref, setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n DropZoneContext\n );\n\n const [buttonRef, setButtonRef] = createSignal<HTMLButtonElement | null>(\n null,\n { ownedWrite: true }\n );\n\n const drop = createDrop(\n mergeProps(props, { hasDropButton: true, ref: buttonRef })\n );\n\n const button = createButton(\n mergeProps(\n {\n get children() {\n return props.children;\n },\n },\n drop.dropButtonProps ?? {}\n ),\n buttonRef\n );\n\n const hover = createHover(props);\n const focus = createFocusRing();\n const hidden = createVisuallyHidden();\n const textId = createSlotId();\n\n const formatter = createLocalizedStringFormatter(\n intlMessages,\n \"@solid2-aria/components\"\n );\n\n const labels = createLabels({\n get \"aria-label\"() {\n return props[\"aria-label\"] ?? formatter.format(\"dropzoneLabel\");\n },\n get \"aria-labelledby\"() {\n return (\n [textId(), props[\"aria-labelledby\"]].filter(Boolean).join(\" \") ||\n undefined\n );\n },\n });\n\n const clipboard = createClipboard({\n get isDisabled() {\n return props.isDisabled;\n },\n onPaste: (items) =>\n props.onDrop?.({\n dropOperation: \"copy\",\n items,\n type: \"drop\",\n x: 0,\n y: 0,\n }),\n });\n\n const values = {\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isDropTarget() {\n return drop.isDropTarget;\n },\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n get isHovered() {\n return hover.isHovered;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-DropZone\", values })\n );\n\n return (\n <TextContext\n value={{\n slots: {\n label: {\n get id() {\n return textId();\n },\n },\n },\n }}\n >\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n render,\n merge(() => drop.dropProps ?? {}),\n merge(() => hover.hoverProps ?? {})\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-hovered={hover.isHovered || undefined}\n data-focused={focus.isFocused || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n data-drop-target={drop.isDropTarget || undefined}\n data-disabled={props.isDisabled ?? undefined}\n onClick={(event) => {\n let target =\n event.target instanceof HTMLElement ? event.target : null;\n\n while (target && ref()?.contains(target) === true) {\n if (isFocusable(target)) {\n break;\n }\n\n const focusTarget = buttonRef();\n\n if (target === ref() && focusTarget) {\n focusWithoutScrolling(focusTarget);\n break;\n }\n\n target = target.parentElement;\n }\n }}\n >\n <div {...hidden.visuallyHiddenProps}>\n <button\n {...mergeProps(\n merge(() => button.buttonProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => clipboard.clipboardProps ?? {}),\n labels\n )}\n\n ref={(element: HTMLButtonElement) => {\n setButtonRef(element);\n }}\n />\n </div>\n {render.children}\n </dom.div>\n </TextContext>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Copyright 2023 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/FieldError.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 { Ref, RenderProps, SlotProps } from "./utils.js";
18
+ import { JSX } from "@solidjs/web";
19
+ import { ValidationResult } from "@solid2-aria/types-shared";
20
+ export type FieldErrorRenderProps = ValidationResult;
21
+ export interface FieldErrorProps extends RenderProps<FieldErrorRenderProps>, SlotProps {
22
+ id?: string;
23
+ elementType?: keyof JSX.IntrinsicElements;
24
+ ref?: Ref<HTMLElement>;
25
+ }
26
+ export declare const FieldErrorContext: import("solid-js").Context<ValidationResult | null>;
27
+ export declare function FieldError(props: FieldErrorProps): JSX.Element;
28
+ //# sourceMappingURL=field-error.d.ts.map