@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,131 @@
1
+ import { assignSlot, isSlotMark, takeAssignedSlot } from "./marks.js";
2
+ import { relocate } from "./relocation.js";
3
+ import { TTeleport } from "./teleport.js";
4
+ import { isContent } from "./content.js";
5
+ import { DEFAULT_SLOT } from "@soxa-ui/setup";
6
+ //#region src/adapter/runtime/light.ts
7
+ /**
8
+ * Свет элемента — его содержимое из разметки, разложенное по точкам шаблона.
9
+ * Shadow DOM нет: тема — глобальные классы, и через теневую границу они не
10
+ * проходят. Слот — по атрибуту `slot` (назначенный шаблоном владельца
11
+ * главнее), слот без содержимого не задан, слот, которого шаблон не объявил,
12
+ * не выводится. Раскладывается один раз, переносом силами базы. AGENTS.md
13
+ * (Web Components), «Свет и слоты».
14
+ */
15
+ /** У якоря увезённого корня и у спутника слот — корня: в свет они встают вместо него. */
16
+ function slotOf(node) {
17
+ const assigned = takeAssignedSlot(node);
18
+ if (assigned !== void 0) return assigned;
19
+ return (TTeleport.rootAt(node) ?? (node instanceof Element ? node : void 0))?.getAttribute("slot") ?? DEFAULT_SLOT;
20
+ }
21
+ function groupBySlot(nodes) {
22
+ const groups = /* @__PURE__ */ new Map();
23
+ for (const node of nodes) {
24
+ const name = slotOf(node);
25
+ const group = groups.get(name);
26
+ if (group) group.push(node);
27
+ else groups.set(name, [node]);
28
+ }
29
+ return groups;
30
+ }
31
+ /** Только свои ключи: `slot="toString"` не найдёт метод объекта. */
32
+ function targetOf(targets, name) {
33
+ return Object.hasOwn(targets, name) ? targets[name] : void 0;
34
+ }
35
+ function place(node, target) {
36
+ if (target.slot !== void 0) assignSlot(node, target.slot);
37
+ if (target.mode === "append") target.node.appendChild(node);
38
+ else target.node.parentNode?.insertBefore(node, target.node);
39
+ }
40
+ /** Копия узла образца: у `<template>` — его содержимого; без `slot` — место назначает шаблон. */
41
+ function copyOf(node, owner) {
42
+ if (node instanceof HTMLTemplateElement) return owner.importNode(node.content, true);
43
+ const copy = node.cloneNode(true);
44
+ if (copy instanceof Element) copy.removeAttribute("slot");
45
+ return copy;
46
+ }
47
+ var TLight = class {
48
+ _host;
49
+ /** Заданные слоты; `null` — структура ещё не построена. */
50
+ _slots = null;
51
+ _targets = {};
52
+ /** Слоты, которые привязка сняла: их содержимое вне документа. */
53
+ _hidden = /* @__PURE__ */ new Set();
54
+ _content;
55
+ constructor(_host) {
56
+ this._host = _host;
57
+ this._content = _host;
58
+ }
59
+ get built() {
60
+ return this._slots !== null;
61
+ }
62
+ /** Узел слота по умолчанию; его нет (ProgressSpinner) — сам элемент. */
63
+ get content() {
64
+ return this._content;
65
+ }
66
+ has(name) {
67
+ return this._slots?.has(name) ?? false;
68
+ }
69
+ /** Свет по слотам — до построения шаблона: обёртку слота он строит, только когда она нужна. */
70
+ gather() {
71
+ const groups = groupBySlot(Array.from(this._host.childNodes));
72
+ const slots = /* @__PURE__ */ new Map();
73
+ for (const [name, nodes] of groups) if (nodes.some((node) => isContent(node) || isSlotMark(node))) slots.set(name, nodes);
74
+ this._slots = slots;
75
+ return groups;
76
+ }
77
+ /** По точкам в порядке их объявления; образец уходит из документа, лишнее снимается. */
78
+ distribute(groups, targets) {
79
+ const fallback = targetOf(targets, DEFAULT_SLOT);
80
+ this._content = fallback?.mode === "append" ? fallback.node : this._host;
81
+ this._targets = targets;
82
+ for (const [name, target] of Object.entries(targets)) {
83
+ const nodes = this._slots?.get(name);
84
+ if (!nodes) continue;
85
+ if (target.mode === "sample") {
86
+ for (const node of nodes) node.remove();
87
+ continue;
88
+ }
89
+ relocate(nodes, () => {
90
+ for (const node of nodes) place(node, target);
91
+ });
92
+ }
93
+ for (const [name, nodes] of groups) {
94
+ if (this._slots?.has(name) && targetOf(targets, name)) continue;
95
+ for (const node of nodes) node.remove();
96
+ }
97
+ }
98
+ /** Слот, который выводит привязка (`showSlot`): снятое уходит из документа. */
99
+ show(name, shown) {
100
+ const nodes = this._slots?.get(name);
101
+ const target = targetOf(this._targets, name);
102
+ if (!nodes || !target || target.mode === "sample" || this._hidden.has(name) !== shown) return;
103
+ if (shown) {
104
+ this._hidden.delete(name);
105
+ relocate(nodes, () => {
106
+ for (const node of nodes) place(node, target);
107
+ });
108
+ } else {
109
+ this._hidden.add(name);
110
+ for (const node of nodes) node.remove();
111
+ }
112
+ }
113
+ /** Узлы слота в его точке — копией списка; образец — пусто. */
114
+ slotted(name) {
115
+ const nodes = this._slots?.get(name);
116
+ const target = targetOf(this._targets, name);
117
+ if (!nodes || !target || target.mode === "sample") return [];
118
+ return [...nodes];
119
+ }
120
+ /** Новая копия образца на каждый вызов. */
121
+ sample(name) {
122
+ const nodes = this._slots?.get(name);
123
+ if (!nodes || targetOf(this._targets, name)?.mode !== "sample") return null;
124
+ const owner = this._host.ownerDocument;
125
+ const copy = owner.createDocumentFragment();
126
+ for (const node of nodes) copy.append(copyOf(node, owner));
127
+ return copy;
128
+ }
129
+ };
130
+ //#endregion
131
+ export { TLight };
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Метки узлов — по самому узлу, в слабых коллекциях, а не атрибутом: атрибут
3
+ * оставил бы след в DOM и уехал бы с копией `cloneNode`. AGENTS.md (Web
4
+ * Components), «Метки узлов».
5
+ */
6
+ /** Элемент собирает база: он хозяин места панелей, чей якорь стоит в нём. */
7
+ export declare function markPlaceOwner(element: Element): void;
8
+ export declare function isPlaceOwner(node: Node): boolean;
9
+ /** Элемент построил шаблон библиотеки: его события не всплывают. */
10
+ export declare function markOwnerMarkup(element: Element): void;
11
+ export declare function isOwnerMarkup(element: Element): boolean;
12
+ /** Комментарий задаёт слот детали и пустым (`lendMark`). */
13
+ export declare function markSlot(mark: Comment, slot: string): void;
14
+ export declare function isSlotMark(node: Node): boolean;
15
+ export declare function slotOfMark(node: Node): string | undefined;
16
+ /** Слот в свете детали, назначенный шаблоном владельца, — главнее атрибута `slot`. */
17
+ export declare function assignSlot(node: Node, slot: string): void;
18
+ /** Назначение — на одну раскладку света: дальше узел живёт по своему атрибуту. */
19
+ export declare function takeAssignedSlot(node: Node): string | undefined;
@@ -0,0 +1,46 @@
1
+ //#region src/adapter/runtime/marks.ts
2
+ /**
3
+ * Метки узлов — по самому узлу, в слабых коллекциях, а не атрибутом: атрибут
4
+ * оставил бы след в DOM и уехал бы с копией `cloneNode`. AGENTS.md (Web
5
+ * Components), «Метки узлов».
6
+ */
7
+ var owners = /* @__PURE__ */ new WeakSet();
8
+ var ownerMarkup = /* @__PURE__ */ new WeakSet();
9
+ var slotMarks = /* @__PURE__ */ new WeakMap();
10
+ var assigned = /* @__PURE__ */ new WeakMap();
11
+ /** Элемент собирает база: он хозяин места панелей, чей якорь стоит в нём. */
12
+ function markPlaceOwner(element) {
13
+ owners.add(element);
14
+ }
15
+ function isPlaceOwner(node) {
16
+ return owners.has(node);
17
+ }
18
+ /** Элемент построил шаблон библиотеки: его события не всплывают. */
19
+ function markOwnerMarkup(element) {
20
+ ownerMarkup.add(element);
21
+ }
22
+ function isOwnerMarkup(element) {
23
+ return ownerMarkup.has(element);
24
+ }
25
+ /** Комментарий задаёт слот детали и пустым (`lendMark`). */
26
+ function markSlot(mark, slot) {
27
+ slotMarks.set(mark, slot);
28
+ }
29
+ function isSlotMark(node) {
30
+ return slotMarks.has(node);
31
+ }
32
+ function slotOfMark(node) {
33
+ return slotMarks.get(node);
34
+ }
35
+ /** Слот в свете детали, назначенный шаблоном владельца, — главнее атрибута `slot`. */
36
+ function assignSlot(node, slot) {
37
+ assigned.set(node, slot);
38
+ }
39
+ /** Назначение — на одну раскладку света: дальше узел живёт по своему атрибуту. */
40
+ function takeAssignedSlot(node) {
41
+ const slot = assigned.get(node);
42
+ if (slot !== void 0) assigned.delete(node);
43
+ return slot;
44
+ }
45
+ //#endregion
46
+ export { assignSlot, isOwnerMarkup, isPlaceOwner, isSlotMark, markOwnerMarkup, markPlaceOwner, markSlot, slotOfMark, takeAssignedSlot };
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Раскладка того, что библиотека пишет на узел: атрибуты наборов, классы,
3
+ * стиль и скрытие. Написанное потребителем главнее: по каждому имени память
4
+ * помнит своё значение, своё пишет и снимает, чужое не трогает, — кроме
5
+ * атрибутов-входов пропов (`disabled`), их значение ядра верно всегда. Память —
6
+ * у узла, а не у связки: связка новая на каждое подключение. AGENTS.md (Web
7
+ * Components), «Раскладка на узел».
8
+ */
9
+ /**
10
+ * Атрибуты, которые раскладка пишет или записала: имя → значение и, среди
11
+ * них, входы пропов. Значения — объектом, а не `Map`: узлы с одним набором
12
+ * имён (ячейки таблицы) делят одну форму объекта, и память на узел — десятки
13
+ * байт, а не таблица `Map` на каждый.
14
+ */
15
+ export type TAppliedAttributes = {
16
+ readonly values: Readonly<Record<string, string>>;
17
+ readonly inputs: ReadonlySet<string>;
18
+ };
19
+ export type TAppliedClasses = ReadonlySet<string>;
20
+ /** Имя свойства, как в CSS (`z-index`, `--*`), → значение. */
21
+ export type TRootStyles = ReadonlyMap<string, string>;
22
+ /** Узел нормализует значение: чужое ли свойство — по прочитанному, нужна ли запись — по своему. */
23
+ type TAppliedStyle = {
24
+ readonly value: string;
25
+ readonly written: string;
26
+ };
27
+ export type TAppliedStyles = ReadonlyMap<string, TAppliedStyle>;
28
+ /** `display` до скрытия; `undefined` — узел базой не скрыт. */
29
+ export type THiddenDisplay = string | undefined;
30
+ /**
31
+ * Стиль из слоёв снизу вверх. Число — строкой, пустая строка и не строки
32
+ * свойства не задают. Слои читаются из состояния по имени, вид не на веру.
33
+ */
34
+ export declare function stylesOf(...layers: readonly unknown[]): TRootStyles;
35
+ /** Место элемента в ряду коллекции, как `:style="{ order }"` у Vue. */
36
+ export declare function orderOf(value: unknown): object | undefined;
37
+ export declare function setOf(value: unknown): object;
38
+ export declare function classesOf(value: unknown): readonly string[];
39
+ export declare function applyAttributes(element: Element, wanted: TAppliedAttributes, applied: TAppliedAttributes): TAppliedAttributes;
40
+ export declare function applyClasses(element: Element, classes: readonly string[], applied: TAppliedClasses): TAppliedClasses;
41
+ export declare function applyStyles(element: ElementCSSInlineStyle, styles: TRootStyles, applied: TAppliedStyles): TAppliedStyles;
42
+ /** Как `v-show`: `display: none` поверх `display` потребителя, показ возвращает прежнее. */
43
+ export declare function applyHidden(element: ElementCSSInlineStyle, hidden: boolean, saved: THiddenDisplay): THiddenDisplay;
44
+ /**
45
+ * Слои атрибутов снизу вверх: наборы ядра компонента, чей это корень; набор
46
+ * разметки владельца (`ownerAttributes`); набор, который владелец положил на
47
+ * деталь с полем, — он уходит на её поле.
48
+ */
49
+ export declare const ATTRIBUTE_LAYERS: readonly ["attrs", "aria", "dataset", "owner", "detail"];
50
+ export type TAttributeLayer = (typeof ATTRIBUTE_LAYERS)[number];
51
+ /**
52
+ * Атрибуты узла от всех, кто их пишет, — слоями, одной суммой и одной памятью:
53
+ * две раскладки со своей памятью спорили бы за общее имя.
54
+ */
55
+ export declare class TElementAttributes {
56
+ private readonly _element;
57
+ static of(element: Element): TElementAttributes;
58
+ private readonly _layers;
59
+ private _applied;
60
+ /** Раскладчик поля; `null` — поле ещё не построено; `undefined` — поля нет. */
61
+ private _field;
62
+ private _held;
63
+ private constructor();
64
+ set(layer: TAttributeLayer, set: object, inputs?: ReadonlySet<string>): void;
65
+ /**
66
+ * Значение атрибута, которое ставит раскладка, — сумма слоёв; `undefined` —
67
+ * имени она не называет. Слои новые ещё до записи в узел, поэтому колбэк
68
+ * атрибута, пришедший посреди раскладки, видит уже то, что она пишет.
69
+ */
70
+ wanted(name: string): string | undefined;
71
+ /** У узла есть поле: слой владельца ждёт его построения. */
72
+ awaitField(): void;
73
+ bindField(field: Element): void;
74
+ /** Имя называет только строка: `null` нижний слой не перекрывает. */
75
+ private _sum;
76
+ }
77
+ /** Кто пишет классы и стиль узла: его база или разметка владельца. */
78
+ export type TPaintLayer = 'own' | 'owner';
79
+ /** Память классов, стиля и скрытия узла — по слоям, у самого узла. */
80
+ export declare class TPaint {
81
+ private readonly _element;
82
+ static of(element: HTMLElement): TPaint;
83
+ private readonly _classes;
84
+ private readonly _styles;
85
+ private _display;
86
+ private constructor();
87
+ classes(layer: TPaintLayer, names: readonly string[]): void;
88
+ styles(layer: TPaintLayer, styles: TRootStyles): void;
89
+ hidden(hidden: boolean): void;
90
+ }
91
+ export {};
@@ -0,0 +1,208 @@
1
+ //#region src/adapter/runtime/paint.ts
2
+ var NO_INPUTS = /* @__PURE__ */ new Set();
3
+ var NO_SET = Object.freeze({});
4
+ var NO_ATTRIBUTES = Object.freeze({
5
+ values: Object.freeze({}),
6
+ inputs: NO_INPUTS
7
+ });
8
+ var NO_CLASSES = Object.freeze([]);
9
+ /**
10
+ * Стиль из слоёв снизу вверх. Число — строкой, пустая строка и не строки
11
+ * свойства не задают. Слои читаются из состояния по имени, вид не на веру.
12
+ */
13
+ function stylesOf(...layers) {
14
+ const styles = /* @__PURE__ */ new Map();
15
+ for (const layer of layers) {
16
+ if (typeof layer !== "object" || layer === null) continue;
17
+ for (const [name, value] of Object.entries(layer)) if (typeof value === "number") styles.set(name, String(value));
18
+ else if (typeof value === "string" && value !== "") styles.set(name, value);
19
+ }
20
+ return styles;
21
+ }
22
+ /** Место элемента в ряду коллекции, как `:style="{ order }"` у Vue. */
23
+ function orderOf(value) {
24
+ return typeof value === "number" ? { order: value } : void 0;
25
+ }
26
+ function setOf(value) {
27
+ return typeof value === "object" && value !== null ? value : NO_SET;
28
+ }
29
+ function classesOf(value) {
30
+ return Array.isArray(value) && value.every((name) => typeof name === "string") ? value : NO_CLASSES;
31
+ }
32
+ function applyAttributes(element, wanted, applied) {
33
+ const values = {};
34
+ for (const [name, value] of Object.entries(wanted.values)) {
35
+ const current = element.getAttribute(name);
36
+ if (current !== null && current !== valueOf(applied, name) && !wanted.inputs.has(name)) continue;
37
+ if (current !== value) element.setAttribute(name, value);
38
+ values[name] = value;
39
+ }
40
+ for (const [name, value] of Object.entries(applied.values)) {
41
+ if (Object.hasOwn(values, name)) continue;
42
+ if (applied.inputs.has(name) || element.getAttribute(name) === value) element.removeAttribute(name);
43
+ }
44
+ return {
45
+ values,
46
+ inputs: wanted.inputs
47
+ };
48
+ }
49
+ function valueOf(attributes, name) {
50
+ return Object.hasOwn(attributes.values, name) ? attributes.values[name] : void 0;
51
+ }
52
+ function applyClasses(element, classes, applied) {
53
+ const next = /* @__PURE__ */ new Set();
54
+ for (const name of classes) {
55
+ if (element.classList.contains(name) && !applied.has(name)) continue;
56
+ element.classList.add(name);
57
+ next.add(name);
58
+ }
59
+ for (const name of applied) if (!next.has(name)) element.classList.remove(name);
60
+ return next;
61
+ }
62
+ function applyStyles(element, styles, applied) {
63
+ const { style } = element;
64
+ const next = /* @__PURE__ */ new Map();
65
+ for (const [name, value] of styles) {
66
+ const own = applied.get(name);
67
+ const current = style.getPropertyValue(name);
68
+ if (current !== "") {
69
+ if (own === void 0 || current !== own.written) continue;
70
+ if (own.value === value) {
71
+ next.set(name, own);
72
+ continue;
73
+ }
74
+ }
75
+ style.setProperty(name, value);
76
+ const written = style.getPropertyValue(name);
77
+ if (written !== "") next.set(name, {
78
+ value,
79
+ written
80
+ });
81
+ }
82
+ for (const [name, { written }] of applied) if (!next.has(name) && style.getPropertyValue(name) === written) style.removeProperty(name);
83
+ return next;
84
+ }
85
+ /** Как `v-show`: `display: none` поверх `display` потребителя, показ возвращает прежнее. */
86
+ function applyHidden(element, hidden, saved) {
87
+ if (hidden) {
88
+ if (saved !== void 0) return saved;
89
+ const display = element.style.display;
90
+ element.style.display = "none";
91
+ return display;
92
+ }
93
+ if (saved !== void 0 && element.style.display === "none") element.style.display = saved;
94
+ }
95
+ /**
96
+ * Слои атрибутов снизу вверх: наборы ядра компонента, чей это корень; набор
97
+ * разметки владельца (`ownerAttributes`); набор, который владелец положил на
98
+ * деталь с полем, — он уходит на её поле.
99
+ */
100
+ var ATTRIBUTE_LAYERS = [
101
+ "attrs",
102
+ "aria",
103
+ "dataset",
104
+ "owner",
105
+ "detail"
106
+ ];
107
+ var LAID_OUT = /* @__PURE__ */ new WeakMap();
108
+ /**
109
+ * Атрибуты узла от всех, кто их пишет, — слоями, одной суммой и одной памятью:
110
+ * две раскладки со своей памятью спорили бы за общее имя.
111
+ */
112
+ var TElementAttributes = class TElementAttributes {
113
+ _element;
114
+ static of(element) {
115
+ let attributes = LAID_OUT.get(element);
116
+ if (!attributes) {
117
+ attributes = new TElementAttributes(element);
118
+ LAID_OUT.set(element, attributes);
119
+ }
120
+ return attributes;
121
+ }
122
+ _layers = {};
123
+ _applied = NO_ATTRIBUTES;
124
+ /** Раскладчик поля; `null` — поле ещё не построено; `undefined` — поля нет. */
125
+ _field = void 0;
126
+ _held = NO_SET;
127
+ constructor(_element) {
128
+ this._element = _element;
129
+ }
130
+ set(layer, set, inputs = NO_INPUTS) {
131
+ if (layer === "owner" && this._field !== void 0) {
132
+ this._held = set;
133
+ this._field?.set("detail", set);
134
+ return;
135
+ }
136
+ this._layers[layer] = {
137
+ set,
138
+ inputs
139
+ };
140
+ this._applied = applyAttributes(this._element, this._sum(), this._applied);
141
+ }
142
+ /**
143
+ * Значение атрибута, которое ставит раскладка, — сумма слоёв; `undefined` —
144
+ * имени она не называет. Слои новые ещё до записи в узел, поэтому колбэк
145
+ * атрибута, пришедший посреди раскладки, видит уже то, что она пишет.
146
+ */
147
+ wanted(name) {
148
+ return valueOf(this._sum(), name);
149
+ }
150
+ /** У узла есть поле: слой владельца ждёт его построения. */
151
+ awaitField() {
152
+ if (this._field === void 0) this._field = null;
153
+ }
154
+ bindField(field) {
155
+ const target = TElementAttributes.of(field);
156
+ this._field = target;
157
+ target.set("detail", this._held);
158
+ }
159
+ /** Имя называет только строка: `null` нижний слой не перекрывает. */
160
+ _sum() {
161
+ const values = {};
162
+ let inputs;
163
+ for (const name of ATTRIBUTE_LAYERS) {
164
+ const layer = this._layers[name];
165
+ if (!layer) continue;
166
+ for (const [attribute, value] of Object.entries(layer.set)) {
167
+ if (typeof value !== "string") continue;
168
+ values[attribute] = value;
169
+ if (layer.inputs.has(attribute)) (inputs ??= /* @__PURE__ */ new Set()).add(attribute);
170
+ else inputs?.delete(attribute);
171
+ }
172
+ }
173
+ return {
174
+ values,
175
+ inputs: inputs ?? NO_INPUTS
176
+ };
177
+ }
178
+ };
179
+ var PAINTED = /* @__PURE__ */ new WeakMap();
180
+ /** Память классов, стиля и скрытия узла — по слоям, у самого узла. */
181
+ var TPaint = class TPaint {
182
+ _element;
183
+ static of(element) {
184
+ let paint = PAINTED.get(element);
185
+ if (!paint) {
186
+ paint = new TPaint(element);
187
+ PAINTED.set(element, paint);
188
+ }
189
+ return paint;
190
+ }
191
+ _classes = /* @__PURE__ */ new Map();
192
+ _styles = /* @__PURE__ */ new Map();
193
+ _display = void 0;
194
+ constructor(_element) {
195
+ this._element = _element;
196
+ }
197
+ classes(layer, names) {
198
+ this._classes.set(layer, applyClasses(this._element, names, this._classes.get(layer) ?? /* @__PURE__ */ new Set()));
199
+ }
200
+ styles(layer, styles) {
201
+ this._styles.set(layer, applyStyles(this._element, styles, this._styles.get(layer) ?? /* @__PURE__ */ new Map()));
202
+ }
203
+ hidden(hidden) {
204
+ this._display = applyHidden(this._element, hidden, this._display);
205
+ }
206
+ };
207
+ //#endregion
208
+ export { ATTRIBUTE_LAYERS, TElementAttributes, TPaint, applyAttributes, applyClasses, applyHidden, applyStyles, classesOf, orderOf, setOf, stylesOf };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Пропсы элемента между сборками. Связка новая на каждое подключение, а
3
+ * пропсы — то, что задал потребитель атрибутом или свойством, в последнем
4
+ * значении, какое видел элемент: перестановка не откатывает то, что с тех пор
5
+ * поменяло ядро. Записанное без связки — до подключения, вне DOM или во время
6
+ * сборки — ложится поверх. AGENTS.md (Web Components), «Пропсы между
7
+ * сборками».
8
+ */
9
+ /** Связка, какой её видит хранилище. */
10
+ export type TPropTarget = {
11
+ readonly state: object;
12
+ syncProps(props: object): void;
13
+ };
14
+ export declare class TPropStore {
15
+ /** Последнее значение пропа: от потребителя или из ядра. */
16
+ private readonly _values;
17
+ /** Пропы, которые задавал потребитель. */
18
+ private readonly _given;
19
+ /** Записанное без связки. При живой связке пусто. */
20
+ private _offline;
21
+ /** Снятое без связки до сборки: сборка `undefined` пропускает, снятие идёт следом. */
22
+ private _unset;
23
+ isGiven(name: string): boolean;
24
+ read(name: string, binding: TPropTarget | undefined): unknown;
25
+ write(name: string, value: unknown, binding: TPropTarget | undefined): void;
26
+ /** Значение пришло из ядра. */
27
+ remember(name: string, value: unknown): void;
28
+ /** Пропсы сборки: заданное потребителем, поверх — записанное без связки, и тег корня. */
29
+ open(tag: string): Record<string, unknown>;
30
+ /**
31
+ * The assembly is over: what was unset before it, then what was written
32
+ * during it. Its place is this binding, not the next one: otherwise the next
33
+ * assembly would roll the component back to it.
34
+ */
35
+ close(binding: TPropTarget): void;
36
+ }
@@ -0,0 +1,58 @@
1
+ //#region src/adapter/runtime/props.ts
2
+ var TPropStore = class {
3
+ /** Последнее значение пропа: от потребителя или из ядра. */
4
+ _values = /* @__PURE__ */ new Map();
5
+ /** Пропы, которые задавал потребитель. */
6
+ _given = /* @__PURE__ */ new Set();
7
+ /** Записанное без связки. При живой связке пусто. */
8
+ _offline = /* @__PURE__ */ new Map();
9
+ /** Снятое без связки до сборки: сборка `undefined` пропускает, снятие идёт следом. */
10
+ _unset = /* @__PURE__ */ new Map();
11
+ isGiven(name) {
12
+ return this._given.has(name);
13
+ }
14
+ read(name, binding) {
15
+ if (this._offline.has(name)) return this._offline.get(name);
16
+ if (binding && Object.hasOwn(binding.state, name)) return Reflect.get(binding.state, name);
17
+ return this._values.get(name);
18
+ }
19
+ write(name, value, binding) {
20
+ this._given.add(name);
21
+ if (!binding) {
22
+ this._offline.set(name, value);
23
+ return;
24
+ }
25
+ if (!Object.hasOwn(binding.state, name)) this._values.set(name, value);
26
+ binding.syncProps({ [name]: value });
27
+ }
28
+ /** Значение пришло из ядра. */
29
+ remember(name, value) {
30
+ this._values.set(name, value);
31
+ }
32
+ /** Пропсы сборки: заданное потребителем, поверх — записанное без связки, и тег корня. */
33
+ open(tag) {
34
+ const offline = this._offline;
35
+ const props = {};
36
+ for (const name of this._given) props[name] = this._values.get(name);
37
+ for (const [name, value] of offline) if (value !== void 0) props[name] = value;
38
+ props["tag"] = tag;
39
+ for (const [name, value] of offline) this._values.set(name, value);
40
+ this._offline = /* @__PURE__ */ new Map();
41
+ this._unset = new Map([...offline].filter(([, value]) => value === void 0));
42
+ return props;
43
+ }
44
+ /**
45
+ * The assembly is over: what was unset before it, then what was written
46
+ * during it. Its place is this binding, not the next one: otherwise the next
47
+ * assembly would roll the component back to it.
48
+ */
49
+ close(binding) {
50
+ const late = this._unset;
51
+ for (const [name, value] of this._offline) late.set(name, value);
52
+ this._offline = /* @__PURE__ */ new Map();
53
+ this._unset = /* @__PURE__ */ new Map();
54
+ for (const [name, value] of late) this.write(name, value, binding);
55
+ }
56
+ };
57
+ //#endregion
58
+ export { TPropStore };
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Перенос силами базы — не отключение. Телепорт и раскладка света переносят
3
+ * узлы, не выводя из документа, и колбэки, которые это вызвало, связку не
4
+ * трогают. Признак держится до микрозадачи после переноса: с полифилом
5
+ * колбэки приходят позже. AGENTS.md (Web Components), «Перенос силами базы».
6
+ */
7
+ /** `move` — операции DOM, после которых узлы остаются в документе. */
8
+ export declare function relocate(nodes: readonly Node[], move: () => void): void;
9
+ /** Перенос, чьи колбэки — настоящие, какой бы перенос базы ни держался над узлами. */
10
+ export declare function rebuild(nodes: readonly Node[], move: () => void): void;
11
+ /** Узел снова в документе, и последний перенос на пути вверх — силами базы. */
12
+ export declare function isRelocating(node: Node): boolean;
13
+ /** Элементы, которые переставила операция потребителя: их отключение — настоящее. */
14
+ export declare function owe(elements: Iterable<Element>): void;
15
+ /** Решает колбэк отключения, один раз на отключение: долг гасится. */
16
+ export declare function keepsBinding(element: Element): boolean;
@@ -0,0 +1,58 @@
1
+ //#region src/adapter/runtime/relocation.ts
2
+ /** Набор, а не флаг: узел могли перенести снова, пока держится прошлый признак. */
3
+ var moving = /* @__PURE__ */ new Map();
4
+ var last = 0;
5
+ /** Элементы с долгом: следующее отключение — настоящее. */
6
+ var owing = /* @__PURE__ */ new WeakSet();
7
+ function above(node) {
8
+ const parent = node.parentNode;
9
+ return parent instanceof ShadowRoot ? parent.host : parent;
10
+ }
11
+ function transfer(nodes, rebuilds, move) {
12
+ const current = {
13
+ order: ++last,
14
+ rebuilds
15
+ };
16
+ for (const node of nodes) {
17
+ const transfers = moving.get(node) ?? /* @__PURE__ */ new Set();
18
+ transfers.add(current);
19
+ moving.set(node, transfers);
20
+ }
21
+ try {
22
+ move();
23
+ } finally {
24
+ queueMicrotask(() => {
25
+ for (const node of nodes) {
26
+ const transfers = moving.get(node);
27
+ transfers?.delete(current);
28
+ if (transfers?.size === 0) moving.delete(node);
29
+ }
30
+ });
31
+ }
32
+ }
33
+ /** `move` — операции DOM, после которых узлы остаются в документе. */
34
+ function relocate(nodes, move) {
35
+ transfer(nodes, false, move);
36
+ }
37
+ /** Перенос, чьи колбэки — настоящие, какой бы перенос базы ни держался над узлами. */
38
+ function rebuild(nodes, move) {
39
+ transfer(nodes, true, move);
40
+ }
41
+ /** Узел снова в документе, и последний перенос на пути вверх — силами базы. */
42
+ function isRelocating(node) {
43
+ if (moving.size === 0 || !node.isConnected) return false;
44
+ let latest;
45
+ for (let each = node; each !== null; each = above(each)) for (const transfer of moving.get(each) ?? []) if (latest === void 0 || transfer.order > latest.order) latest = transfer;
46
+ return latest !== void 0 && !latest.rebuilds;
47
+ }
48
+ /** Элементы, которые переставила операция потребителя: их отключение — настоящее. */
49
+ function owe(elements) {
50
+ for (const element of elements) owing.add(element);
51
+ }
52
+ /** Решает колбэк отключения, один раз на отключение: долг гасится. */
53
+ function keepsBinding(element) {
54
+ if (owing.delete(element)) return false;
55
+ return isRelocating(element);
56
+ }
57
+ //#endregion
58
+ export { isRelocating, keepsBinding, owe, rebuild, relocate };