@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,20 @@
1
+ /**
2
+ * Корень компонента по `tag` — то, что делал `Dynamic`, без его прокси и
3
+ * лишних вычислений: тег — одно мемо, атрибуты — один эффект `assign`, `ref`
4
+ * зовётся под мемо, а не своим эффектом. На сервере и для компонента в `tag`
5
+ * — `createDynamic`, без вызова компонента над ним: ключи гидратации у
6
+ * сервера и браузера те же, что были у `Dynamic`. AGENTS.md (Solid), «Корень и
7
+ * узлы частей».
8
+ */
9
+ import { type Accessor, type JSX } from 'solid-js';
10
+ import type { TRootProps } from '../common/root';
11
+ export type TRootComponentProps = {
12
+ /** `tag` ядра: строка или компонент Solid, иначе корня нет. */
13
+ tag: unknown;
14
+ /** Атрибуты корня — мемо раскладки (`createRootProps`). */
15
+ attributes: Accessor<TRootProps>;
16
+ /** `ref` адаптера: привязка к `TElementPlugin` и `ref` потребителя. */
17
+ ref: (element: Element) => void;
18
+ children?: JSX.Element;
19
+ };
20
+ export declare function Root(props: TRootComponentProps): JSX.Element;
@@ -0,0 +1,43 @@
1
+ import { rootTag } from "./tag.js";
2
+ import { createMemo, createRenderEffect, mergeProps, untrack } from "solid-js";
3
+ import { SVGElements, assign, createDynamic, getNextElement, insert, isServer, use } from "solid-js/web";
4
+ //#region src/adapter/runtime/Root.tsx
5
+ /**
6
+ * Корень компонента по `tag` — то, что делал `Dynamic`, без его прокси и
7
+ * лишних вычислений: тег — одно мемо, атрибуты — один эффект `assign`, `ref`
8
+ * зовётся под мемо, а не своим эффектом. На сервере и для компонента в `tag`
9
+ * — `createDynamic`, без вызова компонента над ним: ключи гидратации у
10
+ * сервера и браузера те же, что были у `Dynamic`. AGENTS.md (Solid), «Корень и
11
+ * узлы частей».
12
+ */
13
+ var SVG = "http://www.w3.org/2000/svg";
14
+ /** Корень через `createDynamic`: атрибуты, `ref` и содержимое — одними пропсами. */
15
+ function dynamicRoot(tag, props) {
16
+ return createDynamic(tag, mergeProps(props.attributes, {
17
+ ref: props.ref,
18
+ get children() {
19
+ return props.children;
20
+ }
21
+ }));
22
+ }
23
+ /** Узел тега: в окне гидратации — узел сервера, иначе — новый. */
24
+ function nodeOf(tag, is) {
25
+ return getNextElement(() => SVGElements.has(tag) ? document.createElementNS(SVG, tag) : document.createElement(tag, typeof is === "string" ? { is } : void 0));
26
+ }
27
+ function Root(props) {
28
+ if (isServer) return dynamicRoot(() => rootTag(props.tag), props);
29
+ return createMemo(() => {
30
+ const tag = rootTag(props.tag);
31
+ if (tag === void 0) return void 0;
32
+ if (typeof tag === "function") return untrack(() => dynamicRoot(() => tag, props));
33
+ const node = nodeOf(tag, untrack(() => props.attributes().is));
34
+ const svg = SVGElements.has(tag);
35
+ const assigned = {};
36
+ insert(node, () => props.children);
37
+ use(props.ref, node);
38
+ createRenderEffect(() => assign(node, props.attributes(), svg, true, assigned, true));
39
+ return node;
40
+ });
41
+ }
42
+ //#endregion
43
+ export { Root };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Teleport — аналог `<teleport :to>` Vue поверх `Portal`: цели нет — нет и
3
+ * содержимого, `disabled` рисует на месте. Смена цели или `disabled` переносит
4
+ * те же узлы. AGENTS.md (Solid), «Teleport».
5
+ */
6
+ import { type JSX } from 'solid-js';
7
+ export type TTeleportProps = {
8
+ /** Селектор цели: `body`, `#layers`. */
9
+ to: string | undefined;
10
+ /** Рисовать на месте, без портала. */
11
+ disabled?: boolean;
12
+ children?: JSX.Element;
13
+ };
14
+ export declare function Teleport(props: TTeleportProps): JSX.Element;
@@ -0,0 +1,45 @@
1
+ import { Show, children, getOwner, runWithOwner } from "solid-js";
2
+ import { Portal, createComponent, isServer } from "solid-js/web";
3
+ //#region src/adapter/runtime/Teleport.tsx
4
+ /**
5
+ * Teleport — аналог `<teleport :to>` Vue поверх `Portal`: цели нет — нет и
6
+ * содержимого, `disabled` рисует на месте. Смена цели или `disabled` переносит
7
+ * те же узлы. AGENTS.md (Solid), «Teleport».
8
+ */
9
+ function targetOf(selector) {
10
+ if (isServer || !selector) return null;
11
+ return document.querySelector(selector);
12
+ }
13
+ function Teleport(props) {
14
+ const owner = getOwner();
15
+ let resolved;
16
+ const content = () => {
17
+ resolved ??= runWithOwner(owner, () => children(() => props.children));
18
+ return resolved?.();
19
+ };
20
+ return createComponent(Show, {
21
+ get when() {
22
+ return !props.disabled;
23
+ },
24
+ get fallback() {
25
+ return content();
26
+ },
27
+ get children() {
28
+ return createComponent(Show, {
29
+ get when() {
30
+ return targetOf(props.to);
31
+ },
32
+ children: (target) => createComponent(Portal, {
33
+ get mount() {
34
+ return target();
35
+ },
36
+ get children() {
37
+ return content();
38
+ }
39
+ })
40
+ });
41
+ }
42
+ });
43
+ }
44
+ //#endregion
45
+ export { Teleport };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Текст поля на узле — только когда он разошёлся с узлом, как `:value` у Vue.
3
+ * Привязку `value` Solid пишет на каждую смену, и запись узлу его же текста
4
+ * снимала бы с поля пометку «изменено пользователем» (`minlength` перестаёт
5
+ * проверяться). Атрибуты ложатся на поле последними.
6
+ * AGENTS.md (Solid), «Текст поля».
7
+ */
8
+ /** Атрибуты `<input>`: в браузере `ref` поля, на сервере — `value`. */
9
+ export type TFieldText = {
10
+ readonly ref: (node: HTMLInputElement) => void;
11
+ } | {
12
+ readonly value: string | undefined;
13
+ };
14
+ /** Атрибуты `<textarea>`: в браузере `ref` поля, на сервере — `textContent`. */
15
+ export type TTextareaText = {
16
+ readonly ref: (node: HTMLTextAreaElement) => void;
17
+ } | {
18
+ readonly textContent: string | undefined;
19
+ };
20
+ export declare function fieldText(getText: () => string | undefined): TFieldText;
21
+ /** У `<textarea>` атрибута `value` нет: на сервере текст — её содержимое. */
22
+ export declare function textareaText(getText: () => string | undefined): TTextareaText;
@@ -0,0 +1,38 @@
1
+ import { createEffect } from "solid-js";
2
+ import { isServer } from "solid-js/web";
3
+ //#region src/adapter/runtime/field-text.ts
4
+ /**
5
+ * Текст поля на узле — только когда он разошёлся с узлом, как `:value` у Vue.
6
+ * Привязку `value` Solid пишет на каждую смену, и запись узлу его же текста
7
+ * снимала бы с поля пометку «изменено пользователем» (`minlength` перестаёт
8
+ * проверяться). Атрибуты ложатся на поле последними.
9
+ * AGENTS.md (Solid), «Текст поля».
10
+ */
11
+ /**
12
+ * `ref` поля, который ведёт его текст. Эффект — пользовательский: Solid
13
+ * выполняет его после атрибутов узла, а `range` прижимает значение к `min` и
14
+ * `max`.
15
+ */
16
+ function textRef(getText) {
17
+ return (node) => {
18
+ createEffect(() => {
19
+ const text = getText() ?? "";
20
+ if (node.value !== text) node.value = text;
21
+ });
22
+ };
23
+ }
24
+ function fieldText(getText) {
25
+ if (isServer) return { get value() {
26
+ return getText();
27
+ } };
28
+ return { ref: textRef(getText) };
29
+ }
30
+ /** У `<textarea>` атрибута `value` нет: на сервере текст — её содержимое. */
31
+ function textareaText(getText) {
32
+ if (isServer) return { get textContent() {
33
+ return getText();
34
+ } };
35
+ return { ref: textRef(getText) };
36
+ }
37
+ //#endregion
38
+ export { fieldText, textareaText };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * `Show`, `For` и `Index` — как у Solid 1.9, но переживают окна гидратации:
3
+ * пересчёт в окне до конца окна отдаёт прежнюю структуру. На сервере — сами
4
+ * примитивы Solid. В бочку адаптера модуль не входит: имена столкнулись бы с
5
+ * `solid-js`. AGENTS.md (Solid), «Ветки и петли».
6
+ */
7
+ import { type Accessor, type JSX } from 'solid-js';
8
+ /** Функция-ребёнок с параметром, а не без него — как у Solid (`flow.d.ts`). */
9
+ type RequiredParameter<T> = T extends () => unknown ? never : T;
10
+ export declare function Show<T, TRenderFunction extends (item: Accessor<NonNullable<T>>) => JSX.Element>(props: {
11
+ when: T | undefined | null | false;
12
+ keyed?: false;
13
+ fallback?: JSX.Element;
14
+ children: JSX.Element | RequiredParameter<TRenderFunction>;
15
+ }): JSX.Element;
16
+ export declare function Show<T, TRenderFunction extends (item: NonNullable<T>) => JSX.Element>(props: {
17
+ when: T | undefined | null | false;
18
+ keyed: true;
19
+ fallback?: JSX.Element;
20
+ children: JSX.Element | RequiredParameter<TRenderFunction>;
21
+ }): JSX.Element;
22
+ /** Петля по записям: запись с той же ссылкой — та же строка. */
23
+ export declare function For<T extends readonly unknown[], U extends JSX.Element>(props: {
24
+ each: T | undefined | null | false;
25
+ fallback?: JSX.Element;
26
+ children: (item: T[number], index: Accessor<number>) => U;
27
+ }): JSX.Element;
28
+ /** Петля по местам: запись на месте сменилась — строка та же. */
29
+ export declare function Index<T extends readonly unknown[], U extends JSX.Element>(props: {
30
+ each: T | undefined | null | false;
31
+ fallback?: JSX.Element;
32
+ children: (item: Accessor<T[number]>, index: number) => U;
33
+ }): JSX.Element;
34
+ export {};
@@ -0,0 +1,70 @@
1
+ import { createHeldMemo } from "../common/hydration.js";
2
+ import { $TRACK, For, Index, Show, createMemo, indexArray, mapArray, untrack } from "solid-js";
3
+ import { isServer } from "solid-js/web";
4
+ //#region src/adapter/runtime/flow.ts
5
+ /**
6
+ * `Show`, `For` и `Index` — как у Solid 1.9, но переживают окна гидратации:
7
+ * пересчёт в окне до конца окна отдаёт прежнюю структуру. На сервере — сами
8
+ * примитивы Solid. В бочку адаптера модуль не входит: имена столкнулись бы с
9
+ * `solid-js`. AGENTS.md (Solid), «Ветки и петли».
10
+ */
11
+ /** Без `keyed` ветка сменяется только с истинностью условия. */
12
+ var SAME_TRUTHINESS = { equals: (a, b) => !a === !b };
13
+ var NO_ITEMS = [];
14
+ /** Функция-ребёнок — с параметром: ленивое мемо компилятора параметров не имеет. */
15
+ function isRenderFunction(child) {
16
+ return typeof child === "function" && child.length > 0;
17
+ }
18
+ function conditionOf(props) {
19
+ return props.when;
20
+ }
21
+ function Show$1(props) {
22
+ if (isServer) return props.keyed ? Show(props) : Show(props);
23
+ const value = createHeldMemo(props, conditionOf);
24
+ return props.keyed ? keyedBranch(props, value) : unkeyedBranch(props, value);
25
+ }
26
+ /** `keyed`: на каждое новое значение условия — функция-ребёнок заново. */
27
+ function keyedBranch(props, value) {
28
+ return createMemo(() => {
29
+ const current = value();
30
+ if (!current) return props.fallback;
31
+ const child = props.children;
32
+ return isRenderFunction(child) ? untrack(() => child(current)) : child;
33
+ });
34
+ }
35
+ /** Без `keyed`: значение функция-ребёнок читает аксессором. */
36
+ function unkeyedBranch(props, value) {
37
+ const condition = createMemo(value, void 0, SAME_TRUTHINESS);
38
+ return createMemo(() => {
39
+ if (!condition()) return props.fallback;
40
+ const child = props.children;
41
+ return isRenderFunction(child) ? untrack(() => child(() => present(value))) : child;
42
+ });
43
+ }
44
+ /** Аксессор снятой ветки значения уже не найдёт — ошибка, как у Solid. */
45
+ function present(value) {
46
+ const current = value();
47
+ if (!current) throw new Error("<Show>: значение прочитано у снятой ветки — условие уже ложно");
48
+ return current;
49
+ }
50
+ function For$1(props) {
51
+ if (isServer) return For(props);
52
+ return createLoopMemo(props, mapArray(() => props.each, props.children, fallbackOf(props)));
53
+ }
54
+ function Index$1(props) {
55
+ if (isServer) return Index(props);
56
+ return createLoopMemo(props, indexArray(() => props.each, props.children, fallbackOf(props)));
57
+ }
58
+ /** `fallback` петли — как у Solid: только когда проп задан. */
59
+ function fallbackOf(props) {
60
+ return "fallback" in props ? { fallback: () => props.fallback } : void 0;
61
+ }
62
+ /**
63
+ * Мемо отображения петли (`mapArray`, `indexArray`): в окне оно читает список
64
+ * и элементы стора (`$TRACK`), но строк не строит.
65
+ */
66
+ function createLoopMemo(props, map) {
67
+ return createHeldMemo(map, (live) => live(), () => Reflect.get(props.each || NO_ITEMS, $TRACK));
68
+ }
69
+ //#endregion
70
+ export { For$1 as For, Index$1 as Index, Show$1 as Show };
@@ -0,0 +1,8 @@
1
+ export { useAdapter, useCollectionAdapter, joinBindings, type TBinding, type TCollectionBinding, type TConsumerRef, type TJoinedBinding, } from './useAdapter';
2
+ export { createShallowState, joinState, type TJoinedState } from './state';
3
+ export { KeyedFor, type TKeyedForProps } from './KeyedFor';
4
+ export { createPartNode, createPartNodes, type TPartNodeAttributes, type TPartNodesSource, } from './part-node';
5
+ export { Root, type TRootComponentProps } from './Root';
6
+ export { Teleport, type TTeleportProps } from './Teleport';
7
+ export { isTagComponent, rootTag, type TTagComponent } from './tag';
8
+ export { fieldText, textareaText, type TFieldText, type TTextareaText } from './field-text';
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Узлы частей без экземпляра, которых тысячи, — ячейки таблицы, поле флажка в
3
+ * каждой её строке. Без спреда: спред на узле давал прокси `mergeProps`,
4
+ * эффект `ref` и эффект атрибутов. На сервере — `createDynamic`, в
5
+ * гидратации — узлы сервера. AGENTS.md (Solid), «Корень и узлы частей».
6
+ *
7
+ * - `createPartNode` — узел: атрибуты — один эффект, содержимое — вставкой;
8
+ * - `createPartNodes` — узлы записей списка с текстом: одно мемо на весь
9
+ * список, без вычислений на узел.
10
+ */
11
+ import { type JSX } from 'solid-js';
12
+ /** Атрибуты узла: класс, наборы ядра — всё одним объектом. */
13
+ export type TPartNodeAttributes = Readonly<Record<string, unknown>>;
14
+ /**
15
+ * Узел `tag` с атрибутами `read` и содержимым `children` (без него — пустой,
16
+ * как `input`). Зовётся там, где узел рисуется, — в теле или в функции петли:
17
+ * эффекты узла уходят с его владельцем. Атрибуты в окне гидратации держит
18
+ * `createPartProps`, как набор части.
19
+ */
20
+ export declare function createPartNode(tag: string, read: () => TPartNodeAttributes, children?: () => JSX.Element): JSX.Element;
21
+ /** Узлы записей списка: узел на ключ, тег, атрибуты и текст — от записи. */
22
+ export type TPartNodesSource<TEntry, TKey> = {
23
+ readonly each: () => readonly TEntry[] | undefined;
24
+ /** Ключ записи: у записей одного узла он один и тот же. */
25
+ readonly by: (entry: TEntry) => TKey;
26
+ /** Тег узла — читается, когда узел создаётся: сменился — сменился и ключ. */
27
+ readonly tag: (entry: TEntry) => string;
28
+ readonly attributes: (entry: TEntry) => TPartNodeAttributes;
29
+ readonly text: (entry: TEntry) => string;
30
+ };
31
+ /**
32
+ * Узлы записей списка с текстом — одно мемо на список: узел живёт, пока в
33
+ * списке есть запись с его ключом, а проход по записям пишет каждому узлу
34
+ * атрибуты и текст — разницу с записанным. Корня, сигнала и эффекта на узел,
35
+ * как у `KeyedFor`, нет. Узлы на место ставит вставка родителя. Окна
36
+ * гидратации мемо переживает, как петли адаптера (`createHeldMemo`).
37
+ */
38
+ export declare function createPartNodes<TEntry, TKey>(source: TPartNodesSource<TEntry, TKey>): JSX.Element;
@@ -0,0 +1,76 @@
1
+ import { createHeldMemo } from "../common/hydration.js";
2
+ import { createPartProps } from "../common/root.js";
3
+ import { createRenderEffect } from "solid-js";
4
+ import { assign, createDynamic, getNextElement, insert, isServer } from "solid-js/web";
5
+ //#region src/adapter/runtime/part-node.ts
6
+ /**
7
+ * Узлы частей без экземпляра, которых тысячи, — ячейки таблицы, поле флажка в
8
+ * каждой её строке. Без спреда: спред на узле давал прокси `mergeProps`,
9
+ * эффект `ref` и эффект атрибутов. На сервере — `createDynamic`, в
10
+ * гидратации — узлы сервера. AGENTS.md (Solid), «Корень и узлы частей».
11
+ *
12
+ * - `createPartNode` — узел: атрибуты — один эффект, содержимое — вставкой;
13
+ * - `createPartNodes` — узлы записей списка с текстом: одно мемо на весь
14
+ * список, без вычислений на узел.
15
+ */
16
+ /** Создатель узла на тег — один на модуль: узлов тысячи, тегов два. */
17
+ var creators = /* @__PURE__ */ new Map();
18
+ function creatorOf(tag) {
19
+ let creator = creators.get(tag);
20
+ if (!creator) 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
+ function createPartNode(tag, read, children) {
39
+ if (isServer) return serverNode(tag, read(), () => children?.());
40
+ const node = getNextElement(creatorOf(tag));
41
+ const attributes = createPartProps(read);
42
+ const assigned = {};
43
+ createRenderEffect(() => assign(node, attributes(), false, true, assigned, true));
44
+ if (children) insert(node, children);
45
+ return node;
46
+ }
47
+ function createPartNodes(source) {
48
+ if (isServer) return source.each()?.map((entry) => serverNode(source.tag(entry), source.attributes(entry), () => source.text(entry)));
49
+ const records = /* @__PURE__ */ new Map();
50
+ let shown = [];
51
+ const draw = (entries) => {
52
+ const seen = /* @__PURE__ */ new Set();
53
+ const nodes = entries.map((entry) => {
54
+ const key = source.by(entry);
55
+ let record = records.get(key);
56
+ if (!record) {
57
+ const node = getNextElement(creatorOf(source.tag(entry)));
58
+ records.set(key, record = {
59
+ node,
60
+ assigned: {},
61
+ text: void 0
62
+ });
63
+ }
64
+ assign(record.node, source.attributes(entry), false, true, record.assigned, true);
65
+ record.text = insert(record.node, source.text(entry), void 0, record.text);
66
+ seen.add(key);
67
+ return record.node;
68
+ });
69
+ for (const key of records.keys()) if (!seen.has(key)) records.delete(key);
70
+ if (nodes.length !== shown.length || nodes.some((node, index) => node !== shown[index])) shown = nodes;
71
+ return shown;
72
+ };
73
+ return createHeldMemo(source, (current) => draw(current.each() ?? []), (current) => current.each());
74
+ }
75
+ //#endregion
76
+ export { createPartNode, createPartNodes };
@@ -0,0 +1,43 @@
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 type { IUpdateListener } from '@soxa-ui/setup';
26
+ /**
27
+ * A property with the value `undefined` is unset: `in` does not see it. The
28
+ * listener of the exchange's updates holds the writes of an update back to
29
+ * its end.
30
+ */
31
+ export declare function createShallowState(): [
32
+ state: Readonly<Record<string, unknown>>,
33
+ write: (name: string, value: unknown) => void,
34
+ updates: IUpdateListener
35
+ ];
36
+ /** Одноимённое свойство берётся из верхнего состояния. */
37
+ export type TJoinedState<TBelow extends object, TAbove extends object> = Omit<TBelow, keyof TAbove> & TAbove;
38
+ /**
39
+ * Свойство, которого у верхнего состояния связки нет вовсе, читается снизу и
40
+ * сигнала наверху не заводит: фасад строки таблицы не держит сигналов под
41
+ * свойства компонента.
42
+ */
43
+ export declare function joinState<TBelow extends object, TAbove extends object>(below: TBelow, above: TAbove): TJoinedState<TBelow, TAbove>;
@@ -0,0 +1,116 @@
1
+ import { batch, createSignal } from "solid-js";
2
+ //#region src/adapter/runtime/state.ts
3
+ /**
4
+ * The binding's state and the view of two states. AGENTS.md (Solid), «Связка».
5
+ *
6
+ * - The state is a signal per property, and a value is handed over as it is:
7
+ * the core hands out values, and a changed one comes as a new object
8
+ * (AGENTS.md, «Контракт границы core → ui»). Solid's store wrapped every
9
+ * nested object — a row's cells, their `aria` and `dataset` — in a proxy
10
+ * with a signal per read property that never changes. Like `shallowRef` in
11
+ * Vue.
12
+ * - A signal is made by the first read of a property: the markup reads less
13
+ * than half of the binding's properties, and the subscription hands over the
14
+ * value of each.
15
+ * - Writes of an update of the exchange are applied at its end, in one
16
+ * `batch` (`IUpdateListener`): Solid renders on a signal write, and a write
17
+ * applied in the middle of the update rendered before the update's event
18
+ * reached the consumer — the panel opened by `change:open` mounted, and its
19
+ * items joined the menu first. A read in the middle of the update sees the
20
+ * written value already: only the signal's notification waits.
21
+ * - The view of two contexts is a proxy that reads a property from the state
22
+ * on every read: a spread would read it once, in the component's body, and
23
+ * getters by keys would lose the properties not set by the assembly. The
24
+ * component and the facade have no properties of the same name — the
25
+ * facade's names are prefixed.
26
+ */
27
+ /** Значения и сигналы свойств — за прокси состояния. */
28
+ var TShallowState = class {
29
+ /** Записанные, но ещё не прочитанные — без сигнала. */
30
+ _values = /* @__PURE__ */ new Map();
31
+ /** Прочитанные записанные. */
32
+ _signals = /* @__PURE__ */ new Map();
33
+ /** Прочитанные до записи: подписка связки отдаёт каждое свойство сразу, и здесь — чужие. */
34
+ _unwritten = /* @__PURE__ */ new Map();
35
+ /** Writes of the update in progress — applied at its end. */
36
+ _pending;
37
+ /** Updates of the exchange in progress: a sink's write to a participant nests one. */
38
+ _depth = 0;
39
+ /** The property was written: for the binding, one of its properties, from the subscription. */
40
+ written(key) {
41
+ return this._values.has(key) || this._signals.has(key) || this._pending?.has(key) === true;
42
+ }
43
+ read(key) {
44
+ const value = this._signalOf(key)[0]();
45
+ const pending = this._pending;
46
+ return pending?.has(key) ? pending.get(key) : value;
47
+ }
48
+ write(name, value) {
49
+ if (this._depth > 0) (this._pending ??= /* @__PURE__ */ new Map()).set(name, value);
50
+ else this._apply(name, value);
51
+ }
52
+ begin() {
53
+ this._depth++;
54
+ }
55
+ /** The outermost update ended: its writes go to the signals, and Solid renders once. */
56
+ end() {
57
+ if (this._depth === 0 || --this._depth > 0) return;
58
+ const pending = this._pending;
59
+ if (pending === void 0) return;
60
+ this._pending = void 0;
61
+ batch(() => pending.forEach((value, name) => this._apply(name, value)));
62
+ }
63
+ _apply(name, value) {
64
+ const signal = this._signals.get(name) ?? this._adopt(name);
65
+ if (signal) signal[1](() => value);
66
+ else this._values.set(name, value);
67
+ }
68
+ _signalOf(key) {
69
+ const signal = this._signals.get(key) ?? this._unwritten.get(key);
70
+ if (signal) return signal;
71
+ const values = this._values;
72
+ const created = createSignal(values.get(key), { internal: true });
73
+ if (values.delete(key)) this._signals.set(key, created);
74
+ else this._unwritten.set(key, created);
75
+ return created;
76
+ }
77
+ /** Свойство, прочитанное до записи, записано: его сигнал — к записанным. */
78
+ _adopt(name) {
79
+ const signal = this._unwritten.get(name);
80
+ if (!signal) return void 0;
81
+ this._unwritten.delete(name);
82
+ this._signals.set(name, signal);
83
+ return signal;
84
+ }
85
+ };
86
+ /** Состояния связок по их прокси — виду двух состояний. */
87
+ var shallowStates = /* @__PURE__ */ new WeakMap();
88
+ /**
89
+ * A property with the value `undefined` is unset: `in` does not see it. The
90
+ * listener of the exchange's updates holds the writes of an update back to
91
+ * its end.
92
+ */
93
+ function createShallowState() {
94
+ const values = new TShallowState();
95
+ const state = new Proxy({}, {
96
+ get: (_target, key) => values.read(key),
97
+ has: (_target, key) => values.read(key) !== void 0
98
+ });
99
+ shallowStates.set(state, values);
100
+ return [
101
+ state,
102
+ (name, value) => values.write(name, value),
103
+ values
104
+ ];
105
+ }
106
+ /**
107
+ * Свойство, которого у верхнего состояния связки нет вовсе, читается снизу и
108
+ * сигнала наверху не заводит: фасад строки таблицы не держит сигналов под
109
+ * свойства компонента.
110
+ */
111
+ function joinState(below, above) {
112
+ const lines = shallowStates.get(above);
113
+ return new Proxy({}, { get: (_target, key) => (!lines || lines.written(key)) && Reflect.has(above, key) ? Reflect.get(above, key) : Reflect.get(below, key) });
114
+ }
115
+ //#endregion
116
+ export { createShallowState, joinState };
@@ -0,0 +1,11 @@
1
+ import type { Component, JSX } from 'solid-js';
2
+ import type { TRootProps } from '../common/root';
3
+ /** Компонент в `tag`: атрибуты корня и `ref` адаптера он кладёт на свой корень. */
4
+ export type TTagComponent = Component<TRootProps & {
5
+ ref: (element: Element) => void;
6
+ children?: JSX.Element;
7
+ }>;
8
+ /** Компонент Solid — функция; других функций в `tag` ядро не ждёт. */
9
+ export declare function isTagComponent(tag: unknown): tag is TTagComponent;
10
+ /** Корень по `tag` для `Root`: строка или компонент Solid, иначе корня нет. */
11
+ export declare function rootTag(tag: unknown): string | TTagComponent | undefined;
@@ -0,0 +1,11 @@
1
+ //#region src/adapter/runtime/tag.ts
2
+ /** Компонент Solid — функция; других функций в `tag` ядро не ждёт. */
3
+ function isTagComponent(tag) {
4
+ return typeof tag === "function";
5
+ }
6
+ /** Корень по `tag` для `Root`: строка или компонент Solid, иначе корня нет. */
7
+ function rootTag(tag) {
8
+ if (typeof tag === "string" || isTagComponent(tag)) return tag;
9
+ }
10
+ //#endregion
11
+ export { isTagComponent, rootTag };