@solid2-aria/components 0.0.0-stage → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -2
  3. package/dist/LICENSES/Apache-2.0.txt +201 -0
  4. package/dist/LICENSES/react-spectrum-NOTICE.txt +242 -0
  5. package/dist/NOTICE.txt +636 -0
  6. package/dist/browser/autocomplete.d.ts +35 -0
  7. package/dist/browser/autocomplete.js +69 -0
  8. package/dist/browser/autocomplete.js.map +1 -0
  9. package/dist/browser/breadcrumbs.d.ts +71 -0
  10. package/dist/browser/breadcrumbs.js +121 -0
  11. package/dist/browser/breadcrumbs.js.map +1 -0
  12. package/dist/browser/button.d.ts +36 -0
  13. package/dist/browser/button.js +156 -0
  14. package/dist/browser/button.js.map +1 -0
  15. package/dist/browser/calendar.d.ts +103 -0
  16. package/dist/browser/calendar.js +581 -0
  17. package/dist/browser/calendar.js.map +1 -0
  18. package/dist/browser/checkbox.d.ts +67 -0
  19. package/dist/browser/checkbox.js +345 -0
  20. package/dist/browser/checkbox.js.map +1 -0
  21. package/dist/browser/collection-dnd.d.ts +56 -0
  22. package/dist/browser/collection-dnd.js +156 -0
  23. package/dist/browser/collection-dnd.js.map +1 -0
  24. package/dist/browser/collection.d.ts +153 -0
  25. package/dist/browser/collection.js +106 -0
  26. package/dist/browser/collection.js.map +1 -0
  27. package/dist/browser/color-area.d.ts +21 -0
  28. package/dist/browser/color-area.js +94 -0
  29. package/dist/browser/color-area.js.map +1 -0
  30. package/dist/browser/color-field.d.ts +39 -0
  31. package/dist/browser/color-field.js +232 -0
  32. package/dist/browser/color-field.js.map +1 -0
  33. package/dist/browser/color-picker.d.ts +30 -0
  34. package/dist/browser/color-picker.js +84 -0
  35. package/dist/browser/color-picker.js.map +1 -0
  36. package/dist/browser/color-slider.d.ts +23 -0
  37. package/dist/browser/color-slider.js +132 -0
  38. package/dist/browser/color-slider.js.map +1 -0
  39. package/dist/browser/color-swatch-picker.d.ts +29 -0
  40. package/dist/browser/color-swatch-picker.js +131 -0
  41. package/dist/browser/color-swatch-picker.js.map +1 -0
  42. package/dist/browser/color-swatch.d.ts +19 -0
  43. package/dist/browser/color-swatch.js +42 -0
  44. package/dist/browser/color-swatch.js.map +1 -0
  45. package/dist/browser/color-thumb.d.ts +42 -0
  46. package/dist/browser/color-thumb.js +114 -0
  47. package/dist/browser/color-thumb.js.map +1 -0
  48. package/dist/browser/color-wheel.d.ts +29 -0
  49. package/dist/browser/color-wheel.js +109 -0
  50. package/dist/browser/color-wheel.js.map +1 -0
  51. package/dist/browser/combo-box.d.ts +113 -0
  52. package/dist/browser/combo-box.js +394 -0
  53. package/dist/browser/combo-box.js.map +1 -0
  54. package/dist/browser/create-drag-and-drop.d.ts +61 -0
  55. package/dist/browser/create-drag-and-drop.js +56 -0
  56. package/dist/browser/create-drag-and-drop.js.map +1 -0
  57. package/dist/browser/date-field.d.ts +71 -0
  58. package/dist/browser/date-field.js +508 -0
  59. package/dist/browser/date-field.js.map +1 -0
  60. package/dist/browser/date-picker.d.ts +50 -0
  61. package/dist/browser/date-picker.js +403 -0
  62. package/dist/browser/date-picker.js.map +1 -0
  63. package/dist/browser/dialog.d.ts +35 -0
  64. package/dist/browser/dialog.js +148 -0
  65. package/dist/browser/dialog.js.map +1 -0
  66. package/dist/browser/disclosure.d.ts +56 -0
  67. package/dist/browser/disclosure.js +180 -0
  68. package/dist/browser/disclosure.js.map +1 -0
  69. package/dist/browser/drag-and-drop.d.ts +43 -0
  70. package/dist/browser/drag-and-drop.js +66 -0
  71. package/dist/browser/drag-and-drop.js.map +1 -0
  72. package/dist/browser/drop-zone.d.ts +33 -0
  73. package/dist/browser/drop-zone.js +161 -0
  74. package/dist/browser/drop-zone.js.map +1 -0
  75. package/dist/browser/field-error.d.ts +28 -0
  76. package/dist/browser/field-error.js +60 -0
  77. package/dist/browser/field-error.js.map +1 -0
  78. package/dist/browser/file-trigger.d.ts +30 -0
  79. package/dist/browser/file-trigger.js +66 -0
  80. package/dist/browser/file-trigger.js.map +1 -0
  81. package/dist/browser/form.d.ts +28 -0
  82. package/dist/browser/form.js +64 -0
  83. package/dist/browser/form.js.map +1 -0
  84. package/dist/browser/grid-layout.d.ts +22 -0
  85. package/dist/browser/grid-layout.js +30 -0
  86. package/dist/browser/grid-layout.js.map +1 -0
  87. package/dist/browser/grid-list.d.ts +95 -0
  88. package/dist/browser/grid-list.js +609 -0
  89. package/dist/browser/grid-list.js.map +1 -0
  90. package/dist/browser/group.d.ts +35 -0
  91. package/dist/browser/group.js +92 -0
  92. package/dist/browser/group.js.map +1 -0
  93. package/dist/browser/header.d.ts +25 -0
  94. package/dist/browser/header.js +57 -0
  95. package/dist/browser/header.js.map +1 -0
  96. package/dist/browser/heading.d.ts +26 -0
  97. package/dist/browser/heading.js +53 -0
  98. package/dist/browser/heading.js.map +1 -0
  99. package/dist/browser/hidden-date-input.d.ts +34 -0
  100. package/dist/browser/hidden-date-input.js +84 -0
  101. package/dist/browser/hidden-date-input.js.map +1 -0
  102. package/dist/browser/index.d.ts +133 -0
  103. package/dist/browser/index.js +98 -0
  104. package/dist/browser/input.d.ts +33 -0
  105. package/dist/browser/input.js +94 -0
  106. package/dist/browser/input.js.map +1 -0
  107. package/dist/browser/intl/ar-AE.js +11 -0
  108. package/dist/browser/intl/ar-AE.js.map +1 -0
  109. package/dist/browser/intl/bg-BG.js +11 -0
  110. package/dist/browser/intl/bg-BG.js.map +1 -0
  111. package/dist/browser/intl/cs-CZ.js +11 -0
  112. package/dist/browser/intl/cs-CZ.js.map +1 -0
  113. package/dist/browser/intl/da-DK.js +11 -0
  114. package/dist/browser/intl/da-DK.js.map +1 -0
  115. package/dist/browser/intl/de-DE.js +11 -0
  116. package/dist/browser/intl/de-DE.js.map +1 -0
  117. package/dist/browser/intl/el-GR.js +11 -0
  118. package/dist/browser/intl/el-GR.js.map +1 -0
  119. package/dist/browser/intl/en-US.js +11 -0
  120. package/dist/browser/intl/en-US.js.map +1 -0
  121. package/dist/browser/intl/es-ES.js +11 -0
  122. package/dist/browser/intl/es-ES.js.map +1 -0
  123. package/dist/browser/intl/et-EE.js +11 -0
  124. package/dist/browser/intl/et-EE.js.map +1 -0
  125. package/dist/browser/intl/fi-FI.js +11 -0
  126. package/dist/browser/intl/fi-FI.js.map +1 -0
  127. package/dist/browser/intl/fr-FR.js +11 -0
  128. package/dist/browser/intl/fr-FR.js.map +1 -0
  129. package/dist/browser/intl/he-IL.js +11 -0
  130. package/dist/browser/intl/he-IL.js.map +1 -0
  131. package/dist/browser/intl/hr-HR.js +11 -0
  132. package/dist/browser/intl/hr-HR.js.map +1 -0
  133. package/dist/browser/intl/hu-HU.js +11 -0
  134. package/dist/browser/intl/hu-HU.js.map +1 -0
  135. package/dist/browser/intl/index.js +75 -0
  136. package/dist/browser/intl/index.js.map +1 -0
  137. package/dist/browser/intl/it-IT.js +11 -0
  138. package/dist/browser/intl/it-IT.js.map +1 -0
  139. package/dist/browser/intl/ja-JP.js +11 -0
  140. package/dist/browser/intl/ja-JP.js.map +1 -0
  141. package/dist/browser/intl/ko-KR.js +11 -0
  142. package/dist/browser/intl/ko-KR.js.map +1 -0
  143. package/dist/browser/intl/lt-LT.js +11 -0
  144. package/dist/browser/intl/lt-LT.js.map +1 -0
  145. package/dist/browser/intl/lv-LV.js +11 -0
  146. package/dist/browser/intl/lv-LV.js.map +1 -0
  147. package/dist/browser/intl/nb-NO.js +11 -0
  148. package/dist/browser/intl/nb-NO.js.map +1 -0
  149. package/dist/browser/intl/nl-NL.js +11 -0
  150. package/dist/browser/intl/nl-NL.js.map +1 -0
  151. package/dist/browser/intl/pl-PL.js +11 -0
  152. package/dist/browser/intl/pl-PL.js.map +1 -0
  153. package/dist/browser/intl/pt-BR.js +11 -0
  154. package/dist/browser/intl/pt-BR.js.map +1 -0
  155. package/dist/browser/intl/pt-PT.js +11 -0
  156. package/dist/browser/intl/pt-PT.js.map +1 -0
  157. package/dist/browser/intl/ro-RO.js +11 -0
  158. package/dist/browser/intl/ro-RO.js.map +1 -0
  159. package/dist/browser/intl/ru-RU.js +11 -0
  160. package/dist/browser/intl/ru-RU.js.map +1 -0
  161. package/dist/browser/intl/sk-SK.js +11 -0
  162. package/dist/browser/intl/sk-SK.js.map +1 -0
  163. package/dist/browser/intl/sl-SI.js +11 -0
  164. package/dist/browser/intl/sl-SI.js.map +1 -0
  165. package/dist/browser/intl/sr-SP.js +11 -0
  166. package/dist/browser/intl/sr-SP.js.map +1 -0
  167. package/dist/browser/intl/sv-SE.js +11 -0
  168. package/dist/browser/intl/sv-SE.js.map +1 -0
  169. package/dist/browser/intl/tr-TR.js +11 -0
  170. package/dist/browser/intl/tr-TR.js.map +1 -0
  171. package/dist/browser/intl/uk-UA.js +11 -0
  172. package/dist/browser/intl/uk-UA.js.map +1 -0
  173. package/dist/browser/intl/zh-CN.js +11 -0
  174. package/dist/browser/intl/zh-CN.js.map +1 -0
  175. package/dist/browser/intl/zh-TW.js +11 -0
  176. package/dist/browser/intl/zh-TW.js.map +1 -0
  177. package/dist/browser/keyboard.d.ts +25 -0
  178. package/dist/browser/keyboard.js +50 -0
  179. package/dist/browser/keyboard.js.map +1 -0
  180. package/dist/browser/label.d.ts +26 -0
  181. package/dist/browser/label.js +53 -0
  182. package/dist/browser/label.js.map +1 -0
  183. package/dist/browser/link.d.ts +34 -0
  184. package/dist/browser/link.js +92 -0
  185. package/dist/browser/link.js.map +1 -0
  186. package/dist/browser/list-box.d.ts +171 -0
  187. package/dist/browser/list-box.js +547 -0
  188. package/dist/browser/list-box.js.map +1 -0
  189. package/dist/browser/menu.d.ts +150 -0
  190. package/dist/browser/menu.js +597 -0
  191. package/dist/browser/menu.js.map +1 -0
  192. package/dist/browser/meter.d.ts +29 -0
  193. package/dist/browser/meter.js +73 -0
  194. package/dist/browser/meter.js.map +1 -0
  195. package/dist/browser/modal.d.ts +48 -0
  196. package/dist/browser/modal.js +190 -0
  197. package/dist/browser/modal.js.map +1 -0
  198. package/dist/browser/navigation-tree.d.ts +54 -0
  199. package/dist/browser/navigation-tree.js +233 -0
  200. package/dist/browser/navigation-tree.js.map +1 -0
  201. package/dist/browser/number-field.d.ts +36 -0
  202. package/dist/browser/number-field.js +179 -0
  203. package/dist/browser/number-field.js.map +1 -0
  204. package/dist/browser/overlay-arrow.d.ts +32 -0
  205. package/dist/browser/overlay-arrow.js +65 -0
  206. package/dist/browser/overlay-arrow.js.map +1 -0
  207. package/dist/browser/overlay-contexts.d.ts +22 -0
  208. package/dist/browser/overlay-contexts.js +24 -0
  209. package/dist/browser/overlay-contexts.js.map +1 -0
  210. package/dist/browser/popover.d.ts +50 -0
  211. package/dist/browser/popover.js +255 -0
  212. package/dist/browser/popover.js.map +1 -0
  213. package/dist/browser/preview-trigger.d.ts +25 -0
  214. package/dist/browser/preview-trigger.js +93 -0
  215. package/dist/browser/preview-trigger.js.map +1 -0
  216. package/dist/browser/progress-bar.d.ts +30 -0
  217. package/dist/browser/progress-bar.js +76 -0
  218. package/dist/browser/progress-bar.js.map +1 -0
  219. package/dist/browser/radio-group.d.ts +67 -0
  220. package/dist/browser/radio-group.js +336 -0
  221. package/dist/browser/radio-group.js.map +1 -0
  222. package/dist/browser/search-field.d.ts +34 -0
  223. package/dist/browser/search-field.js +156 -0
  224. package/dist/browser/search-field.js.map +1 -0
  225. package/dist/browser/select.d.ts +115 -0
  226. package/dist/browser/select.js +351 -0
  227. package/dist/browser/select.js.map +1 -0
  228. package/dist/browser/selection-indicator.d.ts +25 -0
  229. package/dist/browser/selection-indicator.js +40 -0
  230. package/dist/browser/selection-indicator.js.map +1 -0
  231. package/dist/browser/separator.d.ts +30 -0
  232. package/dist/browser/separator.js +68 -0
  233. package/dist/browser/separator.js.map +1 -0
  234. package/dist/browser/shared-element-transition.d.ts +35 -0
  235. package/dist/browser/shared-element-transition.js +141 -0
  236. package/dist/browser/shared-element-transition.js.map +1 -0
  237. package/dist/browser/sheet.d.ts +64 -0
  238. package/dist/browser/sheet.js +982 -0
  239. package/dist/browser/sheet.js.map +1 -0
  240. package/dist/browser/slider.d.ts +77 -0
  241. package/dist/browser/slider.js +318 -0
  242. package/dist/browser/slider.js.map +1 -0
  243. package/dist/browser/switch.d.ts +54 -0
  244. package/dist/browser/switch.js +240 -0
  245. package/dist/browser/switch.js.map +1 -0
  246. package/dist/browser/table-layout.d.ts +22 -0
  247. package/dist/browser/table-layout.js +31 -0
  248. package/dist/browser/table-layout.js.map +1 -0
  249. package/dist/browser/table.d.ts +184 -0
  250. package/dist/browser/table.js +1268 -0
  251. package/dist/browser/table.js.map +1 -0
  252. package/dist/browser/tabs.d.ts +194 -0
  253. package/dist/browser/tabs.js +378 -0
  254. package/dist/browser/tabs.js.map +1 -0
  255. package/dist/browser/tag-group.d.ts +112 -0
  256. package/dist/browser/tag-group.js +291 -0
  257. package/dist/browser/tag-group.js.map +1 -0
  258. package/dist/browser/text-area.d.ts +16 -0
  259. package/dist/browser/text-area.js +75 -0
  260. package/dist/browser/text-area.js.map +1 -0
  261. package/dist/browser/text-field.d.ts +31 -0
  262. package/dist/browser/text-field.js +152 -0
  263. package/dist/browser/text-field.js.map +1 -0
  264. package/dist/browser/text.d.ts +25 -0
  265. package/dist/browser/text.js +52 -0
  266. package/dist/browser/text.js.map +1 -0
  267. package/dist/browser/toast.d.ts +66 -0
  268. package/dist/browser/toast.js +226 -0
  269. package/dist/browser/toast.js.map +1 -0
  270. package/dist/browser/toggle-button-group.d.ts +32 -0
  271. package/dist/browser/toggle-button-group.js +74 -0
  272. package/dist/browser/toggle-button-group.js.map +1 -0
  273. package/dist/browser/toggle-button.d.ts +33 -0
  274. package/dist/browser/toggle-button.js +119 -0
  275. package/dist/browser/toggle-button.js.map +1 -0
  276. package/dist/browser/token-field.d.ts +124 -0
  277. package/dist/browser/token-field.js +277 -0
  278. package/dist/browser/token-field.js.map +1 -0
  279. package/dist/browser/toolbar.d.ts +28 -0
  280. package/dist/browser/toolbar.js +51 -0
  281. package/dist/browser/toolbar.js.map +1 -0
  282. package/dist/browser/tooltip.d.ts +44 -0
  283. package/dist/browser/tooltip.js +183 -0
  284. package/dist/browser/tooltip.js.map +1 -0
  285. package/dist/browser/tree-drop-target-delegate.d.ts +33 -0
  286. package/dist/browser/tree-drop-target-delegate.js +178 -0
  287. package/dist/browser/tree-drop-target-delegate.js.map +1 -0
  288. package/dist/browser/tree.d.ts +98 -0
  289. package/dist/browser/tree.js +699 -0
  290. package/dist/browser/tree.js.map +1 -0
  291. package/dist/browser/utils.d.ts +94 -0
  292. package/dist/browser/utils.js +173 -0
  293. package/dist/browser/utils.js.map +1 -0
  294. package/dist/browser/virtualizer.d.ts +33 -0
  295. package/dist/browser/virtualizer.js +179 -0
  296. package/dist/browser/virtualizer.js.map +1 -0
  297. package/dist/server/autocomplete.js +125 -0
  298. package/dist/server/autocomplete.js.map +1 -0
  299. package/dist/server/breadcrumbs.js +185 -0
  300. package/dist/server/breadcrumbs.js.map +1 -0
  301. package/dist/server/button.js +252 -0
  302. package/dist/server/button.js.map +1 -0
  303. package/dist/server/calendar.js +1054 -0
  304. package/dist/server/calendar.js.map +1 -0
  305. package/dist/server/checkbox.js +595 -0
  306. package/dist/server/checkbox.js.map +1 -0
  307. package/dist/server/collection-dnd.js +217 -0
  308. package/dist/server/collection-dnd.js.map +1 -0
  309. package/dist/server/collection.js +106 -0
  310. package/dist/server/collection.js.map +1 -0
  311. package/dist/server/color-area.js +142 -0
  312. package/dist/server/color-area.js.map +1 -0
  313. package/dist/server/color-field.js +394 -0
  314. package/dist/server/color-field.js.map +1 -0
  315. package/dist/server/color-picker.js +170 -0
  316. package/dist/server/color-picker.js.map +1 -0
  317. package/dist/server/color-slider.js +328 -0
  318. package/dist/server/color-slider.js.map +1 -0
  319. package/dist/server/color-swatch-picker.js +234 -0
  320. package/dist/server/color-swatch-picker.js.map +1 -0
  321. package/dist/server/color-swatch.js +52 -0
  322. package/dist/server/color-swatch.js.map +1 -0
  323. package/dist/server/color-thumb.js +132 -0
  324. package/dist/server/color-thumb.js.map +1 -0
  325. package/dist/server/color-wheel.js +188 -0
  326. package/dist/server/color-wheel.js.map +1 -0
  327. package/dist/server/combo-box.js +914 -0
  328. package/dist/server/combo-box.js.map +1 -0
  329. package/dist/server/create-drag-and-drop.js +56 -0
  330. package/dist/server/create-drag-and-drop.js.map +1 -0
  331. package/dist/server/date-field.js +1055 -0
  332. package/dist/server/date-field.js.map +1 -0
  333. package/dist/server/date-picker.js +1079 -0
  334. package/dist/server/date-picker.js.map +1 -0
  335. package/dist/server/dialog.js +295 -0
  336. package/dist/server/dialog.js.map +1 -0
  337. package/dist/server/disclosure.js +292 -0
  338. package/dist/server/disclosure.js.map +1 -0
  339. package/dist/server/drag-and-drop.js +66 -0
  340. package/dist/server/drag-and-drop.js.map +1 -0
  341. package/dist/server/drop-zone.js +241 -0
  342. package/dist/server/drop-zone.js.map +1 -0
  343. package/dist/server/field-error.js +90 -0
  344. package/dist/server/field-error.js.map +1 -0
  345. package/dist/server/file-trigger.js +98 -0
  346. package/dist/server/file-trigger.js.map +1 -0
  347. package/dist/server/form.js +116 -0
  348. package/dist/server/form.js.map +1 -0
  349. package/dist/server/grid-layout.js +30 -0
  350. package/dist/server/grid-layout.js.map +1 -0
  351. package/dist/server/grid-list.js +1015 -0
  352. package/dist/server/grid-list.js.map +1 -0
  353. package/dist/server/group.js +146 -0
  354. package/dist/server/group.js.map +1 -0
  355. package/dist/server/header.js +72 -0
  356. package/dist/server/header.js.map +1 -0
  357. package/dist/server/heading.js +68 -0
  358. package/dist/server/heading.js.map +1 -0
  359. package/dist/server/hidden-date-input.js +79 -0
  360. package/dist/server/hidden-date-input.js.map +1 -0
  361. package/dist/server/index.js +98 -0
  362. package/dist/server/input.js +134 -0
  363. package/dist/server/input.js.map +1 -0
  364. package/dist/server/intl/ar-AE.js +11 -0
  365. package/dist/server/intl/ar-AE.js.map +1 -0
  366. package/dist/server/intl/bg-BG.js +11 -0
  367. package/dist/server/intl/bg-BG.js.map +1 -0
  368. package/dist/server/intl/cs-CZ.js +11 -0
  369. package/dist/server/intl/cs-CZ.js.map +1 -0
  370. package/dist/server/intl/da-DK.js +11 -0
  371. package/dist/server/intl/da-DK.js.map +1 -0
  372. package/dist/server/intl/de-DE.js +11 -0
  373. package/dist/server/intl/de-DE.js.map +1 -0
  374. package/dist/server/intl/el-GR.js +11 -0
  375. package/dist/server/intl/el-GR.js.map +1 -0
  376. package/dist/server/intl/en-US.js +11 -0
  377. package/dist/server/intl/en-US.js.map +1 -0
  378. package/dist/server/intl/es-ES.js +11 -0
  379. package/dist/server/intl/es-ES.js.map +1 -0
  380. package/dist/server/intl/et-EE.js +11 -0
  381. package/dist/server/intl/et-EE.js.map +1 -0
  382. package/dist/server/intl/fi-FI.js +11 -0
  383. package/dist/server/intl/fi-FI.js.map +1 -0
  384. package/dist/server/intl/fr-FR.js +11 -0
  385. package/dist/server/intl/fr-FR.js.map +1 -0
  386. package/dist/server/intl/he-IL.js +11 -0
  387. package/dist/server/intl/he-IL.js.map +1 -0
  388. package/dist/server/intl/hr-HR.js +11 -0
  389. package/dist/server/intl/hr-HR.js.map +1 -0
  390. package/dist/server/intl/hu-HU.js +11 -0
  391. package/dist/server/intl/hu-HU.js.map +1 -0
  392. package/dist/server/intl/index.js +75 -0
  393. package/dist/server/intl/index.js.map +1 -0
  394. package/dist/server/intl/it-IT.js +11 -0
  395. package/dist/server/intl/it-IT.js.map +1 -0
  396. package/dist/server/intl/ja-JP.js +11 -0
  397. package/dist/server/intl/ja-JP.js.map +1 -0
  398. package/dist/server/intl/ko-KR.js +11 -0
  399. package/dist/server/intl/ko-KR.js.map +1 -0
  400. package/dist/server/intl/lt-LT.js +11 -0
  401. package/dist/server/intl/lt-LT.js.map +1 -0
  402. package/dist/server/intl/lv-LV.js +11 -0
  403. package/dist/server/intl/lv-LV.js.map +1 -0
  404. package/dist/server/intl/nb-NO.js +11 -0
  405. package/dist/server/intl/nb-NO.js.map +1 -0
  406. package/dist/server/intl/nl-NL.js +11 -0
  407. package/dist/server/intl/nl-NL.js.map +1 -0
  408. package/dist/server/intl/pl-PL.js +11 -0
  409. package/dist/server/intl/pl-PL.js.map +1 -0
  410. package/dist/server/intl/pt-BR.js +11 -0
  411. package/dist/server/intl/pt-BR.js.map +1 -0
  412. package/dist/server/intl/pt-PT.js +11 -0
  413. package/dist/server/intl/pt-PT.js.map +1 -0
  414. package/dist/server/intl/ro-RO.js +11 -0
  415. package/dist/server/intl/ro-RO.js.map +1 -0
  416. package/dist/server/intl/ru-RU.js +11 -0
  417. package/dist/server/intl/ru-RU.js.map +1 -0
  418. package/dist/server/intl/sk-SK.js +11 -0
  419. package/dist/server/intl/sk-SK.js.map +1 -0
  420. package/dist/server/intl/sl-SI.js +11 -0
  421. package/dist/server/intl/sl-SI.js.map +1 -0
  422. package/dist/server/intl/sr-SP.js +11 -0
  423. package/dist/server/intl/sr-SP.js.map +1 -0
  424. package/dist/server/intl/sv-SE.js +11 -0
  425. package/dist/server/intl/sv-SE.js.map +1 -0
  426. package/dist/server/intl/tr-TR.js +11 -0
  427. package/dist/server/intl/tr-TR.js.map +1 -0
  428. package/dist/server/intl/uk-UA.js +11 -0
  429. package/dist/server/intl/uk-UA.js.map +1 -0
  430. package/dist/server/intl/zh-CN.js +11 -0
  431. package/dist/server/intl/zh-CN.js.map +1 -0
  432. package/dist/server/intl/zh-TW.js +11 -0
  433. package/dist/server/intl/zh-TW.js.map +1 -0
  434. package/dist/server/keyboard.js +65 -0
  435. package/dist/server/keyboard.js.map +1 -0
  436. package/dist/server/label.js +68 -0
  437. package/dist/server/label.js.map +1 -0
  438. package/dist/server/link.js +138 -0
  439. package/dist/server/link.js.map +1 -0
  440. package/dist/server/list-box.js +906 -0
  441. package/dist/server/list-box.js.map +1 -0
  442. package/dist/server/menu.js +1188 -0
  443. package/dist/server/menu.js.map +1 -0
  444. package/dist/server/meter.js +101 -0
  445. package/dist/server/meter.js.map +1 -0
  446. package/dist/server/modal.js +360 -0
  447. package/dist/server/modal.js.map +1 -0
  448. package/dist/server/navigation-tree.js +316 -0
  449. package/dist/server/navigation-tree.js.map +1 -0
  450. package/dist/server/number-field.js +371 -0
  451. package/dist/server/number-field.js.map +1 -0
  452. package/dist/server/overlay-arrow.js +81 -0
  453. package/dist/server/overlay-arrow.js.map +1 -0
  454. package/dist/server/overlay-contexts.js +24 -0
  455. package/dist/server/overlay-contexts.js.map +1 -0
  456. package/dist/server/popover.js +455 -0
  457. package/dist/server/popover.js.map +1 -0
  458. package/dist/server/preview-trigger.js +153 -0
  459. package/dist/server/preview-trigger.js.map +1 -0
  460. package/dist/server/progress-bar.js +104 -0
  461. package/dist/server/progress-bar.js.map +1 -0
  462. package/dist/server/radio-group.js +586 -0
  463. package/dist/server/radio-group.js.map +1 -0
  464. package/dist/server/search-field.js +288 -0
  465. package/dist/server/search-field.js.map +1 -0
  466. package/dist/server/select.js +771 -0
  467. package/dist/server/select.js.map +1 -0
  468. package/dist/server/selection-indicator.js +54 -0
  469. package/dist/server/selection-indicator.js.map +1 -0
  470. package/dist/server/separator.js +91 -0
  471. package/dist/server/separator.js.map +1 -0
  472. package/dist/server/shared-element-transition.js +189 -0
  473. package/dist/server/shared-element-transition.js.map +1 -0
  474. package/dist/server/sheet.js +1197 -0
  475. package/dist/server/sheet.js.map +1 -0
  476. package/dist/server/slider.js +581 -0
  477. package/dist/server/slider.js.map +1 -0
  478. package/dist/server/switch.js +400 -0
  479. package/dist/server/switch.js.map +1 -0
  480. package/dist/server/table-layout.js +31 -0
  481. package/dist/server/table-layout.js.map +1 -0
  482. package/dist/server/table.js +2075 -0
  483. package/dist/server/table.js.map +1 -0
  484. package/dist/server/tabs.js +668 -0
  485. package/dist/server/tabs.js.map +1 -0
  486. package/dist/server/tag-group.js +538 -0
  487. package/dist/server/tag-group.js.map +1 -0
  488. package/dist/server/text-area.js +115 -0
  489. package/dist/server/text-area.js.map +1 -0
  490. package/dist/server/text-field.js +272 -0
  491. package/dist/server/text-field.js.map +1 -0
  492. package/dist/server/text.js +67 -0
  493. package/dist/server/text.js.map +1 -0
  494. package/dist/server/toast.js +449 -0
  495. package/dist/server/toast.js.map +1 -0
  496. package/dist/server/toggle-button-group.js +125 -0
  497. package/dist/server/toggle-button-group.js.map +1 -0
  498. package/dist/server/toggle-button.js +183 -0
  499. package/dist/server/toggle-button.js.map +1 -0
  500. package/dist/server/token-field.js +457 -0
  501. package/dist/server/token-field.js.map +1 -0
  502. package/dist/server/toolbar.js +67 -0
  503. package/dist/server/toolbar.js.map +1 -0
  504. package/dist/server/tooltip.js +331 -0
  505. package/dist/server/tooltip.js.map +1 -0
  506. package/dist/server/tree-drop-target-delegate.js +178 -0
  507. package/dist/server/tree-drop-target-delegate.js.map +1 -0
  508. package/dist/server/tree.js +1096 -0
  509. package/dist/server/tree.js.map +1 -0
  510. package/dist/server/utils.js +184 -0
  511. package/dist/server/utils.js.map +1 -0
  512. package/dist/server/virtualizer.js +254 -0
  513. package/dist/server/virtualizer.js.map +1 -0
  514. package/package.json +437 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-field.js","names":["<dom.div\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={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-disabled={props.isDisabled ?? undefined}\n data-invalid={aria.isInvalid || undefined}\n data-readonly={props.isReadOnly ?? undefined}\n data-required={props.isRequired ?? undefined}\n >\n <LabelContext value={labelProps}>\n <InputContext value={inputProps}>\n <TextAreaContext value={inputProps}>\n <GroupContext\n value={{\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isInvalid() {\n return aria.isInvalid;\n },\n role: \"presentation\",\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </GroupContext>\n </TextAreaContext>\n </InputContext>\n </LabelContext>\n </dom.div>","dom.div","ref={(element: HTMLDivElement) => {\n setRef(element);\n }}","<LabelContext value={labelProps}>\n <InputContext value={inputProps}>\n <TextAreaContext value={inputProps}>\n <GroupContext\n value={{\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isInvalid() {\n return aria.isInvalid;\n },\n role: \"presentation\",\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </GroupContext>\n </TextAreaContext>\n </InputContext>\n </LabelContext>","value={labelProps}","<InputContext value={inputProps}>\n <TextAreaContext value={inputProps}>\n <GroupContext\n value={{\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isInvalid() {\n return aria.isInvalid;\n },\n role: \"presentation\",\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </GroupContext>\n </TextAreaContext>\n </InputContext>","value={inputProps}","<TextAreaContext value={inputProps}>\n <GroupContext\n value={{\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isInvalid() {\n return aria.isInvalid;\n },\n role: \"presentation\",\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </GroupContext>\n </TextAreaContext>","<GroupContext\n value={{\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isInvalid() {\n return aria.isInvalid;\n },\n role: \"presentation\",\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </GroupContext>","value={{\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isInvalid() {\n return aria.isInvalid;\n },\n role: \"presentation\",\n }}","<TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>","value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}","<FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>","value={aria}","mergeProps","_$createComponent","_$mergeProps"],"sources":["../../src/text-field.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/TextField.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 { createIsHidden } from \"@solid2-aria/core/collections/hidden\";\nimport { createTextField } from \"@solid2-aria/core/textfield/create-text-field\";\nimport type { AriaTextFieldProps } from \"@solid2-aria/core/textfield/create-text-field\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { isTruthy } from \"@solid2-aria/core/utils/truthy\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n untrack,\n createSignal,\n merge,\n createContext,\n createMemo,\n omit,\n} from \"solid-js\";\n\nimport { FieldInputContext } from \"./autocomplete\";\nimport { FieldErrorContext } from \"./field-error\";\nimport { FormContext } from \"./form\";\nimport { GroupContext } from \"./group\";\nimport { InputContext } from \"./input\";\nimport { LabelContext } from \"./label\";\nimport { TextContext } from \"./text\";\nimport { TextAreaContext } from \"./text-area\";\nimport {\n assignRef,\n dom,\n createContextProps,\n createRenderProps,\n createSlot,\n createSlottedContext,\n} from \"./utils\";\nimport type { Ref, ContextValue, SlotProps, RenderProps } from \"./utils\";\n\nexport interface TextFieldRenderProps {\n isDisabled: boolean;\n isInvalid: boolean;\n isReadOnly: boolean;\n isRequired: boolean;\n}\n\nexport interface TextFieldProps\n extends\n Omit<\n AriaTextFieldProps<HTMLInputElement | HTMLTextAreaElement>,\n \"label\" | \"description\" | \"errorMessage\" | \"children\"\n >,\n SlotProps,\n RenderProps<TextFieldRenderProps> {\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const TextFieldContext =\n createContext<ContextValue<TextFieldProps, HTMLDivElement>>(null);\n\nexport function TextField(input: TextFieldProps): 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 [ownProps, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n TextFieldContext\n );\n\n const fieldInput = createSlottedContext(FieldInputContext);\n\n const props = mergeProps(\n fieldInput\n ? // oxlint-disable solid/reactivity -- Keep prop filtering in the renderer's lazy evaluation.\n omit(fieldInput, \"ref\")\n : // oxlint-enable solid/reactivity\n {},\n ownProps\n );\n\n const form = createSlottedContext(FormContext);\n\n const [inputRef, setInputRef] = createSignal<\n HTMLInputElement | HTMLTextAreaElement | null\n >(null, { ownedWrite: true });\n\n const [inputType, setInputType] = createSignal<\"input\" | \"textarea\">(\n \"input\",\n { ownedWrite: true }\n );\n\n const [registerLabel, label] = createSlot(\n () => !isTruthy(props[\"aria-label\"]) && !isTruthy(props[\"aria-labelledby\"])\n );\n\n const aria = createTextField(\n mergeProps(props, {\n get inputElementType() {\n return inputType();\n },\n get label() {\n return label();\n },\n get validationBehavior() {\n return props.validationBehavior ?? form?.validationBehavior ?? \"native\";\n },\n }),\n inputRef\n );\n\n const values: TextFieldRenderProps = {\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isInvalid() {\n return aria.isInvalid;\n },\n get isReadOnly() {\n return props.isReadOnly === true;\n },\n get isRequired() {\n return props.isRequired === true;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-TextField\", values })\n );\n\n const labelProps = mergeProps(\n merge(() => aria.labelProps),\n { registerSlot: registerLabel }\n );\n\n const readInput = createMemo(() => aria.inputProps);\n\n const inputProps = mergeProps(merge(readInput), {\n ref: (el: HTMLInputElement | HTMLTextAreaElement | null) => {\n setInputRef(el);\n assignRef(\n untrack(() => fieldInput?.ref),\n el\n );\n\n if (el) {\n setInputType(el.localName === \"textarea\" ? \"textarea\" : \"input\");\n }\n },\n });\n\n return (\n <dom.div\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={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-disabled={props.isDisabled ?? undefined}\n data-invalid={aria.isInvalid || undefined}\n data-readonly={props.isReadOnly ?? undefined}\n data-required={props.isRequired ?? undefined}\n >\n <LabelContext value={labelProps}>\n <InputContext value={inputProps}>\n <TextAreaContext value={inputProps}>\n <GroupContext\n value={{\n get isDisabled() {\n return props.isDisabled === true;\n },\n get isInvalid() {\n return aria.isInvalid;\n },\n role: \"presentation\",\n }}\n >\n <TextContext\n value={{\n slots: {\n get description() {\n return aria.descriptionProps;\n },\n get errorMessage() {\n return aria.errorMessageProps;\n },\n },\n }}\n >\n <FieldErrorContext value={aria}>\n {render.children}\n </FieldErrorContext>\n </TextContext>\n </GroupContext>\n </TextAreaContext>\n </InputContext>\n </LabelContext>\n </dom.div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqEA,MAAa,mBACX,cAA4D,IAAI;AAElE,SAAgB,UAAU,OAAoC;CAC5D,IAAI,eAAe,GAEjB,OAAO;CAGT,MAAM,CAAC,YAAY,UAAU,mBAC3B,OACA,cAAc,MAAM,GAAG,GACvB,gBACF;CAEA,MAAM,aAAa,qBAAqB,iBAAiB;CAEzD,MAAM,QAAQc,aACZ,aAEI,KAAK,YAAY,KAAK,IAEtB,CAAC,GACL,QACF;CAEA,MAAM,OAAO,qBAAqB,WAAW;CAE7C,MAAM,CAAC,UAAU,eAAe,aAE9B,MAAM,EAAE,YAAY,KAAK,CAAC;CAE5B,MAAM,CAAC,WAAW,gBAAgB,aAChC,SACA,EAAE,YAAY,KAAK,CACrB;CAEA,MAAM,CAAC,eAAe,SAAS,iBACvB,CAAC,SAAS,MAAM,aAAa,KAAK,CAAC,SAAS,MAAM,kBAAkB,CAC5E;CAEA,MAAM,OAAO,gBACXA,aAAW,OAAO;EAChB,IAAI,mBAAmB;GACrB,OAAO,UAAU;EACnB;EACA,IAAI,QAAQ;GACV,OAAO,MAAM;EACf;EACA,IAAI,qBAAqB;GACvB,OAAO,MAAM,sBAAsB,MAAM,sBAAsB;EACjE;CACF,CAAC,GACD,QACF;CAiBA,MAAM,SAAS,kBACbA,aAAW,OAAO;EAAE,cAAc;EAAyB,QAAA;GAf3D,IAAI,aAAa;IACf,OAAO,MAAM,eAAe;GAC9B;GACA,IAAI,YAAY;IACd,OAAO,KAAK;GACd;GACA,IAAI,aAAa;IACf,OAAO,MAAM,eAAe;GAC9B;GACA,IAAI,aAAa;IACf,OAAO,MAAM,eAAe;GAC9B;EAI2D;CAAO,CAAC,CACrE;CAEA,MAAM,aAAaA,aACjB,YAAY,KAAK,UAAU,GAC3B,EAAE,cAAc,cAAc,CAChC;CAEA,MAAM,YAAY,iBAAiB,KAAK,UAAU;CAElD,MAAM,aAAaA,aAAW,MAAM,SAAS,GAAG,EAC9C,MAAM,OAAsD;EAC1D,YAAY,EAAE;EACd,UACE,cAAc,YAAY,GAAG,GAC7B,EACF;EAEA,IAAI,IACF,aAAa,GAAG,cAAc,aAAa,aAAa,OAAO;CAEnE,EACF,CAAC;CAED,OACEd,gBAAAA,IAACC,KAADD,iBACE;EAEK,OAAA,KAAK,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC,GAAG,IAAI;CAEvD,GACI,QANN;EAOEE,MAAM,YAA4B;GAChC,OAAO,OAAO;EAChB;EACA,IAAA,OAAA;GAAM,OAAA,MAAM,QAAQ,KAAA;EAAS;EAC7B,IAAA,kBAAA;GAAe,OAAA,MAAM,cAAc,KAAA;EAAS;EAC5C,IAAA,iBAAA;GAAc,OAAA,KAAK,aAAa,KAAA;EAAS;EACzC,IAAA,kBAAA;GAAe,OAAA,MAAM,cAAc,KAAA;EAAS;EAC5C,IAAA,kBAAA;GAAe,OAAA,MAAM,cAAc,KAAA;EAAS;EAd9C,IAAA,WAAA;GAgBEC,OAAAA,gBAAAA,cAAAA;IAAcC,OAAO;IAArB,IAAA,WAAA;KACEC,OAAAA,gBAAAA,cAAAA;MAAcC,OAAO;MAArB,IAAA,WAAA;OACEC,OAAAA,gBAAAA,iBAAAA;QAAiBD,OAAO;QAAxB,IAAA,WAAA;SACEE,OAAAA,gBAAAA,cAAAA;UACEC,OAAO;WACL,IAAI,aAAa;YACf,OAAO,MAAM,eAAe;WAC9B;WACA,IAAI,YAAY;YACd,OAAO,KAAK;WACd;WACA,MAAM;UACR;UATF,IAAA,WAAA;WAWEC,OAAAA,gBAAAA,aAAAA;YACEC,OAAO,EACL,OAAO;aACL,IAAI,cAAc;cAChB,OAAO,KAAK;aACd;aACA,IAAI,eAAe;cACjB,OAAO,KAAK;aACd;YACF,EACF;YAVF,IAAA,WAAA;aAYEC,OAAAA,gBAAAA,mBAAAA;cAAmBC,OAAO;cAA1B,IAAA,WAAA;eACG,OAAA,OAAO;cACS;;YACR;;UACD;;QACC;;MACL;;IACF;;EACP;;AAEb"}
@@ -0,0 +1,25 @@
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/Text.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
+ export interface TextProps extends SlotProps, Omit<JSX.HTMLAttributes<HTMLElement>, "ref" | "class" | "style" | "children" | "slot">, RenderProps<object> {
20
+ elementType?: keyof JSX.IntrinsicElements;
21
+ ref?: Ref<HTMLElement>;
22
+ }
23
+ export declare const TextContext: import("solid-js").Context<ContextValue<TextProps, HTMLElement>>;
24
+ export declare function Text(input: TextProps): JSX.Element;
25
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1,52 @@
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/Text.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, domElement } from "./utils.js";
18
+ import { createComponent, dynamic, mergeProps } from "@solidjs/web";
19
+ import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
20
+ import { createContext, untrack } from "solid-js";
21
+ import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
22
+ import { createIsHidden } from "@solid2-aria/core/collections/hidden";
23
+ // src/text.tsx
24
+ const TextContext = createContext(null);
25
+ function Text(input) {
26
+ if (createIsHidden()) return null;
27
+ const [props, , setRef] = createContextProps(input, untrack(() => input.ref), TextContext);
28
+ const render = createRenderProps(mergeProps$1(props, {
29
+ defaultClass: "solid2-aria-Text",
30
+ values: {}
31
+ }));
32
+ const Element = dynamic(() => domElement(props.elementType ?? "span"));
33
+ return createComponent(Element, mergeProps(() => {
34
+ return filterDOMProps(props, {
35
+ global: true,
36
+ labelable: true
37
+ });
38
+ }, render, {
39
+ get "class"() {
40
+ return render.class;
41
+ },
42
+ ref: (element) => {
43
+ setRef(element);
44
+ },
45
+ get slot() {
46
+ return props.slot ?? void 0;
47
+ }
48
+ }));
49
+ }
50
+ export { Text, TextContext };
51
+
52
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","names":["<Element\n {...filterDOMProps(props, { global: true, labelable: true })}\n {...render}\n class={render.class}\n ref={(element: HTMLElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n />","ref={(element: HTMLElement) => {\n setRef(element);\n }}","mergeProps","_$createComponent","_$mergeProps"],"sources":["../../src/text.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/Text.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 { createIsHidden } from \"@solid2-aria/core/collections/hidden\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { dynamic } from \"@solidjs/web\";\nimport type { JSX } from \"@solidjs/web\";\nimport { untrack, createContext } from \"solid-js\";\n\nimport { domElement, createContextProps, createRenderProps } from \"./utils\";\nimport type { Ref, ContextValue, SlotProps, RenderProps } from \"./utils\";\n\nexport interface TextProps\n extends\n SlotProps,\n Omit<\n JSX.HTMLAttributes<HTMLElement>,\n \"ref\" | \"class\" | \"style\" | \"children\" | \"slot\"\n >,\n RenderProps<object> {\n elementType?: keyof JSX.IntrinsicElements;\n ref?: Ref<HTMLElement>;\n}\n\nexport const TextContext =\n createContext<ContextValue<TextProps, HTMLElement>>(null);\n\nexport function Text(input: TextProps): JSX.Element {\n if (createIsHidden()) {\n // oxlint-disable-next-line solid/components-return-once -- Static collection traversal and context registration are fixed when the owner is created.\n return null;\n }\n\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n TextContext\n );\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Text\", values: {} })\n );\n\n const Element = dynamic(() => domElement(props.elementType ?? \"span\"));\n\n return (\n <Element\n {...filterDOMProps(props, { global: true, labelable: true })}\n {...render}\n class={render.class}\n ref={(element: HTMLElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAa,cACX,cAAoD,IAAI;AAE1D,SAAgB,KAAK,OAA+B;CAClD,IAAI,eAAe,GAEjB,OAAO;CAGT,MAAM,CAAC,SAAS,UAAU,mBACxB,OACA,cAAc,MAAM,GAAG,GACvB,WACF;CAEA,MAAM,SAAS,kBACbE,aAAW,OAAO;EAAE,cAAc;EAAoB,QAAQ,CAAC;CAAE,CAAC,CACpE;CAEA,MAAM,UAAU,cAAc,WAAW,MAAM,eAAe,MAAM,CAAC;CAErE,OACEF,gBAAAA,SAAAA,iBACE;EAAI,OAAA,eAAe,OAAO;GAAE,QAAQ;GAAM,WAAW;EAAK,CAAC;CAAC,GACxD,QAFN;EAGE,IAAA,UAAA;GAAO,OAAA,OAAO;EAAK;EACnBC,MAAM,YAAyB;GAC7B,OAAO,OAAO;EAChB;EACA,IAAA,OAAA;GAAM,OAAA,MAAM,QAAQ,KAAA;EAAS;CAC9B,CAAA,CAAA;AAEL"}
@@ -0,0 +1,66 @@
1
+ /*
2
+ * Copyright 2025 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ /*
13
+ * Derived from Adobe React Spectrum: packages/react-aria-components/src/Toast.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 } from "./utils.js";
18
+ import { JSX } from "@solidjs/web";
19
+ import { QueuedToast, ToastOptions, ToastQueue, ToastState } from "@solid2-aria/stately/toast/create-toast-state";
20
+ export interface ToastRegionRenderProps<T> {
21
+ visibleToasts: QueuedToast<T>[];
22
+ isHovered: boolean;
23
+ isFocused: boolean;
24
+ isFocusVisible: boolean;
25
+ }
26
+ export interface ToastRegionProps<T> extends Omit<RenderProps<ToastRegionRenderProps<T>>, "children"> {
27
+ queue: ToastQueue<T>;
28
+ children?: JSX.Element | ((props: {
29
+ toast: QueuedToast<T>;
30
+ }) => JSX.Element);
31
+ ref?: Ref<HTMLDivElement>;
32
+ "aria-label"?: string;
33
+ }
34
+ export interface ToastListProps<T> {
35
+ children: (props: {
36
+ toast: QueuedToast<T>;
37
+ }) => JSX.Element;
38
+ ref?: Ref<HTMLOListElement>;
39
+ class?: JSX.ClassValue;
40
+ style?: JSX.CSSProperties;
41
+ }
42
+ export interface ToastRenderProps<T> {
43
+ toast: QueuedToast<T>;
44
+ isFocused: boolean;
45
+ isFocusVisible: boolean;
46
+ }
47
+ export interface ToastProps<T> extends RenderProps<ToastRenderProps<T>> {
48
+ toast: QueuedToast<T>;
49
+ ref?: Ref<HTMLDivElement>;
50
+ }
51
+ export interface ToastContentProps extends RenderProps<undefined> {
52
+ ref?: Ref<HTMLDivElement>;
53
+ }
54
+ type AnyToastState = Omit<ToastState<unknown>, "add"> & {
55
+ add: {
56
+ bivarianceHack(content: unknown, options?: ToastOptions): string;
57
+ }["bivarianceHack"];
58
+ };
59
+ export declare const UNSTABLE_ToastStateContext: import("solid-js").Context<AnyToastState | null>;
60
+ export declare const ToastContentContext: import("solid-js").Context<ContextValue<ToastContentProps, HTMLDivElement>>;
61
+ export declare function UNSTABLE_ToastRegion<T>(props: ToastRegionProps<T>): JSX.Element;
62
+ export declare function UNSTABLE_ToastList<T>(props: ToastListProps<T>): JSX.Element;
63
+ export declare function UNSTABLE_Toast<T>(props: ToastProps<T>): JSX.Element;
64
+ export declare function UNSTABLE_ToastContent(input: ToastContentProps): JSX.Element;
65
+ export {};
66
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1,226 @@
1
+ /*
2
+ * Copyright 2025 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+ /*
13
+ * Derived from Adobe React Spectrum: packages/react-aria-components/src/Toast.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 { HeadingContext } from "./heading.js";
20
+ import { TextContext } from "./text.js";
21
+ import { Portal, createComponent, isServer, memo, mergeProps } from "@solidjs/web";
22
+ import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
23
+ import { For, Show, createContext, createSignal, merge, untrack, useContext } from "solid-js";
24
+ import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
25
+ import { createFocusRing } from "@solid2-aria/core/focus/create-focus-ring";
26
+ import { createHover } from "@solid2-aria/core/interactions/create-hover";
27
+ import { createUNSAFE_PortalContext } from "@solid2-aria/core/overlays/portal-provider";
28
+ import { createToast } from "@solid2-aria/core/toast/create-toast";
29
+ import { createToastRegion } from "@solid2-aria/core/toast/create-toast-region";
30
+ import { createToastQueue } from "@solid2-aria/stately/toast/create-toast-state";
31
+ // src/toast.tsx
32
+ const UNSTABLE_ToastStateContext = createContext(null);
33
+ const ToastContentContext = createContext(null);
34
+ function UNSTABLE_ToastRegion(props) {
35
+ const state = createToastQueue(untrack(() => props.queue));
36
+ const [ref, setRef] = createSignal(null, { ownedWrite: true });
37
+ const aria = createToastRegion(props, state, ref);
38
+ const focus = createFocusRing({ within: true });
39
+ const hover = createHover({});
40
+ const portal = createUNSAFE_PortalContext();
41
+ const values = {
42
+ get isFocusVisible() {
43
+ return focus.isFocusVisible;
44
+ },
45
+ get isFocused() {
46
+ return focus.isFocused;
47
+ },
48
+ get isHovered() {
49
+ return hover.isHovered;
50
+ },
51
+ get visibleToasts() {
52
+ return state.visibleToasts;
53
+ }
54
+ };
55
+ const render = createRenderProps(mergeProps$1(props, {
56
+ children: void 0,
57
+ defaultClass: "solid2-aria-ToastRegion",
58
+ values
59
+ }));
60
+ if (isServer) return null;
61
+ return createComponent(Show, {
62
+ get when() {
63
+ return state.visibleToasts.length > 0;
64
+ },
65
+ get children() {
66
+ return createComponent(Portal, {
67
+ get mount() {
68
+ return portal.getContainer?.() ?? document.body;
69
+ },
70
+ get children() {
71
+ return createComponent(UNSTABLE_ToastStateContext, {
72
+ value: state,
73
+ get children() {
74
+ return createComponent(dom.div, mergeProps(() => {
75
+ return mergeProps$1(filterDOMProps(props, { global: true }), merge(() => aria.regionProps ?? {}), merge(() => focus.focusProps ?? {}), merge(() => hover.hoverProps ?? {}), render);
76
+ }, {
77
+ ref: [(element) => {
78
+ setRef(element);
79
+ }, (element) => {
80
+ assignRef(untrack(() => props.ref), element);
81
+ }],
82
+ get "data-hovered"() {
83
+ return values.isHovered || void 0;
84
+ },
85
+ get "data-focused"() {
86
+ return values.isFocused || void 0;
87
+ },
88
+ get "data-focus-visible"() {
89
+ return values.isFocusVisible || void 0;
90
+ },
91
+ get children() {
92
+ return memo(() => {
93
+ return typeof props.children === "function";
94
+ })() ? createComponent(For, {
95
+ get each() {
96
+ return state.visibleToasts;
97
+ },
98
+ children: (toast) => typeof props.children === "function" ? props.children({ toast }) : null
99
+ }) : props.children;
100
+ }
101
+ }));
102
+ }
103
+ });
104
+ }
105
+ });
106
+ }
107
+ });
108
+ }
109
+ function UNSTABLE_ToastList(props) {
110
+ const state = useContext(UNSTABLE_ToastStateContext);
111
+ if (!state) throw new Error("ToastList requires ToastRegion");
112
+ return createComponent(dom.ol, {
113
+ get "class"() {
114
+ return props.class ?? "solid2-aria-ToastList";
115
+ },
116
+ get style() {
117
+ return props.style;
118
+ },
119
+ ref: (element) => {
120
+ assignRef(untrack(() => props.ref), element);
121
+ },
122
+ get children() {
123
+ return createComponent(For, {
124
+ get each() {
125
+ return state.visibleToasts;
126
+ },
127
+ children: (toast) => {
128
+ const typedToast = toast;
129
+ return props.children({ toast: typedToast });
130
+ }
131
+ });
132
+ }
133
+ });
134
+ }
135
+ function UNSTABLE_Toast(props) {
136
+ const state = useContext(UNSTABLE_ToastStateContext);
137
+ if (!state) throw new Error("Toast requires ToastRegion");
138
+ const [ref, setRef] = createSignal(null, { ownedWrite: true });
139
+ const aria = createToast(props, state, ref);
140
+ const focus = createFocusRing({ within: true });
141
+ const values = {
142
+ get isFocusVisible() {
143
+ return focus.isFocusVisible;
144
+ },
145
+ get isFocused() {
146
+ return focus.isFocused;
147
+ },
148
+ get toast() {
149
+ return props.toast;
150
+ }
151
+ };
152
+ const render = createRenderProps(mergeProps$1(props, {
153
+ defaultClass: "solid2-aria-Toast",
154
+ values
155
+ }));
156
+ return createComponent(dom.div, mergeProps(() => {
157
+ return mergeProps$1(filterDOMProps(props, { global: true }), merge(() => aria.toastProps ?? {}), merge(() => focus.focusProps ?? {}), render);
158
+ }, {
159
+ ref: [(element) => {
160
+ setRef(element);
161
+ }, (element) => {
162
+ assignRef(untrack(() => props.ref), element);
163
+ }],
164
+ get "data-focused"() {
165
+ return values.isFocused || void 0;
166
+ },
167
+ get "data-focus-visible"() {
168
+ return values.isFocusVisible || void 0;
169
+ },
170
+ get children() {
171
+ return createComponent(ToastContentContext, {
172
+ get value() {
173
+ return aria.contentProps;
174
+ },
175
+ get children() {
176
+ return createComponent(HeadingContext, {
177
+ value: { slots: {
178
+ [DEFAULT_SLOT]: {},
179
+ get title() {
180
+ return aria.titleProps;
181
+ }
182
+ } },
183
+ get children() {
184
+ return createComponent(TextContext, {
185
+ value: { slots: {
186
+ [DEFAULT_SLOT]: {},
187
+ get description() {
188
+ return aria.descriptionProps;
189
+ }
190
+ } },
191
+ get children() {
192
+ return createComponent(ButtonContext, {
193
+ value: { slots: {
194
+ [DEFAULT_SLOT]: {},
195
+ get close() {
196
+ return aria.closeButtonProps;
197
+ }
198
+ } },
199
+ get children() {
200
+ return render.children;
201
+ }
202
+ });
203
+ }
204
+ });
205
+ }
206
+ });
207
+ }
208
+ });
209
+ }
210
+ }));
211
+ }
212
+ function UNSTABLE_ToastContent(input) {
213
+ const [props, , setRef] = createContextProps(input, untrack(() => input.ref), ToastContentContext);
214
+ const render = createRenderProps(mergeProps$1(props, {
215
+ defaultClass: "solid2-aria-ToastContent",
216
+ values: void 0
217
+ }));
218
+ return createComponent(dom.div, mergeProps(() => {
219
+ return mergeProps$1(filterDOMProps(props, { global: true }), render);
220
+ }, { ref: (element) => {
221
+ setRef(element);
222
+ } }));
223
+ }
224
+ export { ToastContentContext, UNSTABLE_Toast, UNSTABLE_ToastContent, UNSTABLE_ToastList, UNSTABLE_ToastRegion, UNSTABLE_ToastStateContext };
225
+
226
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","names":["<Show when={state.visibleToasts.length > 0}>\n <Portal mount={portal.getContainer?.() ?? document.body}>\n <UNSTABLE_ToastStateContext value={state}>\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.regionProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-hovered={values.isHovered || undefined}\n data-focused={values.isFocused || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n >\n {typeof props.children === \"function\" ? (\n <For each={state.visibleToasts}>\n {(toast) =>\n typeof props.children === \"function\"\n ? props.children({ toast })\n : null\n }\n </For>\n ) : (\n props.children\n )}\n </dom.div>\n </UNSTABLE_ToastStateContext>\n </Portal>\n </Show>","<Portal mount={portal.getContainer?.() ?? document.body}>\n <UNSTABLE_ToastStateContext value={state}>\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.regionProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-hovered={values.isHovered || undefined}\n data-focused={values.isFocused || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n >\n {typeof props.children === \"function\" ? (\n <For each={state.visibleToasts}>\n {(toast) =>\n typeof props.children === \"function\"\n ? props.children({ toast })\n : null\n }\n </For>\n ) : (\n props.children\n )}\n </dom.div>\n </UNSTABLE_ToastStateContext>\n </Portal>","<UNSTABLE_ToastStateContext value={state}>\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.regionProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-hovered={values.isHovered || undefined}\n data-focused={values.isFocused || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n >\n {typeof props.children === \"function\" ? (\n <For each={state.visibleToasts}>\n {(toast) =>\n typeof props.children === \"function\"\n ? props.children({ toast })\n : null\n }\n </For>\n ) : (\n props.children\n )}\n </dom.div>\n </UNSTABLE_ToastStateContext>","value={state}","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.regionProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-hovered={values.isHovered || undefined}\n data-focused={values.isFocused || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n >\n {typeof props.children === \"function\" ? (\n <For each={state.visibleToasts}>\n {(toast) =>\n typeof props.children === \"function\"\n ? props.children({ toast })\n : null\n }\n </For>\n ) : (\n props.children\n )}\n </dom.div>","dom.div","ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}","{typeof props.children === \"function\" ? (\n <For each={state.visibleToasts}>\n {(toast) =>\n typeof props.children === \"function\"\n ? props.children({ toast })\n : null\n }\n </For>\n ) : (\n props.children\n )}","<For each={state.visibleToasts}>\n {(toast) =>\n typeof props.children === \"function\"\n ? props.children({ toast })\n : null\n }\n </For>","<dom.ol\n class={props.class ?? \"solid2-aria-ToastList\"}\n style={props.style}\n ref={(element: HTMLOListElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n >\n <For each={state.visibleToasts}>\n {(toast) => {\n // SAFETY: This region renders the same T values enqueued by its owning toast queue.\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion -- The shared region context erases its generic content type.\n const typedToast = toast as QueuedToast<T>;\n\n return props.children({ toast: typedToast });\n }}\n </For>\n </dom.ol>","dom.ol","ref={(element: HTMLOListElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}","<For each={state.visibleToasts}>\n {(toast) => {\n // SAFETY: This region renders the same T values enqueued by its owning toast queue.\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion -- The shared region context erases its generic content type.\n const typedToast = toast as QueuedToast<T>;\n\n return props.children({ toast: typedToast });\n }}\n </For>","<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.toastProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-focused={values.isFocused || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n >\n <ToastContentContext value={aria.contentProps}>\n <HeadingContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get title() {\n return aria.titleProps;\n },\n },\n }}\n >\n <TextContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get description() {\n return aria.descriptionProps;\n },\n },\n }}\n >\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get close() {\n return aria.closeButtonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </TextContext>\n </HeadingContext>\n </ToastContentContext>\n </dom.div>","ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}","<ToastContentContext value={aria.contentProps}>\n <HeadingContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get title() {\n return aria.titleProps;\n },\n },\n }}\n >\n <TextContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get description() {\n return aria.descriptionProps;\n },\n },\n }}\n >\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get close() {\n return aria.closeButtonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </TextContext>\n </HeadingContext>\n </ToastContentContext>","<HeadingContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get title() {\n return aria.titleProps;\n },\n },\n }}\n >\n <TextContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get description() {\n return aria.descriptionProps;\n },\n },\n }}\n >\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get close() {\n return aria.closeButtonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </TextContext>\n </HeadingContext>","value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get title() {\n return aria.titleProps;\n },\n },\n }}","<TextContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get description() {\n return aria.descriptionProps;\n },\n },\n }}\n >\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get close() {\n return aria.closeButtonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </TextContext>","value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get description() {\n return aria.descriptionProps;\n },\n },\n }}","<ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get close() {\n return aria.closeButtonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>","value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get close() {\n return aria.closeButtonProps;\n },\n },\n }}","<dom.div\n {...mergeProps(filterDOMProps(props, { global: true }), render)}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n />","ref={(element: HTMLDivElement) => {\n setRef(element);\n }}","mergeProps","_$createComponent","_$mergeProps","_$memo"],"sources":["../../src/toast.tsx"],"sourcesContent":["/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n/*\n * Derived from Adobe React Spectrum: packages/react-aria-components/src/Toast.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 { createFocusRing } from \"@solid2-aria/core/focus/create-focus-ring\";\nimport { createHover } from \"@solid2-aria/core/interactions/create-hover\";\nimport { createUNSAFE_PortalContext } from \"@solid2-aria/core/overlays/portal-provider\";\nimport { createToast } from \"@solid2-aria/core/toast/create-toast\";\nimport { createToastRegion } from \"@solid2-aria/core/toast/create-toast-region\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { createToastQueue } from \"@solid2-aria/stately/toast/create-toast-state\";\nimport type {\n ToastQueue,\n ToastState,\n QueuedToast,\n ToastOptions,\n} from \"@solid2-aria/stately/toast/create-toast-state\";\nimport { Portal, isServer } from \"@solidjs/web\";\nimport type { JSX } from \"@solidjs/web\";\nimport {\n merge,\n untrack,\n createSignal,\n createContext,\n For,\n Show,\n useContext,\n} from \"solid-js\";\n\nimport { ButtonContext } from \"./button\";\nimport { HeadingContext } from \"./heading\";\nimport { TextContext } from \"./text\";\nimport {\n assignRef,\n dom,\n DEFAULT_SLOT,\n createContextProps,\n createRenderProps,\n} from \"./utils\";\nimport type { ContextValue, Ref, RenderProps } from \"./utils\";\n\nexport interface ToastRegionRenderProps<T> {\n visibleToasts: QueuedToast<T>[];\n isHovered: boolean;\n isFocused: boolean;\n isFocusVisible: boolean;\n}\n\nexport interface ToastRegionProps<T> extends Omit<\n RenderProps<ToastRegionRenderProps<T>>,\n \"children\"\n> {\n queue: ToastQueue<T>;\n children?: JSX.Element | ((props: { toast: QueuedToast<T> }) => JSX.Element);\n ref?: Ref<HTMLDivElement>;\n \"aria-label\"?: string;\n}\n\nexport interface ToastListProps<T> {\n children: (props: { toast: QueuedToast<T> }) => JSX.Element;\n ref?: Ref<HTMLOListElement>;\n class?: JSX.ClassValue;\n style?: JSX.CSSProperties;\n}\n\nexport interface ToastRenderProps<T> {\n toast: QueuedToast<T>;\n isFocused: boolean;\n isFocusVisible: boolean;\n}\n\nexport interface ToastProps<T> extends RenderProps<ToastRenderProps<T>> {\n toast: QueuedToast<T>;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface ToastContentProps extends RenderProps<undefined> {\n ref?: Ref<HTMLDivElement>;\n}\n\ntype AnyToastState = Omit<ToastState<unknown>, \"add\"> & {\n add: {\n // oxlint-disable-next-line typescript/method-signature-style, anti-slop/no-unknown-parameters -- Toast content is generic; the queue and render callback retain its actual type.\n bivarianceHack(content: unknown, options?: ToastOptions): string;\n }[\"bivarianceHack\"];\n};\n\nexport const UNSTABLE_ToastStateContext = createContext<AnyToastState | null>(\n null\n);\n\nexport const ToastContentContext =\n createContext<ContextValue<ToastContentProps, HTMLDivElement>>(null);\n\nexport function UNSTABLE_ToastRegion<T>(\n props: ToastRegionProps<T>\n): JSX.Element {\n const state = createToastQueue(untrack(() => props.queue));\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const aria = createToastRegion(props, state, ref);\n const focus = createFocusRing({ within: true });\n const hover = createHover({});\n const portal = createUNSAFE_PortalContext();\n\n const values: ToastRegionRenderProps<T> = {\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 visibleToasts() {\n return state.visibleToasts;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n children: undefined,\n defaultClass: \"solid2-aria-ToastRegion\",\n values,\n })\n );\n\n if (isServer) {\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 <Show when={state.visibleToasts.length > 0}>\n <Portal mount={portal.getContainer?.() ?? document.body}>\n <UNSTABLE_ToastStateContext value={state}>\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.regionProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n merge(() => hover.hoverProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-hovered={values.isHovered || undefined}\n data-focused={values.isFocused || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n >\n {typeof props.children === \"function\" ? (\n <For each={state.visibleToasts}>\n {(toast) =>\n typeof props.children === \"function\"\n ? props.children({ toast })\n : null\n }\n </For>\n ) : (\n props.children\n )}\n </dom.div>\n </UNSTABLE_ToastStateContext>\n </Portal>\n </Show>\n );\n}\n\nexport function UNSTABLE_ToastList<T>(props: ToastListProps<T>): JSX.Element {\n const state = useContext(UNSTABLE_ToastStateContext);\n\n if (!state) {\n throw new Error(\"ToastList requires ToastRegion\");\n }\n\n return (\n <dom.ol\n class={props.class ?? \"solid2-aria-ToastList\"}\n style={props.style}\n ref={(element: HTMLOListElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n }}\n >\n <For each={state.visibleToasts}>\n {(toast) => {\n // SAFETY: This region renders the same T values enqueued by its owning toast queue.\n // oxlint-disable-next-line typescript/no-unsafe-type-assertion -- The shared region context erases its generic content type.\n const typedToast = toast as QueuedToast<T>;\n\n return props.children({ toast: typedToast });\n }}\n </For>\n </dom.ol>\n );\n}\n\nexport function UNSTABLE_Toast<T>(props: ToastProps<T>): JSX.Element {\n const state = useContext(UNSTABLE_ToastStateContext);\n\n if (!state) {\n throw new Error(\"Toast requires ToastRegion\");\n }\n\n const [ref, setRef] = createSignal<HTMLDivElement | null>(null, {\n ownedWrite: true,\n });\n\n const aria = createToast(props, state, ref);\n const focus = createFocusRing({ within: true });\n\n const values: ToastRenderProps<T> = {\n get isFocusVisible() {\n return focus.isFocusVisible;\n },\n get isFocused() {\n return focus.isFocused;\n },\n get toast() {\n return props.toast;\n },\n };\n\n const render = createRenderProps(\n mergeProps(props, { defaultClass: \"solid2-aria-Toast\", values })\n );\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.toastProps ?? {}),\n merge(() => focus.focusProps ?? {}),\n render\n )}\n ref={[\n (element: HTMLDivElement) => {\n setRef(element);\n },\n (element: HTMLDivElement) => {\n assignRef(\n untrack(() => props.ref),\n element\n );\n },\n ]}\n data-focused={values.isFocused || undefined}\n data-focus-visible={values.isFocusVisible || undefined}\n >\n <ToastContentContext value={aria.contentProps}>\n <HeadingContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get title() {\n return aria.titleProps;\n },\n },\n }}\n >\n <TextContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get description() {\n return aria.descriptionProps;\n },\n },\n }}\n >\n <ButtonContext\n value={{\n slots: {\n [DEFAULT_SLOT]: {},\n get close() {\n return aria.closeButtonProps;\n },\n },\n }}\n >\n {render.children}\n </ButtonContext>\n </TextContext>\n </HeadingContext>\n </ToastContentContext>\n </dom.div>\n );\n}\n\nexport function UNSTABLE_ToastContent(input: ToastContentProps): JSX.Element {\n const [props, , setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n ToastContentContext\n );\n\n const render = createRenderProps(\n mergeProps(props, {\n defaultClass: \"solid2-aria-ToastContent\",\n values: undefined,\n })\n );\n\n return (\n <dom.div\n {...mergeProps(filterDOMProps(props, { global: true }), render)}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n />\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,32 @@
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/ToggleButtonGroup.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 { AriaToggleButtonGroupProps } from "@solid2-aria/core/button/create-toggle-button-group";
20
+ import { ToggleGroupState } from "@solid2-aria/stately/toggle/create-toggle-group-state";
21
+ export interface ToggleButtonGroupRenderProps {
22
+ orientation: "horizontal" | "vertical";
23
+ isDisabled: boolean;
24
+ state: ToggleGroupState;
25
+ }
26
+ export interface ToggleButtonGroupProps extends AriaToggleButtonGroupProps, SlotProps, RenderProps<ToggleButtonGroupRenderProps> {
27
+ ref?: Ref<HTMLDivElement>;
28
+ }
29
+ export declare const ToggleButtonGroupContext: import("solid-js").Context<ContextValue<ToggleButtonGroupProps, HTMLDivElement>>;
30
+ export declare const ToggleGroupStateContext: import("solid-js").Context<ToggleGroupState | null>;
31
+ export declare function ToggleButtonGroup(input: ToggleButtonGroupProps): JSX.Element;
32
+ //# sourceMappingURL=toggle-button-group.d.ts.map
@@ -0,0 +1,74 @@
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/ToggleButtonGroup.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 { SharedElementTransition } from "./shared-element-transition.js";
19
+ import { createComponent, mergeProps } from "@solidjs/web";
20
+ import { mergeProps as mergeProps$1 } from "@solid2-aria/core/utils/merge-props";
21
+ import { createContext, merge, untrack } from "solid-js";
22
+ import { filterDOMProps } from "@solid2-aria/core/utils/filter-dom-props";
23
+ import { createToggleButtonGroup } from "@solid2-aria/core/button/create-toggle-button-group";
24
+ import { createToggleGroupState } from "@solid2-aria/stately/toggle/create-toggle-group-state";
25
+ // src/toggle-button-group.tsx
26
+ const ToggleButtonGroupContext = createContext(null);
27
+ const ToggleGroupStateContext = createContext(null);
28
+ function ToggleButtonGroup(input) {
29
+ const [props, ref, setRef] = createContextProps(input, untrack(() => input.ref), ToggleButtonGroupContext);
30
+ const state = createToggleGroupState(props);
31
+ const aria = createToggleButtonGroup(props, state, ref);
32
+ const values = {
33
+ get isDisabled() {
34
+ return state.isDisabled;
35
+ },
36
+ get orientation() {
37
+ return props.orientation ?? "horizontal";
38
+ },
39
+ state
40
+ };
41
+ const render = createRenderProps(mergeProps$1(props, {
42
+ defaultClass: "solid2-aria-ToggleButtonGroup",
43
+ values
44
+ }));
45
+ return createComponent(dom.div, mergeProps(() => {
46
+ return mergeProps$1(filterDOMProps(props, { global: true }), merge(() => aria.groupProps ?? {}), render);
47
+ }, {
48
+ ref: (element) => {
49
+ setRef(element);
50
+ },
51
+ get slot() {
52
+ return props.slot ?? void 0;
53
+ },
54
+ get "data-disabled"() {
55
+ return state.isDisabled || void 0;
56
+ },
57
+ get "data-orientation"() {
58
+ return values.orientation;
59
+ },
60
+ get children() {
61
+ return createComponent(ToggleGroupStateContext, {
62
+ value: state,
63
+ get children() {
64
+ return createComponent(SharedElementTransition, { get children() {
65
+ return render.children;
66
+ } });
67
+ }
68
+ });
69
+ }
70
+ }));
71
+ }
72
+ export { ToggleButtonGroup, ToggleButtonGroupContext, ToggleGroupStateContext };
73
+
74
+ //# sourceMappingURL=toggle-button-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toggle-button-group.js","names":["<dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.groupProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-disabled={state.isDisabled || undefined}\n data-orientation={values.orientation}\n >\n <ToggleGroupStateContext value={state}>\n <SharedElementTransition>{render.children}</SharedElementTransition>\n </ToggleGroupStateContext>\n </dom.div>","dom.div","ref={(element: HTMLDivElement) => {\n setRef(element);\n }}","<ToggleGroupStateContext value={state}>\n <SharedElementTransition>{render.children}</SharedElementTransition>\n </ToggleGroupStateContext>","value={state}","<SharedElementTransition>{render.children}</SharedElementTransition>","mergeProps","_$createComponent","_$mergeProps"],"sources":["../../src/toggle-button-group.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/ToggleButtonGroup.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 { createToggleButtonGroup } from \"@solid2-aria/core/button/create-toggle-button-group\";\nimport type { AriaToggleButtonGroupProps } from \"@solid2-aria/core/button/create-toggle-button-group\";\nimport { filterDOMProps } from \"@solid2-aria/core/utils/filter-dom-props\";\nimport { mergeProps } from \"@solid2-aria/core/utils/merge-props\";\nimport { createToggleGroupState } from \"@solid2-aria/stately/toggle/create-toggle-group-state\";\nimport type { ToggleGroupState } from \"@solid2-aria/stately/toggle/create-toggle-group-state\";\nimport type { JSX } from \"@solidjs/web\";\nimport { merge, untrack, createContext } from \"solid-js\";\n\nimport { SharedElementTransition } from \"./shared-element-transition\";\nimport { dom, createContextProps, createRenderProps } from \"./utils\";\nimport type { Ref, ContextValue, SlotProps, RenderProps } from \"./utils\";\n\nexport interface ToggleButtonGroupRenderProps {\n orientation: \"horizontal\" | \"vertical\";\n isDisabled: boolean;\n state: ToggleGroupState;\n}\n\nexport interface ToggleButtonGroupProps\n extends\n AriaToggleButtonGroupProps,\n SlotProps,\n RenderProps<ToggleButtonGroupRenderProps> {\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const ToggleButtonGroupContext =\n createContext<ContextValue<ToggleButtonGroupProps, HTMLDivElement>>(null);\n\nexport const ToggleGroupStateContext = createContext<ToggleGroupState | null>(\n null\n);\n\nexport function ToggleButtonGroup(input: ToggleButtonGroupProps): JSX.Element {\n const [props, ref, setRef] = createContextProps(\n input,\n untrack(() => input.ref),\n ToggleButtonGroupContext\n );\n\n const state = createToggleGroupState(props);\n const aria = createToggleButtonGroup(props, state, ref);\n\n const values: ToggleButtonGroupRenderProps = {\n get isDisabled() {\n return state.isDisabled;\n },\n get orientation() {\n return props.orientation ?? \"horizontal\";\n },\n state,\n };\n\n const render = createRenderProps(\n mergeProps(props, {\n defaultClass: \"solid2-aria-ToggleButtonGroup\",\n values,\n })\n );\n\n return (\n <dom.div\n {...mergeProps(\n filterDOMProps(props, { global: true }),\n merge(() => aria.groupProps ?? {}),\n render\n )}\n ref={(element: HTMLDivElement) => {\n setRef(element);\n }}\n slot={props.slot ?? undefined}\n data-disabled={state.isDisabled || undefined}\n data-orientation={values.orientation}\n >\n <ToggleGroupStateContext value={state}>\n <SharedElementTransition>{render.children}</SharedElementTransition>\n </ToggleGroupStateContext>\n </dom.div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,MAAa,2BACX,cAAoE,IAAI;AAE1E,MAAa,0BAA0B,cACrC,IACF;AAEA,SAAgB,kBAAkB,OAA4C;CAC5E,MAAM,CAAC,OAAO,KAAK,UAAU,mBAC3B,OACA,cAAc,MAAM,GAAG,GACvB,wBACF;CAEA,MAAM,QAAQ,uBAAuB,KAAK;CAC1C,MAAM,OAAO,wBAAwB,OAAO,OAAO,GAAG;CAEtD,MAAM,SAAuC;EAC3C,IAAI,aAAa;GACf,OAAO,MAAM;EACf;EACA,IAAI,cAAc;GAChB,OAAO,MAAM,eAAe;EAC9B;EACA;CACF;CAEA,MAAM,SAAS,kBACbM,aAAW,OAAO;EAChB,cAAc;EACd;CACF,CAAC,CACH;CAEA,OACEN,gBAAAA,IAACC,KAADD,iBACE;EAAI,OAAAM,aACF,eAAe,OAAO,EAAE,QAAQ,KAAK,CAAC,GACtC,YAAY,KAAK,cAAc,CAAC,CAAC,GACjC,MACF;CAAC,GALH;EAMEJ,MAAM,YAA4B;GAChC,OAAO,OAAO;EAChB;EACA,IAAA,OAAA;GAAM,OAAA,MAAM,QAAQ,KAAA;EAAS;EAC7B,IAAA,kBAAA;GAAe,OAAA,MAAM,cAAc,KAAA;EAAS;EAC5C,IAAA,qBAAA;GAAkB,OAAA,OAAO;EAAW;EAXtC,IAAA,WAAA;GAaEC,OAAAA,gBAAAA,yBAAAA;IAAyBC,OAAO;IAAhC,IAAA,WAAA;KACEC,OAAAA,gBAAAA,yBAAAA,EAAAA,IAAAA,WAAAA;MAA0B,OAAA,OAAO;KAAkC,EAAA,CAAA;IAC5C;;EAClB;;AAEb"}
@@ -0,0 +1,33 @@
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/ToggleButton.tsx.
14
+ * Modified for Solid Aria: adapted components, contexts, refs, and reactive properties for Solid 2; uses Solid class props and an untracked setup-time choice of group interaction behavior.
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 { ButtonRenderProps } from "./button.js";
19
+ import { JSX } from "@solidjs/web";
20
+ import { ToggleState } from "@solid2-aria/stately/toggle/create-toggle-state";
21
+ import { AriaToggleButtonProps } from "@solid2-aria/core/button/create-toggle-button";
22
+ import { HoverEvents, Key } from "@solid2-aria/types-shared";
23
+ export interface ToggleButtonRenderProps extends Omit<ButtonRenderProps, "isPending"> {
24
+ isSelected: boolean;
25
+ state: ToggleState;
26
+ }
27
+ export interface ToggleButtonProps extends Omit<AriaToggleButtonProps, "children" | "elementType" | "id">, SlotProps, HoverEvents, RenderProps<ToggleButtonRenderProps, "button"> {
28
+ id?: Key;
29
+ ref?: Ref<HTMLButtonElement>;
30
+ }
31
+ export declare const ToggleButtonContext: import("solid-js").Context<ContextValue<ToggleButtonProps, HTMLButtonElement>>;
32
+ export declare function ToggleButton(input: ToggleButtonProps): JSX.Element;
33
+ //# sourceMappingURL=toggle-button.d.ts.map