@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,35 @@
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/Autocomplete.tsx.
14
+ * Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, 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 { ContextValue, SlotProps, SlottedContextValue } from "./utils.js";
18
+ import { JSX } from "@solidjs/web";
19
+ import { AriaAutocompleteProps, InputProps } from "@solid2-aria/core/autocomplete/create-autocomplete";
20
+ import { AutocompleteState } from "@solid2-aria/stately/autocomplete/create-autocomplete-state";
21
+ import { AriaLabelingProps, DOMProps, Node } from "@solid2-aria/types-shared";
22
+ export declare const AutocompleteContext: import("solid-js").Context<SlottedContextValue<Partial<AutocompleteProps<unknown>>>>;
23
+ export declare const AutocompleteStateContext: import("solid-js").Context<AutocompleteState | null>;
24
+ export declare const SelectableCollectionContext: import("solid-js").Context<ContextValue<SelectableCollectionContextValue<unknown>, HTMLElement>>;
25
+ export declare const FieldInputContext: import("solid-js").Context<ContextValue<InputProps<import("@solid2-aria/types-shared").FocusableElement>, HTMLElement>>;
26
+ export interface AutocompleteProps<T = object> extends AriaAutocompleteProps<T>, SlotProps {}
27
+ export interface SelectableCollectionContextValue<T> extends DOMProps, AriaLabelingProps {
28
+ filter?: (nodeTextValue: string, node: Node<T>) => boolean;
29
+ /** Whether the collection items should use virtual focus instead of being focused directly. */
30
+ shouldUseVirtualFocus?: boolean;
31
+ /** Whether typeahead is disabled. */
32
+ disallowTypeAhead?: boolean;
33
+ }
34
+ export declare function Autocomplete<T>(input: AutocompleteProps<T>): JSX.Element;
35
+ //# sourceMappingURL=autocomplete.d.ts.map
@@ -0,0 +1,69 @@
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/Autocomplete.tsx.
14
+ * Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, 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 { createSlottedContext } from "./utils.js";
18
+ import { createComponent } from "@solidjs/web";
19
+ import { createAutocomplete } from "@solid2-aria/core/autocomplete/create-autocomplete";
20
+ import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
21
+ import { createAutocompleteState } from "@solid2-aria/stately/autocomplete/create-autocomplete-state";
22
+ import { createContext, createSignal, merge, untrack } from "solid-js";
23
+ // src/autocomplete.tsx
24
+ const AutocompleteContext = createContext(null);
25
+ const AutocompleteStateContext = createContext(null);
26
+ const SelectableCollectionContext = createContext(null);
27
+ const FieldInputContext = createContext(null);
28
+ function Autocomplete(input) {
29
+ const [inputRef, setInputRef] = createSignal(null, { ownedWrite: true });
30
+ const [collectionRef, setCollectionRef] = createSignal(null, { ownedWrite: true });
31
+ const props = mergeProps$1(createSlottedContext(AutocompleteContext, untrack(() => input.slot)), input);
32
+ const state = createAutocompleteState(props);
33
+ const aria = createAutocomplete(mergeProps$1(props, {
34
+ collectionRef,
35
+ inputRef
36
+ }), state);
37
+ return createComponent(AutocompleteStateContext, {
38
+ value: state,
39
+ get children() {
40
+ return createComponent(FieldInputContext, {
41
+ get value() {
42
+ return mergeProps$1(merge(() => aria.inputProps ?? {}), { ref: (element) => {
43
+ setInputRef(element instanceof HTMLInputElement ? element : null);
44
+ } });
45
+ },
46
+ get children() {
47
+ return createComponent(SelectableCollectionContext, {
48
+ get value() {
49
+ return mergeProps$1(merge(() => aria.collectionProps ?? {}), {
50
+ get filter() {
51
+ return aria.filter;
52
+ },
53
+ ref: [(element) => {
54
+ setCollectionRef(element);
55
+ }, aria.collectionRef]
56
+ });
57
+ },
58
+ get children() {
59
+ return props.children;
60
+ }
61
+ });
62
+ }
63
+ });
64
+ }
65
+ });
66
+ }
67
+ export { Autocomplete, AutocompleteContext, AutocompleteStateContext, FieldInputContext, SelectableCollectionContext };
68
+
69
+ //# sourceMappingURL=autocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete.js","names":["<AutocompleteStateContext value={state}>\n <FieldInputContext\n value={mergeProps(\n merge(() => aria.inputProps ?? {}),\n {\n ref: (element: HTMLElement) => {\n setInputRef(element instanceof HTMLInputElement ? element : null);\n },\n }\n )}\n >\n <SelectableCollectionContext\n value={mergeProps(\n merge(() => aria.collectionProps ?? {}),\n {\n get filter() {\n return aria.filter;\n },\n ref: [\n (element: HTMLElement) => {\n setCollectionRef(element);\n },\n aria.collectionRef,\n ],\n }\n )}\n >\n {props.children}\n </SelectableCollectionContext>\n </FieldInputContext>\n </AutocompleteStateContext>","value={state}","<FieldInputContext\n value={mergeProps(\n merge(() => aria.inputProps ?? {}),\n {\n ref: (element: HTMLElement) => {\n setInputRef(element instanceof HTMLInputElement ? element : null);\n },\n }\n )}\n >\n <SelectableCollectionContext\n value={mergeProps(\n merge(() => aria.collectionProps ?? {}),\n {\n get filter() {\n return aria.filter;\n },\n ref: [\n (element: HTMLElement) => {\n setCollectionRef(element);\n },\n aria.collectionRef,\n ],\n }\n )}\n >\n {props.children}\n </SelectableCollectionContext>\n </FieldInputContext>","<SelectableCollectionContext\n value={mergeProps(\n merge(() => aria.collectionProps ?? {}),\n {\n get filter() {\n return aria.filter;\n },\n ref: [\n (element: HTMLElement) => {\n setCollectionRef(element);\n },\n aria.collectionRef,\n ],\n }\n )}\n >\n {props.children}\n </SelectableCollectionContext>","mergeProps","_$createComponent"],"sources":["../../src/autocomplete.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/Autocomplete.tsx.\n * Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, 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 { createAutocomplete } from \"@solid2-aria/core/autocomplete/create-autocomplete\";\nimport type {\n AriaAutocompleteProps,\n InputProps,\n} from \"@solid2-aria/core/autocomplete/create-autocomplete\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { createAutocompleteState } from \"@solid2-aria/stately/autocomplete/create-autocomplete-state\";\nimport type { AutocompleteState } from \"@solid2-aria/stately/autocomplete/create-autocomplete-state\";\nimport type {\n AriaLabelingProps,\n DOMProps,\n Node,\n} from \"@solid2-aria/types-shared\";\nimport type { JSX } from \"@solidjs/web\";\nimport { untrack, merge, createSignal, createContext } from \"solid-js\";\n\nimport { createSlottedContext } from \"./utils\";\nimport type { ContextValue, SlotProps, SlottedContextValue } from \"./utils\";\n\nexport const AutocompleteContext =\n createContext<SlottedContextValue<Partial<AutocompleteProps<unknown>>>>(null);\n\nexport const AutocompleteStateContext = createContext<AutocompleteState | null>(\n null\n);\n\nexport const SelectableCollectionContext =\n createContext<\n ContextValue<SelectableCollectionContextValue<unknown>, HTMLElement>\n >(null);\n\nexport const FieldInputContext =\n createContext<ContextValue<InputProps, HTMLElement>>(null);\n\nexport interface AutocompleteProps<T = object>\n extends AriaAutocompleteProps<T>, SlotProps {}\n\nexport interface SelectableCollectionContextValue<T>\n extends DOMProps, AriaLabelingProps {\n filter?: (nodeTextValue: string, node: Node<T>) => boolean;\n /** Whether the collection items should use virtual focus instead of being focused directly. */\n shouldUseVirtualFocus?: boolean;\n /** Whether typeahead is disabled. */\n disallowTypeAhead?: boolean;\n}\n\nexport function Autocomplete<T>(input: AutocompleteProps<T>): JSX.Element {\n const [inputRef, setInputRef] = createSignal<HTMLInputElement | null>(null, {\n ownedWrite: true,\n });\n\n const [collectionRef, setCollectionRef] = createSignal<HTMLElement | null>(\n null,\n { ownedWrite: true }\n );\n\n const props = mergeProps(\n createSlottedContext(\n AutocompleteContext,\n untrack(() => input.slot)\n ),\n input\n );\n\n const state = createAutocompleteState(props);\n\n const aria = createAutocomplete(\n mergeProps(props, { collectionRef, inputRef }),\n state\n );\n\n return (\n <AutocompleteStateContext value={state}>\n <FieldInputContext\n value={mergeProps(\n merge(() => aria.inputProps ?? {}),\n {\n ref: (element: HTMLElement) => {\n setInputRef(element instanceof HTMLInputElement ? element : null);\n },\n }\n )}\n >\n <SelectableCollectionContext\n value={mergeProps(\n merge(() => aria.collectionProps ?? {}),\n {\n get filter() {\n return aria.filter;\n },\n ref: [\n (element: HTMLElement) => {\n setCollectionRef(element);\n },\n aria.collectionRef,\n ],\n }\n )}\n >\n {props.children}\n </SelectableCollectionContext>\n </FieldInputContext>\n </AutocompleteStateContext>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAoCA,MAAa,sBACX,cAAwE,IAAI;AAE9E,MAAa,2BAA2B,cACtC,IACF;AAEA,MAAa,8BACX,cAEE,IAAI;AAER,MAAa,oBACX,cAAqD,IAAI;AAc3D,SAAgB,aAAgB,OAA0C;CACxE,MAAM,CAAC,UAAU,eAAe,aAAsC,MAAM,EAC1E,YAAY,KACd,CAAC;CAED,MAAM,CAAC,eAAe,oBAAoB,aACxC,MACA,EAAE,YAAY,KAAK,CACrB;CAEA,MAAM,QAAQI,aACZ,qBACE,qBACA,cAAc,MAAM,IAAI,CAC1B,GACA,KACF;CAEA,MAAM,QAAQ,wBAAwB,KAAK;CAE3C,MAAM,OAAO,mBACXA,aAAW,OAAO;EAAE;EAAe;CAAS,CAAC,GAC7C,KACF;CAEA,OACEJ,gBAAAA,0BAAAA;EAA0BC,OAAO;EAAjC,IAAA,WAAA;GACEC,OAAAA,gBAAAA,mBAAAA;IACE,IAAA,QAAA;KAAO,OAAAE,aACL,YAAY,KAAK,cAAc,CAAC,CAAC,GACjC,EACE,MAAM,YAAyB;MAC7B,YAAY,mBAAmB,mBAAmB,UAAU,IAAI;KAClE,EACF,CACF;IAAC;IARH,IAAA,WAAA;KAUED,OAAAA,gBAAAA,6BAAAA;MACE,IAAA,QAAA;OAAO,OAAAC,aACL,YAAY,KAAK,mBAAmB,CAAC,CAAC,GACtC;QACE,IAAI,SAAS;SACX,OAAO,KAAK;QACd;QACA,KAAK,EACF,YAAyB;SACxB,iBAAiB,OAAO;QAC1B,GACA,KAAK,aACP;OACF,CACF;MAAC;MAdH,IAAA,WAAA;OAgBG,OAAA,MAAM;MACoB;;IACZ;;EACK;;AAE9B"}
@@ -0,0 +1,71 @@
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/Breadcrumbs.tsx.
14
+ * Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, and reactive properties for Solid 2; uses Solid class props.
15
+ * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.
16
+ */
17
+ import { ClassOrFunction, ContextValue, DOMRenderProps, Ref, RenderProps, SlotProps, StyleProps } from "./utils.js";
18
+ import { CollectionProps } from "./collection.js";
19
+ import { JSX } from "@solidjs/web";
20
+ import { AriaBreadcrumbsProps } from "@solid2-aria/core/breadcrumbs/create-breadcrumbs";
21
+ import { AriaLabelingProps, Key } from "@solid2-aria/types-shared";
22
+ import { GlobalDOMAttributes } from "@solid2-aria/types-shared-web";
23
+ export declare const BreadcrumbsContext: import("solid-js").Context<ContextValue<BreadcrumbsProps<any>, HTMLOListElement>>;
24
+ export interface BreadcrumbsProps<T> extends Omit<CollectionProps<T>, "disabledKeys">, AriaBreadcrumbsProps, StyleProps, SlotProps, AriaLabelingProps, DOMRenderProps<"ol", undefined>, GlobalDOMAttributes<HTMLOListElement> {
25
+ /**
26
+ * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the
27
+ * element.
28
+ *
29
+ * @default 'react-aria-Breadcrumbs'
30
+ */
31
+ class?: JSX.ClassValue;
32
+ /** Whether the breadcrumbs are disabled. */
33
+ isDisabled?: boolean;
34
+ /** Handler that is called when a breadcrumb is clicked. */
35
+ onAction?: (key: Key) => void;
36
+ }
37
+ export interface BreadcrumbRenderProps {
38
+ /**
39
+ * Whether the breadcrumb is for the current page.
40
+ *
41
+ * @selector [data-current]
42
+ */
43
+ isCurrent: boolean;
44
+ /**
45
+ * Whether the breadcrumb is disabled.
46
+ *
47
+ * @selector [data-disabled]
48
+ */
49
+ isDisabled: boolean;
50
+ }
51
+ export interface BreadcrumbProps extends RenderProps<BreadcrumbRenderProps, "li">, AriaLabelingProps, GlobalDOMAttributes<HTMLLIElement> {
52
+ /**
53
+ * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the
54
+ * element. A function may be provided to compute the class based on component state.
55
+ *
56
+ * @default 'react-aria-Breadcrumb'
57
+ */
58
+ class?: ClassOrFunction<BreadcrumbRenderProps>;
59
+ /**
60
+ * A unique id for the breadcrumb, which will be passed to `onAction` when the breadcrumb is
61
+ * pressed.
62
+ */
63
+ id?: Key;
64
+ }
65
+ export declare function Breadcrumb(props: BreadcrumbProps & {
66
+ ref?: Ref<HTMLLIElement>;
67
+ }): JSX.Element;
68
+ export declare function Breadcrumbs<T>(input: BreadcrumbsProps<T> & {
69
+ ref?: Ref<HTMLOListElement>;
70
+ }): JSX.Element;
71
+ //# sourceMappingURL=breadcrumbs.d.ts.map
@@ -0,0 +1,121 @@
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/Breadcrumbs.tsx.
14
+ * Modified for Solid Aria: adapted collection ownership, contexts, accessibility primitives, and reactive properties for Solid 2; uses Solid class props.
15
+ * Licensed under Apache-2.0. See LICENSES/Apache-2.0.txt and NOTICE.txt at the repository root.
16
+ */
17
+ import { assignRef, createContextProps, createRenderProps, createSlottedContext, dom } from "./utils.js";
18
+ import { CollectionRendererContext } from "./collection.js";
19
+ import { LinkContext } from "./link.js";
20
+ import { applyRef, createComponent, mergeProps } from "@solidjs/web";
21
+ import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
22
+ import { createContext, merge, omit, untrack, useContext } from "solid-js";
23
+ import { createBreadcrumbs } from "@solid2-aria/core/breadcrumbs/create-breadcrumbs";
24
+ import { ItemNode } from "@solid2-aria/core/collections/base-collection";
25
+ import { Collection, CollectionBuilder, createLeafComponent } from "@solid2-aria/core/collections/collection-builder";
26
+ import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
27
+ // src/breadcrumbs.tsx
28
+ const BreadcrumbsContext = createContext(null);
29
+ const BreadcrumbCollection = createLeafComponent(ItemNode, (props, forwardedRef, node) => {
30
+ const context = createSlottedContext(BreadcrumbsContext);
31
+ const values = {
32
+ get isCurrent() {
33
+ return node.nextKey === null || node.nextKey === void 0;
34
+ },
35
+ get isDisabled() {
36
+ return context?.isDisabled === true || node.nextKey === null || node.nextKey === void 0;
37
+ }
38
+ };
39
+ const render = createRenderProps(mergeProps$1(props, {
40
+ defaultClass: "solid2-aria-Breadcrumb",
41
+ values
42
+ }));
43
+ return createComponent(dom.li, mergeProps(() => {
44
+ return omit(filterDOMProps(props, { global: true }), "id");
45
+ }, render, {
46
+ ref(r$) {
47
+ var _ref$ = forwardedRef;
48
+ typeof _ref$ === "function" || Array.isArray(_ref$) ? applyRef(_ref$, r$) : forwardedRef = r$;
49
+ },
50
+ get "data-current"() {
51
+ return values.isCurrent || void 0;
52
+ },
53
+ get "data-disabled"() {
54
+ return values.isDisabled || void 0;
55
+ },
56
+ get children() {
57
+ return createComponent(LinkContext, {
58
+ value: {
59
+ get "aria-current"() {
60
+ return values.isCurrent ? "page" : void 0;
61
+ },
62
+ get isDisabled() {
63
+ return values.isDisabled;
64
+ },
65
+ onPress: () => context?.onAction?.(node.key)
66
+ },
67
+ get children() {
68
+ return render.children;
69
+ }
70
+ });
71
+ }
72
+ }));
73
+ });
74
+ function Breadcrumb(props) {
75
+ return createComponent(BreadcrumbCollection, mergeProps(props, { ref: (element) => {
76
+ assignRef(untrack(() => props.ref), element);
77
+ } }));
78
+ }
79
+ function Breadcrumbs(input) {
80
+ const [props, , setRef] = createContextProps(input, untrack(() => input.ref), BreadcrumbsContext);
81
+ const aria = createBreadcrumbs(props);
82
+ const Root = useContext(CollectionRendererContext).CollectionRoot;
83
+ return createComponent(CollectionBuilder, {
84
+ get content() {
85
+ return createComponent(Collection, props);
86
+ },
87
+ children: (collection) => createComponent(dom.ol, mergeProps(() => {
88
+ return mergeProps$1(filterDOMProps(props, {
89
+ global: true,
90
+ labelable: true
91
+ }), merge(() => aria.navProps ?? {}));
92
+ }, {
93
+ ref: (element) => {
94
+ setRef(element);
95
+ },
96
+ get render() {
97
+ return props.render;
98
+ },
99
+ get "class"() {
100
+ return props.class ?? "solid2-aria-Breadcrumbs";
101
+ },
102
+ get style() {
103
+ return props.style;
104
+ },
105
+ get slot() {
106
+ return props.slot ?? void 0;
107
+ },
108
+ get children() {
109
+ return createComponent(BreadcrumbsContext, {
110
+ value: props,
111
+ get children() {
112
+ return createComponent(Root, { collection });
113
+ }
114
+ });
115
+ }
116
+ }))
117
+ });
118
+ }
119
+ export { Breadcrumb, Breadcrumbs, BreadcrumbsContext };
120
+
121
+ //# sourceMappingURL=breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumbs.js","names":["<dom.li\n {\n // oxlint-disable solid/reactivity -- Keep prop filtering in the renderer's lazy evaluation.\n ...omit(filterDOMProps(props, { global: true }), \"id\")\n // oxlint-enable solid/reactivity\n }\n {...render}\n ref={forwardedRef}\n data-current={values.isCurrent || undefined}\n data-disabled={values.isDisabled || undefined}\n >\n <LinkContext\n value={{\n get \"aria-current\"() {\n return values.isCurrent ? \"page\" : undefined;\n },\n get isDisabled() {\n return values.isDisabled;\n },\n onPress: () => context?.onAction?.(node.key),\n }}\n >\n {render.children}\n </LinkContext>\n </dom.li>","dom.li","ref={forwardedRef}","<LinkContext\n value={{\n get \"aria-current\"() {\n return values.isCurrent ? \"page\" : undefined;\n },\n get isDisabled() {\n return values.isDisabled;\n },\n onPress: () => context?.onAction?.(node.key),\n }}\n >\n {render.children}\n </LinkContext>","value={{\n get \"aria-current\"() {\n return values.isCurrent ? \"page\" : undefined;\n },\n get isDisabled() {\n return values.isDisabled;\n },\n onPress: () => context?.onAction?.(node.key),\n }}","<BreadcrumbCollection\n {...props}\n ref={(element: HTMLLIElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />","ref={(element: HTMLLIElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}","<CollectionBuilder content={<Collection {...props} />}>\n {(collection) => (\n <dom.ol\n {...mergeProps(\n filterDOMProps(props, { global: true, labelable: true }),\n merge(() => aria.navProps ?? {})\n )}\n ref={(element: HTMLOListElement) => {\n setRef(element);\n }}\n render={props.render}\n class={props.class ?? \"solid2-aria-Breadcrumbs\"}\n style={props.style}\n slot={props.slot ?? undefined}\n >\n <BreadcrumbsContext value={props}>\n <Root collection={collection} />\n </BreadcrumbsContext>\n </dom.ol>\n )}\n </CollectionBuilder>","<Collection {...props} />","<dom.ol\n {...mergeProps(\n filterDOMProps(props, { global: true, labelable: true }),\n merge(() => aria.navProps ?? {})\n )}\n ref={(element: HTMLOListElement) => {\n setRef(element);\n }}\n render={props.render}\n class={props.class ?? \"solid2-aria-Breadcrumbs\"}\n style={props.style}\n slot={props.slot ?? undefined}\n >\n <BreadcrumbsContext value={props}>\n <Root collection={collection} />\n </BreadcrumbsContext>\n </dom.ol>","dom.ol","ref={(element: HTMLOListElement) => {\n setRef(element);\n }}","<BreadcrumbsContext value={props}>\n <Root collection={collection} />\n </BreadcrumbsContext>","value={props}","<Root collection={collection} />","mergeProps","_$createComponent","_$mergeProps","_$applyRef"],"sources":["../../src/breadcrumbs.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/Breadcrumbs.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 { createBreadcrumbs } from \"@solid2-aria/core/breadcrumbs/create-breadcrumbs\";\nimport type { AriaBreadcrumbsProps } from \"@solid2-aria/core/breadcrumbs/create-breadcrumbs\";\nimport { ItemNode } from \"@solid2-aria/core/collections/base-collection\";\nimport {\n Collection,\n CollectionBuilder,\n createLeafComponent,\n} from \"@solid2-aria/core/collections/collection-builder\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport type { AriaLabelingProps, Key, Node } from \"@solid2-aria/types-shared\";\nimport type { GlobalDOMAttributes } from \"@solid2-aria/types-shared-web\";\nimport type { JSX } from \"@solidjs/web\";\nimport { merge, untrack, createContext, useContext, omit } from \"solid-js\";\n\nimport { CollectionRendererContext } from \"./collection\";\nimport type { CollectionProps } from \"./collection\";\nimport { LinkContext } from \"./link\";\nimport {\n dom,\n createContextProps,\n createRenderProps,\n createSlottedContext,\n assignRef,\n} from \"./utils\";\nimport type {\n Ref,\n ClassOrFunction,\n DOMRenderProps,\n RenderProps,\n SlotProps,\n StyleProps,\n ContextValue,\n} from \"./utils\";\n\nexport const BreadcrumbsContext =\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<BreadcrumbsProps<any>, HTMLOListElement>>(null);\n\nexport interface BreadcrumbsProps<T>\n extends\n Omit<CollectionProps<T>, \"disabledKeys\">,\n AriaBreadcrumbsProps,\n StyleProps,\n SlotProps,\n AriaLabelingProps,\n DOMRenderProps<\"ol\", undefined>,\n GlobalDOMAttributes<HTMLOListElement> {\n /**\n * The CSS [class](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/class) for the\n * element.\n *\n * @default 'react-aria-Breadcrumbs'\n */\n class?: JSX.ClassValue;\n /** Whether the breadcrumbs are disabled. */\n isDisabled?: boolean;\n /** Handler that is called when a breadcrumb is clicked. */\n onAction?: (key: Key) => void;\n}\n\nexport interface BreadcrumbRenderProps {\n /**\n * Whether the breadcrumb is for the current page.\n *\n * @selector [data-current]\n */\n isCurrent: boolean;\n /**\n * Whether the breadcrumb is disabled.\n *\n * @selector [data-disabled]\n */\n isDisabled: boolean;\n}\n\nexport interface BreadcrumbProps\n extends\n RenderProps<BreadcrumbRenderProps, \"li\">,\n AriaLabelingProps,\n GlobalDOMAttributes<HTMLLIElement> {\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-Breadcrumb'\n */\n class?: ClassOrFunction<BreadcrumbRenderProps>;\n /**\n * A unique id for the breadcrumb, which will be passed to `onAction` when the breadcrumb is\n * pressed.\n */\n id?: Key;\n}\n\nconst BreadcrumbCollection = createLeafComponent(\n ItemNode,\n (\n props: BreadcrumbProps,\n forwardedRef: Ref<HTMLLIElement>,\n node: Node<unknown>\n ): JSX.Element => {\n const context = createSlottedContext(BreadcrumbsContext);\n\n const values: BreadcrumbRenderProps = {\n get isCurrent() {\n return node.nextKey === null || node.nextKey === undefined;\n },\n get isDisabled() {\n return (\n context?.isDisabled === true ||\n node.nextKey === null ||\n node.nextKey === undefined\n );\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Breadcrumb\", values })\n );\n\n return (\n <dom.li\n {\n // oxlint-disable solid/reactivity -- Keep prop filtering in the renderer's lazy evaluation.\n ...omit(filterDOMProps(props, { global: true }), \"id\")\n // oxlint-enable solid/reactivity\n }\n {...render}\n ref={forwardedRef}\n data-current={values.isCurrent || undefined}\n data-disabled={values.isDisabled || undefined}\n >\n <LinkContext\n value={{\n get \"aria-current\"() {\n return values.isCurrent ? \"page\" : undefined;\n },\n get isDisabled() {\n return values.isDisabled;\n },\n onPress: () => context?.onAction?.(node.key),\n }}\n >\n {render.children}\n </LinkContext>\n </dom.li>\n );\n }\n);\n\nexport function Breadcrumb(\n props: BreadcrumbProps & { ref?: Ref<HTMLLIElement> }\n): JSX.Element {\n return (\n <BreadcrumbCollection\n {...props}\n ref={(element: HTMLLIElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n />\n );\n}\n\nexport function Breadcrumbs<T>(\n input: BreadcrumbsProps<T> & { ref?: Ref<HTMLOListElement> }\n): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n BreadcrumbsContext\n );\n\n const aria = createBreadcrumbs(props);\n const renderer = useContext(CollectionRendererContext);\n const Root = renderer.CollectionRoot;\n\n return (\n <CollectionBuilder content={<Collection {...props} />}>\n {(collection) => (\n <dom.ol\n {...mergeProps(\n filterDOMProps(props, { global: true, labelable: true }),\n merge(() => aria.navProps ?? {})\n )}\n ref={(element: HTMLOListElement) => {\n setRef(element);\n }}\n render={props.render}\n class={props.class ?? \"solid2-aria-Breadcrumbs\"}\n style={props.style}\n slot={props.slot ?? undefined}\n >\n <BreadcrumbsContext value={props}>\n <Root collection={collection} />\n </BreadcrumbsContext>\n </dom.ol>\n )}\n </CollectionBuilder>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,MAAa,qBAEX,cAAqE,IAAI;AA0D3E,MAAM,uBAAuB,oBAC3B,WAEE,OACA,cACA,SACgB;CAChB,MAAM,UAAU,qBAAqB,kBAAkB;CAEvD,MAAM,SAAgC;EACpC,IAAI,YAAY;GACd,OAAO,KAAK,YAAY,QAAQ,KAAK,YAAY,KAAA;EACnD;EACA,IAAI,aAAa;GACf,OACE,SAAS,eAAe,QACxB,KAAK,YAAY,QACjB,KAAK,YAAY,KAAA;EAErB;CACF;CAEA,MAAM,SAAS,kBACbe,aAAW,OAAO;EAAE,cAAc;EAA0B;CAAO,CAAC,CACtE;CAEA,OACEf,gBAAAA,IAACC,IAADD,iBACE;EAEK,OAAA,KAAK,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC,GAAG,IAAI;CAEvD,GACI,QANN;EAOE,IAAA,IAAA;GAAK,IAAA,QAAA;GAAL,OAAA,UAAA,cAAA,MAAA,QAAA,KAAiB,IAAjBE,SAAAA,OAAAA,EAAiB,IAAjB,eAAAA;EAAiB;EACjB,IAAA,iBAAA;GAAc,OAAA,OAAO,aAAa,KAAA;EAAS;EAC3C,IAAA,kBAAA;GAAe,OAAA,OAAO,cAAc,KAAA;EAAS;EAT/C,IAAA,WAAA;GAWEC,OAAAA,gBAAAA,aAAAA;IACEC,OAAO;KACL,IAAI,iBAAiB;MACnB,OAAO,OAAO,YAAY,SAAS,KAAA;KACrC;KACA,IAAI,aAAa;MACf,OAAO,OAAO;KAChB;KACA,eAAe,SAAS,WAAW,KAAK,GAAG;IAC7C;IATF,IAAA,WAAA;KAWG,OAAA,OAAO;IACG;;EACP;;AAEZ,CACF;AAEA,SAAgB,WACd,OACa;CACb,OACEC,gBAAAA,sBAAAA,WACM,OADN,EAEEC,MAAM,YAA2B;EAC/B,UACE,cAAc,MAAM,GAAG,GACvB,OACF;CACF,EACD,CAAA,CAAA;AAEL;AAEA,SAAgB,YACd,OACa;CACb,MAAM,CAAC,SAAS,UAAU,mBACxB,OACA,cAAc,MAAM,GAAG,GACvB,kBACF;CAEA,MAAM,OAAO,kBAAkB,KAAK;CAEpC,MAAM,OADW,WAAW,yBACf,CAAA,CAAS;CAEtB,OACEC,gBAAAA,mBAAAA;EAAmB,IAAA,UAAA;GAASC,OAAAA,gBAAAA,YAAgB,KAAQ;EAAC;EAArDD,WACI,eACAE,gBAAAA,IAACC,IAADD,iBACE;GAAI,OAAAM,aACF,eAAe,OAAO;IAAE,QAAQ;IAAM,WAAW;GAAK,CAAC,GACvD,YAAY,KAAK,YAAY,CAAC,CAAC,CACjC;EAAC,GAJH;GAKEJ,MAAM,YAA8B;IAClC,OAAO,OAAO;GAChB;GACA,IAAA,SAAA;IAAQ,OAAA,MAAM;GAAM;GACpB,IAAA,UAAA;IAAO,OAAA,MAAM,SAAS;GAAyB;GAC/C,IAAA,QAAA;IAAO,OAAA,MAAM;GAAK;GAClB,IAAA,OAAA;IAAM,OAAA,MAAM,QAAQ,KAAA;GAAS;GAX/B,IAAA,WAAA;IAaEC,OAAAA,gBAAAA,oBAAAA;KAAoBC,OAAO;KAA3B,IAAA,WAAA;MACEC,OAAAA,gBAAAA,MAAAA,EAAkB,WAAa,CAAA;KACb;;GACd;;CAEO,CAAA;AAEvB"}
@@ -0,0 +1,36 @@
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/Button.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 { ContextValue, Ref, RenderProps, SlotProps } from "./utils.js";
18
+ import { JSX } from "@solidjs/web";
19
+ import { AriaButtonProps } from "@solid2-aria/core/button/create-button";
20
+ import { HoverEvents } from "@solid2-aria/types-shared";
21
+ export interface ButtonRenderProps {
22
+ isHovered: boolean;
23
+ isPressed: boolean;
24
+ isFocused: boolean;
25
+ isFocusVisible: boolean;
26
+ isDisabled: boolean;
27
+ isPending: boolean;
28
+ }
29
+ export interface ButtonProps extends Omit<AriaButtonProps, "children" | "elementType">, HoverEvents, SlotProps, RenderProps<ButtonRenderProps, "button"> {
30
+ isPending?: boolean;
31
+ isPressed?: boolean;
32
+ ref?: Ref<HTMLButtonElement>;
33
+ }
34
+ export declare const ButtonContext: import("solid-js").Context<ContextValue<ButtonProps, HTMLButtonElement>>;
35
+ export declare function Button(input: ButtonProps): JSX.Element;
36
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1,156 @@
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/Button.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, createRenderProps, dom } from "./utils.js";
18
+ import { ProgressBarContext } from "./progress-bar.js";
19
+ import { createComponent, memo, mergeProps } from "@solidjs/web";
20
+ import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
21
+ import { createContext, createEffect, createUniqueId, merge, omit, untrack } 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 { createHover } from "@solid2-aria/core/interactions/create-hover";
25
+ import { isTruthy } from "@solid2-aria/core/utils/truthy";
26
+ import { createButton } from "@solid2-aria/core/button/create-button";
27
+ import { createIsHidden } from "@solid2-aria/core/collections/hidden";
28
+ import { announce } from "@solid2-aria/core/live-announcer/live-announcer";
29
+ import { readProperty } from "@solid2-aria/core/utils/read-property";
30
+ // src/button.tsx
31
+ const ButtonContext = createContext(null);
32
+ function Button(input) {
33
+ if (createIsHidden()) return null;
34
+ const [props, ref, setRef] = createContextProps(input, untrack(() => input.ref), ButtonContext);
35
+ const aria = createButton(props, ref);
36
+ const focus = createFocusRing(props);
37
+ const hover = createHover(mergeProps$1(props, { get isDisabled() {
38
+ return props.isDisabled === true || props.isPending === true;
39
+ } }));
40
+ const values = {
41
+ get isDisabled() {
42
+ return props.isDisabled === true;
43
+ },
44
+ get isFocusVisible() {
45
+ return focus.isFocusVisible;
46
+ },
47
+ get isFocused() {
48
+ return focus.isFocused;
49
+ },
50
+ get isHovered() {
51
+ return hover.isHovered;
52
+ },
53
+ get isPending() {
54
+ return props.isPending === true;
55
+ },
56
+ get isPressed() {
57
+ return (props.isPressed === true || aria.isPressed) && !(props.isPending === true);
58
+ }
59
+ };
60
+ const render = createRenderProps(mergeProps$1(props, {
61
+ defaultClass: "solid2-aria-Button",
62
+ values
63
+ }));
64
+ const id = createUniqueId();
65
+ const progressId = createUniqueId();
66
+ const label = () => {
67
+ const labelledBy = aria.buttonProps["aria-labelledby"];
68
+ if (props.isPending !== true) return labelledBy;
69
+ if (isTruthy(labelledBy)) return `${labelledBy} ${progressId}`;
70
+ return isTruthy(aria.buttonProps["aria-label"]) ? `${aria.buttonProps.id ?? id} ${progressId}` : void 0;
71
+ };
72
+ createEffect(() => ({
73
+ focused: focus.isFocused,
74
+ label: label(),
75
+ pending: props.isPending
76
+ }), (next, prev) => {
77
+ if (prev && next.pending !== prev.pending && next.focused) {
78
+ const buttonId = typeof aria.buttonProps.id === "string" ? aria.buttonProps.id : id;
79
+ const labelledBy = typeof next.label === "string" && next.label.length > 0 ? next.label : buttonId;
80
+ announce({ "aria-labelledby": labelledBy }, "assertive");
81
+ }
82
+ });
83
+ const interaction = new Proxy({}, {
84
+ get(target, key) {
85
+ if (props.isPending === true && typeof key === "string" && key.startsWith("on") && !/Focus|Blur|Hover|Pointer(?:Enter|Leave|Over|Out)|Mouse(?:Enter|Leave|Over|Out)/u.test(key)) return;
86
+ return readProperty(aria.buttonProps, key);
87
+ },
88
+ getOwnPropertyDescriptor() {
89
+ return {
90
+ configurable: true,
91
+ enumerable: true
92
+ };
93
+ },
94
+ has(_target, key) {
95
+ return key in aria.buttonProps;
96
+ },
97
+ ownKeys() {
98
+ return Reflect.ownKeys(aria.buttonProps);
99
+ }
100
+ });
101
+ return createComponent(dom.button, mergeProps(() => {
102
+ return mergeProps$1(omit(filterDOMProps(props, { global: true }), "onClick"), interaction, merge(() => focus.focusProps ?? {}), merge(() => hover.hoverProps ?? {}), render);
103
+ }, {
104
+ get id() {
105
+ return aria.buttonProps.id ?? id;
106
+ },
107
+ get type() {
108
+ return memo(() => {
109
+ return !!(props.isPending === true && props.type === "submit");
110
+ })() ? "button" : props.type ?? "button";
111
+ },
112
+ ref: (element) => {
113
+ setRef(element);
114
+ },
115
+ get "aria-labelledby"() {
116
+ return label();
117
+ },
118
+ get "aria-disabled"() {
119
+ return memo(() => {
120
+ return props.isPending === true;
121
+ })() ? "true" : aria.buttonProps["aria-disabled"];
122
+ },
123
+ get slot() {
124
+ return props.slot ?? void 0;
125
+ },
126
+ get "data-disabled"() {
127
+ return props.isDisabled ?? void 0;
128
+ },
129
+ get "data-pending"() {
130
+ return props.isPending ?? void 0;
131
+ },
132
+ get "data-pressed"() {
133
+ return values.isPressed || void 0;
134
+ },
135
+ get "data-focused"() {
136
+ return focus.isFocused || void 0;
137
+ },
138
+ get "data-hovered"() {
139
+ return hover.isHovered || void 0;
140
+ },
141
+ get "data-focus-visible"() {
142
+ return focus.isFocusVisible || void 0;
143
+ },
144
+ get children() {
145
+ return createComponent(ProgressBarContext, {
146
+ value: { id: progressId },
147
+ get children() {
148
+ return render.children;
149
+ }
150
+ });
151
+ }
152
+ }));
153
+ }
154
+ export { Button, ButtonContext };
155
+
156
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","names":["<dom.button\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"onClick\"),\n interaction,\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n id={aria.buttonProps.id ?? id}\n type={\n props.isPending === true && props.type === \"submit\"\n ? \"button\"\n : (props.type ?? \"button\")\n }\n ref={(element: HTMLButtonElement) => {\n setRef(element);\n }}\n aria-labelledby={label()}\n aria-disabled={\n props.isPending === true ? \"true\" : aria.buttonProps[\"aria-disabled\"]\n }\n slot={props.slot ?? undefined}\n data-disabled={props.isDisabled ?? undefined}\n data-pending={props.isPending ?? undefined}\n data-pressed={values.isPressed || undefined}\n data-focused={focus.isFocused || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <ProgressBarContext value={{ id: progressId }}>\n {render.children}\n </ProgressBarContext>\n </dom.button>","dom.button","props.isPending === true && props.type === \"submit\"\n ? \"button\"\n : (props.type ?? \"button\")","ref={(element: HTMLButtonElement) => {\n setRef(element);\n }}","props.isPending === true ? \"true\" : aria.buttonProps[\"aria-disabled\"]","<ProgressBarContext value={{ id: progressId }}>\n {render.children}\n </ProgressBarContext>","value={{ id: progressId }}","mergeProps","_$createComponent","_$mergeProps","_$memo"],"sources":["../../src/button.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/Button.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 { createButton } from \"@solid2-aria/core/button/create-button\";\nimport type { AriaButtonProps } from \"@solid2-aria/core/button/create-button\";\nimport { createIsHidden } from \"@solid2-aria/core/collections/hidden\";\nimport { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\nimport { announce } from \"@solid2-aria/core/live-announcer/live-announcer\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { readProperty } from \"@solid2-aria/core/utils/read-property\";\nimport { isTruthy } from \"@solid2-aria/core/utils/truthy\";\nimport type { HoverEvents } from \"@solid2-aria/types-shared\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n merge,\n untrack,\n createContext,\n createEffect,\n createUniqueId,\n omit,\n} from \"solid-js\";\n\nimport { ProgressBarContext } from \"./progress-bar\";\nimport { dom, createContextProps, createRenderProps } from \"./utils\";\nimport type { Ref, ContextValue, SlotProps, RenderProps } from \"./utils\";\n\nexport interface ButtonRenderProps {\n isHovered: boolean;\n isPressed: boolean;\n isFocused: boolean;\n isFocusVisible: boolean;\n isDisabled: boolean;\n isPending: boolean;\n}\n\nexport interface ButtonProps\n extends\n Omit<AriaButtonProps, \"children\" | \"elementType\">,\n HoverEvents,\n SlotProps,\n RenderProps<ButtonRenderProps, \"button\"> {\n isPending?: boolean;\n isPressed?: boolean;\n ref?: Ref<HTMLButtonElement>;\n}\n\nexport const ButtonContext =\n createContext<ContextValue<ButtonProps, HTMLButtonElement>>(null);\n\nexport function Button(input: ButtonProps): 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, ref, setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n ButtonContext\n );\n\n const aria = createButton(props, ref);\n const focus = createFocusRing(props);\n\n const hover = createHover(\n mergeProps(props, {\n get isDisabled() {\n return props.isDisabled === true || props.isPending === true;\n },\n })\n );\n\n const values: ButtonRenderProps = {\n get isDisabled() {\n return props.isDisabled === true;\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 get isPending() {\n return props.isPending === true;\n },\n get isPressed() {\n return (\n (props.isPressed === true || aria.isPressed) &&\n !(props.isPending === true)\n );\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Button\", values })\n );\n\n const id = createUniqueId();\n const progressId = createUniqueId();\n\n const label = () => {\n const labelledBy = aria.buttonProps[\"aria-labelledby\"];\n\n if (props.isPending !== true) {\n return labelledBy;\n }\n\n if (isTruthy(labelledBy)) {\n return `${labelledBy} ${progressId}`;\n }\n\n return isTruthy(aria.buttonProps[\"aria-label\"])\n ? `${aria.buttonProps.id ?? id} ${progressId}`\n : undefined;\n };\n\n createEffect(\n () => ({\n focused: focus.isFocused,\n label: label(),\n pending: props.isPending,\n }),\n (next, prev) => {\n if (prev && next.pending !== prev.pending && next.focused) {\n const buttonId =\n typeof aria.buttonProps.id === \"string\" ? aria.buttonProps.id : id;\n\n const labelledBy =\n typeof next.label === \"string\" && next.label.length > 0\n ? next.label\n : buttonId;\n\n announce({ \"aria-labelledby\": labelledBy }, \"assertive\");\n }\n }\n );\n\n const interaction = new Proxy(\n {},\n {\n get(target, key): ReturnType<typeof readProperty> {\n if (\n props.isPending === true &&\n typeof key === \"string\" &&\n key.startsWith(\"on\") &&\n !/Focus|Blur|Hover|Pointer(?:Enter|Leave|Over|Out)|Mouse(?:Enter|Leave|Over|Out)/u.test(\n key\n )\n ) {\n return undefined;\n }\n\n return readProperty(aria.buttonProps, key);\n },\n getOwnPropertyDescriptor() {\n return { configurable: true, enumerable: true };\n },\n has(_target, key) {\n return key in aria.buttonProps;\n },\n ownKeys() {\n return Reflect.ownKeys(aria.buttonProps);\n },\n }\n );\n\n return (\n <dom.button\n {...mergeProps(\n omit(filterDOMProps(props, { global: true }), \"onClick\"),\n interaction,\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n id={aria.buttonProps.id ?? id}\n type={\n props.isPending === true && props.type === \"submit\"\n ? \"button\"\n : (props.type ?? \"button\")\n }\n ref={(element: HTMLButtonElement) => {\n setRef(element);\n }}\n aria-labelledby={label()}\n aria-disabled={\n props.isPending === true ? \"true\" : aria.buttonProps[\"aria-disabled\"]\n }\n slot={props.slot ?? undefined}\n data-disabled={props.isDisabled ?? undefined}\n data-pending={props.isPending ?? undefined}\n data-pressed={values.isPressed || undefined}\n data-focused={focus.isFocused || undefined}\n data-hovered={hover.isHovered || undefined}\n data-focus-visible={focus.isFocusVisible || undefined}\n >\n <ProgressBarContext value={{ id: progressId }}>\n {render.children}\n </ProgressBarContext>\n </dom.button>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8DA,MAAa,gBACX,cAA4D,IAAI;AAElE,SAAgB,OAAO,OAAiC;CACtD,IAAI,eAAe,GAEjB,OAAO;CAGT,MAAM,CAAC,OAAO,KAAK,UAAU,mBAC3B,OACA,cAAc,MAAM,GAAG,GACvB,aACF;CAEA,MAAM,OAAO,aAAa,OAAO,GAAG;CACpC,MAAM,QAAQ,gBAAgB,KAAK;CAEnC,MAAM,QAAQ,YACZO,aAAW,OAAO,EAChB,IAAI,aAAa;EACf,OAAO,MAAM,eAAe,QAAQ,MAAM,cAAc;CAC1D,EACF,CAAC,CACH;CAEA,MAAM,SAA4B;EAChC,IAAI,aAAa;GACf,OAAO,MAAM,eAAe;EAC9B;EACA,IAAI,iBAAiB;GACnB,OAAO,MAAM;EACf;EACA,IAAI,YAAY;GACd,OAAO,MAAM;EACf;EACA,IAAI,YAAY;GACd,OAAO,MAAM;EACf;EACA,IAAI,YAAY;GACd,OAAO,MAAM,cAAc;EAC7B;EACA,IAAI,YAAY;GACd,QACG,MAAM,cAAc,QAAQ,KAAK,cAClC,EAAE,MAAM,cAAc;EAE1B;CACF;CAEA,MAAM,SAAS,kBACbA,aAAW,OAAO;EAAE,cAAc;EAAsB;CAAO,CAAC,CAClE;CAEA,MAAM,KAAK,eAAe;CAC1B,MAAM,aAAa,eAAe;CAElC,MAAM,cAAc;EAClB,MAAM,aAAa,KAAK,YAAY;EAEpC,IAAI,MAAM,cAAc,MACtB,OAAO;EAGT,IAAI,SAAS,UAAU,GACrB,OAAO,GAAG,WAAW,GAAG;EAG1B,OAAO,SAAS,KAAK,YAAY,aAAa,IAC1C,GAAG,KAAK,YAAY,MAAM,GAAG,GAAG,eAChC,KAAA;CACN;CAEA,oBACS;EACL,SAAS,MAAM;EACf,OAAO,MAAM;EACb,SAAS,MAAM;CACjB,KACC,MAAM,SAAS;EACd,IAAI,QAAQ,KAAK,YAAY,KAAK,WAAW,KAAK,SAAS;GACzD,MAAM,WACJ,OAAO,KAAK,YAAY,OAAO,WAAW,KAAK,YAAY,KAAK;GAElE,MAAM,aACJ,OAAO,KAAK,UAAU,YAAY,KAAK,MAAM,SAAS,IAClD,KAAK,QACL;GAEN,SAAS,EAAE,mBAAmB,WAAW,GAAG,WAAW;EACzD;CACF,CACF;CAEA,MAAM,cAAc,IAAI,MACtB,CAAC,GACD;EACE,IAAI,QAAQ,KAAsC;GAChD,IACE,MAAM,cAAc,QACpB,OAAO,QAAQ,YACf,IAAI,WAAW,IAAI,KACnB,CAAC,kFAAkF,KACjF,GACF,GAEA;GAGF,OAAO,aAAa,KAAK,aAAa,GAAG;EAC3C;EACA,2BAA2B;GACzB,OAAO;IAAE,cAAc;IAAM,YAAY;GAAK;EAChD;EACA,IAAI,SAAS,KAAK;GAChB,OAAO,OAAO,KAAK;EACrB;EACA,UAAU;GACR,OAAO,QAAQ,QAAQ,KAAK,WAAW;EACzC;CACF,CACF;CAEA,OACEP,gBAAAA,IAACC,QAADD,iBACE;EAAI,OAAAO,aACF,KAAK,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC,GAAG,SAAS,GACvD,aACA,YAAY,MAAM,cAAc,CAAC,CAAC,GAClC,YAAY,MAAM,cAAc,CAAC,CAAC,GAClC,MACF;CAAC,GAPH;EAQE,IAAA,KAAA;GAAI,OAAA,KAAK,YAAY,MAAM;EAAE;EAC7B,IAAA,OAAA;GACEL,OAAAA,WAAAA;IAAM,OAAA,CAAA,EAAA,MAAA,cAAc,QAAQ,MAAM,SAAS;GAEhB,CAAA,CAAC,CAAD,IADvB,WACC,MAAM,QAAQ;EACrB;EACAC,MAAM,YAA+B;GACnC,OAAO,OAAO;EAChB;EACA,IAAA,oBAAA;GAAiB,OAAA,MAAM;EAAC;EACxB,IAAA,kBAAA;GACEC,OAAAA,WAAAA;IAAM,OAAA,MAAA,cAAc;GAAgD,CAAA,CAAC,CAAD,IAAzC,SAAS,KAAK,YAAY;EACvD;EACA,IAAA,OAAA;GAAM,OAAA,MAAM,QAAQ,KAAA;EAAS;EAC7B,IAAA,kBAAA;GAAe,OAAA,MAAM,cAAc,KAAA;EAAS;EAC5C,IAAA,iBAAA;GAAc,OAAA,MAAM,aAAa,KAAA;EAAS;EAC1C,IAAA,iBAAA;GAAc,OAAA,OAAO,aAAa,KAAA;EAAS;EAC3C,IAAA,iBAAA;GAAc,OAAA,MAAM,aAAa,KAAA;EAAS;EAC1C,IAAA,iBAAA;GAAc,OAAA,MAAM,aAAa,KAAA;EAAS;EAC1C,IAAA,uBAAA;GAAoB,OAAA,MAAM,kBAAkB,KAAA;EAAS;EA3BvD,IAAA,WAAA;GA6BEC,OAAAA,gBAAAA,oBAAAA;IAAoBC,OAAO,EAAE,IAAI,WAAW;IAA5C,IAAA,WAAA;KACG,OAAA,OAAO;IACU;;EACV;;AAEhB"}