@soxa-ui/solid 0.0.0-stage → 0.3.0-beta.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 (745) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +266 -2
  3. package/dist/adapter/common/ResolvedSlot.d.ts +29 -0
  4. package/dist/adapter/common/ResolvedSlot.js +42 -0
  5. package/dist/adapter/common/click-action.d.ts +6 -0
  6. package/dist/adapter/common/click-action.js +11 -0
  7. package/dist/adapter/common/createSolidAdapterContext.d.ts +8 -0
  8. package/dist/adapter/common/createSolidAdapterContext.js +20 -0
  9. package/dist/adapter/common/handlers.d.ts +10 -0
  10. package/dist/adapter/common/handlers.js +10 -0
  11. package/dist/adapter/common/hydration.d.ts +23 -0
  12. package/dist/adapter/common/hydration.js +44 -0
  13. package/dist/adapter/common/icon.d.ts +9 -0
  14. package/dist/adapter/common/icon.js +28 -0
  15. package/dist/adapter/common/index.d.ts +9 -0
  16. package/dist/adapter/common/naming.d.ts +3 -0
  17. package/dist/adapter/common/naming.js +9 -0
  18. package/dist/adapter/common/profile.d.ts +3 -0
  19. package/dist/adapter/common/profile.js +9 -0
  20. package/dist/adapter/common/root.d.ts +96 -0
  21. package/dist/adapter/common/root.js +128 -0
  22. package/dist/adapter/common/slots.d.ts +30 -0
  23. package/dist/adapter/common/slots.js +75 -0
  24. package/dist/adapter/elevator/Elevate.d.ts +12 -0
  25. package/dist/adapter/elevator/Elevate.js +16 -0
  26. package/dist/adapter/elevator/elevator.class.d.ts +17 -0
  27. package/dist/adapter/elevator/elevator.class.js +27 -0
  28. package/dist/adapter/elevator/index.d.ts +4 -0
  29. package/dist/adapter/elevator/layer.d.ts +16 -0
  30. package/dist/adapter/elevator/layer.js +28 -0
  31. package/dist/adapter/elevator/useElevator.d.ts +13 -0
  32. package/dist/adapter/elevator/useElevator.js +19 -0
  33. package/dist/adapter/index.d.ts +5 -0
  34. package/dist/adapter/locale/LocaleProvider.d.ts +22 -0
  35. package/dist/adapter/locale/LocaleProvider.js +33 -0
  36. package/dist/adapter/locale/context.d.ts +4 -0
  37. package/dist/adapter/locale/context.js +9 -0
  38. package/dist/adapter/locale/index.d.ts +2 -0
  39. package/dist/adapter/runtime/KeyedFor.d.ts +14 -0
  40. package/dist/adapter/runtime/KeyedFor.js +54 -0
  41. package/dist/adapter/runtime/Root.d.ts +20 -0
  42. package/dist/adapter/runtime/Root.js +43 -0
  43. package/dist/adapter/runtime/Teleport.d.ts +14 -0
  44. package/dist/adapter/runtime/Teleport.js +45 -0
  45. package/dist/adapter/runtime/field-text.d.ts +22 -0
  46. package/dist/adapter/runtime/field-text.js +38 -0
  47. package/dist/adapter/runtime/flow.d.ts +34 -0
  48. package/dist/adapter/runtime/flow.js +70 -0
  49. package/dist/adapter/runtime/index.d.ts +8 -0
  50. package/dist/adapter/runtime/part-node.d.ts +38 -0
  51. package/dist/adapter/runtime/part-node.js +76 -0
  52. package/dist/adapter/runtime/state.d.ts +43 -0
  53. package/dist/adapter/runtime/state.js +116 -0
  54. package/dist/adapter/runtime/tag.d.ts +11 -0
  55. package/dist/adapter/runtime/tag.js +11 -0
  56. package/dist/adapter/runtime/useAdapter.d.ts +74 -0
  57. package/dist/adapter/runtime/useAdapter.js +110 -0
  58. package/dist/adapter/toasts/index.d.ts +3 -0
  59. package/dist/adapter/toasts/render.d.ts +3 -0
  60. package/dist/adapter/toasts/render.js +7 -0
  61. package/dist/adapter/toasts/types.d.ts +6 -0
  62. package/dist/adapter/toasts/useToasts.d.ts +8 -0
  63. package/dist/adapter/toasts/useToasts.js +15 -0
  64. package/dist/components/accordion/Accordion.d.ts +4 -0
  65. package/dist/components/accordion/Accordion.js +71 -0
  66. package/dist/components/accordion/base.component.d.ts +7 -0
  67. package/dist/components/accordion/index.d.ts +8 -0
  68. package/dist/components/accordion/index.js +9 -0
  69. package/dist/components/accordion/item/Item.d.ts +7 -0
  70. package/dist/components/accordion/item/Item.js +110 -0
  71. package/dist/components/accordion/item/base.component.d.ts +9 -0
  72. package/dist/components/accordion/item/index.d.ts +3 -0
  73. package/dist/components/accordion/item/setup.component.d.ts +39 -0
  74. package/dist/components/accordion/item/setup.component.js +24 -0
  75. package/dist/components/accordion/setup.component.d.ts +35 -0
  76. package/dist/components/accordion/setup.component.js +27 -0
  77. package/dist/components/button/Button.d.ts +12 -0
  78. package/dist/components/button/Button.js +59 -0
  79. package/dist/components/button/base.component.d.ts +8 -0
  80. package/dist/components/button/index.d.ts +3 -0
  81. package/dist/components/button/setup.component.d.ts +22 -0
  82. package/dist/components/button/setup.component.js +13 -0
  83. package/dist/components/calendar/Calendar.d.ts +8 -0
  84. package/dist/components/calendar/Calendar.js +335 -0
  85. package/dist/components/calendar/base.component.d.ts +7 -0
  86. package/dist/components/calendar/index.d.ts +8 -0
  87. package/dist/components/calendar/index.js +9 -0
  88. package/dist/components/calendar/item/Item.d.ts +8 -0
  89. package/dist/components/calendar/item/Item.js +51 -0
  90. package/dist/components/calendar/item/base.component.d.ts +7 -0
  91. package/dist/components/calendar/item/index.d.ts +3 -0
  92. package/dist/components/calendar/item/setup.component.d.ts +13 -0
  93. package/dist/components/calendar/item/setup.component.js +21 -0
  94. package/dist/components/calendar/setup.component.d.ts +36 -0
  95. package/dist/components/calendar/setup.component.js +28 -0
  96. package/dist/components/check-box/CheckBox.d.ts +8 -0
  97. package/dist/components/check-box/CheckBox.js +97 -0
  98. package/dist/components/check-box/base.component.d.ts +8 -0
  99. package/dist/components/check-box/index.d.ts +3 -0
  100. package/dist/components/check-box/setup.component.d.ts +35 -0
  101. package/dist/components/check-box/setup.component.js +18 -0
  102. package/dist/components/component/base.component.d.ts +6 -0
  103. package/dist/components/component/index.d.ts +1 -0
  104. package/dist/components/component-view/ComponentView.d.ts +4 -0
  105. package/dist/components/component-view/ComponentView.js +43 -0
  106. package/dist/components/component-view/base.component.d.ts +6 -0
  107. package/dist/components/component-view/index.d.ts +3 -0
  108. package/dist/components/component-view/setup.component.d.ts +9 -0
  109. package/dist/components/component-view/setup.component.js +13 -0
  110. package/dist/components/control/base.component.d.ts +6 -0
  111. package/dist/components/control/index.d.ts +2 -0
  112. package/dist/components/control/setup.component.d.ts +22 -0
  113. package/dist/components/date-input/DateInput.d.ts +7 -0
  114. package/dist/components/date-input/DateInput.js +203 -0
  115. package/dist/components/date-input/base.component.d.ts +7 -0
  116. package/dist/components/date-input/index.d.ts +3 -0
  117. package/dist/components/date-input/setup.component.d.ts +36 -0
  118. package/dist/components/date-input/setup.component.js +19 -0
  119. package/dist/components/date-picker/DatePicker.d.ts +7 -0
  120. package/dist/components/date-picker/DatePicker.js +273 -0
  121. package/dist/components/date-picker/base.component.d.ts +7 -0
  122. package/dist/components/date-picker/index.d.ts +3 -0
  123. package/dist/components/date-picker/setup.component.d.ts +58 -0
  124. package/dist/components/date-picker/setup.component.js +26 -0
  125. package/dist/components/dialog/Dialog.d.ts +7 -0
  126. package/dist/components/dialog/Dialog.js +160 -0
  127. package/dist/components/dialog/base.component.d.ts +7 -0
  128. package/dist/components/dialog/index.d.ts +3 -0
  129. package/dist/components/dialog/setup.component.d.ts +29 -0
  130. package/dist/components/dialog/setup.component.js +13 -0
  131. package/dist/components/drag-and-drop/DragAndDrop.d.ts +4 -0
  132. package/dist/components/drag-and-drop/DragAndDrop.js +19 -0
  133. package/dist/components/drag-and-drop/base.component.d.ts +7 -0
  134. package/dist/components/drag-and-drop/index.d.ts +3 -0
  135. package/dist/components/drag-and-drop/setup.component.d.ts +11 -0
  136. package/dist/components/drag-and-drop/setup.component.js +21 -0
  137. package/dist/components/drawer/Drawer.d.ts +4 -0
  138. package/dist/components/drawer/Drawer.js +131 -0
  139. package/dist/components/drawer/base.component.d.ts +7 -0
  140. package/dist/components/drawer/index.d.ts +3 -0
  141. package/dist/components/drawer/setup.component.d.ts +29 -0
  142. package/dist/components/drawer/setup.component.js +13 -0
  143. package/dist/components/field/Field.d.ts +4 -0
  144. package/dist/components/field/Field.js +112 -0
  145. package/dist/components/field/base.component.d.ts +6 -0
  146. package/dist/components/field/index.d.ts +3 -0
  147. package/dist/components/field/setup.component.d.ts +18 -0
  148. package/dist/components/field/setup.component.js +18 -0
  149. package/dist/components/frame/Frame.d.ts +4 -0
  150. package/dist/components/frame/Frame.js +54 -0
  151. package/dist/components/frame/base.component.d.ts +6 -0
  152. package/dist/components/frame/index.d.ts +3 -0
  153. package/dist/components/frame/setup.component.d.ts +33 -0
  154. package/dist/components/frame/setup.component.js +13 -0
  155. package/dist/components/icon/Icon.d.ts +7 -0
  156. package/dist/components/icon/Icon.js +38 -0
  157. package/dist/components/icon/base.component.d.ts +6 -0
  158. package/dist/components/icon/index.d.ts +3 -0
  159. package/dist/components/icon/setup.component.d.ts +19 -0
  160. package/dist/components/icon/setup.component.js +13 -0
  161. package/dist/components/index.d.ts +43 -0
  162. package/dist/components/input/Input.d.ts +8 -0
  163. package/dist/components/input/Input.js +159 -0
  164. package/dist/components/input/base.component.d.ts +8 -0
  165. package/dist/components/input/index.d.ts +3 -0
  166. package/dist/components/input/setup.component.d.ts +35 -0
  167. package/dist/components/input/setup.component.js +18 -0
  168. package/dist/components/input-control/base.component.d.ts +7 -0
  169. package/dist/components/input-control/index.d.ts +2 -0
  170. package/dist/components/input-control/setup.component.d.ts +26 -0
  171. package/dist/components/interactive/base.component.d.ts +6 -0
  172. package/dist/components/interactive/index.d.ts +2 -0
  173. package/dist/components/interactive/setup.component.d.ts +9 -0
  174. package/dist/components/item-row/ItemRow.d.ts +13 -0
  175. package/dist/components/item-row/ItemRow.js +18 -0
  176. package/dist/components/item-row/index.d.ts +2 -0
  177. package/dist/components/item-row/setup.component.d.ts +22 -0
  178. package/dist/components/item-row/setup.component.js +13 -0
  179. package/dist/components/label/Label.d.ts +8 -0
  180. package/dist/components/label/Label.js +58 -0
  181. package/dist/components/label/base.component.d.ts +6 -0
  182. package/dist/components/label/index.d.ts +3 -0
  183. package/dist/components/label/setup.component.d.ts +9 -0
  184. package/dist/components/label/setup.component.js +13 -0
  185. package/dist/components/list-box/ListBox.d.ts +8 -0
  186. package/dist/components/list-box/ListBox.js +160 -0
  187. package/dist/components/list-box/base.component.d.ts +9 -0
  188. package/dist/components/list-box/group/Group.d.ts +4 -0
  189. package/dist/components/list-box/group/Group.js +63 -0
  190. package/dist/components/list-box/group/base.component.d.ts +7 -0
  191. package/dist/components/list-box/group/index.d.ts +3 -0
  192. package/dist/components/list-box/group/setup.component.d.ts +19 -0
  193. package/dist/components/list-box/group/setup.component.js +19 -0
  194. package/dist/components/list-box/index.d.ts +11 -0
  195. package/dist/components/list-box/index.js +14 -0
  196. package/dist/components/list-box/item/Item.d.ts +8 -0
  197. package/dist/components/list-box/item/Item.js +97 -0
  198. package/dist/components/list-box/item/base.component.d.ts +9 -0
  199. package/dist/components/list-box/item/index.d.ts +3 -0
  200. package/dist/components/list-box/item/setup.component.d.ts +42 -0
  201. package/dist/components/list-box/item/setup.component.js +25 -0
  202. package/dist/components/list-box/setup.component.d.ts +35 -0
  203. package/dist/components/list-box/setup.component.js +27 -0
  204. package/dist/components/menu/Menu.d.ts +8 -0
  205. package/dist/components/menu/Menu.js +97 -0
  206. package/dist/components/menu/base.component.d.ts +7 -0
  207. package/dist/components/menu/checkbox-item/CheckboxItem.d.ts +7 -0
  208. package/dist/components/menu/checkbox-item/CheckboxItem.js +98 -0
  209. package/dist/components/menu/checkbox-item/base.component.d.ts +9 -0
  210. package/dist/components/menu/checkbox-item/index.d.ts +3 -0
  211. package/dist/components/menu/checkbox-item/setup.component.d.ts +37 -0
  212. package/dist/components/menu/checkbox-item/setup.component.js +24 -0
  213. package/dist/components/menu/group/Group.d.ts +4 -0
  214. package/dist/components/menu/group/Group.js +63 -0
  215. package/dist/components/menu/group/base.component.d.ts +7 -0
  216. package/dist/components/menu/group/index.d.ts +3 -0
  217. package/dist/components/menu/group/setup.component.d.ts +18 -0
  218. package/dist/components/menu/group/setup.component.js +18 -0
  219. package/dist/components/menu/index.d.ts +29 -0
  220. package/dist/components/menu/index.js +32 -0
  221. package/dist/components/menu/item/Item.d.ts +7 -0
  222. package/dist/components/menu/item/Item.js +79 -0
  223. package/dist/components/menu/item/base.component.d.ts +9 -0
  224. package/dist/components/menu/item/index.d.ts +3 -0
  225. package/dist/components/menu/item/setup.component.d.ts +37 -0
  226. package/dist/components/menu/item/setup.component.js +24 -0
  227. package/dist/components/menu/popover-item/PopoverItem.d.ts +7 -0
  228. package/dist/components/menu/popover-item/PopoverItem.js +118 -0
  229. package/dist/components/menu/popover-item/base.component.d.ts +9 -0
  230. package/dist/components/menu/popover-item/index.d.ts +3 -0
  231. package/dist/components/menu/popover-item/setup.component.d.ts +48 -0
  232. package/dist/components/menu/popover-item/setup.component.js +24 -0
  233. package/dist/components/menu/radio-group/RadioGroup.d.ts +4 -0
  234. package/dist/components/menu/radio-group/RadioGroup.js +63 -0
  235. package/dist/components/menu/radio-group/base.component.d.ts +7 -0
  236. package/dist/components/menu/radio-group/index.d.ts +3 -0
  237. package/dist/components/menu/radio-group/setup.component.d.ts +18 -0
  238. package/dist/components/menu/radio-group/setup.component.js +18 -0
  239. package/dist/components/menu/radio-item/RadioItem.d.ts +4 -0
  240. package/dist/components/menu/radio-item/RadioItem.js +86 -0
  241. package/dist/components/menu/radio-item/base.component.d.ts +9 -0
  242. package/dist/components/menu/radio-item/index.d.ts +3 -0
  243. package/dist/components/menu/radio-item/setup.component.d.ts +37 -0
  244. package/dist/components/menu/radio-item/setup.component.js +24 -0
  245. package/dist/components/menu/separator/Separator.d.ts +4 -0
  246. package/dist/components/menu/separator/Separator.js +39 -0
  247. package/dist/components/menu/separator/base.component.d.ts +7 -0
  248. package/dist/components/menu/separator/index.d.ts +3 -0
  249. package/dist/components/menu/separator/setup.component.d.ts +9 -0
  250. package/dist/components/menu/separator/setup.component.js +13 -0
  251. package/dist/components/menu/setup.component.d.ts +29 -0
  252. package/dist/components/menu/setup.component.js +27 -0
  253. package/dist/components/menu/submenu/Submenu.d.ts +23 -0
  254. package/dist/components/menu/submenu/Submenu.js +240 -0
  255. package/dist/components/menu/submenu/base.component.d.ts +9 -0
  256. package/dist/components/menu/submenu/index.d.ts +3 -0
  257. package/dist/components/menu/submenu/setup.component.d.ts +54 -0
  258. package/dist/components/menu/submenu/setup.component.js +34 -0
  259. package/dist/components/number-input/NumberInput.d.ts +8 -0
  260. package/dist/components/number-input/NumberInput.js +220 -0
  261. package/dist/components/number-input/base.component.d.ts +8 -0
  262. package/dist/components/number-input/index.d.ts +3 -0
  263. package/dist/components/number-input/setup.component.d.ts +35 -0
  264. package/dist/components/number-input/setup.component.js +18 -0
  265. package/dist/components/pagination/Pagination.d.ts +4 -0
  266. package/dist/components/pagination/Pagination.js +155 -0
  267. package/dist/components/pagination/base.component.d.ts +7 -0
  268. package/dist/components/pagination/index.d.ts +3 -0
  269. package/dist/components/pagination/item/Item.d.ts +4 -0
  270. package/dist/components/pagination/item/Item.js +63 -0
  271. package/dist/components/pagination/item/base.component.d.ts +7 -0
  272. package/dist/components/pagination/item/index.d.ts +3 -0
  273. package/dist/components/pagination/item/setup.component.d.ts +22 -0
  274. package/dist/components/pagination/item/setup.component.js +24 -0
  275. package/dist/components/pagination/setup.component.d.ts +35 -0
  276. package/dist/components/pagination/setup.component.js +27 -0
  277. package/dist/components/popover/Popover.d.ts +7 -0
  278. package/dist/components/popover/Popover.js +120 -0
  279. package/dist/components/popover/base.component.d.ts +7 -0
  280. package/dist/components/popover/index.d.ts +3 -0
  281. package/dist/components/popover/setup.component.d.ts +24 -0
  282. package/dist/components/popover/setup.component.js +13 -0
  283. package/dist/components/progress-linear/ProgressLinear.d.ts +4 -0
  284. package/dist/components/progress-linear/ProgressLinear.js +44 -0
  285. package/dist/components/progress-linear/base.component.d.ts +6 -0
  286. package/dist/components/progress-linear/index.d.ts +3 -0
  287. package/dist/components/progress-linear/setup.component.d.ts +17 -0
  288. package/dist/components/progress-linear/setup.component.js +13 -0
  289. package/dist/components/progress-spinner/ProgressSpinner.d.ts +4 -0
  290. package/dist/components/progress-spinner/ProgressSpinner.js +44 -0
  291. package/dist/components/progress-spinner/base.component.d.ts +6 -0
  292. package/dist/components/progress-spinner/index.d.ts +3 -0
  293. package/dist/components/progress-spinner/setup.component.d.ts +17 -0
  294. package/dist/components/progress-spinner/setup.component.js +13 -0
  295. package/dist/components/radio-group/RadioGroup.d.ts +4 -0
  296. package/dist/components/radio-group/RadioGroup.js +70 -0
  297. package/dist/components/radio-group/base.component.d.ts +7 -0
  298. package/dist/components/radio-group/index.d.ts +8 -0
  299. package/dist/components/radio-group/index.js +9 -0
  300. package/dist/components/radio-group/item/Item.d.ts +7 -0
  301. package/dist/components/radio-group/item/Item.js +87 -0
  302. package/dist/components/radio-group/item/base.component.d.ts +9 -0
  303. package/dist/components/radio-group/item/index.d.ts +3 -0
  304. package/dist/components/radio-group/item/setup.component.d.ts +35 -0
  305. package/dist/components/radio-group/item/setup.component.js +24 -0
  306. package/dist/components/radio-group/setup.component.d.ts +35 -0
  307. package/dist/components/radio-group/setup.component.js +27 -0
  308. package/dist/components/rating/Rating.d.ts +7 -0
  309. package/dist/components/rating/Rating.js +99 -0
  310. package/dist/components/rating/base.component.d.ts +7 -0
  311. package/dist/components/rating/index.d.ts +3 -0
  312. package/dist/components/rating/setup.component.d.ts +35 -0
  313. package/dist/components/rating/setup.component.js +18 -0
  314. package/dist/components/scroller/Scroller.d.ts +11 -0
  315. package/dist/components/scroller/Scroller.js +106 -0
  316. package/dist/components/scroller/base.component.d.ts +7 -0
  317. package/dist/components/scroller/index.d.ts +3 -0
  318. package/dist/components/scroller/setup.component.d.ts +22 -0
  319. package/dist/components/scroller/setup.component.js +13 -0
  320. package/dist/components/select/Select.d.ts +8 -0
  321. package/dist/components/select/Select.js +269 -0
  322. package/dist/components/select/base.component.d.ts +9 -0
  323. package/dist/components/select/group/Group.d.ts +4 -0
  324. package/dist/components/select/group/Group.js +63 -0
  325. package/dist/components/select/group/base.component.d.ts +7 -0
  326. package/dist/components/select/group/index.d.ts +3 -0
  327. package/dist/components/select/group/setup.component.d.ts +18 -0
  328. package/dist/components/select/group/setup.component.js +18 -0
  329. package/dist/components/select/index.d.ts +11 -0
  330. package/dist/components/select/index.js +14 -0
  331. package/dist/components/select/item/Item.d.ts +9 -0
  332. package/dist/components/select/item/Item.js +94 -0
  333. package/dist/components/select/item/base.component.d.ts +9 -0
  334. package/dist/components/select/item/index.d.ts +3 -0
  335. package/dist/components/select/item/setup.component.d.ts +41 -0
  336. package/dist/components/select/item/setup.component.js +24 -0
  337. package/dist/components/select/setup.component.d.ts +55 -0
  338. package/dist/components/select/setup.component.js +28 -0
  339. package/dist/components/skeleton/Skeleton.d.ts +7 -0
  340. package/dist/components/skeleton/Skeleton.js +46 -0
  341. package/dist/components/skeleton/base.component.d.ts +6 -0
  342. package/dist/components/skeleton/index.d.ts +3 -0
  343. package/dist/components/skeleton/setup.component.d.ts +11 -0
  344. package/dist/components/skeleton/setup.component.js +13 -0
  345. package/dist/components/slider/Slider.d.ts +7 -0
  346. package/dist/components/slider/Slider.js +149 -0
  347. package/dist/components/slider/base.component.d.ts +7 -0
  348. package/dist/components/slider/index.d.ts +3 -0
  349. package/dist/components/slider/setup.component.d.ts +31 -0
  350. package/dist/components/slider/setup.component.js +18 -0
  351. package/dist/components/stylable/base.component.d.ts +6 -0
  352. package/dist/components/stylable/index.d.ts +2 -0
  353. package/dist/components/stylable/setup.component.d.ts +9 -0
  354. package/dist/components/switch/Switch.d.ts +4 -0
  355. package/dist/components/switch/Switch.js +89 -0
  356. package/dist/components/switch/base.component.d.ts +8 -0
  357. package/dist/components/switch/index.d.ts +3 -0
  358. package/dist/components/switch/setup.component.d.ts +35 -0
  359. package/dist/components/switch/setup.component.js +18 -0
  360. package/dist/components/table/Table.d.ts +8 -0
  361. package/dist/components/table/Table.js +178 -0
  362. package/dist/components/table/base.component.d.ts +7 -0
  363. package/dist/components/table/column/Column.d.ts +7 -0
  364. package/dist/components/table/column/Column.js +110 -0
  365. package/dist/components/table/column/base.component.d.ts +7 -0
  366. package/dist/components/table/column/index.d.ts +3 -0
  367. package/dist/components/table/column/setup.component.d.ts +22 -0
  368. package/dist/components/table/column/setup.component.js +20 -0
  369. package/dist/components/table/index.d.ts +11 -0
  370. package/dist/components/table/index.js +14 -0
  371. package/dist/components/table/row/Cells.d.ts +17 -0
  372. package/dist/components/table/row/Cells.js +61 -0
  373. package/dist/components/table/row/Row.d.ts +7 -0
  374. package/dist/components/table/row/Row.js +80 -0
  375. package/dist/components/table/row/base.component.d.ts +7 -0
  376. package/dist/components/table/row/index.d.ts +3 -0
  377. package/dist/components/table/row/setup.component.d.ts +23 -0
  378. package/dist/components/table/row/setup.component.js +25 -0
  379. package/dist/components/table/setup.component.d.ts +39 -0
  380. package/dist/components/table/setup.component.js +29 -0
  381. package/dist/components/tabs/Tabs.d.ts +10 -0
  382. package/dist/components/tabs/Tabs.js +104 -0
  383. package/dist/components/tabs/base.component.d.ts +9 -0
  384. package/dist/components/tabs/content/Content.d.ts +4 -0
  385. package/dist/components/tabs/content/Content.js +39 -0
  386. package/dist/components/tabs/content/base.component.d.ts +7 -0
  387. package/dist/components/tabs/content/index.d.ts +3 -0
  388. package/dist/components/tabs/content/setup.component.d.ts +18 -0
  389. package/dist/components/tabs/content/setup.component.js +22 -0
  390. package/dist/components/tabs/index.d.ts +11 -0
  391. package/dist/components/tabs/index.js +14 -0
  392. package/dist/components/tabs/item/Item.d.ts +8 -0
  393. package/dist/components/tabs/item/Item.js +115 -0
  394. package/dist/components/tabs/item/base.component.d.ts +9 -0
  395. package/dist/components/tabs/item/index.d.ts +3 -0
  396. package/dist/components/tabs/item/setup.component.d.ts +39 -0
  397. package/dist/components/tabs/item/setup.component.js +24 -0
  398. package/dist/components/tabs/setup.component.d.ts +35 -0
  399. package/dist/components/tabs/setup.component.js +27 -0
  400. package/dist/components/tags/Tags.d.ts +7 -0
  401. package/dist/components/tags/Tags.js +76 -0
  402. package/dist/components/tags/base.component.d.ts +7 -0
  403. package/dist/components/tags/index.d.ts +8 -0
  404. package/dist/components/tags/index.js +9 -0
  405. package/dist/components/tags/item/Item.d.ts +9 -0
  406. package/dist/components/tags/item/Item.js +118 -0
  407. package/dist/components/tags/item/base.component.d.ts +9 -0
  408. package/dist/components/tags/item/index.d.ts +3 -0
  409. package/dist/components/tags/item/setup.component.d.ts +35 -0
  410. package/dist/components/tags/item/setup.component.js +24 -0
  411. package/dist/components/tags/setup.component.d.ts +35 -0
  412. package/dist/components/tags/setup.component.js +27 -0
  413. package/dist/components/textable/base.component.d.ts +6 -0
  414. package/dist/components/textable/index.d.ts +2 -0
  415. package/dist/components/textable/setup.component.d.ts +22 -0
  416. package/dist/components/textarea/Textarea.d.ts +4 -0
  417. package/dist/components/textarea/Textarea.js +84 -0
  418. package/dist/components/textarea/base.component.d.ts +8 -0
  419. package/dist/components/textarea/index.d.ts +3 -0
  420. package/dist/components/textarea/setup.component.d.ts +28 -0
  421. package/dist/components/textarea/setup.component.js +15 -0
  422. package/dist/components/toasts/Toasts.d.ts +7 -0
  423. package/dist/components/toasts/Toasts.js +85 -0
  424. package/dist/components/toasts/base.component.d.ts +7 -0
  425. package/dist/components/toasts/index.d.ts +3 -0
  426. package/dist/components/toasts/item/Item.d.ts +7 -0
  427. package/dist/components/toasts/item/Item.js +122 -0
  428. package/dist/components/toasts/item/base.component.d.ts +7 -0
  429. package/dist/components/toasts/item/index.d.ts +3 -0
  430. package/dist/components/toasts/item/setup.component.d.ts +13 -0
  431. package/dist/components/toasts/item/setup.component.js +21 -0
  432. package/dist/components/toasts/setup.component.d.ts +24 -0
  433. package/dist/components/toasts/setup.component.js +27 -0
  434. package/dist/components/tooltip/Tooltip.d.ts +4 -0
  435. package/dist/components/tooltip/Tooltip.js +60 -0
  436. package/dist/components/tooltip/base.component.d.ts +7 -0
  437. package/dist/components/tooltip/index.d.ts +3 -0
  438. package/dist/components/tooltip/setup.component.d.ts +16 -0
  439. package/dist/components/tooltip/setup.component.js +13 -0
  440. package/dist/components/value-control/base.component.d.ts +7 -0
  441. package/dist/components/value-control/index.d.ts +2 -0
  442. package/dist/components/value-control/setup.component.d.ts +22 -0
  443. package/dist/components/virtual/Virtual.d.ts +4 -0
  444. package/dist/components/virtual/Virtual.js +19 -0
  445. package/dist/components/virtual/base.component.d.ts +7 -0
  446. package/dist/components/virtual/index.d.ts +3 -0
  447. package/dist/components/virtual/setup.component.d.ts +11 -0
  448. package/dist/components/virtual/setup.component.js +21 -0
  449. package/dist/index.d.ts +10 -0
  450. package/dist/index.js +60 -0
  451. package/dist/source/adapter/common/ResolvedSlot.jsx +31 -0
  452. package/dist/source/adapter/common/click-action.js +8 -0
  453. package/dist/source/adapter/common/createSolidAdapterContext.js +18 -0
  454. package/dist/source/adapter/common/handlers.js +13 -0
  455. package/dist/source/adapter/common/hydration.js +42 -0
  456. package/dist/source/adapter/common/icon.jsx +19 -0
  457. package/dist/source/adapter/common/index.js +9 -0
  458. package/dist/source/adapter/common/naming.js +6 -0
  459. package/dist/source/adapter/common/profile.js +3 -0
  460. package/dist/source/adapter/common/root.js +113 -0
  461. package/dist/source/adapter/common/slots.js +74 -0
  462. package/dist/source/adapter/elevator/Elevate.jsx +11 -0
  463. package/dist/source/adapter/elevator/elevator.class.js +25 -0
  464. package/dist/source/adapter/elevator/index.js +3 -0
  465. package/dist/source/adapter/elevator/layer.js +25 -0
  466. package/dist/source/adapter/elevator/useElevator.js +16 -0
  467. package/dist/source/adapter/index.js +5 -0
  468. package/dist/source/adapter/locale/LocaleProvider.jsx +24 -0
  469. package/dist/source/adapter/locale/context.js +6 -0
  470. package/dist/source/adapter/locale/index.js +1 -0
  471. package/dist/source/adapter/runtime/KeyedFor.jsx +60 -0
  472. package/dist/source/adapter/runtime/Root.jsx +51 -0
  473. package/dist/source/adapter/runtime/Teleport.jsx +28 -0
  474. package/dist/source/adapter/runtime/field-text.js +44 -0
  475. package/dist/source/adapter/runtime/flow.js +74 -0
  476. package/dist/source/adapter/runtime/index.js +8 -0
  477. package/dist/source/adapter/runtime/part-node.js +82 -0
  478. package/dist/source/adapter/runtime/state.js +127 -0
  479. package/dist/source/adapter/runtime/tag.js +10 -0
  480. package/dist/source/adapter/runtime/useAdapter.js +116 -0
  481. package/dist/source/adapter/toasts/index.js +2 -0
  482. package/dist/source/adapter/toasts/render.js +4 -0
  483. package/dist/source/adapter/toasts/types.js +1 -0
  484. package/dist/source/adapter/toasts/useToasts.js +14 -0
  485. package/dist/source/components/accordion/Accordion.jsx +27 -0
  486. package/dist/source/components/accordion/base.component.js +1 -0
  487. package/dist/source/components/accordion/index.js +7 -0
  488. package/dist/source/components/accordion/item/Item.jsx +51 -0
  489. package/dist/source/components/accordion/item/base.component.js +1 -0
  490. package/dist/source/components/accordion/item/index.js +3 -0
  491. package/dist/source/components/accordion/item/setup.component.js +13 -0
  492. package/dist/source/components/accordion/setup.component.js +15 -0
  493. package/dist/source/components/button/Button.jsx +27 -0
  494. package/dist/source/components/button/base.component.js +1 -0
  495. package/dist/source/components/button/index.js +3 -0
  496. package/dist/source/components/button/setup.component.js +6 -0
  497. package/dist/source/components/calendar/Calendar.jsx +115 -0
  498. package/dist/source/components/calendar/base.component.js +1 -0
  499. package/dist/source/components/calendar/index.js +7 -0
  500. package/dist/source/components/calendar/item/Item.jsx +23 -0
  501. package/dist/source/components/calendar/item/base.component.js +1 -0
  502. package/dist/source/components/calendar/item/index.js +3 -0
  503. package/dist/source/components/calendar/item/setup.component.js +13 -0
  504. package/dist/source/components/calendar/setup.component.js +17 -0
  505. package/dist/source/components/check-box/CheckBox.jsx +52 -0
  506. package/dist/source/components/check-box/base.component.js +1 -0
  507. package/dist/source/components/check-box/index.js +3 -0
  508. package/dist/source/components/check-box/setup.component.js +10 -0
  509. package/dist/source/components/component/base.component.js +1 -0
  510. package/dist/source/components/component/index.js +1 -0
  511. package/dist/source/components/component-view/ComponentView.jsx +18 -0
  512. package/dist/source/components/component-view/base.component.js +1 -0
  513. package/dist/source/components/component-view/index.js +3 -0
  514. package/dist/source/components/component-view/setup.component.js +9 -0
  515. package/dist/source/components/control/base.component.js +1 -0
  516. package/dist/source/components/control/index.js +2 -0
  517. package/dist/source/components/control/setup.component.js +6 -0
  518. package/dist/source/components/date-input/DateInput.jsx +78 -0
  519. package/dist/source/components/date-input/base.component.js +1 -0
  520. package/dist/source/components/date-input/index.js +3 -0
  521. package/dist/source/components/date-input/setup.component.js +11 -0
  522. package/dist/source/components/date-picker/DatePicker.jsx +86 -0
  523. package/dist/source/components/date-picker/base.component.js +1 -0
  524. package/dist/source/components/date-picker/index.js +3 -0
  525. package/dist/source/components/date-picker/setup.component.js +21 -0
  526. package/dist/source/components/dialog/Dialog.jsx +67 -0
  527. package/dist/source/components/dialog/base.component.js +1 -0
  528. package/dist/source/components/dialog/index.js +3 -0
  529. package/dist/source/components/dialog/setup.component.js +6 -0
  530. package/dist/source/components/drag-and-drop/DragAndDrop.jsx +7 -0
  531. package/dist/source/components/drag-and-drop/base.component.js +1 -0
  532. package/dist/source/components/drag-and-drop/index.js +3 -0
  533. package/dist/source/components/drag-and-drop/setup.component.js +12 -0
  534. package/dist/source/components/drawer/Drawer.jsx +52 -0
  535. package/dist/source/components/drawer/base.component.js +1 -0
  536. package/dist/source/components/drawer/index.js +3 -0
  537. package/dist/source/components/drawer/setup.component.js +6 -0
  538. package/dist/source/components/field/Field.jsx +48 -0
  539. package/dist/source/components/field/base.component.js +1 -0
  540. package/dist/source/components/field/index.js +3 -0
  541. package/dist/source/components/field/setup.component.js +10 -0
  542. package/dist/source/components/frame/Frame.jsx +20 -0
  543. package/dist/source/components/frame/base.component.js +1 -0
  544. package/dist/source/components/frame/index.js +3 -0
  545. package/dist/source/components/frame/setup.component.js +6 -0
  546. package/dist/source/components/icon/Icon.jsx +19 -0
  547. package/dist/source/components/icon/base.component.js +1 -0
  548. package/dist/source/components/icon/index.js +3 -0
  549. package/dist/source/components/icon/setup.component.js +6 -0
  550. package/dist/source/components/index.js +43 -0
  551. package/dist/source/components/input/Input.jsx +60 -0
  552. package/dist/source/components/input/base.component.js +1 -0
  553. package/dist/source/components/input/index.js +3 -0
  554. package/dist/source/components/input/setup.component.js +10 -0
  555. package/dist/source/components/input-control/base.component.js +1 -0
  556. package/dist/source/components/input-control/index.js +2 -0
  557. package/dist/source/components/input-control/setup.component.js +6 -0
  558. package/dist/source/components/interactive/base.component.js +1 -0
  559. package/dist/source/components/interactive/index.js +2 -0
  560. package/dist/source/components/interactive/setup.component.js +6 -0
  561. package/dist/source/components/item-row/ItemRow.jsx +15 -0
  562. package/dist/source/components/item-row/index.js +2 -0
  563. package/dist/source/components/item-row/setup.component.js +6 -0
  564. package/dist/source/components/label/Label.jsx +24 -0
  565. package/dist/source/components/label/base.component.js +1 -0
  566. package/dist/source/components/label/index.js +3 -0
  567. package/dist/source/components/label/setup.component.js +6 -0
  568. package/dist/source/components/list-box/ListBox.jsx +70 -0
  569. package/dist/source/components/list-box/base.component.js +1 -0
  570. package/dist/source/components/list-box/group/Group.jsx +24 -0
  571. package/dist/source/components/list-box/group/base.component.js +1 -0
  572. package/dist/source/components/list-box/group/index.js +3 -0
  573. package/dist/source/components/list-box/group/setup.component.js +11 -0
  574. package/dist/source/components/list-box/index.js +9 -0
  575. package/dist/source/components/list-box/item/Item.jsx +45 -0
  576. package/dist/source/components/list-box/item/base.component.js +1 -0
  577. package/dist/source/components/list-box/item/index.js +3 -0
  578. package/dist/source/components/list-box/item/setup.component.js +11 -0
  579. package/dist/source/components/list-box/setup.component.js +16 -0
  580. package/dist/source/components/menu/Menu.jsx +38 -0
  581. package/dist/source/components/menu/base.component.js +1 -0
  582. package/dist/source/components/menu/checkbox-item/CheckboxItem.jsx +39 -0
  583. package/dist/source/components/menu/checkbox-item/base.component.js +1 -0
  584. package/dist/source/components/menu/checkbox-item/index.js +3 -0
  585. package/dist/source/components/menu/checkbox-item/setup.component.js +13 -0
  586. package/dist/source/components/menu/group/Group.jsx +24 -0
  587. package/dist/source/components/menu/group/base.component.js +1 -0
  588. package/dist/source/components/menu/group/index.js +3 -0
  589. package/dist/source/components/menu/group/setup.component.js +10 -0
  590. package/dist/source/components/menu/index.js +30 -0
  591. package/dist/source/components/menu/item/Item.jsx +29 -0
  592. package/dist/source/components/menu/item/base.component.js +1 -0
  593. package/dist/source/components/menu/item/index.js +3 -0
  594. package/dist/source/components/menu/item/setup.component.js +10 -0
  595. package/dist/source/components/menu/popover-item/PopoverItem.jsx +41 -0
  596. package/dist/source/components/menu/popover-item/base.component.js +1 -0
  597. package/dist/source/components/menu/popover-item/index.js +3 -0
  598. package/dist/source/components/menu/popover-item/setup.component.js +13 -0
  599. package/dist/source/components/menu/radio-group/RadioGroup.jsx +24 -0
  600. package/dist/source/components/menu/radio-group/base.component.js +1 -0
  601. package/dist/source/components/menu/radio-group/index.js +3 -0
  602. package/dist/source/components/menu/radio-group/setup.component.js +12 -0
  603. package/dist/source/components/menu/radio-item/RadioItem.jsx +33 -0
  604. package/dist/source/components/menu/radio-item/base.component.js +1 -0
  605. package/dist/source/components/menu/radio-item/index.js +3 -0
  606. package/dist/source/components/menu/radio-item/setup.component.js +13 -0
  607. package/dist/source/components/menu/separator/Separator.jsx +16 -0
  608. package/dist/source/components/menu/separator/base.component.js +1 -0
  609. package/dist/source/components/menu/separator/index.js +3 -0
  610. package/dist/source/components/menu/separator/setup.component.js +9 -0
  611. package/dist/source/components/menu/setup.component.js +13 -0
  612. package/dist/source/components/menu/submenu/Submenu.jsx +74 -0
  613. package/dist/source/components/menu/submenu/base.component.js +1 -0
  614. package/dist/source/components/menu/submenu/index.js +3 -0
  615. package/dist/source/components/menu/submenu/setup.component.js +20 -0
  616. package/dist/source/components/number-input/NumberInput.jsx +75 -0
  617. package/dist/source/components/number-input/base.component.js +1 -0
  618. package/dist/source/components/number-input/index.js +3 -0
  619. package/dist/source/components/number-input/setup.component.js +10 -0
  620. package/dist/source/components/pagination/Pagination.jsx +56 -0
  621. package/dist/source/components/pagination/base.component.js +1 -0
  622. package/dist/source/components/pagination/index.js +3 -0
  623. package/dist/source/components/pagination/item/Item.jsx +27 -0
  624. package/dist/source/components/pagination/item/base.component.js +1 -0
  625. package/dist/source/components/pagination/item/index.js +3 -0
  626. package/dist/source/components/pagination/item/setup.component.js +13 -0
  627. package/dist/source/components/pagination/setup.component.js +16 -0
  628. package/dist/source/components/popover/Popover.jsx +50 -0
  629. package/dist/source/components/popover/base.component.js +1 -0
  630. package/dist/source/components/popover/index.js +3 -0
  631. package/dist/source/components/popover/setup.component.js +6 -0
  632. package/dist/source/components/progress-linear/ProgressLinear.jsx +20 -0
  633. package/dist/source/components/progress-linear/base.component.js +1 -0
  634. package/dist/source/components/progress-linear/index.js +3 -0
  635. package/dist/source/components/progress-linear/setup.component.js +9 -0
  636. package/dist/source/components/progress-spinner/ProgressSpinner.jsx +27 -0
  637. package/dist/source/components/progress-spinner/base.component.js +1 -0
  638. package/dist/source/components/progress-spinner/index.js +3 -0
  639. package/dist/source/components/progress-spinner/setup.component.js +9 -0
  640. package/dist/source/components/radio-group/RadioGroup.jsx +25 -0
  641. package/dist/source/components/radio-group/base.component.js +1 -0
  642. package/dist/source/components/radio-group/index.js +7 -0
  643. package/dist/source/components/radio-group/item/Item.jsx +38 -0
  644. package/dist/source/components/radio-group/item/base.component.js +1 -0
  645. package/dist/source/components/radio-group/item/index.js +3 -0
  646. package/dist/source/components/radio-group/item/setup.component.js +13 -0
  647. package/dist/source/components/radio-group/setup.component.js +16 -0
  648. package/dist/source/components/rating/Rating.jsx +44 -0
  649. package/dist/source/components/rating/base.component.js +1 -0
  650. package/dist/source/components/rating/index.js +3 -0
  651. package/dist/source/components/rating/setup.component.js +10 -0
  652. package/dist/source/components/scroller/Scroller.jsx +40 -0
  653. package/dist/source/components/scroller/base.component.js +1 -0
  654. package/dist/source/components/scroller/index.js +3 -0
  655. package/dist/source/components/scroller/setup.component.js +6 -0
  656. package/dist/source/components/select/Select.jsx +92 -0
  657. package/dist/source/components/select/base.component.js +1 -0
  658. package/dist/source/components/select/group/Group.jsx +24 -0
  659. package/dist/source/components/select/group/base.component.js +1 -0
  660. package/dist/source/components/select/group/index.js +3 -0
  661. package/dist/source/components/select/group/setup.component.js +10 -0
  662. package/dist/source/components/select/index.js +9 -0
  663. package/dist/source/components/select/item/Item.jsx +45 -0
  664. package/dist/source/components/select/item/base.component.js +1 -0
  665. package/dist/source/components/select/item/index.js +3 -0
  666. package/dist/source/components/select/item/setup.component.js +10 -0
  667. package/dist/source/components/select/setup.component.js +22 -0
  668. package/dist/source/components/skeleton/Skeleton.jsx +22 -0
  669. package/dist/source/components/skeleton/base.component.js +1 -0
  670. package/dist/source/components/skeleton/index.js +3 -0
  671. package/dist/source/components/skeleton/setup.component.js +6 -0
  672. package/dist/source/components/slider/Slider.jsx +57 -0
  673. package/dist/source/components/slider/base.component.js +1 -0
  674. package/dist/source/components/slider/index.js +3 -0
  675. package/dist/source/components/slider/setup.component.js +10 -0
  676. package/dist/source/components/stylable/base.component.js +1 -0
  677. package/dist/source/components/stylable/index.js +2 -0
  678. package/dist/source/components/stylable/setup.component.js +6 -0
  679. package/dist/source/components/switch/Switch.jsx +31 -0
  680. package/dist/source/components/switch/base.component.js +1 -0
  681. package/dist/source/components/switch/index.js +3 -0
  682. package/dist/source/components/switch/setup.component.js +10 -0
  683. package/dist/source/components/table/Table.jsx +74 -0
  684. package/dist/source/components/table/base.component.js +1 -0
  685. package/dist/source/components/table/column/Column.jsx +47 -0
  686. package/dist/source/components/table/column/base.component.js +1 -0
  687. package/dist/source/components/table/column/index.js +3 -0
  688. package/dist/source/components/table/column/setup.component.js +10 -0
  689. package/dist/source/components/table/index.js +9 -0
  690. package/dist/source/components/table/row/Cells.jsx +49 -0
  691. package/dist/source/components/table/row/Row.jsx +27 -0
  692. package/dist/source/components/table/row/base.component.js +1 -0
  693. package/dist/source/components/table/row/index.js +3 -0
  694. package/dist/source/components/table/row/setup.component.js +11 -0
  695. package/dist/source/components/table/setup.component.js +20 -0
  696. package/dist/source/components/tabs/Tabs.jsx +50 -0
  697. package/dist/source/components/tabs/base.component.js +1 -0
  698. package/dist/source/components/tabs/content/Content.jsx +18 -0
  699. package/dist/source/components/tabs/content/base.component.js +1 -0
  700. package/dist/source/components/tabs/content/index.js +3 -0
  701. package/dist/source/components/tabs/content/setup.component.js +14 -0
  702. package/dist/source/components/tabs/index.js +9 -0
  703. package/dist/source/components/tabs/item/Item.jsx +47 -0
  704. package/dist/source/components/tabs/item/base.component.js +1 -0
  705. package/dist/source/components/tabs/item/index.js +3 -0
  706. package/dist/source/components/tabs/item/setup.component.js +10 -0
  707. package/dist/source/components/tabs/setup.component.js +15 -0
  708. package/dist/source/components/tags/Tags.jsx +30 -0
  709. package/dist/source/components/tags/base.component.js +1 -0
  710. package/dist/source/components/tags/index.js +7 -0
  711. package/dist/source/components/tags/item/Item.jsx +47 -0
  712. package/dist/source/components/tags/item/base.component.js +1 -0
  713. package/dist/source/components/tags/item/index.js +3 -0
  714. package/dist/source/components/tags/item/setup.component.js +10 -0
  715. package/dist/source/components/tags/setup.component.js +13 -0
  716. package/dist/source/components/textable/base.component.js +1 -0
  717. package/dist/source/components/textable/index.js +2 -0
  718. package/dist/source/components/textable/setup.component.js +6 -0
  719. package/dist/source/components/textarea/Textarea.jsx +27 -0
  720. package/dist/source/components/textarea/base.component.js +1 -0
  721. package/dist/source/components/textarea/index.js +3 -0
  722. package/dist/source/components/textarea/setup.component.js +10 -0
  723. package/dist/source/components/toasts/Toasts.jsx +33 -0
  724. package/dist/source/components/toasts/base.component.js +1 -0
  725. package/dist/source/components/toasts/index.js +3 -0
  726. package/dist/source/components/toasts/item/Item.jsx +64 -0
  727. package/dist/source/components/toasts/item/base.component.js +1 -0
  728. package/dist/source/components/toasts/item/index.js +3 -0
  729. package/dist/source/components/toasts/item/setup.component.js +13 -0
  730. package/dist/source/components/toasts/setup.component.js +15 -0
  731. package/dist/source/components/tooltip/Tooltip.jsx +24 -0
  732. package/dist/source/components/tooltip/base.component.js +1 -0
  733. package/dist/source/components/tooltip/index.js +3 -0
  734. package/dist/source/components/tooltip/setup.component.js +6 -0
  735. package/dist/source/components/value-control/base.component.js +1 -0
  736. package/dist/source/components/value-control/index.js +2 -0
  737. package/dist/source/components/value-control/setup.component.js +6 -0
  738. package/dist/source/components/virtual/Virtual.jsx +7 -0
  739. package/dist/source/components/virtual/base.component.js +1 -0
  740. package/dist/source/components/virtual/index.js +3 -0
  741. package/dist/source/components/virtual/setup.component.js +12 -0
  742. package/dist/source/index.js +5 -0
  743. package/dist/source/types.js +1 -0
  744. package/dist/types.d.ts +42 -0
  745. package/package.json +56 -4
