@soxa-ui/webc 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 (592) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +622 -2
  3. package/dist/adapter/common/attributes.d.ts +22 -0
  4. package/dist/adapter/common/attributes.js +74 -0
  5. package/dist/adapter/common/createWebcAdapterContext.d.ts +8 -0
  6. package/dist/adapter/common/createWebcAdapterContext.js +17 -0
  7. package/dist/adapter/common/icon.d.ts +9 -0
  8. package/dist/adapter/common/icon.js +25 -0
  9. package/dist/adapter/common/index.d.ts +5 -0
  10. package/dist/adapter/common/index.js +6 -0
  11. package/dist/adapter/common/naming.d.ts +7 -0
  12. package/dist/adapter/common/naming.js +9 -0
  13. package/dist/adapter/common/profile.d.ts +3 -0
  14. package/dist/adapter/common/profile.js +6 -0
  15. package/dist/adapter/context/index.d.ts +1 -0
  16. package/dist/adapter/context/place-context.class.d.ts +22 -0
  17. package/dist/adapter/context/place-context.class.js +40 -0
  18. package/dist/adapter/elevator/elevator.class.d.ts +13 -0
  19. package/dist/adapter/elevator/elevator.class.js +34 -0
  20. package/dist/adapter/elevator/factory.d.ts +3 -0
  21. package/dist/adapter/elevator/factory.js +8 -0
  22. package/dist/adapter/elevator/index.d.ts +2 -0
  23. package/dist/adapter/elevator/index.js +2 -0
  24. package/dist/adapter/index.d.ts +5 -0
  25. package/dist/adapter/index.js +21 -0
  26. package/dist/adapter/locale/LocaleProvider.element.d.ts +26 -0
  27. package/dist/adapter/locale/LocaleProvider.element.js +51 -0
  28. package/dist/adapter/locale/context.d.ts +4 -0
  29. package/dist/adapter/locale/context.js +12 -0
  30. package/dist/adapter/locale/index.d.ts +2 -0
  31. package/dist/adapter/locale/index.js +1 -0
  32. package/dist/adapter/runtime/content.d.ts +6 -0
  33. package/dist/adapter/runtime/content.js +13 -0
  34. package/dist/adapter/runtime/deferral.d.ts +22 -0
  35. package/dist/adapter/runtime/deferral.js +100 -0
  36. package/dist/adapter/runtime/defineElement.d.ts +23 -0
  37. package/dist/adapter/runtime/defineElement.js +97 -0
  38. package/dist/adapter/runtime/display-contents.d.ts +5 -0
  39. package/dist/adapter/runtime/display-contents.js +14 -0
  40. package/dist/adapter/runtime/element.base.d.ts +84 -0
  41. package/dist/adapter/runtime/element.base.js +347 -0
  42. package/dist/adapter/runtime/index.d.ts +4 -0
  43. package/dist/adapter/runtime/index.js +4 -0
  44. package/dist/adapter/runtime/light.d.ts +33 -0
  45. package/dist/adapter/runtime/light.js +131 -0
  46. package/dist/adapter/runtime/marks.d.ts +19 -0
  47. package/dist/adapter/runtime/marks.js +46 -0
  48. package/dist/adapter/runtime/paint.d.ts +91 -0
  49. package/dist/adapter/runtime/paint.js +208 -0
  50. package/dist/adapter/runtime/props.d.ts +36 -0
  51. package/dist/adapter/runtime/props.js +58 -0
  52. package/dist/adapter/runtime/relocation.d.ts +16 -0
  53. package/dist/adapter/runtime/relocation.js +58 -0
  54. package/dist/adapter/runtime/root.d.ts +77 -0
  55. package/dist/adapter/runtime/root.js +77 -0
  56. package/dist/adapter/runtime/subtree.d.ts +22 -0
  57. package/dist/adapter/runtime/subtree.js +44 -0
  58. package/dist/adapter/runtime/teleport.d.ts +57 -0
  59. package/dist/adapter/runtime/teleport.js +190 -0
  60. package/dist/adapter/runtime/useAdapter.d.ts +45 -0
  61. package/dist/adapter/runtime/useAdapter.js +151 -0
  62. package/dist/adapter/runtime/waiting.d.ts +10 -0
  63. package/dist/adapter/runtime/waiting.js +53 -0
  64. package/dist/adapter/template/index.d.ts +6 -0
  65. package/dist/adapter/template/index.js +6 -0
  66. package/dist/adapter/template/lend.d.ts +13 -0
  67. package/dist/adapter/template/lend.js +30 -0
  68. package/dist/adapter/template/loop.d.ts +21 -0
  69. package/dist/adapter/template/loop.js +59 -0
  70. package/dist/adapter/template/owner.d.ts +13 -0
  71. package/dist/adapter/template/owner.js +15 -0
  72. package/dist/adapter/template/parts.d.ts +37 -0
  73. package/dist/adapter/template/parts.js +61 -0
  74. package/dist/adapter/template/types.d.ts +69 -0
  75. package/dist/adapter/template/types.js +9 -0
  76. package/dist/adapter/toasts/index.d.ts +1 -0
  77. package/dist/adapter/toasts/index.js +1 -0
  78. package/dist/adapter/toasts/toastsOf.d.ts +12 -0
  79. package/dist/adapter/toasts/toastsOf.js +21 -0
  80. package/dist/components/accordion/Accordion.element.d.ts +9 -0
  81. package/dist/components/accordion/Accordion.element.js +27 -0
  82. package/dist/components/accordion/accordion.template.d.ts +10 -0
  83. package/dist/components/accordion/accordion.template.js +44 -0
  84. package/dist/components/accordion/index.d.ts +5 -0
  85. package/dist/components/accordion/index.js +3 -0
  86. package/dist/components/accordion/item/AccordionItem.element.d.ts +10 -0
  87. package/dist/components/accordion/item/AccordionItem.element.js +25 -0
  88. package/dist/components/accordion/item/accordion-item.template.d.ts +8 -0
  89. package/dist/components/accordion/item/accordion-item.template.js +123 -0
  90. package/dist/components/accordion/item/index.d.ts +3 -0
  91. package/dist/components/accordion/item/index.js +3 -0
  92. package/dist/components/accordion/item/setup.component.d.ts +3 -0
  93. package/dist/components/accordion/item/setup.component.js +22 -0
  94. package/dist/components/accordion/setup.component.d.ts +3 -0
  95. package/dist/components/accordion/setup.component.js +26 -0
  96. package/dist/components/button/Button.element.d.ts +12 -0
  97. package/dist/components/button/Button.element.js +22 -0
  98. package/dist/components/button/button.template.d.ts +8 -0
  99. package/dist/components/button/button.template.js +30 -0
  100. package/dist/components/button/index.d.ts +3 -0
  101. package/dist/components/button/index.js +1 -0
  102. package/dist/components/button/setup.component.d.ts +3 -0
  103. package/dist/components/button/setup.component.js +14 -0
  104. package/dist/components/calendar/Calendar.element.d.ts +9 -0
  105. package/dist/components/calendar/Calendar.element.js +23 -0
  106. package/dist/components/calendar/calendar.template.d.ts +10 -0
  107. package/dist/components/calendar/calendar.template.js +309 -0
  108. package/dist/components/calendar/index.d.ts +5 -0
  109. package/dist/components/calendar/index.js +3 -0
  110. package/dist/components/calendar/item/CalendarItem.element.d.ts +10 -0
  111. package/dist/components/calendar/item/CalendarItem.element.js +19 -0
  112. package/dist/components/calendar/item/calendar-item.template.d.ts +7 -0
  113. package/dist/components/calendar/item/calendar-item.template.js +22 -0
  114. package/dist/components/calendar/item/index.d.ts +3 -0
  115. package/dist/components/calendar/item/index.js +3 -0
  116. package/dist/components/calendar/item/setup.component.d.ts +3 -0
  117. package/dist/components/calendar/item/setup.component.js +22 -0
  118. package/dist/components/calendar/setup.component.d.ts +3 -0
  119. package/dist/components/calendar/setup.component.js +25 -0
  120. package/dist/components/check-box/CheckBox.element.d.ts +9 -0
  121. package/dist/components/check-box/CheckBox.element.js +24 -0
  122. package/dist/components/check-box/check-box.template.d.ts +10 -0
  123. package/dist/components/check-box/check-box.template.js +94 -0
  124. package/dist/components/check-box/index.d.ts +3 -0
  125. package/dist/components/check-box/index.js +1 -0
  126. package/dist/components/check-box/setup.component.d.ts +7 -0
  127. package/dist/components/check-box/setup.component.js +16 -0
  128. package/dist/components/common/clear.d.ts +34 -0
  129. package/dist/components/common/clear.js +67 -0
  130. package/dist/components/common/drawn-rows.d.ts +35 -0
  131. package/dist/components/common/drawn-rows.js +79 -0
  132. package/dist/components/common/icon-button.d.ts +24 -0
  133. package/dist/components/common/icon-button.js +42 -0
  134. package/dist/components/component/index.d.ts +1 -0
  135. package/dist/components/component/index.js +1 -0
  136. package/dist/components/component/setup.component.d.ts +3 -0
  137. package/dist/components/component/setup.component.js +2 -0
  138. package/dist/components/component-view/ComponentView.element.d.ts +6 -0
  139. package/dist/components/component-view/ComponentView.element.js +16 -0
  140. package/dist/components/component-view/component-view.template.d.ts +4 -0
  141. package/dist/components/component-view/component-view.template.js +10 -0
  142. package/dist/components/component-view/index.d.ts +3 -0
  143. package/dist/components/component-view/index.js +1 -0
  144. package/dist/components/component-view/setup.component.d.ts +3 -0
  145. package/dist/components/component-view/setup.component.js +14 -0
  146. package/dist/components/control/index.d.ts +1 -0
  147. package/dist/components/control/index.js +1 -0
  148. package/dist/components/control/setup.component.d.ts +3 -0
  149. package/dist/components/control/setup.component.js +2 -0
  150. package/dist/components/date-input/DateInput.element.d.ts +11 -0
  151. package/dist/components/date-input/DateInput.element.js +21 -0
  152. package/dist/components/date-input/date-input.template.d.ts +11 -0
  153. package/dist/components/date-input/date-input.template.js +102 -0
  154. package/dist/components/date-input/index.d.ts +3 -0
  155. package/dist/components/date-input/index.js +1 -0
  156. package/dist/components/date-input/setup.component.d.ts +8 -0
  157. package/dist/components/date-input/setup.component.js +16 -0
  158. package/dist/components/date-picker/DatePicker.element.d.ts +11 -0
  159. package/dist/components/date-picker/DatePicker.element.js +24 -0
  160. package/dist/components/date-picker/date-picker.template.d.ts +15 -0
  161. package/dist/components/date-picker/date-picker.template.js +310 -0
  162. package/dist/components/date-picker/index.d.ts +3 -0
  163. package/dist/components/date-picker/index.js +1 -0
  164. package/dist/components/date-picker/setup.component.d.ts +9 -0
  165. package/dist/components/date-picker/setup.component.js +16 -0
  166. package/dist/components/dialog/Dialog.element.d.ts +11 -0
  167. package/dist/components/dialog/Dialog.element.js +25 -0
  168. package/dist/components/dialog/dialog.template.d.ts +9 -0
  169. package/dist/components/dialog/dialog.template.js +148 -0
  170. package/dist/components/dialog/index.d.ts +3 -0
  171. package/dist/components/dialog/index.js +1 -0
  172. package/dist/components/dialog/setup.component.d.ts +5 -0
  173. package/dist/components/dialog/setup.component.js +14 -0
  174. package/dist/components/drag-and-drop/DragAndDrop.element.d.ts +10 -0
  175. package/dist/components/drag-and-drop/DragAndDrop.element.js +20 -0
  176. package/dist/components/drag-and-drop/drag-and-drop.template.d.ts +4 -0
  177. package/dist/components/drag-and-drop/drag-and-drop.template.js +14 -0
  178. package/dist/components/drag-and-drop/index.d.ts +3 -0
  179. package/dist/components/drag-and-drop/index.js +1 -0
  180. package/dist/components/drag-and-drop/setup.component.d.ts +4 -0
  181. package/dist/components/drag-and-drop/setup.component.js +17 -0
  182. package/dist/components/drawer/Drawer.element.d.ts +10 -0
  183. package/dist/components/drawer/Drawer.element.js +27 -0
  184. package/dist/components/drawer/drawer.template.d.ts +11 -0
  185. package/dist/components/drawer/drawer.template.js +100 -0
  186. package/dist/components/drawer/index.d.ts +3 -0
  187. package/dist/components/drawer/index.js +1 -0
  188. package/dist/components/drawer/setup.component.d.ts +6 -0
  189. package/dist/components/drawer/setup.component.js +14 -0
  190. package/dist/components/field/Field.element.d.ts +10 -0
  191. package/dist/components/field/Field.element.js +20 -0
  192. package/dist/components/field/field.template.d.ts +9 -0
  193. package/dist/components/field/field.template.js +110 -0
  194. package/dist/components/field/index.d.ts +3 -0
  195. package/dist/components/field/index.js +1 -0
  196. package/dist/components/field/setup.component.d.ts +4 -0
  197. package/dist/components/field/setup.component.js +17 -0
  198. package/dist/components/frame/Frame.element.d.ts +10 -0
  199. package/dist/components/frame/Frame.element.js +27 -0
  200. package/dist/components/frame/frame.template.d.ts +4 -0
  201. package/dist/components/frame/frame.template.js +10 -0
  202. package/dist/components/frame/index.d.ts +3 -0
  203. package/dist/components/frame/index.js +1 -0
  204. package/dist/components/frame/setup.component.d.ts +3 -0
  205. package/dist/components/frame/setup.component.js +14 -0
  206. package/dist/components/icon/Icon.element.d.ts +10 -0
  207. package/dist/components/icon/Icon.element.js +21 -0
  208. package/dist/components/icon/icon.template.d.ts +7 -0
  209. package/dist/components/icon/icon.template.js +32 -0
  210. package/dist/components/icon/index.d.ts +4 -0
  211. package/dist/components/icon/index.js +3 -0
  212. package/dist/components/icon/setup.component.d.ts +3 -0
  213. package/dist/components/icon/setup.component.js +14 -0
  214. package/dist/components/index.d.ts +44 -0
  215. package/dist/components/index.js +104 -0
  216. package/dist/components/input/Input.element.d.ts +9 -0
  217. package/dist/components/input/Input.element.js +24 -0
  218. package/dist/components/input/index.d.ts +3 -0
  219. package/dist/components/input/index.js +1 -0
  220. package/dist/components/input/input.template.d.ts +10 -0
  221. package/dist/components/input/input.template.js +82 -0
  222. package/dist/components/input/setup.component.d.ts +7 -0
  223. package/dist/components/input/setup.component.js +16 -0
  224. package/dist/components/input-control/index.d.ts +1 -0
  225. package/dist/components/input-control/index.js +1 -0
  226. package/dist/components/input-control/setup.component.d.ts +4 -0
  227. package/dist/components/input-control/setup.component.js +2 -0
  228. package/dist/components/interactive/index.d.ts +1 -0
  229. package/dist/components/interactive/index.js +1 -0
  230. package/dist/components/interactive/setup.component.d.ts +3 -0
  231. package/dist/components/interactive/setup.component.js +2 -0
  232. package/dist/components/item-row/ItemRow.element.d.ts +26 -0
  233. package/dist/components/item-row/ItemRow.element.js +53 -0
  234. package/dist/components/item-row/index.d.ts +1 -0
  235. package/dist/components/item-row/index.js +1 -0
  236. package/dist/components/item-row/setup.component.d.ts +3 -0
  237. package/dist/components/item-row/setup.component.js +14 -0
  238. package/dist/components/label/Label.element.d.ts +9 -0
  239. package/dist/components/label/Label.element.js +19 -0
  240. package/dist/components/label/index.d.ts +3 -0
  241. package/dist/components/label/index.js +1 -0
  242. package/dist/components/label/label.template.d.ts +8 -0
  243. package/dist/components/label/label.template.js +33 -0
  244. package/dist/components/label/setup.component.d.ts +3 -0
  245. package/dist/components/label/setup.component.js +14 -0
  246. package/dist/components/list-box/ListBox.element.d.ts +10 -0
  247. package/dist/components/list-box/ListBox.element.js +32 -0
  248. package/dist/components/list-box/group/ListBoxGroup.element.d.ts +9 -0
  249. package/dist/components/list-box/group/ListBoxGroup.element.js +17 -0
  250. package/dist/components/list-box/group/index.d.ts +3 -0
  251. package/dist/components/list-box/group/index.js +3 -0
  252. package/dist/components/list-box/group/list-box-group.template.d.ts +8 -0
  253. package/dist/components/list-box/group/list-box-group.template.js +32 -0
  254. package/dist/components/list-box/group/setup.component.d.ts +3 -0
  255. package/dist/components/list-box/group/setup.component.js +16 -0
  256. package/dist/components/list-box/index.d.ts +7 -0
  257. package/dist/components/list-box/index.js +4 -0
  258. package/dist/components/list-box/item/ListBoxItem.element.d.ts +10 -0
  259. package/dist/components/list-box/item/ListBoxItem.element.js +25 -0
  260. package/dist/components/list-box/item/index.d.ts +3 -0
  261. package/dist/components/list-box/item/index.js +3 -0
  262. package/dist/components/list-box/item/list-box-item.template.d.ts +8 -0
  263. package/dist/components/list-box/item/list-box-item.template.js +116 -0
  264. package/dist/components/list-box/item/setup.component.d.ts +3 -0
  265. package/dist/components/list-box/item/setup.component.js +22 -0
  266. package/dist/components/list-box/list-box.template.d.ts +11 -0
  267. package/dist/components/list-box/list-box.template.js +77 -0
  268. package/dist/components/list-box/setup.component.d.ts +3 -0
  269. package/dist/components/list-box/setup.component.js +26 -0
  270. package/dist/components/menu/Menu.element.d.ts +10 -0
  271. package/dist/components/menu/Menu.element.js +49 -0
  272. package/dist/components/menu/checkbox-item/MenuCheckboxItem.element.d.ts +10 -0
  273. package/dist/components/menu/checkbox-item/MenuCheckboxItem.element.js +24 -0
  274. package/dist/components/menu/checkbox-item/index.d.ts +3 -0
  275. package/dist/components/menu/checkbox-item/index.js +3 -0
  276. package/dist/components/menu/checkbox-item/menu-checkbox-item.template.d.ts +8 -0
  277. package/dist/components/menu/checkbox-item/menu-checkbox-item.template.js +58 -0
  278. package/dist/components/menu/checkbox-item/setup.component.d.ts +3 -0
  279. package/dist/components/menu/checkbox-item/setup.component.js +22 -0
  280. package/dist/components/menu/group/MenuGroup.element.d.ts +9 -0
  281. package/dist/components/menu/group/MenuGroup.element.js +17 -0
  282. package/dist/components/menu/group/index.d.ts +3 -0
  283. package/dist/components/menu/group/index.js +3 -0
  284. package/dist/components/menu/group/menu-group.template.d.ts +12 -0
  285. package/dist/components/menu/group/menu-group.template.js +37 -0
  286. package/dist/components/menu/group/setup.component.d.ts +3 -0
  287. package/dist/components/menu/group/setup.component.js +16 -0
  288. package/dist/components/menu/index.d.ts +19 -0
  289. package/dist/components/menu/index.js +10 -0
  290. package/dist/components/menu/item/MenuItem.element.d.ts +10 -0
  291. package/dist/components/menu/item/MenuItem.element.js +24 -0
  292. package/dist/components/menu/item/index.d.ts +3 -0
  293. package/dist/components/menu/item/index.js +3 -0
  294. package/dist/components/menu/item/menu-item.template.d.ts +8 -0
  295. package/dist/components/menu/item/menu-item.template.js +36 -0
  296. package/dist/components/menu/item/setup.component.d.ts +3 -0
  297. package/dist/components/menu/item/setup.component.js +22 -0
  298. package/dist/components/menu/items.d.ts +25 -0
  299. package/dist/components/menu/items.js +112 -0
  300. package/dist/components/menu/menu.template.d.ts +17 -0
  301. package/dist/components/menu/menu.template.js +100 -0
  302. package/dist/components/menu/popover-item/MenuPopoverItem.element.d.ts +10 -0
  303. package/dist/components/menu/popover-item/MenuPopoverItem.element.js +24 -0
  304. package/dist/components/menu/popover-item/index.d.ts +3 -0
  305. package/dist/components/menu/popover-item/index.js +3 -0
  306. package/dist/components/menu/popover-item/menu-popover-item.template.d.ts +14 -0
  307. package/dist/components/menu/popover-item/menu-popover-item.template.js +83 -0
  308. package/dist/components/menu/popover-item/setup.component.d.ts +6 -0
  309. package/dist/components/menu/popover-item/setup.component.js +22 -0
  310. package/dist/components/menu/radio-group/MenuRadioGroup.element.d.ts +9 -0
  311. package/dist/components/menu/radio-group/MenuRadioGroup.element.js +17 -0
  312. package/dist/components/menu/radio-group/index.d.ts +3 -0
  313. package/dist/components/menu/radio-group/index.js +3 -0
  314. package/dist/components/menu/radio-group/menu-radio-group.template.d.ts +7 -0
  315. package/dist/components/menu/radio-group/menu-radio-group.template.js +10 -0
  316. package/dist/components/menu/radio-group/setup.component.d.ts +3 -0
  317. package/dist/components/menu/radio-group/setup.component.js +17 -0
  318. package/dist/components/menu/radio-item/MenuRadioItem.element.d.ts +10 -0
  319. package/dist/components/menu/radio-item/MenuRadioItem.element.js +24 -0
  320. package/dist/components/menu/radio-item/index.d.ts +3 -0
  321. package/dist/components/menu/radio-item/index.js +3 -0
  322. package/dist/components/menu/radio-item/menu-radio-item.template.d.ts +7 -0
  323. package/dist/components/menu/radio-item/menu-radio-item.template.js +54 -0
  324. package/dist/components/menu/radio-item/setup.component.d.ts +3 -0
  325. package/dist/components/menu/radio-item/setup.component.js +23 -0
  326. package/dist/components/menu/row.d.ts +27 -0
  327. package/dist/components/menu/row.js +72 -0
  328. package/dist/components/menu/separator/MenuSeparator.element.d.ts +9 -0
  329. package/dist/components/menu/separator/MenuSeparator.element.js +17 -0
  330. package/dist/components/menu/separator/index.d.ts +3 -0
  331. package/dist/components/menu/separator/index.js +3 -0
  332. package/dist/components/menu/separator/menu-separator.template.d.ts +4 -0
  333. package/dist/components/menu/separator/menu-separator.template.js +7 -0
  334. package/dist/components/menu/separator/setup.component.d.ts +3 -0
  335. package/dist/components/menu/separator/setup.component.js +14 -0
  336. package/dist/components/menu/setup.component.d.ts +6 -0
  337. package/dist/components/menu/setup.component.js +25 -0
  338. package/dist/components/menu/submenu/MenuSubmenu.element.d.ts +11 -0
  339. package/dist/components/menu/submenu/MenuSubmenu.element.js +26 -0
  340. package/dist/components/menu/submenu/index.d.ts +3 -0
  341. package/dist/components/menu/submenu/index.js +3 -0
  342. package/dist/components/menu/submenu/menu-submenu.template.d.ts +13 -0
  343. package/dist/components/menu/submenu/menu-submenu.template.js +103 -0
  344. package/dist/components/menu/submenu/setup.component.d.ts +11 -0
  345. package/dist/components/menu/submenu/setup.component.js +36 -0
  346. package/dist/components/number-input/NumberInput.element.d.ts +11 -0
  347. package/dist/components/number-input/NumberInput.element.js +26 -0
  348. package/dist/components/number-input/index.d.ts +3 -0
  349. package/dist/components/number-input/index.js +1 -0
  350. package/dist/components/number-input/number-input.template.d.ts +9 -0
  351. package/dist/components/number-input/number-input.template.js +166 -0
  352. package/dist/components/number-input/setup.component.d.ts +7 -0
  353. package/dist/components/number-input/setup.component.js +16 -0
  354. package/dist/components/pagination/Pagination.element.d.ts +10 -0
  355. package/dist/components/pagination/Pagination.element.js +24 -0
  356. package/dist/components/pagination/index.d.ts +3 -0
  357. package/dist/components/pagination/index.js +1 -0
  358. package/dist/components/pagination/item/PaginationItem.element.d.ts +11 -0
  359. package/dist/components/pagination/item/PaginationItem.element.js +23 -0
  360. package/dist/components/pagination/item/index.d.ts +3 -0
  361. package/dist/components/pagination/item/index.js +3 -0
  362. package/dist/components/pagination/item/pagination-item.template.d.ts +8 -0
  363. package/dist/components/pagination/item/pagination-item.template.js +55 -0
  364. package/dist/components/pagination/item/setup.component.d.ts +3 -0
  365. package/dist/components/pagination/item/setup.component.js +22 -0
  366. package/dist/components/pagination/pagination.template.d.ts +11 -0
  367. package/dist/components/pagination/pagination.template.js +109 -0
  368. package/dist/components/pagination/setup.component.d.ts +3 -0
  369. package/dist/components/pagination/setup.component.js +25 -0
  370. package/dist/components/popover/Popover.element.d.ts +16 -0
  371. package/dist/components/popover/Popover.element.js +46 -0
  372. package/dist/components/popover/index.d.ts +6 -0
  373. package/dist/components/popover/index.js +1 -0
  374. package/dist/components/popover/popover.template.d.ts +9 -0
  375. package/dist/components/popover/popover.template.js +126 -0
  376. package/dist/components/popover/setup.component.d.ts +5 -0
  377. package/dist/components/popover/setup.component.js +14 -0
  378. package/dist/components/progress-linear/ProgressLinear.element.d.ts +10 -0
  379. package/dist/components/progress-linear/ProgressLinear.element.js +24 -0
  380. package/dist/components/progress-linear/index.d.ts +3 -0
  381. package/dist/components/progress-linear/index.js +1 -0
  382. package/dist/components/progress-linear/progress-linear.template.d.ts +8 -0
  383. package/dist/components/progress-linear/progress-linear.template.js +12 -0
  384. package/dist/components/progress-linear/setup.component.d.ts +3 -0
  385. package/dist/components/progress-linear/setup.component.js +14 -0
  386. package/dist/components/progress-spinner/ProgressSpinner.element.d.ts +10 -0
  387. package/dist/components/progress-spinner/ProgressSpinner.element.js +24 -0
  388. package/dist/components/progress-spinner/index.d.ts +3 -0
  389. package/dist/components/progress-spinner/index.js +1 -0
  390. package/dist/components/progress-spinner/progress-spinner.template.d.ts +8 -0
  391. package/dist/components/progress-spinner/progress-spinner.template.js +41 -0
  392. package/dist/components/progress-spinner/setup.component.d.ts +3 -0
  393. package/dist/components/progress-spinner/setup.component.js +14 -0
  394. package/dist/components/radio-group/RadioGroup.element.d.ts +9 -0
  395. package/dist/components/radio-group/RadioGroup.element.js +23 -0
  396. package/dist/components/radio-group/index.d.ts +5 -0
  397. package/dist/components/radio-group/index.js +3 -0
  398. package/dist/components/radio-group/item/RadioGroupItem.element.d.ts +11 -0
  399. package/dist/components/radio-group/item/RadioGroupItem.element.js +25 -0
  400. package/dist/components/radio-group/item/index.d.ts +3 -0
  401. package/dist/components/radio-group/item/index.js +3 -0
  402. package/dist/components/radio-group/item/radio-group-item.template.d.ts +8 -0
  403. package/dist/components/radio-group/item/radio-group-item.template.js +61 -0
  404. package/dist/components/radio-group/item/setup.component.d.ts +3 -0
  405. package/dist/components/radio-group/item/setup.component.js +22 -0
  406. package/dist/components/radio-group/radio-group.template.d.ts +10 -0
  407. package/dist/components/radio-group/radio-group.template.js +34 -0
  408. package/dist/components/radio-group/setup.component.d.ts +3 -0
  409. package/dist/components/radio-group/setup.component.js +25 -0
  410. package/dist/components/rating/Rating.element.d.ts +10 -0
  411. package/dist/components/rating/Rating.element.js +25 -0
  412. package/dist/components/rating/index.d.ts +3 -0
  413. package/dist/components/rating/index.js +1 -0
  414. package/dist/components/rating/rating.template.d.ts +12 -0
  415. package/dist/components/rating/rating.template.js +89 -0
  416. package/dist/components/rating/setup.component.d.ts +7 -0
  417. package/dist/components/rating/setup.component.js +16 -0
  418. package/dist/components/scroller/Scroller.element.d.ts +9 -0
  419. package/dist/components/scroller/Scroller.element.js +19 -0
  420. package/dist/components/scroller/index.d.ts +3 -0
  421. package/dist/components/scroller/index.js +1 -0
  422. package/dist/components/scroller/scroller.template.d.ts +9 -0
  423. package/dist/components/scroller/scroller.template.js +82 -0
  424. package/dist/components/scroller/setup.component.d.ts +3 -0
  425. package/dist/components/scroller/setup.component.js +14 -0
  426. package/dist/components/select/Select.element.d.ts +12 -0
  427. package/dist/components/select/Select.element.js +33 -0
  428. package/dist/components/select/group/SelectGroup.element.d.ts +9 -0
  429. package/dist/components/select/group/SelectGroup.element.js +17 -0
  430. package/dist/components/select/group/index.d.ts +3 -0
  431. package/dist/components/select/group/index.js +3 -0
  432. package/dist/components/select/group/select-group.template.d.ts +7 -0
  433. package/dist/components/select/group/select-group.template.js +32 -0
  434. package/dist/components/select/group/setup.component.d.ts +4 -0
  435. package/dist/components/select/group/setup.component.js +17 -0
  436. package/dist/components/select/index.d.ts +7 -0
  437. package/dist/components/select/index.js +4 -0
  438. package/dist/components/select/item/SelectItem.element.d.ts +11 -0
  439. package/dist/components/select/item/SelectItem.element.js +26 -0
  440. package/dist/components/select/item/index.d.ts +3 -0
  441. package/dist/components/select/item/index.js +3 -0
  442. package/dist/components/select/item/select-item.template.d.ts +9 -0
  443. package/dist/components/select/item/select-item.template.js +113 -0
  444. package/dist/components/select/item/setup.component.d.ts +3 -0
  445. package/dist/components/select/item/setup.component.js +22 -0
  446. package/dist/components/select/select.template.d.ts +12 -0
  447. package/dist/components/select/select.template.js +216 -0
  448. package/dist/components/select/setup.component.d.ts +9 -0
  449. package/dist/components/select/setup.component.js +26 -0
  450. package/dist/components/skeleton/Skeleton.element.d.ts +10 -0
  451. package/dist/components/skeleton/Skeleton.element.js +24 -0
  452. package/dist/components/skeleton/index.d.ts +3 -0
  453. package/dist/components/skeleton/index.js +1 -0
  454. package/dist/components/skeleton/setup.component.d.ts +3 -0
  455. package/dist/components/skeleton/setup.component.js +14 -0
  456. package/dist/components/skeleton/skeleton.template.d.ts +8 -0
  457. package/dist/components/skeleton/skeleton.template.js +25 -0
  458. package/dist/components/slider/Slider.element.d.ts +11 -0
  459. package/dist/components/slider/Slider.element.js +25 -0
  460. package/dist/components/slider/index.d.ts +3 -0
  461. package/dist/components/slider/index.js +1 -0
  462. package/dist/components/slider/setup.component.d.ts +3 -0
  463. package/dist/components/slider/setup.component.js +16 -0
  464. package/dist/components/slider/slider.template.d.ts +8 -0
  465. package/dist/components/slider/slider.template.js +149 -0
  466. package/dist/components/stylable/index.d.ts +1 -0
  467. package/dist/components/stylable/index.js +1 -0
  468. package/dist/components/stylable/setup.component.d.ts +3 -0
  469. package/dist/components/stylable/setup.component.js +2 -0
  470. package/dist/components/switch/Switch.element.d.ts +9 -0
  471. package/dist/components/switch/Switch.element.js +24 -0
  472. package/dist/components/switch/index.d.ts +3 -0
  473. package/dist/components/switch/index.js +1 -0
  474. package/dist/components/switch/setup.component.d.ts +7 -0
  475. package/dist/components/switch/setup.component.js +16 -0
  476. package/dist/components/switch/switch.template.d.ts +9 -0
  477. package/dist/components/switch/switch.template.js +63 -0
  478. package/dist/components/table/Table.element.d.ts +11 -0
  479. package/dist/components/table/Table.element.js +29 -0
  480. package/dist/components/table/column/TableColumn.element.d.ts +10 -0
  481. package/dist/components/table/column/TableColumn.element.js +22 -0
  482. package/dist/components/table/column/index.d.ts +3 -0
  483. package/dist/components/table/column/index.js +3 -0
  484. package/dist/components/table/column/setup.component.d.ts +4 -0
  485. package/dist/components/table/column/setup.component.js +15 -0
  486. package/dist/components/table/column/table-column.template.d.ts +8 -0
  487. package/dist/components/table/column/table-column.template.js +123 -0
  488. package/dist/components/table/index.d.ts +7 -0
  489. package/dist/components/table/index.js +4 -0
  490. package/dist/components/table/row/TableRow.element.d.ts +10 -0
  491. package/dist/components/table/row/TableRow.element.js +19 -0
  492. package/dist/components/table/row/index.d.ts +3 -0
  493. package/dist/components/table/row/index.js +3 -0
  494. package/dist/components/table/row/setup.component.d.ts +3 -0
  495. package/dist/components/table/row/setup.component.js +22 -0
  496. package/dist/components/table/row/table-row.template.d.ts +8 -0
  497. package/dist/components/table/row/table-row.template.js +98 -0
  498. package/dist/components/table/setup.component.d.ts +3 -0
  499. package/dist/components/table/setup.component.js +26 -0
  500. package/dist/components/table/table.template.d.ts +12 -0
  501. package/dist/components/table/table.template.js +164 -0
  502. package/dist/components/tabs/Tabs.element.d.ts +10 -0
  503. package/dist/components/tabs/Tabs.element.js +32 -0
  504. package/dist/components/tabs/content/TabsContent.element.d.ts +10 -0
  505. package/dist/components/tabs/content/TabsContent.element.js +24 -0
  506. package/dist/components/tabs/content/index.d.ts +3 -0
  507. package/dist/components/tabs/content/index.js +3 -0
  508. package/dist/components/tabs/content/setup.component.d.ts +3 -0
  509. package/dist/components/tabs/content/setup.component.js +22 -0
  510. package/dist/components/tabs/content/tabs-content.template.d.ts +4 -0
  511. package/dist/components/tabs/content/tabs-content.template.js +15 -0
  512. package/dist/components/tabs/index.d.ts +7 -0
  513. package/dist/components/tabs/index.js +4 -0
  514. package/dist/components/tabs/item/TabsItem.element.d.ts +10 -0
  515. package/dist/components/tabs/item/TabsItem.element.js +25 -0
  516. package/dist/components/tabs/item/index.d.ts +3 -0
  517. package/dist/components/tabs/item/index.js +3 -0
  518. package/dist/components/tabs/item/setup.component.d.ts +3 -0
  519. package/dist/components/tabs/item/setup.component.js +22 -0
  520. package/dist/components/tabs/item/tabs-item.template.d.ts +8 -0
  521. package/dist/components/tabs/item/tabs-item.template.js +113 -0
  522. package/dist/components/tabs/setup.component.d.ts +3 -0
  523. package/dist/components/tabs/setup.component.js +26 -0
  524. package/dist/components/tabs/tabs.template.d.ts +12 -0
  525. package/dist/components/tabs/tabs.template.js +76 -0
  526. package/dist/components/tags/Tags.element.d.ts +10 -0
  527. package/dist/components/tags/Tags.element.js +24 -0
  528. package/dist/components/tags/index.d.ts +5 -0
  529. package/dist/components/tags/index.js +3 -0
  530. package/dist/components/tags/item/TagsItem.element.d.ts +11 -0
  531. package/dist/components/tags/item/TagsItem.element.js +26 -0
  532. package/dist/components/tags/item/index.d.ts +3 -0
  533. package/dist/components/tags/item/index.js +3 -0
  534. package/dist/components/tags/item/setup.component.d.ts +3 -0
  535. package/dist/components/tags/item/setup.component.js +22 -0
  536. package/dist/components/tags/item/tags-item.template.d.ts +9 -0
  537. package/dist/components/tags/item/tags-item.template.js +115 -0
  538. package/dist/components/tags/setup.component.d.ts +3 -0
  539. package/dist/components/tags/setup.component.js +25 -0
  540. package/dist/components/tags/tags.template.d.ts +10 -0
  541. package/dist/components/tags/tags.template.js +43 -0
  542. package/dist/components/textable/index.d.ts +1 -0
  543. package/dist/components/textable/index.js +1 -0
  544. package/dist/components/textable/setup.component.d.ts +3 -0
  545. package/dist/components/textable/setup.component.js +2 -0
  546. package/dist/components/textarea/Textarea.element.d.ts +9 -0
  547. package/dist/components/textarea/Textarea.element.js +24 -0
  548. package/dist/components/textarea/index.d.ts +3 -0
  549. package/dist/components/textarea/index.js +1 -0
  550. package/dist/components/textarea/setup.component.d.ts +7 -0
  551. package/dist/components/textarea/setup.component.js +16 -0
  552. package/dist/components/textarea/textarea.template.d.ts +9 -0
  553. package/dist/components/textarea/textarea.template.js +81 -0
  554. package/dist/components/toasts/Toasts.element.d.ts +11 -0
  555. package/dist/components/toasts/Toasts.element.js +29 -0
  556. package/dist/components/toasts/index.d.ts +5 -0
  557. package/dist/components/toasts/index.js +3 -0
  558. package/dist/components/toasts/item/ToastsItem.element.d.ts +11 -0
  559. package/dist/components/toasts/item/ToastsItem.element.js +19 -0
  560. package/dist/components/toasts/item/index.d.ts +3 -0
  561. package/dist/components/toasts/item/index.js +3 -0
  562. package/dist/components/toasts/item/setup.component.d.ts +3 -0
  563. package/dist/components/toasts/item/setup.component.js +22 -0
  564. package/dist/components/toasts/item/toasts-item.template.d.ts +9 -0
  565. package/dist/components/toasts/item/toasts-item.template.js +133 -0
  566. package/dist/components/toasts/setup.component.d.ts +3 -0
  567. package/dist/components/toasts/setup.component.js +26 -0
  568. package/dist/components/toasts/toasts.template.d.ts +11 -0
  569. package/dist/components/toasts/toasts.template.js +53 -0
  570. package/dist/components/tooltip/Tooltip.element.d.ts +10 -0
  571. package/dist/components/tooltip/Tooltip.element.js +24 -0
  572. package/dist/components/tooltip/index.d.ts +3 -0
  573. package/dist/components/tooltip/index.js +1 -0
  574. package/dist/components/tooltip/setup.component.d.ts +6 -0
  575. package/dist/components/tooltip/setup.component.js +14 -0
  576. package/dist/components/tooltip/tooltip.template.d.ts +11 -0
  577. package/dist/components/tooltip/tooltip.template.js +68 -0
  578. package/dist/components/value-control/index.d.ts +1 -0
  579. package/dist/components/value-control/index.js +1 -0
  580. package/dist/components/value-control/setup.component.d.ts +4 -0
  581. package/dist/components/value-control/setup.component.js +2 -0
  582. package/dist/components/virtual/Virtual.element.d.ts +10 -0
  583. package/dist/components/virtual/Virtual.element.js +20 -0
  584. package/dist/components/virtual/index.d.ts +3 -0
  585. package/dist/components/virtual/index.js +1 -0
  586. package/dist/components/virtual/setup.component.d.ts +4 -0
  587. package/dist/components/virtual/setup.component.js +17 -0
  588. package/dist/components/virtual/virtual.template.d.ts +4 -0
  589. package/dist/components/virtual/virtual.template.js +14 -0
  590. package/dist/index.d.ts +7 -0
  591. package/dist/index.js +65 -0
  592. package/package.json +200 -4
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Атрибуты и пропсы ядра. Атрибут — всегда строка, и значение приводится по
3
+ * `type` декларации: типы по порядку, значение даёт первый, который строку
4
+ * принимает, — спор строки и булева решает порядок, как во Vue. Снятый
5
+ * атрибут у булева пропа — `false`, у остальных — «проп не задан».
6
+ */
7
+ import { type IComponentDescriptor } from '@soxa-ui/setup';
8
+ export interface IAttributeBinding {
9
+ prop: string;
10
+ /** Конструктор или массив конструкторов, порядок значим. */
11
+ type: unknown;
12
+ isBoolean: boolean;
13
+ }
14
+ /** Пропы без атрибута и свойства: тег корня задан разметкой, база отдаёт ядру `localName`. */
15
+ export declare const HOST_PROPS: readonly ["tag"];
16
+ export type THostProp = (typeof HOST_PROPS)[number];
17
+ export declare function isHostProp(prop: string): boolean;
18
+ /** `borderWidth` → `border-width`. */
19
+ export declare function toAttributeName(propName: string): string;
20
+ /** Имя атрибута → проп; один раз на класс, кодогенерация не нужна. */
21
+ export declare function buildAttributeMap(descriptor: IComponentDescriptor): Map<string, IAttributeBinding>;
22
+ export declare function coerceAttribute(raw: string | null, binding: IAttributeBinding): unknown;
@@ -0,0 +1,74 @@
1
+ import { WebcProfile } from "./profile.js";
2
+ import { TSurface } from "@soxa-ui/setup";
3
+ //#region src/adapter/common/attributes.ts
4
+ /**
5
+ * Атрибуты и пропсы ядра. Атрибут — всегда строка, и значение приводится по
6
+ * `type` декларации: типы по порядку, значение даёт первый, который строку
7
+ * принимает, — спор строки и булева решает порядок, как во Vue. Снятый
8
+ * атрибут у булева пропа — `false`, у остальных — «проп не задан».
9
+ */
10
+ /** Пропы без атрибута и свойства: тег корня задан разметкой, база отдаёт ядру `localName`. */
11
+ var HOST_PROPS = ["tag"];
12
+ var HOST_PROP_NAMES = new Set(HOST_PROPS);
13
+ function isHostProp(prop) {
14
+ return HOST_PROP_NAMES.has(prop);
15
+ }
16
+ /** `borderWidth` → `border-width`. */
17
+ function toAttributeName(propName) {
18
+ return propName.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
19
+ }
20
+ /** Проп без типа принимает строку атрибута как есть. */
21
+ function typesOf(type) {
22
+ if (type === void 0) return [String];
23
+ return Array.isArray(type) ? type : [type];
24
+ }
25
+ function parseJson(raw) {
26
+ try {
27
+ return JSON.parse(raw);
28
+ } catch {
29
+ return;
30
+ }
31
+ }
32
+ /** `undefined` — тип строку не принимает: из строки его не даёт ни один тип. */
33
+ function acceptAs(type, raw) {
34
+ switch (type) {
35
+ case String: return raw;
36
+ case Boolean: return true;
37
+ case Number: {
38
+ if (raw.trim() === "") return void 0;
39
+ const value = Number(raw);
40
+ return Number.isNaN(value) ? void 0 : value;
41
+ }
42
+ case Object: {
43
+ const value = parseJson(raw);
44
+ return typeof value === "object" && value !== null && !Array.isArray(value) ? value : void 0;
45
+ }
46
+ case Array: {
47
+ const value = parseJson(raw);
48
+ return Array.isArray(value) ? value : void 0;
49
+ }
50
+ default: return;
51
+ }
52
+ }
53
+ /** Имя атрибута → проп; один раз на класс, кодогенерация не нужна. */
54
+ function buildAttributeMap(descriptor) {
55
+ const map = /* @__PURE__ */ new Map();
56
+ for (const [prop, { type }] of Object.entries(TSurface.of(descriptor, WebcProfile).exportProps)) {
57
+ if (isHostProp(prop)) continue;
58
+ map.set(toAttributeName(prop), {
59
+ prop,
60
+ type,
61
+ isBoolean: typesOf(type)[0] === Boolean
62
+ });
63
+ }
64
+ return map;
65
+ }
66
+ function coerceAttribute(raw, binding) {
67
+ if (raw === null) return binding.isBoolean ? false : void 0;
68
+ for (const type of typesOf(binding.type)) {
69
+ const value = acceptAs(type, raw);
70
+ if (value !== void 0) return value;
71
+ }
72
+ }
73
+ //#endregion
74
+ export { HOST_PROPS, buildAttributeMap, coerceAttribute, isHostProp, toAttributeName };
@@ -0,0 +1,8 @@
1
+ import type { IAdapterContext, IAdapterContextConfig, IAdapterContextOptions, IComponentDescriptor, IPluginsContract, TContextContract } from '@soxa-ui/setup';
2
+ /**
3
+ * Сборка элемента: локаль — ближайшего `<so-locale-provider>` вверх от хоста.
4
+ * Зовётся на каждое подключение, поэтому переставленный элемент берёт локаль
5
+ * нового места. Id монтирования не нужен: серверной разметки у Custom
6
+ * Elements нет.
7
+ */
8
+ export declare function createWebcAdapterContext<TInstance extends object, TPlugins extends IPluginsContract>(host: Element, descriptor: IComponentDescriptor<TContextContract<TInstance, TPlugins>>, options: IAdapterContextOptions<TInstance>, config?: IAdapterContextConfig): IAdapterContext<TContextContract<TInstance, TPlugins>>;
@@ -0,0 +1,17 @@
1
+ import { nearestLocale } from "../locale/context.js";
2
+ import { createAdapterContext } from "@soxa-ui/setup";
3
+ //#region src/adapter/common/createWebcAdapterContext.ts
4
+ /**
5
+ * Сборка элемента: локаль — ближайшего `<so-locale-provider>` вверх от хоста.
6
+ * Зовётся на каждое подключение, поэтому переставленный элемент берёт локаль
7
+ * нового места. Id монтирования не нужен: серверной разметки у Custom
8
+ * Elements нет.
9
+ */
10
+ function createWebcAdapterContext(host, descriptor, options, config) {
11
+ return createAdapterContext(descriptor, {
12
+ ...options,
13
+ locale: options.locale ?? nearestLocale(host)
14
+ }, config);
15
+ }
16
+ //#endregion
17
+ export { createWebcAdapterContext };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Рисунок иконки роли на `<svg>`: `viewBox` и содержимое из реестра. Роль
3
+ * резолвится при отрисовке — `useIcons()` может прийти после импорта, — а та
4
+ * же иконка второй раз не пишется. Содержимое — `innerHTML` в пространстве
5
+ * имён SVG; источник доверенный — пакет иконок приложения.
6
+ */
7
+ export declare function drawRoleIcon(svg: SVGSVGElement, role: string): void;
8
+ /** Голый `<svg>` с рисунком роли — для разметки, где иконка не компонент (отметка CheckBox). */
9
+ export declare function roleIcon(role: string): SVGSVGElement;
@@ -0,0 +1,25 @@
1
+ import { getIcon } from "@soxa-ui/setup";
2
+ //#region src/adapter/common/icon.ts
3
+ /**
4
+ * Рисунок иконки роли на `<svg>`: `viewBox` и содержимое из реестра. Роль
5
+ * резолвится при отрисовке — `useIcons()` может прийти после импорта, — а та
6
+ * же иконка второй раз не пишется. Содержимое — `innerHTML` в пространстве
7
+ * имён SVG; источник доверенный — пакет иконок приложения.
8
+ */
9
+ var SVG = "http://www.w3.org/2000/svg";
10
+ var drawn = /* @__PURE__ */ new WeakMap();
11
+ function drawRoleIcon(svg, role) {
12
+ const icon = getIcon(role);
13
+ if (drawn.get(svg) === icon) return;
14
+ svg.setAttribute("viewBox", icon.viewBox);
15
+ svg.innerHTML = icon.body;
16
+ drawn.set(svg, icon);
17
+ }
18
+ /** Голый `<svg>` с рисунком роли — для разметки, где иконка не компонент (отметка CheckBox). */
19
+ function roleIcon(role) {
20
+ const svg = document.createElementNS(SVG, "svg");
21
+ drawRoleIcon(svg, role);
22
+ return svg;
23
+ }
24
+ //#endregion
25
+ export { drawRoleIcon, roleIcon };
@@ -0,0 +1,5 @@
1
+ export { WebcProfile } from './profile';
2
+ export { WebcNaming } from './naming';
3
+ export { createWebcAdapterContext } from './createWebcAdapterContext';
4
+ export { drawRoleIcon, roleIcon } from './icon';
5
+ export { HOST_PROPS, isHostProp, toAttributeName, coerceAttribute, buildAttributeMap, type IAttributeBinding, type THostProp, } from './attributes';
@@ -0,0 +1,6 @@
1
+ import "./naming.js";
2
+ import { WebcProfile } from "./profile.js";
3
+ import { createWebcAdapterContext } from "./createWebcAdapterContext.js";
4
+ import { drawRoleIcon, roleIcon } from "./icon.js";
5
+ import { buildAttributeMap, coerceAttribute, isHostProp, toAttributeName } from "./attributes.js";
6
+ export { WebcProfile, buildAttributeMap, coerceAttribute, createWebcAdapterContext, drawRoleIcon, isHostProp, roleIcon, toAttributeName };
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Имена поверхности: пропсы — общим правилом, события — `so:` и полное имя
3
+ * ядра, у каждого события (`so:show`, `so:show:before`): событие всплывает в
4
+ * общий канал DOM, и префикс говорит, чьё оно.
5
+ */
6
+ import type { INamingStrategy } from '@soxa-ui/setup';
7
+ export declare const WebcNaming: INamingStrategy;
@@ -0,0 +1,9 @@
1
+ import { underscorePropNaming } from "@soxa-ui/setup";
2
+ //#region src/adapter/common/naming.ts
3
+ var EVENT_PREFIX = "so:";
4
+ var WebcNaming = {
5
+ prop: underscorePropNaming,
6
+ event: (name) => EVENT_PREFIX + name.getName()
7
+ };
8
+ //#endregion
9
+ export { WebcNaming };
@@ -0,0 +1,3 @@
1
+ import type { IAdapterProfile } from '@soxa-ui/setup';
2
+ /** Одна поверхность на класс элемента (атрибуты, свойства) и на связку. */
3
+ export declare const WebcProfile: IAdapterProfile;
@@ -0,0 +1,6 @@
1
+ import { WebcNaming } from "./naming.js";
2
+ //#region src/adapter/common/profile.ts
3
+ /** Одна поверхность на класс элемента (атрибуты, свойства) и на связку. */
4
+ var WebcProfile = { naming: WebcNaming };
5
+ //#endregion
6
+ export { WebcProfile };
@@ -0,0 +1 @@
1
+ export { TPlaceContext } from './place-context.class';
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Контекст места — значение, привязанное к элементу, для всего, что стоит ниже
3
+ * него по документу: у Custom Elements своего дерева нет, и провайдер отдаёт
4
+ * значение элементу, а компонент синхронно ищет ближайшее вверх. AGENTS.md
5
+ * (Web Components), «Контекст места».
6
+ */
7
+ export declare class TPlaceContext<T> {
8
+ /** Увезённый корень → якорь на его месте. Пишет телепорт до переноса. */
9
+ private static readonly _anchors;
10
+ static anchor(root: Node, anchor: Node): void;
11
+ static unanchor(root: Node): void;
12
+ /** Узел на месте `node` в документе: у увезённого корня — его якорь. */
13
+ static placeOf(node: Node): Node;
14
+ /** Выше по месту: родитель, из теневого корня — хост, у увезённого корня — родитель якоря. */
15
+ static above(node: Node): Node | null;
16
+ /** Узлы выше по месту, от ближайшего; сам узел не в счёт. */
17
+ static ancestors(node: Node): Generator<Node>;
18
+ private readonly _values;
19
+ provide(element: Element, value: T): void;
20
+ /** Значение ближайшего места выше `node`; сам узел не в счёт. */
21
+ nearest(node: Node): T | undefined;
22
+ }
@@ -0,0 +1,40 @@
1
+ //#region src/adapter/context/place-context.class.ts
2
+ /**
3
+ * Контекст места — значение, привязанное к элементу, для всего, что стоит ниже
4
+ * него по документу: у Custom Elements своего дерева нет, и провайдер отдаёт
5
+ * значение элементу, а компонент синхронно ищет ближайшее вверх. AGENTS.md
6
+ * (Web Components), «Контекст места».
7
+ */
8
+ var TPlaceContext = class TPlaceContext {
9
+ /** Увезённый корень → якорь на его месте. Пишет телепорт до переноса. */
10
+ static _anchors = /* @__PURE__ */ new WeakMap();
11
+ static anchor(root, anchor) {
12
+ TPlaceContext._anchors.set(root, anchor);
13
+ }
14
+ static unanchor(root) {
15
+ TPlaceContext._anchors.delete(root);
16
+ }
17
+ /** Узел на месте `node` в документе: у увезённого корня — его якорь. */
18
+ static placeOf(node) {
19
+ return TPlaceContext._anchors.get(node) ?? node;
20
+ }
21
+ /** Выше по месту: родитель, из теневого корня — хост, у увезённого корня — родитель якоря. */
22
+ static above(node) {
23
+ const parent = TPlaceContext.placeOf(node).parentNode;
24
+ return parent instanceof ShadowRoot ? parent.host : parent;
25
+ }
26
+ /** Узлы выше по месту, от ближайшего; сам узел не в счёт. */
27
+ static *ancestors(node) {
28
+ for (let place = TPlaceContext.above(node); place; place = TPlaceContext.above(place)) yield place;
29
+ }
30
+ _values = /* @__PURE__ */ new WeakMap();
31
+ provide(element, value) {
32
+ this._values.set(element, value);
33
+ }
34
+ /** Значение ближайшего места выше `node`; сам узел не в счёт. */
35
+ nearest(node) {
36
+ for (const place of TPlaceContext.ancestors(node)) if (place instanceof Element && this._values.has(place)) return this._values.get(place);
37
+ }
38
+ };
39
+ //#endregion
40
+ export { TPlaceContext };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Лифт одного ключа на контексте места: `down` отдаёт значение хосту — его
3
+ * видит всё ниже по документу, `up` ищет ближайшее выше, сам хост не в счёт,
4
+ * как `inject` у Vue. Связка новая на каждое подключение, и переставленный
5
+ * элемент находит нового владельца.
6
+ */
7
+ import { TElevator } from '@soxa-ui/setup';
8
+ export declare class TWebcElevator<T = unknown> extends TElevator<T> {
9
+ private readonly _host;
10
+ constructor(key: string | symbol, _host: Element);
11
+ down(value: T): void;
12
+ up(): T | undefined;
13
+ }
@@ -0,0 +1,34 @@
1
+ import { TPlaceContext } from "../context/place-context.class.js";
2
+ import { TElevator } from "@soxa-ui/setup";
3
+ //#region src/adapter/elevator/elevator.class.ts
4
+ /**
5
+ * Лифт одного ключа на контексте места: `down` отдаёт значение хосту — его
6
+ * видит всё ниже по документу, `up` ищет ближайшее выше, сам хост не в счёт,
7
+ * как `inject` у Vue. Связка новая на каждое подключение, и переставленный
8
+ * элемент находит нового владельца.
9
+ */
10
+ /** Тип значения у ключа один, а карта общая — в ней он стёрт. */
11
+ var PLACES = /* @__PURE__ */ new Map();
12
+ function placeOf(key) {
13
+ let place = PLACES.get(key);
14
+ if (!place) {
15
+ place = new TPlaceContext();
16
+ PLACES.set(key, place);
17
+ }
18
+ return place;
19
+ }
20
+ var TWebcElevator = class extends TElevator {
21
+ _host;
22
+ constructor(key, _host) {
23
+ super(key);
24
+ this._host = _host;
25
+ }
26
+ down(value) {
27
+ placeOf(this._key).provide(this._host, value);
28
+ }
29
+ up() {
30
+ return placeOf(this._key).nearest(this._host);
31
+ }
32
+ };
33
+ //#endregion
34
+ export { TWebcElevator };
@@ -0,0 +1,3 @@
1
+ import type { TElevatorFactory } from '@soxa-ui/setup';
2
+ /** Фабрика на хост: место значения у Web Components — сам элемент. */
3
+ export declare function createWebcElevator(host: Element): TElevatorFactory;
@@ -0,0 +1,8 @@
1
+ import { TWebcElevator } from "./elevator.class.js";
2
+ //#region src/adapter/elevator/factory.ts
3
+ /** Фабрика на хост: место значения у Web Components — сам элемент. */
4
+ function createWebcElevator(host) {
5
+ return (key) => new TWebcElevator(key.name, host);
6
+ }
7
+ //#endregion
8
+ export { createWebcElevator };
@@ -0,0 +1,2 @@
1
+ export { TWebcElevator } from './elevator.class';
2
+ export { createWebcElevator } from './factory';
@@ -0,0 +1,2 @@
1
+ import "./elevator.class.js";
2
+ export { createWebcElevator } from "./factory.js";
@@ -0,0 +1,5 @@
1
+ export * from './common';
2
+ export * from './template';
3
+ export * from './runtime';
4
+ export * from './locale';
5
+ export * from './toasts';
@@ -0,0 +1,21 @@
1
+ import "./common/naming.js";
2
+ import { WebcProfile } from "./common/profile.js";
3
+ import { createWebcAdapterContext } from "./common/createWebcAdapterContext.js";
4
+ import { drawRoleIcon, roleIcon } from "./common/icon.js";
5
+ import { buildAttributeMap, coerceAttribute, isHostProp, toAttributeName } from "./common/attributes.js";
6
+ import "./common/index.js";
7
+ import { bind } from "./template/types.js";
8
+ import { ownerAttributes, ownerClasses, ownerStyles } from "./template/owner.js";
9
+ import { lend, lendBefore, lendMark } from "./template/lend.js";
10
+ import { defineElement } from "./runtime/defineElement.js";
11
+ import { createDetail, createItem, lendSamples, lendTemplates, patch, sampleOf } from "./template/parts.js";
12
+ import { TKeyedLoop } from "./template/loop.js";
13
+ import "./template/index.js";
14
+ import { joinBindings, useAdapter, useCollectionAdapter } from "./runtime/useAdapter.js";
15
+ import { ElementBase } from "./runtime/element.base.js";
16
+ import "./runtime/index.js";
17
+ import { TLocaleProviderElement } from "./locale/LocaleProvider.element.js";
18
+ import "./locale/index.js";
19
+ import { isToastRender, toastsOf } from "./toasts/toastsOf.js";
20
+ import "./toasts/index.js";
21
+ export { ElementBase, TKeyedLoop, TLocaleProviderElement, WebcProfile, bind, buildAttributeMap, coerceAttribute, createDetail, createItem, createWebcAdapterContext, defineElement, drawRoleIcon, isHostProp, isToastRender, joinBindings, lend, lendBefore, lendMark, lendSamples, lendTemplates, ownerAttributes, ownerClasses, ownerStyles, patch, roleIcon, sampleOf, toAttributeName, toastsOf, useAdapter, useCollectionAdapter };
@@ -0,0 +1,26 @@
1
+ /**
2
+ * `<so-locale-provider>` — локаль поддерева, как контекст у фреймворков.
3
+ * Источник свой у каждого провайдера и сразу уходит контекстом места; локаль
4
+ * — свойство из кода, плагины переписывают тег и имена на лету, без
5
+ * пересборки. Автономный элемент без коробки (`displayContents`).
6
+ *
7
+ * ```html
8
+ * <so-locale-provider>
9
+ * <button is="so-button" text="Сохранить"></button>
10
+ * </so-locale-provider>
11
+ * <script type="module">
12
+ * import { ruRU } from '@soxa-ui/plugins'
13
+ *
14
+ * document.querySelector('so-locale-provider').locale = ruRU
15
+ * </script>
16
+ * ```
17
+ */
18
+ import type { TLocale } from '@soxa-ui/plugins';
19
+ export declare class TLocaleProviderElement extends HTMLElement {
20
+ private readonly _source;
21
+ constructor();
22
+ get locale(): TLocale;
23
+ set locale(value: TLocale);
24
+ /** Записанное до апгрейда — собственное свойство: оно заслоняет свойство класса. */
25
+ private _upgradeLocale;
26
+ }
@@ -0,0 +1,51 @@
1
+ import { provideLocale } from "./context.js";
2
+ import { defineAutonomousElement } from "../runtime/defineElement.js";
3
+ import { displayContents } from "../runtime/display-contents.js";
4
+ import { TLocaleSource, enUS } from "@soxa-ui/plugins";
5
+ //#region src/adapter/locale/LocaleProvider.element.ts
6
+ /**
7
+ * `<so-locale-provider>` — локаль поддерева, как контекст у фреймворков.
8
+ * Источник свой у каждого провайдера и сразу уходит контекстом места; локаль
9
+ * — свойство из кода, плагины переписывают тег и имена на лету, без
10
+ * пересборки. Автономный элемент без коробки (`displayContents`).
11
+ *
12
+ * ```html
13
+ * <so-locale-provider>
14
+ * <button is="so-button" text="Сохранить"></button>
15
+ * </so-locale-provider>
16
+ * <script type="module">
17
+ * import { ruRU } from '@soxa-ui/plugins'
18
+ *
19
+ * document.querySelector('so-locale-provider').locale = ruRU
20
+ * <\/script>
21
+ * ```
22
+ */
23
+ /** Записанное до апгрейда было обычным свойством, и тип ему никто не проверял. */
24
+ function isLocale(value) {
25
+ return typeof value === "object" && value !== null && "tag" in value && typeof value.tag === "string" && "translations" in value && typeof value.translations === "object" && value.translations !== null;
26
+ }
27
+ var TLocaleProviderElement = class extends HTMLElement {
28
+ _source = new TLocaleSource(enUS);
29
+ constructor() {
30
+ super();
31
+ provideLocale(this, this._source);
32
+ this._upgradeLocale();
33
+ displayContents(this);
34
+ }
35
+ get locale() {
36
+ return this._source.locale;
37
+ }
38
+ set locale(value) {
39
+ this._source.locale = value;
40
+ }
41
+ /** Записанное до апгрейда — собственное свойство: оно заслоняет свойство класса. */
42
+ _upgradeLocale() {
43
+ if (!Object.hasOwn(this, "locale")) return;
44
+ const value = Reflect.get(this, "locale");
45
+ Reflect.deleteProperty(this, "locale");
46
+ if (isLocale(value)) this.locale = value;
47
+ }
48
+ };
49
+ defineAutonomousElement("so-locale-provider", TLocaleProviderElement);
50
+ //#endregion
51
+ export { TLocaleProviderElement };
@@ -0,0 +1,4 @@
1
+ import type { ILocaleSource } from '@soxa-ui/plugins';
2
+ export declare function provideLocale(provider: Element, source: ILocaleSource): void;
3
+ /** Провайдера нет — `undefined`, и у набора своя английская. */
4
+ export declare function nearestLocale(node: Node): ILocaleSource | undefined;
@@ -0,0 +1,12 @@
1
+ import { TPlaceContext } from "../context/place-context.class.js";
2
+ //#region src/adapter/locale/context.ts
3
+ var LOCALE = new TPlaceContext();
4
+ function provideLocale(provider, source) {
5
+ LOCALE.provide(provider, source);
6
+ }
7
+ /** Провайдера нет — `undefined`, и у набора своя английская. */
8
+ function nearestLocale(node) {
9
+ return LOCALE.nearest(node);
10
+ }
11
+ //#endregion
12
+ export { nearestLocale, provideLocale };
@@ -0,0 +1,2 @@
1
+ /** Application API for this element entry. */
2
+ export { TLocaleProviderElement } from './LocaleProvider.element';
@@ -0,0 +1 @@
1
+ export { TLocaleProviderElement } from "./LocaleProvider.element.js";
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Содержимое ли узел света: элемент, якорь увезённого корня или текст не из
3
+ * одних пробелов. Слот без содержимого не задан — пробелы вокруг
4
+ * `<svg slot="leading">` не глушат проп `text`, как и у компилятора Vue.
5
+ */
6
+ export declare function isContent(node: Node): boolean;
@@ -0,0 +1,13 @@
1
+ import { TTeleport } from "./teleport.js";
2
+ //#region src/adapter/runtime/content.ts
3
+ /**
4
+ * Содержимое ли узел света: элемент, якорь увезённого корня или текст не из
5
+ * одних пробелов. Слот без содержимого не задан — пробелы вокруг
6
+ * `<svg slot="leading">` не глушат проп `text`, как и у компилятора Vue.
7
+ */
8
+ function isContent(node) {
9
+ if (node instanceof Element || TTeleport.rootAt(node)) return true;
10
+ return node instanceof Text && node.data.trim() !== "";
11
+ }
12
+ //#endregion
13
+ export { isContent };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Отсрочка: первая сборка разметки, которой собираться рано, идёт позже и по
3
+ * месту — элемент не раньше того, кто ждёт над ним, соседи в порядке
4
+ * документа, теневое дерево хоста раньше его света. AGENTS.md (Web
5
+ * Components), «Отсрочка первой сборки».
6
+ */
7
+ export declare class TDeferral {
8
+ private static readonly _waiting;
9
+ private static readonly _parsing;
10
+ /** Разметка, ожившая при регистрации; собирает её `defineElement`, когда оживлять некого. */
11
+ static readonly registration: TDeferral;
12
+ /** Очередь документа, пока он разбирается: собирается на `DOMContentLoaded`. */
13
+ static parsing(owner: Document): TDeferral;
14
+ /** Очередь элемента, который ждёт выше `node` по месту. */
15
+ static above(node: Node): TDeferral | undefined;
16
+ private _deferred;
17
+ defer(element: Element, resume: () => void): void;
18
+ /** Раундами: порядок раунда считается в его начале, пришедшее во время — следующим. */
19
+ release(): void;
20
+ private _rounds;
21
+ private _take;
22
+ }
@@ -0,0 +1,100 @@
1
+ import { TPlaceContext } from "../context/place-context.class.js";
2
+ import { runAll } from "./waiting.js";
3
+ //#region src/adapter/runtime/deferral.ts
4
+ /**
5
+ * Отсрочка: первая сборка разметки, которой собираться рано, идёт позже и по
6
+ * месту — элемент не раньше того, кто ждёт над ним, соседи в порядке
7
+ * документа, теневое дерево хоста раньше его света. AGENTS.md (Web
8
+ * Components), «Отсрочка первой сборки».
9
+ */
10
+ /** Путь места — от корня дерева до самого узла. */
11
+ function pathOf(node) {
12
+ return [...TPlaceContext.ancestors(node)].reverse().concat(node);
13
+ }
14
+ /**
15
+ * Два узла под общим местом: рядом — порядок документа; один в теневом дереве
16
+ * общего хоста, другой в его свете — теневое раньше. Голый
17
+ * `compareDocumentPosition` через теневую границу порядка не обещает.
18
+ */
19
+ function siblingOrder(a, b) {
20
+ const placeA = TPlaceContext.placeOf(a);
21
+ const placeB = TPlaceContext.placeOf(b);
22
+ if (placeA.parentNode === placeB.parentNode) return placeA.compareDocumentPosition(placeB) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
23
+ return placeA.parentNode instanceof ShadowRoot ? -1 : 1;
24
+ }
25
+ function compare(a, b) {
26
+ const length = Math.min(a.length, b.length);
27
+ for (let index = 1; index < length; index += 1) if (a[index] !== b[index]) return siblingOrder(a[index], b[index]);
28
+ return a.length - b.length;
29
+ }
30
+ /**
31
+ * Раунд по месту. Деревьев больше одного, только если элемент сняли до его
32
+ * раунда: такие идут в порядке прихода первого из каждого.
33
+ */
34
+ function byPlace(deferred) {
35
+ const trees = /* @__PURE__ */ new Map();
36
+ for (const each of deferred) {
37
+ const path = pathOf(each.element);
38
+ const tree = trees.get(path[0]);
39
+ if (tree) tree.push({
40
+ deferred: each,
41
+ path
42
+ });
43
+ else trees.set(path[0], [{
44
+ deferred: each,
45
+ path
46
+ }]);
47
+ }
48
+ return [...trees.values()].flatMap((tree) => tree.sort((a, b) => compare(a.path, b.path)).map((placed) => placed.deferred));
49
+ }
50
+ var TDeferral = class TDeferral {
51
+ static _waiting = /* @__PURE__ */ new Map();
52
+ static _parsing = /* @__PURE__ */ new WeakMap();
53
+ /** Разметка, ожившая при регистрации; собирает её `defineElement`, когда оживлять некого. */
54
+ static registration = new TDeferral();
55
+ /** Очередь документа, пока он разбирается: собирается на `DOMContentLoaded`. */
56
+ static parsing(owner) {
57
+ const ready = TDeferral._parsing.get(owner);
58
+ if (ready !== void 0) return ready;
59
+ const deferral = new TDeferral();
60
+ TDeferral._parsing.set(owner, deferral);
61
+ owner.addEventListener("DOMContentLoaded", () => {
62
+ TDeferral._parsing.delete(owner);
63
+ deferral.release();
64
+ }, { once: true });
65
+ return deferral;
66
+ }
67
+ /** Очередь элемента, который ждёт выше `node` по месту. */
68
+ static above(node) {
69
+ if (TDeferral._waiting.size === 0) return void 0;
70
+ for (const place of TPlaceContext.ancestors(node)) {
71
+ const deferral = TDeferral._waiting.get(place);
72
+ if (deferral !== void 0) return deferral;
73
+ }
74
+ }
75
+ _deferred = [];
76
+ defer(element, resume) {
77
+ TDeferral._waiting.set(element, this);
78
+ this._deferred.push({
79
+ element,
80
+ resume
81
+ });
82
+ }
83
+ /** Раундами: порядок раунда считается в его начале, пришедшее во время — следующим. */
84
+ release() {
85
+ runAll(this._rounds());
86
+ }
87
+ *_rounds() {
88
+ for (let round = this._take(); round.length > 0; round = this._take()) for (const { element, resume } of round) yield () => {
89
+ TDeferral._waiting.delete(element);
90
+ resume();
91
+ };
92
+ }
93
+ _take() {
94
+ const deferred = this._deferred;
95
+ this._deferred = [];
96
+ return byPlace(deferred);
97
+ }
98
+ };
99
+ //#endregion
100
+ export { TDeferral };