@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,96 @@
1
+ /**
2
+ * Раскладка корня: наборы ядра, атрибуты потребителя, класс и стиль — одна на
3
+ * все компоненты, как `toRootProps` у React и Svelte. `ref` в раскладку не
4
+ * входит: компонент ставит `ref` адаптера последним.
5
+ * AGENTS.md (Solid), «Раскладка корня» и «Окна гидратации».
6
+ */
7
+ import type { Accessor, JSX } from 'solid-js';
8
+ import type { TAttributesMap } from '@soxa-ui/core';
9
+ /** Стиль, как его отдают плагины и ядро: имена — как в CSS (`z-index`, `--*`). */
10
+ export type TRootStyle = Readonly<Record<string, string | number>>;
11
+ /** Что корню нужно из состояния компонента. */
12
+ export type TRootState = {
13
+ readonly classes?: readonly string[];
14
+ /** Выход плагина раскладки. */
15
+ readonly layout_styles?: TRootStyle;
16
+ /** Место элемента коллекции: ряд — флексбокс. */
17
+ readonly order?: number;
18
+ /** `false` прячет корень; ключа нет — корень виден всегда (Skeleton). */
19
+ readonly visible?: boolean;
20
+ };
21
+ /** Класс и стиль потребителя; стиль — объект свойств или строка. */
22
+ export type TRootForward = {
23
+ readonly class?: string;
24
+ readonly style?: JSX.CSSProperties | string;
25
+ };
26
+ /** `ref` потребителя среди его атрибутов: корень ему отдаёт `ref` адаптера. */
27
+ type TConsumerRefForward = {
28
+ readonly ref?: unknown;
29
+ };
30
+ export type TRootLayout = {
31
+ class: string;
32
+ /** Объект свойств; строка — только когда строкой пришёл стиль потребителя. */
33
+ style: TRootStyle | string;
34
+ };
35
+ /** Атрибуты корня целиком: наборы ядра, атрибуты потребителя и раскладка. */
36
+ export type TRootProps = Record<string, unknown> & TRootLayout;
37
+ /** Аргументы `toRootProps` — то, что читает мемо раскладки. */
38
+ export type TRootSource = {
39
+ readonly state: TRootState;
40
+ /** Наборы ядра — в том порядке, в каком их кладёт Vue. */
41
+ readonly sets: readonly (TAttributesMap | undefined)[];
42
+ /** То, что не съела связка (`forwardProps`). */
43
+ readonly forward: TRootForward & TConsumerRefForward;
44
+ /** Стиль-выход компонента (`fractionStyle`). */
45
+ readonly style?: TRootStyle;
46
+ };
47
+ /** Обёртка корня и сам корень внутри неё — окно таблицы вокруг `table`. */
48
+ export type TWrappedRootProps = {
49
+ readonly wrapper: TRootProps;
50
+ readonly root: TRootProps;
51
+ };
52
+ export type TWrappedRootSource = TRootSource & {
53
+ /** Класс обёртки: у окна таблицы `so-table__viewport`. */
54
+ readonly wrapper: string;
55
+ };
56
+ /**
57
+ * Класс и стиль корня. Стиль по слоям: раскладка, стиль-выход, `order`, затем
58
+ * потребитель, поверх всего — `display: none` скрытого. Строку потребителя
59
+ * разобрать негде (на сервере нет документа), и слои тогда склеиваются текстом.
60
+ */
61
+ export declare function toRootLayout(state: TRootState, forward: TRootForward, style?: TRootStyle): TRootLayout;
62
+ /** Наборы ядра, поверх — атрибуты потребителя без `ref`, затем класс и стиль. */
63
+ export declare function toRootProps(state: TRootState, sets: readonly (TAttributesMap | undefined)[], forward: TRootForward & TConsumerRefForward, style?: TRootStyle): TRootProps;
64
+ /**
65
+ * Атрибуты корня мемо — спред на корень:
66
+ * `<Root tag={state.tag} attributes={root} ref={binding.ref}>`.
67
+ */
68
+ export declare function createRootProps(read: () => TRootSource): Accessor<TRootProps>;
69
+ /**
70
+ * Атрибуты делятся, как у поля: обёртке — её класс, класс и стиль
71
+ * потребителя, скрытие; корню — остальное поверх наборов ядра. Состояние —
72
+ * поимённо: остаток деструктуризации прокси-состояния пуст.
73
+ */
74
+ export declare function toWrappedRootProps(state: TRootState, sets: readonly (TAttributesMap | undefined)[], forward: TRootForward & TConsumerRefForward, wrapper: string, style?: TRootStyle): TWrappedRootProps;
75
+ /**
76
+ * Обёртка и корень мемо: `<div {...layout().wrapper} ref={binding.consumerRef}>`,
77
+ * внутри `<Root tag={state.tag} attributes={() => layout().root} ref={binding.bindRef}>`.
78
+ */
79
+ export declare function createWrappedRootProps(read: () => TWrappedRootSource): Accessor<TWrappedRootProps>;
80
+ /** Класс и стиль потребителя — корню поля и окну таблицы. */
81
+ export declare function toRootForward(forward: TRootForward): TRootForward;
82
+ /** Классы части без своего экземпляра — строкой для `class` (панель Menu на Frame). */
83
+ export declare function toPartClass(classes: readonly string[] | undefined): string;
84
+ /**
85
+ * Атрибуты внутреннего узла — набор части или атрибуты контролу: вне
86
+ * гидратации само чтение, в ней — мемо, которое держит окна. Зовётся там, где
87
+ * узел рисуется, а не в выражении спреда; вызов на каждый набор.
88
+ */
89
+ export declare function createPartProps<T extends object>(read: () => T | undefined): Accessor<T | undefined>;
90
+ /**
91
+ * Атрибуты вложенного контрола: то, что не съела связка, без класса, стиля и
92
+ * `ref` — аналог `useSplitAttrs` у Vue. Параметр типа — атрибуты компонента:
93
+ * остаток сверяется с атрибутами узла, на который ложится.
94
+ */
95
+ export declare function toControlAttrs<TAttributes extends TRootForward & TConsumerRefForward>(forward: Partial<TAttributes>): Omit<Partial<TAttributes>, keyof TRootForward | keyof TConsumerRefForward>;
96
+ export {};
@@ -0,0 +1,128 @@
1
+ import { createHeldMemo, hydrating } from "./hydration.js";
2
+ //#region src/adapter/common/root.ts
3
+ var HIDDEN = { display: "none" };
4
+ /** Свойства слоя стиля без пустых: `''` свойства не задаёт. */
5
+ function declarationsOf(styles) {
6
+ const declarations = [];
7
+ for (const [name, value] of Object.entries(styles ?? {})) if (typeof value === "number" || typeof value === "string" && value !== "") declarations.push([name, value]);
8
+ return declarations;
9
+ }
10
+ function toCssText(declarations) {
11
+ return declarations.map(([name, value]) => `${name}: ${value}`);
12
+ }
13
+ /**
14
+ * Класс и стиль корня. Стиль по слоям: раскладка, стиль-выход, `order`, затем
15
+ * потребитель, поверх всего — `display: none` скрытого. Строку потребителя
16
+ * разобрать негде (на сервере нет документа), и слои тогда склеиваются текстом.
17
+ */
18
+ function toRootLayout(state, forward, style) {
19
+ const below = [
20
+ ...declarationsOf(state.layout_styles),
21
+ ...declarationsOf(style),
22
+ ...declarationsOf(state.order !== void 0 ? { order: state.order } : void 0)
23
+ ];
24
+ const above = declarationsOf(state.visible === false ? HIDDEN : void 0);
25
+ const className = [...state.classes ?? [], forward.class].filter(Boolean).join(" ");
26
+ const consumer = forward.style;
27
+ if (typeof consumer === "string" && consumer !== "") return {
28
+ class: className,
29
+ style: [
30
+ ...toCssText(below),
31
+ consumer,
32
+ ...toCssText(above)
33
+ ].join("; ")
34
+ };
35
+ const own = typeof consumer === "object" ? declarationsOf(consumer) : [];
36
+ return {
37
+ class: className,
38
+ style: Object.fromEntries([
39
+ ...below,
40
+ ...own,
41
+ ...above
42
+ ])
43
+ };
44
+ }
45
+ /** Наборы ядра, поверх — атрибуты потребителя без `ref`, затем класс и стиль. */
46
+ function toRootProps(state, sets, forward, style) {
47
+ const attributes = {};
48
+ for (const set of sets) Object.assign(attributes, set);
49
+ const { ref: _ref, ...consumer } = forward;
50
+ return {
51
+ ...attributes,
52
+ ...consumer,
53
+ ...toRootLayout(state, forward, style)
54
+ };
55
+ }
56
+ /**
57
+ * Атрибуты корня мемо — спред на корень:
58
+ * `<Root tag={state.tag} attributes={root} ref={binding.ref}>`.
59
+ */
60
+ function createRootProps(read) {
61
+ return createHeldMemo(read, rootPropsOf);
62
+ }
63
+ function rootPropsOf(read) {
64
+ const { state, sets, forward, style } = read();
65
+ return toRootProps(state, sets, forward, style);
66
+ }
67
+ /**
68
+ * Атрибуты делятся, как у поля: обёртке — её класс, класс и стиль
69
+ * потребителя, скрытие; корню — остальное поверх наборов ядра. Состояние —
70
+ * поимённо: остаток деструктуризации прокси-состояния пуст.
71
+ */
72
+ function toWrappedRootProps(state, sets, forward, wrapper, style) {
73
+ return {
74
+ wrapper: toRootProps({
75
+ classes: [wrapper],
76
+ visible: state.visible
77
+ }, [], toRootForward(forward)),
78
+ root: toRootProps({
79
+ classes: state.classes,
80
+ layout_styles: state.layout_styles,
81
+ order: state.order
82
+ }, sets, toControlAttrs(forward), style)
83
+ };
84
+ }
85
+ /**
86
+ * Обёртка и корень мемо: `<div {...layout().wrapper} ref={binding.consumerRef}>`,
87
+ * внутри `<Root tag={state.tag} attributes={() => layout().root} ref={binding.bindRef}>`.
88
+ */
89
+ function createWrappedRootProps(read) {
90
+ return createHeldMemo(read, wrappedRootPropsOf);
91
+ }
92
+ function wrappedRootPropsOf(read) {
93
+ const { state, sets, forward, wrapper, style } = read();
94
+ return toWrappedRootProps(state, sets, forward, wrapper, style);
95
+ }
96
+ /** Класс и стиль потребителя — корню поля и окну таблицы. */
97
+ function toRootForward(forward) {
98
+ return {
99
+ class: forward.class,
100
+ style: forward.style
101
+ };
102
+ }
103
+ /** Классы части без своего экземпляра — строкой для `class` (панель Menu на Frame). */
104
+ function toPartClass(classes) {
105
+ return classes?.join(" ") ?? "";
106
+ }
107
+ /**
108
+ * Атрибуты внутреннего узла — набор части или атрибуты контролу: вне
109
+ * гидратации само чтение, в ней — мемо, которое держит окна. Зовётся там, где
110
+ * узел рисуется, а не в выражении спреда; вызов на каждый набор.
111
+ */
112
+ function createPartProps(read) {
113
+ return hydrating() ? createHeldMemo(read, partPropsOf) : read;
114
+ }
115
+ function partPropsOf(read) {
116
+ return read();
117
+ }
118
+ /**
119
+ * Атрибуты вложенного контрола: то, что не съела связка, без класса, стиля и
120
+ * `ref` — аналог `useSplitAttrs` у Vue. Параметр типа — атрибуты компонента:
121
+ * остаток сверяется с атрибутами узла, на который ложится.
122
+ */
123
+ function toControlAttrs(forward) {
124
+ const { class: _class, style: _style, ref: _ref, ...control } = forward;
125
+ return control;
126
+ }
127
+ //#endregion
128
+ export { createPartProps, createRootProps, createWrappedRootProps, toControlAttrs, toPartClass, toRootForward, toRootLayout, toRootProps, toWrappedRootProps };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Слоты: готовые узлы или функция со scope. Функцию слота отличает арность:
3
+ * ленивое мемо компилятора — тоже функция, но без параметров. Scope функция
4
+ * получает живым (`liveScope`). AGENTS.md (Solid), «Слоты».
5
+ */
6
+ import { type Accessor, type JSX } from 'solid-js';
7
+ export type TSlotContent<TScope extends object = object> = JSX.Element | ((scope: TScope) => JSX.Element);
8
+ export declare function renderSlot<TScope extends object = object>(content: TSlotContent<TScope> | undefined, scope?: TScope): JSX.Element;
9
+ /** Передан ли слот: `undefined`, `null` и булево Solid не рисует. */
10
+ export declare function hasSlot(content: unknown): boolean;
11
+ /** Значение слота: геттер пропа прочитан, функция слота вызвана с живым scope. */
12
+ export declare function slotValue<TScope extends object>(content: () => TSlotContent<TScope> | undefined, scope: () => TScope): JSX.Element | undefined;
13
+ /**
14
+ * Слот, развёрнутый один раз, — аксессором; пустой по узлам — `undefined`.
15
+ * Так разметка выбирает запасное: `content() ?? state.text`. Геттер слота
16
+ * Solid на каждое чтение создаёт узлы заново, поэтому читают его один раз.
17
+ */
18
+ export declare function resolveSlot<TScope extends object>(content: () => TSlotContent<TScope> | undefined, scope: () => TScope): Accessor<JSX.Element | undefined>;
19
+ /**
20
+ * Живой scope — геттеры по ключам первого чтения: прочитанное в разметке слота
21
+ * следует за scope на месте, и функция слота не перезапускается на каждую
22
+ * смену (фокус и состояние внутри слота сохраняются).
23
+ */
24
+ export declare function liveScope<TScope extends object>(scope: () => TScope): TScope;
25
+ /**
26
+ * Проброс слота владельца коллекции в слот элемента: scope элемента плюс сам
27
+ * элемент (`extra`). Не задан — `undefined`, и элемент рисует своё. Scope
28
+ * выводится из слота элемента: `NoInfer` не даёт смотреть в слот владельца.
29
+ */
30
+ export declare function relaySlot<TScope extends object, TExtra extends object>(content: TSlotContent<NoInfer<TScope & TExtra>> | undefined, extra: TExtra): ((scope: TScope) => JSX.Element) | undefined;
@@ -0,0 +1,75 @@
1
+ import { children, untrack } from "solid-js";
2
+ //#region src/adapter/common/slots.ts
3
+ /**
4
+ * Слоты: готовые узлы или функция со scope. Функцию слота отличает арность:
5
+ * ленивое мемо компилятора — тоже функция, но без параметров. Scope функция
6
+ * получает живым (`liveScope`). AGENTS.md (Solid), «Слоты».
7
+ */
8
+ function isSlotFunction(content) {
9
+ return typeof content === "function" && content.length > 0;
10
+ }
11
+ function renderSlot(content, scope) {
12
+ if (isSlotFunction(content)) return content(scope ?? {});
13
+ return content;
14
+ }
15
+ /** Передан ли слот: `undefined`, `null` и булево Solid не рисует. */
16
+ function hasSlot(content) {
17
+ return content !== void 0 && content !== null && typeof content !== "boolean";
18
+ }
19
+ /** Значение слота: геттер пропа прочитан, функция слота вызвана с живым scope. */
20
+ function slotValue(content, scope) {
21
+ const value = content();
22
+ return isSlotFunction(value) ? value(liveScope(scope)) : value;
23
+ }
24
+ /**
25
+ * Слот, развёрнутый один раз, — аксессором; пустой по узлам — `undefined`.
26
+ * Так разметка выбирает запасное: `content() ?? state.text`. Геттер слота
27
+ * Solid на каждое чтение создаёт узлы заново, поэтому читают его один раз.
28
+ */
29
+ function resolveSlot(content, scope) {
30
+ const resolved = children(() => slotValue(content, scope));
31
+ return () => {
32
+ const nodes = resolved();
33
+ return hasSlot(nodes) ? nodes : void 0;
34
+ };
35
+ }
36
+ /**
37
+ * Живой scope — геттеры по ключам первого чтения: прочитанное в разметке слота
38
+ * следует за scope на месте, и функция слота не перезапускается на каждую
39
+ * смену (фокус и состояние внутри слота сохраняются).
40
+ */
41
+ function liveScope(scope) {
42
+ const first = untrack(scope);
43
+ const live = { ...first };
44
+ for (const key of Object.keys(first)) Object.defineProperty(live, key, {
45
+ enumerable: true,
46
+ get: () => Reflect.get(scope(), key)
47
+ });
48
+ return live;
49
+ }
50
+ /** Scope элемента живыми полями, поверх — `extra`, как `{ ...scope, ...extra }`. */
51
+ function joinScope(scope, extra) {
52
+ const joined = untrack(() => ({
53
+ ...scope,
54
+ ...extra
55
+ }));
56
+ for (const key of Object.keys(scope)) {
57
+ if (Object.hasOwn(extra, key)) continue;
58
+ Object.defineProperty(joined, key, {
59
+ enumerable: true,
60
+ get: () => Reflect.get(scope, key)
61
+ });
62
+ }
63
+ return joined;
64
+ }
65
+ /**
66
+ * Проброс слота владельца коллекции в слот элемента: scope элемента плюс сам
67
+ * элемент (`extra`). Не задан — `undefined`, и элемент рисует своё. Scope
68
+ * выводится из слота элемента: `NoInfer` не даёт смотреть в слот владельца.
69
+ */
70
+ function relaySlot(content, extra) {
71
+ if (!hasSlot(content)) return void 0;
72
+ return (scope) => renderSlot(content, joinScope(scope, extra));
73
+ }
74
+ //#endregion
75
+ export { hasSlot, liveScope, relaySlot, renderSlot, resolveSlot, slotValue };
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Elevate — отдаёт детям слой лифта компонента, аналог `provide` у Vue.
3
+ * Пустой слой провайдера не ставит: `Provider` — эффект и мемо на узел, а
4
+ * флажок в каждой строке таблицы своего не опускает. AGENTS.md (Solid), «Лифт».
5
+ */
6
+ import type { JSX } from 'solid-js';
7
+ import { type TElevatorLayer } from './layer';
8
+ export type TElevateProps = {
9
+ layer: TElevatorLayer;
10
+ children?: JSX.Element;
11
+ };
12
+ export declare function Elevate(props: TElevateProps): JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { ElevatorContext } from "./layer.js";
2
+ import { createComponent } from "solid-js/web";
3
+ //#region src/adapter/elevator/Elevate.tsx
4
+ function Elevate(props) {
5
+ if (props.layer.empty) return props.children;
6
+ return createComponent(ElevatorContext.Provider, {
7
+ get value() {
8
+ return props.layer;
9
+ },
10
+ get children() {
11
+ return props.children;
12
+ }
13
+ });
14
+ }
15
+ //#endregion
16
+ export { Elevate };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Лифт одного ключа поверх слоёв сборки: `up()` читает слой предка, `down()`
3
+ * пишет в слой компонента. AGENTS.md (Solid), «Лифт».
4
+ */
5
+ import { TElevator } from '@soxa-ui/setup';
6
+ import type { TElevatorLayer } from './layer';
7
+ export declare class TSolidElevator<T = unknown> extends TElevator<T> {
8
+ private readonly _parent;
9
+ private readonly _own;
10
+ /**
11
+ * @param _parent слой предка; вне владельцев — `undefined`
12
+ * @param _own слой компонента
13
+ */
14
+ constructor(key: string | symbol, _parent: TElevatorLayer | undefined, _own: TElevatorLayer);
15
+ down(value: T): void;
16
+ up(): T | undefined;
17
+ }
@@ -0,0 +1,27 @@
1
+ import { TElevator } from "@soxa-ui/setup";
2
+ //#region src/adapter/elevator/elevator.class.ts
3
+ /**
4
+ * Лифт одного ключа поверх слоёв сборки: `up()` читает слой предка, `down()`
5
+ * пишет в слой компонента. AGENTS.md (Solid), «Лифт».
6
+ */
7
+ var TSolidElevator = class extends TElevator {
8
+ _parent;
9
+ _own;
10
+ /**
11
+ * @param _parent слой предка; вне владельцев — `undefined`
12
+ * @param _own слой компонента
13
+ */
14
+ constructor(key, _parent, _own) {
15
+ super(key);
16
+ this._parent = _parent;
17
+ this._own = _own;
18
+ }
19
+ down(value) {
20
+ this._own.write(this._key, value);
21
+ }
22
+ up() {
23
+ return this._parent?.read(this._key);
24
+ }
25
+ };
26
+ //#endregion
27
+ export { TSolidElevator };
@@ -0,0 +1,4 @@
1
+ export { TSolidElevator } from './elevator.class';
2
+ export { Elevate, type TElevateProps } from './Elevate';
3
+ export { useElevator, type TElevation } from './useElevator';
4
+ export type { TElevatorLayer } from './layer';
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Слой лифта — значения владельца его поддереву, свои поверх слоя предка.
3
+ * Контекст Solid один на все ключи, как у React и Angular. AGENTS.md (Solid), «Лифт».
4
+ */
5
+ export declare class TElevatorLayer {
6
+ private readonly _parent;
7
+ private readonly _own;
8
+ /** @param _parent слой ближайшего владельца выше; нет его — `undefined` */
9
+ constructor(_parent: TElevatorLayer | undefined);
10
+ /** Своё значение, а нет его — слоя предка. Опущенный `null` — тоже значение. */
11
+ read(key: symbol): unknown;
12
+ write(key: symbol, value: unknown): void;
13
+ /** Своих значений нет: `Elevate` детям слой не отдаёт. */
14
+ get empty(): boolean;
15
+ }
16
+ export declare const ElevatorContext: import("solid-js").Context<TElevatorLayer | undefined>;
@@ -0,0 +1,28 @@
1
+ import { createContext } from "solid-js";
2
+ //#region src/adapter/elevator/layer.ts
3
+ /**
4
+ * Слой лифта — значения владельца его поддереву, свои поверх слоя предка.
5
+ * Контекст Solid один на все ключи, как у React и Angular. AGENTS.md (Solid), «Лифт».
6
+ */
7
+ var TElevatorLayer = class {
8
+ _parent;
9
+ _own = /* @__PURE__ */ new Map();
10
+ /** @param _parent слой ближайшего владельца выше; нет его — `undefined` */
11
+ constructor(_parent) {
12
+ this._parent = _parent;
13
+ }
14
+ /** Своё значение, а нет его — слоя предка. Опущенный `null` — тоже значение. */
15
+ read(key) {
16
+ return this._own.has(key) ? this._own.get(key) : this._parent?.read(key);
17
+ }
18
+ write(key, value) {
19
+ this._own.set(key, value);
20
+ }
21
+ /** Своих значений нет: `Elevate` детям слой не отдаёт. */
22
+ get empty() {
23
+ return this._own.size === 0;
24
+ }
25
+ };
26
+ var ElevatorContext = createContext(void 0);
27
+ //#endregion
28
+ export { ElevatorContext, TElevatorLayer };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Лифт сборки: фабрика лифтов для расширений и слой компонента, который детям
3
+ * отдаёт `Elevate`. Зовётся в теле компонента — контекст Solid читается только
4
+ * тогда. AGENTS.md (Solid), «Лифт».
5
+ */
6
+ import type { TElevatorFactory } from '@soxa-ui/setup';
7
+ import { TElevatorLayer } from './layer';
8
+ export type TElevation = {
9
+ readonly elevator: TElevatorFactory;
10
+ /** Слой компонента: свой поверх слоя предка. Детям — через `Elevate`. */
11
+ readonly layer: TElevatorLayer;
12
+ };
13
+ export declare function useElevator(): TElevation;
@@ -0,0 +1,19 @@
1
+ import { TSolidElevator } from "./elevator.class.js";
2
+ import { ElevatorContext, TElevatorLayer } from "./layer.js";
3
+ import { useContext } from "solid-js";
4
+ //#region src/adapter/elevator/useElevator.ts
5
+ /**
6
+ * Лифт сборки: фабрика лифтов для расширений и слой компонента, который детям
7
+ * отдаёт `Elevate`. Зовётся в теле компонента — контекст Solid читается только
8
+ * тогда. AGENTS.md (Solid), «Лифт».
9
+ */
10
+ function useElevator() {
11
+ const parent = useContext(ElevatorContext);
12
+ const layer = new TElevatorLayer(parent);
13
+ return {
14
+ elevator: (key) => new TSolidElevator(key.name, parent, layer),
15
+ layer
16
+ };
17
+ }
18
+ //#endregion
19
+ export { useElevator };
@@ -0,0 +1,5 @@
1
+ export * from './common';
2
+ export * from './runtime';
3
+ export * from './elevator';
4
+ export * from './locale';
5
+ export * from './toasts';
@@ -0,0 +1,22 @@
1
+ import { type JSX } from 'solid-js';
2
+ import type { TLocale } from '@soxa-ui/plugins';
3
+ export type TLocaleProviderProps = {
4
+ /** Локаль поддерева: тег для Intl и строки библиотеки (`ruRU`, `extendLocale(...)`) */
5
+ locale: TLocale;
6
+ children?: JSX.Element;
7
+ };
8
+ /**
9
+ * LocaleProvider — локаль поддерева: язык и строки библиотеки компонентам
10
+ * внутри.
11
+ *
12
+ * ```tsx
13
+ * <LocaleProvider locale={current()}>
14
+ * <App />
15
+ * </LocaleProvider>
16
+ * ```
17
+ *
18
+ * Источник свой на провайдер (сервер рисует запросы каждый на своём языке) и
19
+ * создаётся с локалью первой отрисовки; смена пропа идёт в тот же источник,
20
+ * компоненты не перемонтируются.
21
+ */
22
+ export declare function LocaleProvider(props: TLocaleProviderProps): JSX.Element;
@@ -0,0 +1,33 @@
1
+ import { LocaleContext } from "./context.js";
2
+ import { createRenderEffect, untrack } from "solid-js";
3
+ import { createComponent } from "solid-js/web";
4
+ import { TLocaleSource } from "@soxa-ui/plugins";
5
+ //#region src/adapter/locale/LocaleProvider.tsx
6
+ /**
7
+ * LocaleProvider — локаль поддерева: язык и строки библиотеки компонентам
8
+ * внутри.
9
+ *
10
+ * ```tsx
11
+ * <LocaleProvider locale={current()}>
12
+ * <App />
13
+ * </LocaleProvider>
14
+ * ```
15
+ *
16
+ * Источник свой на провайдер (сервер рисует запросы каждый на своём языке) и
17
+ * создаётся с локалью первой отрисовки; смена пропа идёт в тот же источник,
18
+ * компоненты не перемонтируются.
19
+ */
20
+ function LocaleProvider(props) {
21
+ const source = new TLocaleSource(untrack(() => props.locale));
22
+ createRenderEffect(() => {
23
+ source.locale = props.locale;
24
+ });
25
+ return createComponent(LocaleContext.Provider, {
26
+ value: source,
27
+ get children() {
28
+ return props.children;
29
+ }
30
+ });
31
+ }
32
+ //#endregion
33
+ export { LocaleProvider };
@@ -0,0 +1,4 @@
1
+ import type { ILocaleSource } from '@soxa-ui/plugins';
2
+ export declare const LocaleContext: import("solid-js").Context<ILocaleSource | undefined>;
3
+ /** Источник ближайшего `LocaleProvider`; нет его — у набора своя английская. */
4
+ export declare function nearestLocale(): ILocaleSource | undefined;
@@ -0,0 +1,9 @@
1
+ import { createContext, useContext } from "solid-js";
2
+ //#region src/adapter/locale/context.ts
3
+ var LocaleContext = createContext(void 0);
4
+ /** Источник ближайшего `LocaleProvider`; нет его — у набора своя английская. */
5
+ function nearestLocale() {
6
+ return useContext(LocaleContext);
7
+ }
8
+ //#endregion
9
+ export { LocaleContext, nearestLocale };
@@ -0,0 +1,2 @@
1
+ export { LocaleProvider } from './LocaleProvider';
2
+ export type { TLocaleProviderProps } from './LocaleProvider';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Петля по ключу записи: узел живёт, пока в списке есть запись с его ключом,
3
+ * а новую запись получает аксессором. `drawn` коллекции — новые записи на
4
+ * каждую смену, и `<For>` по ссылке пересоздавал бы строки вместе с фокусом.
5
+ * Окна гидратации переживает, как `flow.ts`. AGENTS.md (Solid), «Ветки и петли».
6
+ */
7
+ import { type Accessor, type JSX } from 'solid-js';
8
+ export type TKeyedForProps<TEntry, TKey> = {
9
+ each: readonly TEntry[] | undefined;
10
+ /** Ключ записи: у записей одного узла он один и тот же. */
11
+ by: (entry: TEntry) => TKey;
12
+ children: (entry: Accessor<TEntry>) => JSX.Element;
13
+ };
14
+ export declare function KeyedFor<TEntry, TKey>(props: TKeyedForProps<TEntry, TKey>): JSX.Element;
@@ -0,0 +1,54 @@
1
+ import { createHeldMemo } from "../common/hydration.js";
2
+ import { createRoot, createSignal, onCleanup, untrack } from "solid-js";
3
+ //#region src/adapter/runtime/KeyedFor.tsx
4
+ /**
5
+ * Петля по ключу записи: узел живёт, пока в списке есть запись с его ключом,
6
+ * а новую запись получает аксессором. `drawn` коллекции — новые записи на
7
+ * каждую смену, и `<For>` по ссылке пересоздавал бы строки вместе с фокусом.
8
+ * Окна гидратации переживает, как `flow.ts`. AGENTS.md (Solid), «Ветки и петли».
9
+ */
10
+ /** Строка петли — объект, а не замыкание на строку: строк тысячи (ячейки таблицы). */
11
+ var TRow = class {
12
+ node;
13
+ _write;
14
+ dispose;
15
+ constructor(node, _write, dispose) {
16
+ this.node = node;
17
+ this._write = _write;
18
+ this.dispose = dispose;
19
+ }
20
+ update(entry) {
21
+ this._write(() => entry);
22
+ }
23
+ };
24
+ function KeyedFor(props) {
25
+ const rows = /* @__PURE__ */ new Map();
26
+ const createRow = (entry) => createRoot((dispose) => {
27
+ const [current, write] = createSignal(entry);
28
+ return new TRow(props.children(current), write, dispose);
29
+ });
30
+ onCleanup(() => {
31
+ for (const row of rows.values()) row.dispose();
32
+ rows.clear();
33
+ });
34
+ const reconcile = (entries) => untrack(() => {
35
+ const seen = /* @__PURE__ */ new Set();
36
+ const result = entries.map((entry) => {
37
+ const key = props.by(entry);
38
+ let row = rows.get(key);
39
+ if (row) row.update(entry);
40
+ else rows.set(key, row = createRow(entry));
41
+ seen.add(key);
42
+ return row.node;
43
+ });
44
+ for (const [key, row] of rows) {
45
+ if (seen.has(key)) continue;
46
+ row.dispose();
47
+ rows.delete(key);
48
+ }
49
+ return result;
50
+ });
51
+ return createHeldMemo(props, (source) => reconcile(source.each ?? []), (source) => source.each);
52
+ }
53
+ //#endregion
54
+ export { KeyedFor };