@@ -0,0 +1,51 @@
1
+ /**
2
+ * Корень компонента по `tag` — то, что делал `Dynamic`, без его прокси и
3
+ * лишних вычислений: тег — одно мемо, атрибуты — один эффект `assign`, `ref`
4
+ * зовётся под мемо, а не своим эффектом. На сервере и для компонента в `tag`
5
+ * — `createDynamic`, без вызова компонента над ним: ключи гидратации у
6
+ * сервера и браузера те же, что были у `Dynamic`. AGENTS.md (Solid), «Корень и
7
+ * узлы частей».
8
+ */
9
+ import { createMemo, createRenderEffect, mergeProps, untrack, } from 'solid-js';
10
+ import { SVGElements, assign, createDynamic, getNextElement, insert, isServer, use, } from 'solid-js/web';
11
+ import { rootTag } from './tag';
12
+ const SVG = 'http://www.w3.org/2000/svg';
13
+ /** Корень через `createDynamic`: атрибуты, `ref` и содержимое — одними пропсами. */
14
+ function dynamicRoot(tag, props) {
15
+ return createDynamic(tag, mergeProps(props.attributes, {
16
+ ref: props.ref,
17
+ get children() {
18
+ return props.children;
19
+ },
20
+ }));
21
+ }
22
+ /** Узел тега: в окне гидратации — узел сервера, иначе — новый. */
23
+ function nodeOf(tag, is) {
24
+ return getNextElement(() => SVGElements.has(tag)
25
+ ? document.createElementNS(SVG, tag)
26
+ : document.createElement(tag, typeof is === 'string' ? { is } : undefined));
27
+ }
28
+ export function Root(props) {
29
+ if (isServer)
30
+ return dynamicRoot(() => rootTag(props.tag), props);
31
+ // Мемо идёт только за тегом: смена тега — новый узел, очистки `ref` — прежнему
32
+ const root = createMemo(() => {
33
+ const tag = rootTag(props.tag);
34
+ if (tag === undefined)
35
+ return undefined;
36
+ // Компонент в `tag` — редкость, и его не облегчали
37
+ if (typeof tag === 'function')
38
+ return untrack(() => dynamicRoot(() => tag, props));
39
+ const node = nodeOf(tag, untrack(() => props.attributes().is));
40
+ const svg = SVGElements.has(tag);
41
+ // Записанное — память `assign`: следующий проход пишет только разницу
42
+ const assigned = {};
43
+ // Порядок — как у спреда `Dynamic`: содержимое, `ref`, атрибуты
44
+ insert(node, () => props.children);
45
+ use(props.ref, node);
46
+ createRenderEffect(() => assign(node, props.attributes(), svg, true, assigned, true));
47
+ return node;
48
+ });
49
+ // Само мемо, а не фрагмент: фрагмент над ним — ещё мемо на каждый корень
50
+ return root;
51
+ }
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Teleport — аналог `<teleport :to>` Vue поверх `Portal`: цели нет — нет и
3
+ * содержимого, `disabled` рисует на месте. Смена цели или `disabled` переносит
4
+ * те же узлы. AGENTS.md (Solid), «Teleport».
5
+ */
6
+ import { Show, children, getOwner, runWithOwner } from 'solid-js';
7
+ import { Portal, isServer } from 'solid-js/web';
8
+ function targetOf(selector) {
9
+ if (isServer || !selector)
10
+ return null;
11
+ return document.querySelector(selector);
12
+ }
13
+ export function Teleport(props) {
14
+ const owner = getOwner();
15
+ let resolved;
16
+ // Содержимое одно на обе ветки: мемо — с первым чтением, под владельцем
17
+ // Teleport. Без мемо `runWithOwner` возвращается, только когда сборка
18
+ // бросила и ошибку взяла граница ошибок
19
+ const content = () => {
20
+ resolved ??= runWithOwner(owner, () => children(() => props.children));
21
+ return resolved?.();
22
+ };
23
+ return (<Show when={!props.disabled} fallback={content()}>
24
+ <Show when={targetOf(props.to)}>
25
+ {(target) => <Portal mount={target()}>{content()}</Portal>}
26
+ </Show>
27
+ </Show>);
28
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Текст поля на узле — только когда он разошёлся с узлом, как `:value` у Vue.
3
+ * Привязку `value` Solid пишет на каждую смену, и запись узлу его же текста
4
+ * снимала бы с поля пометку «изменено пользователем» (`minlength` перестаёт
5
+ * проверяться). Атрибуты ложатся на поле последними.
6
+ * AGENTS.md (Solid), «Текст поля».
7
+ */
8
+ import { createEffect } from 'solid-js';
9
+ import { isServer } from 'solid-js/web';
10
+ /**
11
+ * `ref` поля, который ведёт его текст. Эффект — пользовательский: Solid
12
+ * выполняет его после атрибутов узла, а `range` прижимает значение к `min` и
13
+ * `max`.
14
+ */
15
+ function textRef(getText) {
16
+ return (node) => {
17
+ createEffect(() => {
18
+ const text = getText() ?? '';
19
+ if (node.value !== text)
20
+ node.value = text;
21
+ });
22
+ };
23
+ }
24
+ export function fieldText(getText) {
25
+ if (isServer) {
26
+ return {
27
+ get value() {
28
+ return getText();
29
+ },
30
+ };
31
+ }
32
+ return { ref: textRef(getText) };
33
+ }
34
+ /** У `<textarea>` атрибута `value` нет: на сервере текст — её содержимое. */
35
+ export function textareaText(getText) {
36
+ if (isServer) {
37
+ return {
38
+ get textContent() {
39
+ return getText();
40
+ },
41
+ };
42
+ }
43
+ return { ref: textRef(getText) };
44
+ }
@@ -0,0 +1,74 @@
1
+ /**
2
+ * `Show`, `For` и `Index` — как у Solid 1.9, но переживают окна гидратации:
3
+ * пересчёт в окне до конца окна отдаёт прежнюю структуру. На сервере — сами
4
+ * примитивы Solid. В бочку адаптера модуль не входит: имена столкнулись бы с
5
+ * `solid-js`. AGENTS.md (Solid), «Ветки и петли».
6
+ */
7
+ import { $TRACK, For as SolidFor, Index as SolidIndex, Show as SolidShow, createMemo, indexArray, mapArray, untrack, } from 'solid-js';
8
+ import { isServer } from 'solid-js/web';
9
+ import { createHeldMemo } from '../common/hydration';
10
+ /** Без `keyed` ветка сменяется только с истинностью условия. */
11
+ const SAME_TRUTHINESS = { equals: (a, b) => !a === !b };
12
+ const NO_ITEMS = [];
13
+ /** Функция-ребёнок — с параметром: ленивое мемо компилятора параметров не имеет. */
14
+ function isRenderFunction(child) {
15
+ return typeof child === 'function' && child.length > 0;
16
+ }
17
+ function conditionOf(props) {
18
+ return props.when;
19
+ }
20
+ export function Show(props) {
21
+ // Ветвь выбирает перегрузку `Show` Solid
22
+ if (isServer)
23
+ return props.keyed ? SolidShow(props) : SolidShow(props);
24
+ const value = createHeldMemo(props, (conditionOf));
25
+ return props.keyed ? keyedBranch(props, value) : unkeyedBranch(props, value);
26
+ }
27
+ /** `keyed`: на каждое новое значение условия — функция-ребёнок заново. */
28
+ function keyedBranch(props, value) {
29
+ return createMemo(() => {
30
+ const current = value();
31
+ if (!current)
32
+ return props.fallback;
33
+ const child = props.children;
34
+ return isRenderFunction(child) ? untrack(() => child(current)) : child;
35
+ });
36
+ }
37
+ /** Без `keyed`: значение функция-ребёнок читает аксессором. */
38
+ function unkeyedBranch(props, value) {
39
+ const condition = createMemo(value, undefined, SAME_TRUTHINESS);
40
+ return createMemo(() => {
41
+ if (!condition())
42
+ return props.fallback;
43
+ const child = props.children;
44
+ return isRenderFunction(child) ? untrack(() => child(() => present(value))) : child;
45
+ });
46
+ }
47
+ /** Аксессор снятой ветки значения уже не найдёт — ошибка, как у Solid. */
48
+ function present(value) {
49
+ const current = value();
50
+ if (!current)
51
+ throw new Error('<Show>: значение прочитано у снятой ветки — условие уже ложно');
52
+ return current;
53
+ }
54
+ export function For(props) {
55
+ if (isServer)
56
+ return SolidFor(props);
57
+ return createLoopMemo(props, mapArray(() => props.each, props.children, fallbackOf(props)));
58
+ }
59
+ export function Index(props) {
60
+ if (isServer)
61
+ return SolidIndex(props);
62
+ return createLoopMemo(props, indexArray(() => props.each, props.children, fallbackOf(props)));
63
+ }
64
+ /** `fallback` петли — как у Solid: только когда проп задан. */
65
+ function fallbackOf(props) {
66
+ return 'fallback' in props ? { fallback: () => props.fallback } : undefined;
67
+ }
68
+ /**
69
+ * Мемо отображения петли (`mapArray`, `indexArray`): в окне оно читает список
70
+ * и элементы стора (`$TRACK`), но строк не строит.
71
+ */
72
+ function createLoopMemo(props, map) {
73
+ return createHeldMemo(map, (live) => live(), () => Reflect.get(props.each || NO_ITEMS, $TRACK));
74
+ }
@@ -0,0 +1,8 @@
1
+ export { useAdapter, useCollectionAdapter, joinBindings, } from './useAdapter';
2
+ export { createShallowState, joinState } from './state';
3
+ export { KeyedFor } from './KeyedFor';
4
+ export { createPartNode, createPartNodes, } from './part-node';
5
+ export { Root } from './Root';
6
+ export { Teleport } from './Teleport';
7
+ export { isTagComponent, rootTag } from './tag';
8
+ export { fieldText, textareaText } from './field-text';
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Узлы частей без экземпляра, которых тысячи, — ячейки таблицы, поле флажка в
3
+ * каждой её строке. Без спреда: спред на узле давал прокси `mergeProps`,
4
+ * эффект `ref` и эффект атрибутов. На сервере — `createDynamic`, в
5
+ * гидратации — узлы сервера. AGENTS.md (Solid), «Корень и узлы частей».
6
+ *
7
+ * - `createPartNode` — узел: атрибуты — один эффект, содержимое — вставкой;
8
+ * - `createPartNodes` — узлы записей списка с текстом: одно мемо на весь
9
+ * список, без вычислений на узел.
10
+ */
11
+ import { createRenderEffect } from 'solid-js';
12
+ import { assign, createDynamic, getNextElement, insert, isServer } from 'solid-js/web';
13
+ import { createHeldMemo } from '../common/hydration';
14
+ import { createPartProps } from '../common/root';
15
+ /** Создатель узла на тег — один на модуль: узлов тысячи, тегов два. */
16
+ const creators = new Map();
17
+ function creatorOf(tag) {
18
+ let creator = creators.get(tag);
19
+ if (!creator)
20
+ creators.set(tag, (creator = () => document.createElement(tag)));
21
+ return creator;
22
+ }
23
+ /** Узел на сервере: содержимое — геттером, после метки гидратации узла, как у разметки. */
24
+ function serverNode(tag, attributes, children) {
25
+ return createDynamic(() => tag, {
26
+ ...attributes,
27
+ get children() {
28
+ return children();
29
+ },
30
+ });
31
+ }
32
+ /**
33
+ * Узел `tag` с атрибутами `read` и содержимым `children` (без него — пустой,
34
+ * как `input`). Зовётся там, где узел рисуется, — в теле или в функции петли:
35
+ * эффекты узла уходят с его владельцем. Атрибуты в окне гидратации держит
36
+ * `createPartProps`, как набор части.
37
+ */
38
+ export function createPartNode(tag, read, children) {
39
+ if (isServer)
40
+ return serverNode(tag, read(), () => children?.());
41
+ // Узел сервера в окне гидратации, иначе — новый
42
+ const node = getNextElement(creatorOf(tag));
43
+ const attributes = createPartProps(read);
44
+ // Записанное — память `assign`: следующий проход пишет только разницу
45
+ const assigned = {};
46
+ createRenderEffect(() => assign(node, attributes(), false, true, assigned, true));
47
+ if (children)
48
+ insert(node, children);
49
+ return node;
50
+ }
51
+ export function createPartNodes(source) {
52
+ if (isServer) {
53
+ return source
54
+ .each()
55
+ ?.map((entry) => serverNode(source.tag(entry), source.attributes(entry), () => source.text(entry)));
56
+ }
57
+ const records = new Map();
58
+ let shown = [];
59
+ const draw = (entries) => {
60
+ const seen = new Set();
61
+ const nodes = entries.map((entry) => {
62
+ const key = source.by(entry);
63
+ let record = records.get(key);
64
+ if (!record) {
65
+ const node = getNextElement(creatorOf(source.tag(entry)));
66
+ records.set(key, (record = { node, assigned: {}, text: undefined }));
67
+ }
68
+ assign(record.node, source.attributes(entry), false, true, record.assigned, true);
69
+ record.text = insert(record.node, source.text(entry), undefined, record.text);
70
+ seen.add(key);
71
+ return record.node;
72
+ });
73
+ for (const key of records.keys())
74
+ if (!seen.has(key))
75
+ records.delete(key);
76
+ // Те же узлы тем же порядком — тот же список: вставке родителя переставлять нечего
77
+ if (nodes.length !== shown.length || nodes.some((node, index) => node !== shown[index]))
78
+ shown = nodes;
79
+ return shown;
80
+ };
81
+ return createHeldMemo(source, (current) => draw(current.each() ?? []), (current) => current.each());
82
+ }
@@ -0,0 +1,127 @@
1
+ /**
2
+ * The binding's state and the view of two states. AGENTS.md (Solid), «Связка».
3
+ *
4
+ * - The state is a signal per property, and a value is handed over as it is:
5
+ * the core hands out values, and a changed one comes as a new object
6
+ * (AGENTS.md, «Контракт границы core → ui»). Solid's store wrapped every
7
+ * nested object — a row's cells, their `aria` and `dataset` — in a proxy
8
+ * with a signal per read property that never changes. Like `shallowRef` in
9
+ * Vue.
10
+ * - A signal is made by the first read of a property: the markup reads less
11
+ * than half of the binding's properties, and the subscription hands over the
12
+ * value of each.
13
+ * - Writes of an update of the exchange are applied at its end, in one
14
+ * `batch` (`IUpdateListener`): Solid renders on a signal write, and a write
15
+ * applied in the middle of the update rendered before the update's event
16
+ * reached the consumer — the panel opened by `change:open` mounted, and its
17
+ * items joined the menu first. A read in the middle of the update sees the
18
+ * written value already: only the signal's notification waits.
19
+ * - The view of two contexts is a proxy that reads a property from the state
20
+ * on every read: a spread would read it once, in the component's body, and
21
+ * getters by keys would lose the properties not set by the assembly. The
22
+ * component and the facade have no properties of the same name — the
23
+ * facade's names are prefixed.
24
+ */
25
+ import { batch, createSignal } from 'solid-js';
26
+ /** Значения и сигналы свойств — за прокси состояния. */
27
+ class TShallowState {
28
+ /** Записанные, но ещё не прочитанные — без сигнала. */
29
+ _values = new Map();
30
+ /** Прочитанные записанные. */
31
+ _signals = new Map();
32
+ /** Прочитанные до записи: подписка связки отдаёт каждое свойство сразу, и здесь — чужие. */
33
+ _unwritten = new Map();
34
+ /** Writes of the update in progress — applied at its end. */
35
+ _pending;
36
+ /** Updates of the exchange in progress: a sink's write to a participant nests one. */
37
+ _depth = 0;
38
+ /** The property was written: for the binding, one of its properties, from the subscription. */
39
+ written(key) {
40
+ return this._values.has(key) || this._signals.has(key) || this._pending?.has(key) === true;
41
+ }
42
+ read(key) {
43
+ const value = this._signalOf(key)[0]();
44
+ const pending = this._pending;
45
+ return pending?.has(key) ? pending.get(key) : value;
46
+ }
47
+ write(name, value) {
48
+ if (this._depth > 0)
49
+ (this._pending ??= new Map()).set(name, value);
50
+ else
51
+ this._apply(name, value);
52
+ }
53
+ begin() {
54
+ this._depth++;
55
+ }
56
+ /** The outermost update ended: its writes go to the signals, and Solid renders once. */
57
+ end() {
58
+ // The listener may have come in the middle of an update and missed its beginning
59
+ if (this._depth === 0 || --this._depth > 0)
60
+ return;
61
+ const pending = this._pending;
62
+ if (pending === undefined)
63
+ return;
64
+ this._pending = undefined;
65
+ batch(() => pending.forEach((value, name) => this._apply(name, value)));
66
+ }
67
+ _apply(name, value) {
68
+ const signal = this._signals.get(name) ?? this._adopt(name);
69
+ // A setter of a signal would take a function value for an updater
70
+ if (signal)
71
+ signal[1](() => value);
72
+ else
73
+ this._values.set(name, value);
74
+ }
75
+ _signalOf(key) {
76
+ const signal = this._signals.get(key) ?? this._unwritten.get(key);
77
+ if (signal)
78
+ return signal;
79
+ const values = this._values;
80
+ const created = createSignal(values.get(key), { internal: true });
81
+ if (values.delete(key))
82
+ this._signals.set(key, created);
83
+ else
84
+ this._unwritten.set(key, created);
85
+ return created;
86
+ }
87
+ /** Свойство, прочитанное до записи, записано: его сигнал — к записанным. */
88
+ _adopt(name) {
89
+ const signal = this._unwritten.get(name);
90
+ if (!signal)
91
+ return undefined;
92
+ this._unwritten.delete(name);
93
+ this._signals.set(name, signal);
94
+ return signal;
95
+ }
96
+ }
97
+ /** Состояния связок по их прокси — виду двух состояний. */
98
+ const shallowStates = new WeakMap();
99
+ /**
100
+ * A property with the value `undefined` is unset: `in` does not see it. The
101
+ * listener of the exchange's updates holds the writes of an update back to
102
+ * its end.
103
+ */
104
+ export function createShallowState() {
105
+ const values = new TShallowState();
106
+ const state = new Proxy({}, {
107
+ get: (_target, key) => values.read(key),
108
+ has: (_target, key) => values.read(key) !== undefined,
109
+ });
110
+ shallowStates.set(state, values);
111
+ return [state, (name, value) => values.write(name, value), values];
112
+ }
113
+ /**
114
+ * Свойство, которого у верхнего состояния связки нет вовсе, читается снизу и
115
+ * сигнала наверху не заводит: фасад строки таблицы не держит сигналов под
116
+ * свойства компонента.
117
+ */
118
+ export function joinState(below, above) {
119
+ const lines = shallowStates.get(above);
120
+ const joined = new Proxy({}, {
121
+ get: (_target, key) => (!lines || lines.written(key)) && Reflect.has(above, key)
122
+ ? Reflect.get(above, key)
123
+ : Reflect.get(below, key),
124
+ });
125
+ // Связь прокси с именами обоих состояний TypeScript не видит
126
+ return joined;
127
+ }
@@ -0,0 +1,10 @@
1
+ /** Компонент Solid — функция; других функций в `tag` ядро не ждёт. */
2
+ export function isTagComponent(tag) {
3
+ return typeof tag === 'function';
4
+ }
5
+ /** Корень по `tag` для `Root`: строка или компонент Solid, иначе корня нет. */
6
+ export function rootTag(tag) {
7
+ if (typeof tag === 'string' || isTagComponent(tag))
8
+ return tag;
9
+ return undefined;
10
+ }
@@ -0,0 +1,116 @@
1
+ /**
2
+ * useAdapter — binds an adapter context to Solid, the counterpart of Vue's
3
+ * `useAdapter`.
4
+ *
5
+ * - state is shallow, a signal per property read (`createShallowState`),
6
+ * filled by the subscription to the binding;
7
+ * - inputs: an effect over all props, the binding writes the changed ones;
8
+ * - the component body runs once, on the server too: that is the acceptance
9
+ * (`attach()`), and the cleanup is `onCleanup`;
10
+ * - events go to the `onXxx` callback props, after the acceptance, until
11
+ * `detach`.
12
+ *
13
+ * The adapter's `ref` binds the root to `TElementPlugin` and hands the same
14
+ * node to the consumer's `ref`. A collection has two contexts: the facade is
15
+ * bound by `useCollectionAdapter`, before the component, and `joinBindings`
16
+ * joins it with the component's binding. AGENTS.md (Solid), «Связка».
17
+ */
18
+ import { createComputed, createEffect, createMemo, createSignal, getOwner, onCleanup, onMount, runWithOwner, } from 'solid-js';
19
+ import { toInstanceState } from '@soxa-ui/setup';
20
+ import { SolidProfile } from '../common';
21
+ import { createShallowState, joinState } from './state';
22
+ /** What the component and a facade share: exchange, state, inputs, acceptance, events, cleanup. */
23
+ function useExchange(adapter, props) {
24
+ const binding = adapter.connect(SolidProfile);
25
+ const [state, write, updates] = createShallowState();
26
+ onCleanup(binding.updates.listen(updates));
27
+ onCleanup(binding.state.subscribe(write));
28
+ createEffect(() => binding.inputs.full(props));
29
+ // Children run in document order, so items join the collection in DOM order
30
+ adapter.attach();
31
+ // Events after the acceptance: what it writes is the starting state, as in
32
+ // the other adapters (benchmarks/parity/README.md). A component with
33
+ // collection facades binds them first: the facade, accepted, writes into
34
+ // the component (the months of Calendar's grids, Table's `dataset`)
35
+ const stop = binding.events.listen((exportName, args) => {
36
+ const callback = Reflect.get(props, exportName);
37
+ if (typeof callback === 'function')
38
+ callback(...args);
39
+ });
40
+ // The consumer stops on `detach`, which comes from the teardown's first
41
+ // moment (`detachFirst`) or, for a collection item, from its collection
42
+ // before the siblings go one by one (`TCollectionMembers`)
43
+ adapter.events.on('detach', stop);
44
+ onCleanup(stop);
45
+ detachFirst(adapter);
46
+ // Solid runs cleanups in reverse order of registration
47
+ onCleanup(() => adapter.destroy());
48
+ return { binding, state };
49
+ }
50
+ /**
51
+ * Sends `detach` at the teardown's first moment: the consumer hears nothing
52
+ * from then on, as in the other adapters (benchmarks/parity/README.md). Solid
53
+ * cleans an owner's computations first, the last made first, and its cleanups
54
+ * after them, so the children (markup items leaving the collection with an
55
+ * ever shorter list, the root's unbinding) went before `onCleanup` of the
56
+ * component's body. A computation made on mount, when the children already
57
+ * exist, is the owner's last one, and its cleanup is the first of the
58
+ * teardown. Before the mount, and on the server, where effects do not run,
59
+ * `onCleanup(stop)` unsubscribes and `destroy` detaches.
60
+ */
61
+ function detachFirst(adapter) {
62
+ const owner = getOwner();
63
+ onMount(() => runWithOwner(owner, () => createComputed(() => onCleanup(() => adapter.detach()))));
64
+ }
65
+ export function useAdapter(adapter, props) {
66
+ const { binding, state } = useExchange(adapter, props);
67
+ const forwardProps = createMemo(() => binding.forward(props));
68
+ const [rootElement, setRootElement] = createSignal(null);
69
+ // Unbinding is a cleanup of the node's owner: a tag change (`Root`) unbinds the previous node
70
+ const bindRef = (el) => {
71
+ adapter.bindElement(el);
72
+ setRootElement(el);
73
+ onCleanup(() => {
74
+ adapter.bindElement(null);
75
+ setRootElement(null);
76
+ });
77
+ };
78
+ const consumerRef = (el) => {
79
+ const consumer = Reflect.get(props, 'ref');
80
+ if (typeof consumer === 'function')
81
+ consumer(el);
82
+ };
83
+ return {
84
+ ctrl: adapter.instance,
85
+ state: toInstanceState(state),
86
+ forwardProps,
87
+ rootElement,
88
+ bindRef,
89
+ consumerRef,
90
+ ref(el) {
91
+ bindRef(el);
92
+ consumerRef(el);
93
+ },
94
+ };
95
+ }
96
+ /**
97
+ * The adapter of a collection facade: the facade takes its inputs and events
98
+ * from `props` and leaves the attributes that are not its own (`forward`).
99
+ * No `ctrl` and no `ref`: `joinBindings` joins the facade with the
100
+ * component's binding. Bound before the component: the facade, accepted,
101
+ * writes into it, and that is its starting state.
102
+ */
103
+ export function useCollectionAdapter(adapter, props) {
104
+ const { binding, state } = useExchange(adapter, props);
105
+ return {
106
+ state: toInstanceState(state),
107
+ forward: (rest) => binding.forward(rest),
108
+ };
109
+ }
110
+ export function joinBindings(owner, ...facades) {
111
+ return {
112
+ ...owner,
113
+ state: facades.reduce((state, facade) => joinState(state, facade.state), owner.state),
114
+ forwardProps: createMemo(() => facades.reduce((rest, facade) => facade.forward(rest), owner.forwardProps())),
115
+ };
116
+ }
@@ -0,0 +1,2 @@
1
+ export { useToasts } from './useToasts';
2
+ export { isToastRender } from './render';
@@ -0,0 +1,4 @@
1
+ /** Своё содержимое тоста рисуется, только когда это компонент Solid — функция. */
2
+ export function isToastRender(value) {
3
+ return typeof value === 'function';
4
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,14 @@
1
+ import { TOASTS_ELEVATOR } from '@soxa-ui/setup';
2
+ import { useElevator } from '../elevator';
3
+ /**
4
+ * API тостов ближайшего `<Toasts>`: `const { show } = useToasts()`. Берётся
5
+ * лифтом из слоя, который компонент видит в теле, — поэтому зовётся в теле
6
+ * компонента под менеджером. Менеджера нет — ошибка, а не молчаливый `show`.
7
+ */
8
+ export function useToasts() {
9
+ const api = useElevator().elevator(TOASTS_ELEVATOR).up();
10
+ if (!api) {
11
+ throw new Error('useToasts(): выше по дереву нет <Toasts>. Оберните приложение менеджером: <Toasts><App /></Toasts>');
12
+ }
13
+ return api;
14
+ }
@@ -0,0 +1,27 @@
1
+ import { Elevate, ResolvedSlot, createRootProps, relaySlot, renderSlot } from '../../adapter';
2
+ import { For, Show } from '../../adapter/runtime/flow';
3
+ import { AccordionItem } from './item';
4
+ import { setupAccordion } from './setup.component';
5
+ /** Набор раскрывающихся секций: секции — содержимое или `shown`. */
6
+ export function Accordion(props) {
7
+ const binding = setupAccordion(props);
8
+ const state = binding.state;
9
+ const root = createRootProps(() => ({
10
+ state,
11
+ sets: [state.attrs],
12
+ forward: binding.forwardProps(),
13
+ }));
14
+ return (<Show when={state.rendered}>
15
+ <div {...root()} ref={binding.ref}>
16
+ <Elevate layer={binding.layer}>
17
+ <ResolvedSlot content={props.children} fallback={<For each={state.shown}>
18
+ {(item) => (<AccordionItem ctrl={item} arrow-icon={renderSlot(props['item-arrow-icon'], {
19
+ item,
20
+ })} leading={renderSlot(props['item-leading'], { item })} header={relaySlot(props.item, { item })} trailing={renderSlot(props['item-trailing'], { item })}>
21
+ {renderSlot(props['item-content'], { item })}
22
+ </AccordionItem>)}
23
+ </For>}/>
24
+ </Elevate>
25
+ </div>
26
+ </Show>);
27
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,7 @@
1
+ import { withParts } from '@soxa-ui/setup';
2
+ import { Accordion as AccordionComponent } from './Accordion';
3
+ import { AccordionItem } from './item';
4
+ export * from './base.component';
5
+ export { setupAccordion } from './setup.component';
6
+ export * from './item';
7
+ export const Accordion = withParts(AccordionComponent, { Item: AccordionItem });