@soxa-ui/setup 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 (588) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +63 -2
  3. package/dist/content/descriptors/components/accordion/accordion.descriptor.d.ts +205 -0
  4. package/dist/content/descriptors/components/accordion/accordion.descriptor.js +80 -0
  5. package/dist/content/descriptors/components/accordion/collection.descriptor.d.ts +76 -0
  6. package/dist/content/descriptors/components/accordion/collection.descriptor.js +60 -0
  7. package/dist/content/descriptors/components/accordion/index.d.ts +3 -0
  8. package/dist/content/descriptors/components/accordion/item.descriptor.d.ts +244 -0
  9. package/dist/content/descriptors/components/accordion/item.descriptor.js +93 -0
  10. package/dist/content/descriptors/components/button.descriptor.d.ts +192 -0
  11. package/dist/content/descriptors/components/button.descriptor.js +39 -0
  12. package/dist/content/descriptors/components/calendar/calendar.descriptor.d.ts +261 -0
  13. package/dist/content/descriptors/components/calendar/calendar.descriptor.js +142 -0
  14. package/dist/content/descriptors/components/calendar/collection.descriptor.d.ts +85 -0
  15. package/dist/content/descriptors/components/calendar/collection.descriptor.js +88 -0
  16. package/dist/content/descriptors/components/calendar/index.d.ts +3 -0
  17. package/dist/content/descriptors/components/calendar/item.descriptor.d.ts +154 -0
  18. package/dist/content/descriptors/components/calendar/item.descriptor.js +65 -0
  19. package/dist/content/descriptors/components/check-box.descriptor.d.ts +227 -0
  20. package/dist/content/descriptors/components/check-box.descriptor.js +65 -0
  21. package/dist/content/descriptors/components/clearable.descriptor.d.ts +213 -0
  22. package/dist/content/descriptors/components/clearable.descriptor.js +51 -0
  23. package/dist/content/descriptors/components/collection/collection.descriptor.d.ts +47 -0
  24. package/dist/content/descriptors/components/collection/collection.descriptor.js +67 -0
  25. package/dist/content/descriptors/components/collection/index.d.ts +1 -0
  26. package/dist/content/descriptors/components/component-view.descriptor.d.ts +110 -0
  27. package/dist/content/descriptors/components/component-view.descriptor.js +103 -0
  28. package/dist/content/descriptors/components/component.descriptor.d.ts +31 -0
  29. package/dist/content/descriptors/components/component.descriptor.js +22 -0
  30. package/dist/content/descriptors/components/control.descriptor.d.ts +135 -0
  31. package/dist/content/descriptors/components/control.descriptor.js +33 -0
  32. package/dist/content/descriptors/components/date-input.descriptor.d.ts +319 -0
  33. package/dist/content/descriptors/components/date-input.descriptor.js +171 -0
  34. package/dist/content/descriptors/components/date-picker.descriptor.d.ts +445 -0
  35. package/dist/content/descriptors/components/date-picker.descriptor.js +255 -0
  36. package/dist/content/descriptors/components/dialog.descriptor.d.ts +256 -0
  37. package/dist/content/descriptors/components/dialog.descriptor.js +94 -0
  38. package/dist/content/descriptors/components/drag-and-drop.descriptor.d.ts +49 -0
  39. package/dist/content/descriptors/components/drag-and-drop.descriptor.js +32 -0
  40. package/dist/content/descriptors/components/drawer.descriptor.d.ts +244 -0
  41. package/dist/content/descriptors/components/drawer.descriptor.js +83 -0
  42. package/dist/content/descriptors/components/entity.descriptor.d.ts +39 -0
  43. package/dist/content/descriptors/components/entity.descriptor.js +37 -0
  44. package/dist/content/descriptors/components/field.descriptor.d.ts +192 -0
  45. package/dist/content/descriptors/components/field.descriptor.js +109 -0
  46. package/dist/content/descriptors/components/frame.descriptor.d.ts +191 -0
  47. package/dist/content/descriptors/components/frame.descriptor.js +66 -0
  48. package/dist/content/descriptors/components/icon.descriptor.d.ts +129 -0
  49. package/dist/content/descriptors/components/icon.descriptor.js +41 -0
  50. package/dist/content/descriptors/components/index.d.ts +50 -0
  51. package/dist/content/descriptors/components/input-control.descriptor.d.ts +176 -0
  52. package/dist/content/descriptors/components/input-control.descriptor.js +32 -0
  53. package/dist/content/descriptors/components/input.descriptor.d.ts +241 -0
  54. package/dist/content/descriptors/components/input.descriptor.js +62 -0
  55. package/dist/content/descriptors/components/interactive.descriptor.d.ts +100 -0
  56. package/dist/content/descriptors/components/interactive.descriptor.js +30 -0
  57. package/dist/content/descriptors/components/item-group.descriptor.d.ts +113 -0
  58. package/dist/content/descriptors/components/item-group.descriptor.js +44 -0
  59. package/dist/content/descriptors/components/item-row.descriptor.d.ts +199 -0
  60. package/dist/content/descriptors/components/item-row.descriptor.js +25 -0
  61. package/dist/content/descriptors/components/label.descriptor.d.ts +130 -0
  62. package/dist/content/descriptors/components/label.descriptor.js +41 -0
  63. package/dist/content/descriptors/components/layer.descriptor.d.ts +99 -0
  64. package/dist/content/descriptors/components/layer.descriptor.js +27 -0
  65. package/dist/content/descriptors/components/list-box/collection.descriptor.d.ts +113 -0
  66. package/dist/content/descriptors/components/list-box/collection.descriptor.js +96 -0
  67. package/dist/content/descriptors/components/list-box/group.descriptor.d.ts +115 -0
  68. package/dist/content/descriptors/components/list-box/group.descriptor.js +21 -0
  69. package/dist/content/descriptors/components/list-box/index.d.ts +4 -0
  70. package/dist/content/descriptors/components/list-box/item.descriptor.d.ts +219 -0
  71. package/dist/content/descriptors/components/list-box/item.descriptor.js +66 -0
  72. package/dist/content/descriptors/components/list-box/list-box.descriptor.d.ts +253 -0
  73. package/dist/content/descriptors/components/list-box/list-box.descriptor.js +106 -0
  74. package/dist/content/descriptors/components/list.d.ts +40 -0
  75. package/dist/content/descriptors/components/list.js +38 -0
  76. package/dist/content/descriptors/components/menu/checkbox-item.descriptor.d.ts +226 -0
  77. package/dist/content/descriptors/components/menu/checkbox-item.descriptor.js +43 -0
  78. package/dist/content/descriptors/components/menu/collection.descriptor.d.ts +201 -0
  79. package/dist/content/descriptors/components/menu/collection.descriptor.js +101 -0
  80. package/dist/content/descriptors/components/menu/group.descriptor.d.ts +112 -0
  81. package/dist/content/descriptors/components/menu/group.descriptor.js +18 -0
  82. package/dist/content/descriptors/components/menu/index.d.ts +10 -0
  83. package/dist/content/descriptors/components/menu/item.descriptor.d.ts +195 -0
  84. package/dist/content/descriptors/components/menu/item.descriptor.js +45 -0
  85. package/dist/content/descriptors/components/menu/menu.descriptor.d.ts +262 -0
  86. package/dist/content/descriptors/components/menu/menu.descriptor.js +177 -0
  87. package/dist/content/descriptors/components/menu/popover-item.descriptor.d.ts +278 -0
  88. package/dist/content/descriptors/components/menu/popover-item.descriptor.js +87 -0
  89. package/dist/content/descriptors/components/menu/radio-group.descriptor.d.ts +134 -0
  90. package/dist/content/descriptors/components/menu/radio-group.descriptor.js +30 -0
  91. package/dist/content/descriptors/components/menu/radio-item.descriptor.d.ts +236 -0
  92. package/dist/content/descriptors/components/menu/radio-item.descriptor.js +51 -0
  93. package/dist/content/descriptors/components/menu/separator.descriptor.d.ts +87 -0
  94. package/dist/content/descriptors/components/menu/separator.descriptor.js +17 -0
  95. package/dist/content/descriptors/components/menu/submenu.descriptor.d.ts +336 -0
  96. package/dist/content/descriptors/components/menu/submenu.descriptor.js +144 -0
  97. package/dist/content/descriptors/components/modal-layer.descriptor.d.ts +197 -0
  98. package/dist/content/descriptors/components/modal-layer.descriptor.js +101 -0
  99. package/dist/content/descriptors/components/number-input.descriptor.d.ts +353 -0
  100. package/dist/content/descriptors/components/number-input.descriptor.js +209 -0
  101. package/dist/content/descriptors/components/pagination/collection.descriptor.d.ts +54 -0
  102. package/dist/content/descriptors/components/pagination/collection.descriptor.js +55 -0
  103. package/dist/content/descriptors/components/pagination/index.d.ts +3 -0
  104. package/dist/content/descriptors/components/pagination/item.descriptor.d.ts +156 -0
  105. package/dist/content/descriptors/components/pagination/item.descriptor.js +68 -0
  106. package/dist/content/descriptors/components/pagination/pagination.descriptor.d.ts +265 -0
  107. package/dist/content/descriptors/components/pagination/pagination.descriptor.js +152 -0
  108. package/dist/content/descriptors/components/popover.descriptor.d.ts +231 -0
  109. package/dist/content/descriptors/components/popover.descriptor.js +156 -0
  110. package/dist/content/descriptors/components/progress-linear.descriptor.d.ts +165 -0
  111. package/dist/content/descriptors/components/progress-linear.descriptor.js +43 -0
  112. package/dist/content/descriptors/components/progress-spinner.descriptor.d.ts +161 -0
  113. package/dist/content/descriptors/components/progress-spinner.descriptor.js +36 -0
  114. package/dist/content/descriptors/components/progress.descriptor.d.ts +149 -0
  115. package/dist/content/descriptors/components/progress.descriptor.js +53 -0
  116. package/dist/content/descriptors/components/radio-group/collection.descriptor.d.ts +70 -0
  117. package/dist/content/descriptors/components/radio-group/collection.descriptor.js +56 -0
  118. package/dist/content/descriptors/components/radio-group/index.d.ts +3 -0
  119. package/dist/content/descriptors/components/radio-group/item.descriptor.d.ts +193 -0
  120. package/dist/content/descriptors/components/radio-group/item.descriptor.js +47 -0
  121. package/dist/content/descriptors/components/radio-group/radio-group.descriptor.d.ts +197 -0
  122. package/dist/content/descriptors/components/radio-group/radio-group.descriptor.js +66 -0
  123. package/dist/content/descriptors/components/rating.descriptor.d.ts +233 -0
  124. package/dist/content/descriptors/components/rating.descriptor.js +89 -0
  125. package/dist/content/descriptors/components/scroller.descriptor.d.ts +208 -0
  126. package/dist/content/descriptors/components/scroller.descriptor.js +91 -0
  127. package/dist/content/descriptors/components/select/collection.descriptor.d.ts +135 -0
  128. package/dist/content/descriptors/components/select/collection.descriptor.js +119 -0
  129. package/dist/content/descriptors/components/select/group.descriptor.d.ts +115 -0
  130. package/dist/content/descriptors/components/select/group.descriptor.js +21 -0
  131. package/dist/content/descriptors/components/select/index.d.ts +4 -0
  132. package/dist/content/descriptors/components/select/item.descriptor.d.ts +210 -0
  133. package/dist/content/descriptors/components/select/item.descriptor.js +56 -0
  134. package/dist/content/descriptors/components/select/select.descriptor.d.ts +454 -0
  135. package/dist/content/descriptors/components/select/select.descriptor.js +267 -0
  136. package/dist/content/descriptors/components/skeleton.descriptor.d.ts +127 -0
  137. package/dist/content/descriptors/components/skeleton.descriptor.js +53 -0
  138. package/dist/content/descriptors/components/slider.descriptor.d.ts +298 -0
  139. package/dist/content/descriptors/components/slider.descriptor.js +205 -0
  140. package/dist/content/descriptors/components/stylable.descriptor.d.ts +126 -0
  141. package/dist/content/descriptors/components/stylable.descriptor.js +52 -0
  142. package/dist/content/descriptors/components/switch.descriptor.d.ts +217 -0
  143. package/dist/content/descriptors/components/switch.descriptor.js +53 -0
  144. package/dist/content/descriptors/components/table/collection.descriptor.d.ts +183 -0
  145. package/dist/content/descriptors/components/table/collection.descriptor.js +178 -0
  146. package/dist/content/descriptors/components/table/column.descriptor.d.ts +237 -0
  147. package/dist/content/descriptors/components/table/column.descriptor.js +173 -0
  148. package/dist/content/descriptors/components/table/index.d.ts +4 -0
  149. package/dist/content/descriptors/components/table/row.descriptor.d.ts +166 -0
  150. package/dist/content/descriptors/components/table/row.descriptor.js +75 -0
  151. package/dist/content/descriptors/components/table/table.descriptor.d.ts +271 -0
  152. package/dist/content/descriptors/components/table/table.descriptor.js +164 -0
  153. package/dist/content/descriptors/components/tabs/collection.descriptor.d.ts +72 -0
  154. package/dist/content/descriptors/components/tabs/collection.descriptor.js +59 -0
  155. package/dist/content/descriptors/components/tabs/content.descriptor.d.ts +136 -0
  156. package/dist/content/descriptors/components/tabs/content.descriptor.js +52 -0
  157. package/dist/content/descriptors/components/tabs/index.d.ts +4 -0
  158. package/dist/content/descriptors/components/tabs/item.descriptor.d.ts +213 -0
  159. package/dist/content/descriptors/components/tabs/item.descriptor.js +67 -0
  160. package/dist/content/descriptors/components/tabs/tabs.descriptor.d.ts +220 -0
  161. package/dist/content/descriptors/components/tabs/tabs.descriptor.js +105 -0
  162. package/dist/content/descriptors/components/tags/collection.descriptor.d.ts +79 -0
  163. package/dist/content/descriptors/components/tags/collection.descriptor.js +63 -0
  164. package/dist/content/descriptors/components/tags/index.d.ts +3 -0
  165. package/dist/content/descriptors/components/tags/item.descriptor.d.ts +216 -0
  166. package/dist/content/descriptors/components/tags/item.descriptor.js +73 -0
  167. package/dist/content/descriptors/components/tags/tags.descriptor.d.ts +240 -0
  168. package/dist/content/descriptors/components/tags/tags.descriptor.js +109 -0
  169. package/dist/content/descriptors/components/textable.descriptor.d.ts +147 -0
  170. package/dist/content/descriptors/components/textable.descriptor.js +24 -0
  171. package/dist/content/descriptors/components/textarea.descriptor.d.ts +249 -0
  172. package/dist/content/descriptors/components/textarea.descriptor.js +95 -0
  173. package/dist/content/descriptors/components/toasts/collection.descriptor.d.ts +59 -0
  174. package/dist/content/descriptors/components/toasts/collection.descriptor.js +39 -0
  175. package/dist/content/descriptors/components/toasts/index.d.ts +3 -0
  176. package/dist/content/descriptors/components/toasts/item.descriptor.d.ts +173 -0
  177. package/dist/content/descriptors/components/toasts/item.descriptor.js +106 -0
  178. package/dist/content/descriptors/components/toasts/toasts.descriptor.d.ts +167 -0
  179. package/dist/content/descriptors/components/toasts/toasts.descriptor.js +94 -0
  180. package/dist/content/descriptors/components/tooltip.descriptor.d.ts +156 -0
  181. package/dist/content/descriptors/components/tooltip.descriptor.js +83 -0
  182. package/dist/content/descriptors/components/value-control.descriptor.d.ts +151 -0
  183. package/dist/content/descriptors/components/value-control.descriptor.js +36 -0
  184. package/dist/content/descriptors/components/virtual.descriptor.d.ts +55 -0
  185. package/dist/content/descriptors/components/virtual.descriptor.js +37 -0
  186. package/dist/content/descriptors/index.d.ts +2 -0
  187. package/dist/content/descriptors/plugins/accordion-item-ids.plugin.d.ts +9 -0
  188. package/dist/content/descriptors/plugins/accordion-item-ids.plugin.js +16 -0
  189. package/dist/content/descriptors/plugins/action.plugin.d.ts +11 -0
  190. package/dist/content/descriptors/plugins/action.plugin.js +27 -0
  191. package/dist/content/descriptors/plugins/anchor.plugin.d.ts +47 -0
  192. package/dist/content/descriptors/plugins/anchor.plugin.js +73 -0
  193. package/dist/content/descriptors/plugins/aria.plugin.d.ts +34 -0
  194. package/dist/content/descriptors/plugins/aria.plugin.js +55 -0
  195. package/dist/content/descriptors/plugins/calendar-ids.plugin.d.ts +9 -0
  196. package/dist/content/descriptors/plugins/calendar-ids.plugin.js +16 -0
  197. package/dist/content/descriptors/plugins/calendar-keyboard.plugin.d.ts +11 -0
  198. package/dist/content/descriptors/plugins/calendar-keyboard.plugin.js +18 -0
  199. package/dist/content/descriptors/plugins/calendar-names.plugin.d.ts +10 -0
  200. package/dist/content/descriptors/plugins/calendar-names.plugin.js +17 -0
  201. package/dist/content/descriptors/plugins/calendar-pointer.plugin.d.ts +11 -0
  202. package/dist/content/descriptors/plugins/calendar-pointer.plugin.js +18 -0
  203. package/dist/content/descriptors/plugins/clearable-names.plugin.d.ts +10 -0
  204. package/dist/content/descriptors/plugins/clearable-names.plugin.js +17 -0
  205. package/dist/content/descriptors/plugins/collection-bundles.plugin.d.ts +7 -0
  206. package/dist/content/descriptors/plugins/collection-bundles.plugin.js +14 -0
  207. package/dist/content/descriptors/plugins/collection-elements.plugin.d.ts +7 -0
  208. package/dist/content/descriptors/plugins/collection-elements.plugin.js +14 -0
  209. package/dist/content/descriptors/plugins/date-input-clipboard.plugin.d.ts +9 -0
  210. package/dist/content/descriptors/plugins/date-input-clipboard.plugin.js +16 -0
  211. package/dist/content/descriptors/plugins/date-input-ids.plugin.d.ts +8 -0
  212. package/dist/content/descriptors/plugins/date-input-ids.plugin.js +15 -0
  213. package/dist/content/descriptors/plugins/date-input-keyboard.plugin.d.ts +11 -0
  214. package/dist/content/descriptors/plugins/date-input-keyboard.plugin.js +18 -0
  215. package/dist/content/descriptors/plugins/date-input-pointer.plugin.d.ts +10 -0
  216. package/dist/content/descriptors/plugins/date-input-pointer.plugin.js +17 -0
  217. package/dist/content/descriptors/plugins/date-input-touch.plugin.d.ts +12 -0
  218. package/dist/content/descriptors/plugins/date-input-touch.plugin.js +19 -0
  219. package/dist/content/descriptors/plugins/date-picker-focus.plugin.d.ts +12 -0
  220. package/dist/content/descriptors/plugins/date-picker-focus.plugin.js +25 -0
  221. package/dist/content/descriptors/plugins/date-picker-ids.plugin.d.ts +10 -0
  222. package/dist/content/descriptors/plugins/date-picker-ids.plugin.js +17 -0
  223. package/dist/content/descriptors/plugins/date-picker-names.plugin.d.ts +32 -0
  224. package/dist/content/descriptors/plugins/date-picker-names.plugin.js +38 -0
  225. package/dist/content/descriptors/plugins/date-picker-trigger.plugin.d.ts +7 -0
  226. package/dist/content/descriptors/plugins/date-picker-trigger.plugin.js +20 -0
  227. package/dist/content/descriptors/plugins/dialog-ids.plugin.d.ts +10 -0
  228. package/dist/content/descriptors/plugins/dialog-ids.plugin.js +17 -0
  229. package/dist/content/descriptors/plugins/dialog-layout.plugin.d.ts +26 -0
  230. package/dist/content/descriptors/plugins/dialog-layout.plugin.js +34 -0
  231. package/dist/content/descriptors/plugins/dialog-names.plugin.d.ts +9 -0
  232. package/dist/content/descriptors/plugins/dialog-names.plugin.js +16 -0
  233. package/dist/content/descriptors/plugins/dismiss.plugin.d.ts +34 -0
  234. package/dist/content/descriptors/plugins/dismiss.plugin.js +51 -0
  235. package/dist/content/descriptors/plugins/drag.plugin.d.ts +5 -0
  236. package/dist/content/descriptors/plugins/drag.plugin.js +12 -0
  237. package/dist/content/descriptors/plugins/drawer-layout.plugin.d.ts +22 -0
  238. package/dist/content/descriptors/plugins/drawer-layout.plugin.js +28 -0
  239. package/dist/content/descriptors/plugins/element.plugin.d.ts +9 -0
  240. package/dist/content/descriptors/plugins/element.plugin.js +15 -0
  241. package/dist/content/descriptors/plugins/field-ids.plugin.d.ts +12 -0
  242. package/dist/content/descriptors/plugins/field-ids.plugin.js +19 -0
  243. package/dist/content/descriptors/plugins/frame-layout.plugin.d.ts +14 -0
  244. package/dist/content/descriptors/plugins/frame-layout.plugin.js +18 -0
  245. package/dist/content/descriptors/plugins/hide-outside.plugin.d.ts +19 -0
  246. package/dist/content/descriptors/plugins/hide-outside.plugin.js +29 -0
  247. package/dist/content/descriptors/plugins/icon-layout.plugin.d.ts +15 -0
  248. package/dist/content/descriptors/plugins/icon-layout.plugin.js +19 -0
  249. package/dist/content/descriptors/plugins/id.plugin.d.ts +26 -0
  250. package/dist/content/descriptors/plugins/id.plugin.js +31 -0
  251. package/dist/content/descriptors/plugins/index.d.ts +114 -0
  252. package/dist/content/descriptors/plugins/input-bool.plugin.d.ts +7 -0
  253. package/dist/content/descriptors/plugins/input-bool.plugin.js +14 -0
  254. package/dist/content/descriptors/plugins/input-control.plugin.d.ts +7 -0
  255. package/dist/content/descriptors/plugins/input-control.plugin.js +14 -0
  256. package/dist/content/descriptors/plugins/input.plugin.d.ts +9 -0
  257. package/dist/content/descriptors/plugins/input.plugin.js +16 -0
  258. package/dist/content/descriptors/plugins/item-group-ids.plugin.d.ts +10 -0
  259. package/dist/content/descriptors/plugins/item-group-ids.plugin.js +17 -0
  260. package/dist/content/descriptors/plugins/label-nested-warn.plugin.d.ts +8 -0
  261. package/dist/content/descriptors/plugins/label-nested-warn.plugin.js +15 -0
  262. package/dist/content/descriptors/plugins/list-height.plugin.d.ts +8 -0
  263. package/dist/content/descriptors/plugins/list-height.plugin.js +15 -0
  264. package/dist/content/descriptors/plugins/list-item.plugin.d.ts +15 -0
  265. package/dist/content/descriptors/plugins/list-item.plugin.js +19 -0
  266. package/dist/content/descriptors/plugins/list-keyboard.plugin.d.ts +5 -0
  267. package/dist/content/descriptors/plugins/list-keyboard.plugin.js +12 -0
  268. package/dist/content/descriptors/plugins/list-scroll.plugin.d.ts +16 -0
  269. package/dist/content/descriptors/plugins/list-scroll.plugin.js +23 -0
  270. package/dist/content/descriptors/plugins/locale.plugin.d.ts +13 -0
  271. package/dist/content/descriptors/plugins/locale.plugin.js +20 -0
  272. package/dist/content/descriptors/plugins/menu-focus.plugin.d.ts +11 -0
  273. package/dist/content/descriptors/plugins/menu-focus.plugin.js +18 -0
  274. package/dist/content/descriptors/plugins/menu-hover.plugin.d.ts +12 -0
  275. package/dist/content/descriptors/plugins/menu-hover.plugin.js +19 -0
  276. package/dist/content/descriptors/plugins/menu-ids.plugin.d.ts +10 -0
  277. package/dist/content/descriptors/plugins/menu-ids.plugin.js +17 -0
  278. package/dist/content/descriptors/plugins/menu-keyboard.plugin.d.ts +15 -0
  279. package/dist/content/descriptors/plugins/menu-keyboard.plugin.js +22 -0
  280. package/dist/content/descriptors/plugins/menu-pointer.plugin.d.ts +13 -0
  281. package/dist/content/descriptors/plugins/menu-pointer.plugin.js +20 -0
  282. package/dist/content/descriptors/plugins/menu-popover-item-focus.plugin.d.ts +15 -0
  283. package/dist/content/descriptors/plugins/menu-popover-item-focus.plugin.js +22 -0
  284. package/dist/content/descriptors/plugins/menu-popover-item-keyboard.plugin.d.ts +13 -0
  285. package/dist/content/descriptors/plugins/menu-popover-item-keyboard.plugin.js +20 -0
  286. package/dist/content/descriptors/plugins/menu-popup-ids.plugin.d.ts +10 -0
  287. package/dist/content/descriptors/plugins/menu-popup-ids.plugin.js +17 -0
  288. package/dist/content/descriptors/plugins/menu-submenu-focus.plugin.d.ts +12 -0
  289. package/dist/content/descriptors/plugins/menu-submenu-focus.plugin.js +19 -0
  290. package/dist/content/descriptors/plugins/menu-submenu-keyboard.plugin.d.ts +15 -0
  291. package/dist/content/descriptors/plugins/menu-submenu-keyboard.plugin.js +22 -0
  292. package/dist/content/descriptors/plugins/modal-focus.plugin.d.ts +11 -0
  293. package/dist/content/descriptors/plugins/modal-focus.plugin.js +24 -0
  294. package/dist/content/descriptors/plugins/modal-ids.plugin.d.ts +9 -0
  295. package/dist/content/descriptors/plugins/modal-ids.plugin.js +16 -0
  296. package/dist/content/descriptors/plugins/modal-names.plugin.d.ts +9 -0
  297. package/dist/content/descriptors/plugins/modal-names.plugin.js +16 -0
  298. package/dist/content/descriptors/plugins/number-input-keyboard.plugin.d.ts +10 -0
  299. package/dist/content/descriptors/plugins/number-input-keyboard.plugin.js +17 -0
  300. package/dist/content/descriptors/plugins/number-input-names.plugin.d.ts +10 -0
  301. package/dist/content/descriptors/plugins/number-input-names.plugin.js +17 -0
  302. package/dist/content/descriptors/plugins/number-input-stepper.plugin.d.ts +12 -0
  303. package/dist/content/descriptors/plugins/number-input-stepper.plugin.js +19 -0
  304. package/dist/content/descriptors/plugins/number-input-touch.plugin.d.ts +10 -0
  305. package/dist/content/descriptors/plugins/number-input-touch.plugin.js +17 -0
  306. package/dist/content/descriptors/plugins/number-input-typing.plugin.d.ts +11 -0
  307. package/dist/content/descriptors/plugins/number-input-typing.plugin.js +18 -0
  308. package/dist/content/descriptors/plugins/option-ids.plugin.d.ts +9 -0
  309. package/dist/content/descriptors/plugins/option-ids.plugin.js +16 -0
  310. package/dist/content/descriptors/plugins/pagination-focus.plugin.d.ts +10 -0
  311. package/dist/content/descriptors/plugins/pagination-focus.plugin.js +17 -0
  312. package/dist/content/descriptors/plugins/pagination-names.plugin.d.ts +10 -0
  313. package/dist/content/descriptors/plugins/pagination-names.plugin.js +17 -0
  314. package/dist/content/descriptors/plugins/popover-focus.plugin.d.ts +10 -0
  315. package/dist/content/descriptors/plugins/popover-focus.plugin.js +23 -0
  316. package/dist/content/descriptors/plugins/popover-ids.plugin.d.ts +9 -0
  317. package/dist/content/descriptors/plugins/popover-ids.plugin.js +16 -0
  318. package/dist/content/descriptors/plugins/popover-names.plugin.d.ts +9 -0
  319. package/dist/content/descriptors/plugins/popover-names.plugin.js +16 -0
  320. package/dist/content/descriptors/plugins/popover-pointer.plugin.d.ts +8 -0
  321. package/dist/content/descriptors/plugins/popover-pointer.plugin.js +21 -0
  322. package/dist/content/descriptors/plugins/radio-group-checked.plugin.d.ts +9 -0
  323. package/dist/content/descriptors/plugins/radio-group-checked.plugin.js +16 -0
  324. package/dist/content/descriptors/plugins/radio-group-name.plugin.d.ts +9 -0
  325. package/dist/content/descriptors/plugins/radio-group-name.plugin.js +16 -0
  326. package/dist/content/descriptors/plugins/rating-hover.plugin.d.ts +10 -0
  327. package/dist/content/descriptors/plugins/rating-hover.plugin.js +17 -0
  328. package/dist/content/descriptors/plugins/rating-names.plugin.d.ts +9 -0
  329. package/dist/content/descriptors/plugins/rating-names.plugin.js +16 -0
  330. package/dist/content/descriptors/plugins/rating-validity.plugin.d.ts +10 -0
  331. package/dist/content/descriptors/plugins/rating-validity.plugin.js +17 -0
  332. package/dist/content/descriptors/plugins/ready.plugin.d.ts +7 -0
  333. package/dist/content/descriptors/plugins/ready.plugin.js +14 -0
  334. package/dist/content/descriptors/plugins/scroll-lock.plugin.d.ts +18 -0
  335. package/dist/content/descriptors/plugins/scroll-lock.plugin.js +29 -0
  336. package/dist/content/descriptors/plugins/scroller-names.plugin.d.ts +9 -0
  337. package/dist/content/descriptors/plugins/scroller-names.plugin.js +16 -0
  338. package/dist/content/descriptors/plugins/scroller-viewport.plugin.d.ts +9 -0
  339. package/dist/content/descriptors/plugins/scroller-viewport.plugin.js +16 -0
  340. package/dist/content/descriptors/plugins/select-backspace.plugin.d.ts +10 -0
  341. package/dist/content/descriptors/plugins/select-backspace.plugin.js +25 -0
  342. package/dist/content/descriptors/plugins/select-editable.plugin.d.ts +18 -0
  343. package/dist/content/descriptors/plugins/select-editable.plugin.js +31 -0
  344. package/dist/content/descriptors/plugins/select-ids.plugin.d.ts +9 -0
  345. package/dist/content/descriptors/plugins/select-ids.plugin.js +16 -0
  346. package/dist/content/descriptors/plugins/select-keyboard.plugin.d.ts +21 -0
  347. package/dist/content/descriptors/plugins/select-keyboard.plugin.js +33 -0
  348. package/dist/content/descriptors/plugins/select-pointer.plugin.d.ts +9 -0
  349. package/dist/content/descriptors/plugins/select-pointer.plugin.js +24 -0
  350. package/dist/content/descriptors/plugins/skeleton-layout.plugin.d.ts +14 -0
  351. package/dist/content/descriptors/plugins/skeleton-layout.plugin.js +18 -0
  352. package/dist/content/descriptors/plugins/slide-keyboard.plugin.d.ts +9 -0
  353. package/dist/content/descriptors/plugins/slide-keyboard.plugin.js +16 -0
  354. package/dist/content/descriptors/plugins/slide-pointer.plugin.d.ts +12 -0
  355. package/dist/content/descriptors/plugins/slide-pointer.plugin.js +19 -0
  356. package/dist/content/descriptors/plugins/swipe.plugin.d.ts +13 -0
  357. package/dist/content/descriptors/plugins/swipe.plugin.js +20 -0
  358. package/dist/content/descriptors/plugins/table-column-ids.plugin.d.ts +10 -0
  359. package/dist/content/descriptors/plugins/table-column-ids.plugin.js +17 -0
  360. package/dist/content/descriptors/plugins/table-column-names.plugin.d.ts +9 -0
  361. package/dist/content/descriptors/plugins/table-column-names.plugin.js +16 -0
  362. package/dist/content/descriptors/plugins/table-column-reorder.plugin.d.ts +13 -0
  363. package/dist/content/descriptors/plugins/table-column-reorder.plugin.js +20 -0
  364. package/dist/content/descriptors/plugins/table-column-resize.plugin.d.ts +12 -0
  365. package/dist/content/descriptors/plugins/table-column-resize.plugin.js +19 -0
  366. package/dist/content/descriptors/plugins/table-grid.plugin.d.ts +15 -0
  367. package/dist/content/descriptors/plugins/table-grid.plugin.js +22 -0
  368. package/dist/content/descriptors/plugins/table-layout.plugin.d.ts +12 -0
  369. package/dist/content/descriptors/plugins/table-layout.plugin.js +19 -0
  370. package/dist/content/descriptors/plugins/table-names.plugin.d.ts +16 -0
  371. package/dist/content/descriptors/plugins/table-names.plugin.js +20 -0
  372. package/dist/content/descriptors/plugins/table-row-ids.plugin.d.ts +9 -0
  373. package/dist/content/descriptors/plugins/table-row-ids.plugin.js +16 -0
  374. package/dist/content/descriptors/plugins/tabs-active-tab.plugin.d.ts +5 -0
  375. package/dist/content/descriptors/plugins/tabs-active-tab.plugin.js +12 -0
  376. package/dist/content/descriptors/plugins/tabs-content-warn.plugin.d.ts +8 -0
  377. package/dist/content/descriptors/plugins/tabs-content-warn.plugin.js +15 -0
  378. package/dist/content/descriptors/plugins/tabs-item-ids.plugin.d.ts +8 -0
  379. package/dist/content/descriptors/plugins/tabs-item-ids.plugin.js +15 -0
  380. package/dist/content/descriptors/plugins/tabs-item-names.plugin.d.ts +9 -0
  381. package/dist/content/descriptors/plugins/tabs-item-names.plugin.js +16 -0
  382. package/dist/content/descriptors/plugins/tabs-keyboard.plugin.d.ts +8 -0
  383. package/dist/content/descriptors/plugins/tabs-keyboard.plugin.js +15 -0
  384. package/dist/content/descriptors/plugins/tabs-layout.plugin.d.ts +5 -0
  385. package/dist/content/descriptors/plugins/tabs-layout.plugin.js +12 -0
  386. package/dist/content/descriptors/plugins/tags-item-names.plugin.d.ts +9 -0
  387. package/dist/content/descriptors/plugins/tags-item-names.plugin.js +16 -0
  388. package/dist/content/descriptors/plugins/tags-keyboard.plugin.d.ts +9 -0
  389. package/dist/content/descriptors/plugins/tags-keyboard.plugin.js +16 -0
  390. package/dist/content/descriptors/plugins/tags-scroll.plugin.d.ts +10 -0
  391. package/dist/content/descriptors/plugins/tags-scroll.plugin.js +17 -0
  392. package/dist/content/descriptors/plugins/textarea-autoresize.plugin.d.ts +10 -0
  393. package/dist/content/descriptors/plugins/textarea-autoresize.plugin.js +17 -0
  394. package/dist/content/descriptors/plugins/textarea-ids.plugin.d.ts +11 -0
  395. package/dist/content/descriptors/plugins/textarea-ids.plugin.js +18 -0
  396. package/dist/content/descriptors/plugins/textarea-names.plugin.d.ts +17 -0
  397. package/dist/content/descriptors/plugins/textarea-names.plugin.js +21 -0
  398. package/dist/content/descriptors/plugins/toasts-cascade.plugin.d.ts +10 -0
  399. package/dist/content/descriptors/plugins/toasts-cascade.plugin.js +17 -0
  400. package/dist/content/descriptors/plugins/toasts-item-names.plugin.d.ts +9 -0
  401. package/dist/content/descriptors/plugins/toasts-item-names.plugin.js +16 -0
  402. package/dist/content/descriptors/plugins/toasts-keyboard.plugin.d.ts +9 -0
  403. package/dist/content/descriptors/plugins/toasts-keyboard.plugin.js +16 -0
  404. package/dist/content/descriptors/plugins/toasts-layout.plugin.d.ts +16 -0
  405. package/dist/content/descriptors/plugins/toasts-layout.plugin.js +20 -0
  406. package/dist/content/descriptors/plugins/toasts-names.plugin.d.ts +8 -0
  407. package/dist/content/descriptors/plugins/toasts-names.plugin.js +15 -0
  408. package/dist/content/descriptors/plugins/toasts-removal.plugin.d.ts +9 -0
  409. package/dist/content/descriptors/plugins/toasts-removal.plugin.js +16 -0
  410. package/dist/content/descriptors/plugins/toasts-timer.plugin.d.ts +9 -0
  411. package/dist/content/descriptors/plugins/toasts-timer.plugin.js +16 -0
  412. package/dist/content/descriptors/plugins/tooltip-ids.plugin.d.ts +9 -0
  413. package/dist/content/descriptors/plugins/tooltip-ids.plugin.js +16 -0
  414. package/dist/content/descriptors/plugins/tooltip-trigger.plugin.d.ts +10 -0
  415. package/dist/content/descriptors/plugins/tooltip-trigger.plugin.js +23 -0
  416. package/dist/content/extensions/collection/collection-item.extension.class.d.ts +64 -0
  417. package/dist/content/extensions/collection/collection-item.extension.class.js +111 -0
  418. package/dist/content/extensions/collection/collection.extension.class.d.ts +21 -0
  419. package/dist/content/extensions/collection/collection.extension.class.js +57 -0
  420. package/dist/content/extensions/collection/index.d.ts +3 -0
  421. package/dist/content/extensions/collection/item-props.d.ts +13 -0
  422. package/dist/content/extensions/collection/item-props.js +20 -0
  423. package/dist/content/extensions/collection/keys.d.ts +23 -0
  424. package/dist/content/extensions/collection/keys.js +17 -0
  425. package/dist/content/extensions/collection/members.class.d.ts +24 -0
  426. package/dist/content/extensions/collection/members.class.js +18 -0
  427. package/dist/content/extensions/collection/types.d.ts +41 -0
  428. package/dist/content/extensions/drag-and-drop/drag-and-drop-collection.extension.class.d.ts +26 -0
  429. package/dist/content/extensions/drag-and-drop/drag-and-drop-collection.extension.class.js +34 -0
  430. package/dist/content/extensions/drag-and-drop/drag-and-drop.extension.class.d.ts +21 -0
  431. package/dist/content/extensions/drag-and-drop/drag-and-drop.extension.class.js +9 -0
  432. package/dist/content/extensions/drag-and-drop/index.d.ts +3 -0
  433. package/dist/content/extensions/drag-and-drop/keys.d.ts +15 -0
  434. package/dist/content/extensions/drag-and-drop/keys.js +9 -0
  435. package/dist/content/extensions/drag-and-drop/types.d.ts +10 -0
  436. package/dist/content/extensions/field/field-control.extension.class.d.ts +63 -0
  437. package/dist/content/extensions/field/field-control.extension.class.js +172 -0
  438. package/dist/content/extensions/field/field.extension.class.d.ts +21 -0
  439. package/dist/content/extensions/field/field.extension.class.js +14 -0
  440. package/dist/content/extensions/field/index.d.ts +3 -0
  441. package/dist/content/extensions/field/keys.d.ts +14 -0
  442. package/dist/content/extensions/field/keys.js +8 -0
  443. package/dist/content/extensions/field/types.d.ts +36 -0
  444. package/dist/content/extensions/index.d.ts +8 -0
  445. package/dist/content/extensions/item-group/index.d.ts +2 -0
  446. package/dist/content/extensions/item-group/item-group.extension.class.d.ts +49 -0
  447. package/dist/content/extensions/item-group/item-group.extension.class.js +91 -0
  448. package/dist/content/extensions/item-group/keys.d.ts +15 -0
  449. package/dist/content/extensions/item-group/keys.js +9 -0
  450. package/dist/content/extensions/item-group/types.d.ts +34 -0
  451. package/dist/content/extensions/menu/index.d.ts +3 -0
  452. package/dist/content/extensions/menu/keys.d.ts +10 -0
  453. package/dist/content/extensions/menu/keys.js +5 -0
  454. package/dist/content/extensions/menu/radio-group.extension.class.d.ts +22 -0
  455. package/dist/content/extensions/menu/radio-group.extension.class.js +9 -0
  456. package/dist/content/extensions/menu/radio-item.extension.class.d.ts +20 -0
  457. package/dist/content/extensions/menu/radio-item.extension.class.js +10 -0
  458. package/dist/content/extensions/menu/types.d.ts +10 -0
  459. package/dist/content/extensions/tabs/index.d.ts +2 -0
  460. package/dist/content/extensions/tabs/tabs-content-binding.extension.class.d.ts +69 -0
  461. package/dist/content/extensions/tabs/tabs-content-binding.extension.class.js +184 -0
  462. package/dist/content/extensions/tabs/types.d.ts +11 -0
  463. package/dist/content/extensions/toasts/index.d.ts +3 -0
  464. package/dist/content/extensions/toasts/keys.d.ts +11 -0
  465. package/dist/content/extensions/toasts/keys.js +5 -0
  466. package/dist/content/extensions/toasts/toasts-api.extension.class.d.ts +23 -0
  467. package/dist/content/extensions/toasts/toasts-api.extension.class.js +9 -0
  468. package/dist/content/extensions/toasts/types.d.ts +19 -0
  469. package/dist/content/extensions/virtual/index.d.ts +3 -0
  470. package/dist/content/extensions/virtual/keys.d.ts +15 -0
  471. package/dist/content/extensions/virtual/keys.js +8 -0
  472. package/dist/content/extensions/virtual/types.d.ts +40 -0
  473. package/dist/content/extensions/virtual/virtual-collection.extension.class.d.ts +33 -0
  474. package/dist/content/extensions/virtual/virtual-collection.extension.class.js +15 -0
  475. package/dist/content/extensions/virtual/virtual.extension.class.d.ts +36 -0
  476. package/dist/content/extensions/virtual/virtual.extension.class.js +74 -0
  477. package/dist/content/icons/index.d.ts +2 -0
  478. package/dist/content/icons/roles.d.ts +29 -0
  479. package/dist/content/icons/roles.js +36 -0
  480. package/dist/content/index.d.ts +3 -0
  481. package/dist/index.d.ts +2 -0
  482. package/dist/index.js +236 -0
  483. package/dist/protected/adapter/common/index.d.ts +6 -0
  484. package/dist/protected/adapter/common/parts.d.ts +30 -0
  485. package/dist/protected/adapter/common/parts.js +35 -0
  486. package/dist/protected/adapter/common/props.types.d.ts +48 -0
  487. package/dist/protected/adapter/common/slots.d.ts +25 -0
  488. package/dist/protected/adapter/common/slots.js +25 -0
  489. package/dist/protected/adapter/common/slots.types.d.ts +37 -0
  490. package/dist/protected/adapter/common/state.d.ts +14 -0
  491. package/dist/protected/adapter/common/state.js +14 -0
  492. package/dist/protected/adapter/common/state.types.d.ts +39 -0
  493. package/dist/protected/adapter/context/adapter-context.class.d.ts +68 -0
  494. package/dist/protected/adapter/context/adapter-context.class.js +118 -0
  495. package/dist/protected/adapter/context/create-adapter-context.d.ts +34 -0
  496. package/dist/protected/adapter/context/create-adapter-context.js +91 -0
  497. package/dist/protected/adapter/context/external-plugins.class.d.ts +51 -0
  498. package/dist/protected/adapter/context/external-plugins.class.js +80 -0
  499. package/dist/protected/adapter/context/index.d.ts +2 -0
  500. package/dist/protected/adapter/context/own-bundle.class.d.ts +25 -0
  501. package/dist/protected/adapter/context/own-bundle.class.js +86 -0
  502. package/dist/protected/adapter/context/shared-bundle.class.d.ts +25 -0
  503. package/dist/protected/adapter/context/shared-bundle.class.js +24 -0
  504. package/dist/protected/adapter/context/types.d.ts +184 -0
  505. package/dist/protected/adapter/elevator/elevator.class.d.ts +21 -0
  506. package/dist/protected/adapter/elevator/elevator.class.js +19 -0
  507. package/dist/protected/adapter/elevator/index.d.ts +3 -0
  508. package/dist/protected/adapter/elevator/keys.d.ts +12 -0
  509. package/dist/protected/adapter/elevator/keys.js +7 -0
  510. package/dist/protected/adapter/elevator/types.d.ts +31 -0
  511. package/dist/protected/adapter/exchange/assembling.class.d.ts +39 -0
  512. package/dist/protected/adapter/exchange/assembling.class.js +55 -0
  513. package/dist/protected/adapter/exchange/cell.class.d.ts +31 -0
  514. package/dist/protected/adapter/exchange/cell.class.js +37 -0
  515. package/dist/protected/adapter/exchange/event-relay.class.d.ts +29 -0
  516. package/dist/protected/adapter/exchange/event-relay.class.js +53 -0
  517. package/dist/protected/adapter/exchange/exchange.class.d.ts +78 -0
  518. package/dist/protected/adapter/exchange/exchange.class.js +129 -0
  519. package/dist/protected/adapter/exchange/index.d.ts +8 -0
  520. package/dist/protected/adapter/exchange/input-port.class.d.ts +64 -0
  521. package/dist/protected/adapter/exchange/input-port.class.js +68 -0
  522. package/dist/protected/adapter/exchange/line.class.d.ts +53 -0
  523. package/dist/protected/adapter/exchange/line.class.js +39 -0
  524. package/dist/protected/adapter/exchange/member.class.d.ts +20 -0
  525. package/dist/protected/adapter/exchange/member.class.js +11 -0
  526. package/dist/protected/adapter/exchange/routing.class.d.ts +25 -0
  527. package/dist/protected/adapter/exchange/routing.class.js +94 -0
  528. package/dist/protected/adapter/exchange/state-store.class.d.ts +57 -0
  529. package/dist/protected/adapter/exchange/state-store.class.js +76 -0
  530. package/dist/protected/adapter/exchange/tap.class.d.ts +54 -0
  531. package/dist/protected/adapter/exchange/tap.class.js +51 -0
  532. package/dist/protected/adapter/exchange/types.d.ts +55 -0
  533. package/dist/protected/adapter/exchange/update-port.class.d.ts +25 -0
  534. package/dist/protected/adapter/exchange/update-port.class.js +26 -0
  535. package/dist/protected/adapter/exchange/value.d.ts +17 -0
  536. package/dist/protected/adapter/exchange/value.js +31 -0
  537. package/dist/protected/adapter/index.d.ts +5 -0
  538. package/dist/protected/adapter/surface/index.d.ts +2 -0
  539. package/dist/protected/adapter/surface/surface.class.d.ts +34 -0
  540. package/dist/protected/adapter/surface/surface.class.js +87 -0
  541. package/dist/protected/adapter/surface/types.d.ts +29 -0
  542. package/dist/protected/define/component-descriptor.class.d.ts +55 -0
  543. package/dist/protected/define/component-descriptor.class.js +112 -0
  544. package/dist/protected/define/component.d.ts +14 -0
  545. package/dist/protected/define/component.js +12 -0
  546. package/dist/protected/define/contribution.d.ts +20 -0
  547. package/dist/protected/define/contribution.js +18 -0
  548. package/dist/protected/define/contribution.types.d.ts +66 -0
  549. package/dist/protected/define/descriptor.d.ts +21 -0
  550. package/dist/protected/define/descriptor.js +27 -0
  551. package/dist/protected/define/index.d.ts +11 -0
  552. package/dist/protected/define/inference.types.d.ts +247 -0
  553. package/dist/protected/define/inherit.d.ts +21 -0
  554. package/dist/protected/define/inherit.js +11 -0
  555. package/dist/protected/define/name.class.d.ts +21 -0
  556. package/dist/protected/define/name.class.js +31 -0
  557. package/dist/protected/define/plugin-definition.class.d.ts +45 -0
  558. package/dist/protected/define/plugin-definition.class.js +49 -0
  559. package/dist/protected/define/plugin.d.ts +18 -0
  560. package/dist/protected/define/plugin.js +20 -0
  561. package/dist/protected/define/prop-spec.class.d.ts +70 -0
  562. package/dist/protected/define/prop-spec.class.js +79 -0
  563. package/dist/protected/define/prop-type.d.ts +12 -0
  564. package/dist/protected/define/prop-type.js +6 -0
  565. package/dist/protected/define/slot-declaration.class.d.ts +20 -0
  566. package/dist/protected/define/slot-declaration.class.js +14 -0
  567. package/dist/protected/define/types.d.ts +235 -0
  568. package/dist/protected/index.d.ts +4 -0
  569. package/dist/protected/naming/common-profile.d.ts +10 -0
  570. package/dist/protected/naming/common-profile.js +16 -0
  571. package/dist/protected/naming/index.d.ts +4 -0
  572. package/dist/protected/naming/naming.d.ts +33 -0
  573. package/dist/protected/naming/naming.js +34 -0
  574. package/dist/protected/naming/naming.types.d.ts +49 -0
  575. package/dist/protected/naming/strategy.types.d.ts +27 -0
  576. package/dist/protected/registry/extensions.d.ts +29 -0
  577. package/dist/protected/registry/extensions.js +28 -0
  578. package/dist/protected/registry/icons.d.ts +44 -0
  579. package/dist/protected/registry/icons.js +59 -0
  580. package/dist/protected/registry/index.d.ts +5 -0
  581. package/dist/protected/registry/plugins.d.ts +40 -0
  582. package/dist/protected/registry/plugins.js +29 -0
  583. package/dist/protected/registry/registrations.d.ts +15 -0
  584. package/dist/protected/registry/registrations.js +30 -0
  585. package/dist/protected/registry/theme.d.ts +29 -0
  586. package/dist/protected/registry/theme.js +40 -0
  587. package/dist/protected/registry/types.d.ts +85 -0
  588. package/package.json +44 -4
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Contracts of the adapter context, its options and extension constructors.
3
+ */
4
+ import type { TEvented } from '@soxa-ui/core';
5
+ import type { ILocaleSource, IPluginBundle } from '@soxa-ui/plugins';
6
+ import type { IComponentContract, IComponentDescriptor, IPluginsContract } from '../../define';
7
+ import type { IAdapterProfile } from '../../naming';
8
+ import type { TExchange } from '../exchange/exchange.class';
9
+ import type { TMember } from '../exchange/member.class';
10
+ /**
11
+ * The context's life: `attach` — the framework accepted the assembled
12
+ * component, `detach` — it began removing it, `destroy` — it let it go. Each
13
+ * comes once and in this order. The adapter's runtime sends all three;
14
+ * `detach` may also come earlier from the collection the component is a
15
+ * member of (`TCollectionMembers`).
16
+ */
17
+ export type TAdapterEvents = {
18
+ attach: () => void;
19
+ detach: () => void;
20
+ destroy: () => void;
21
+ };
22
+ /**
23
+ * A context contract with the instance and the plugins named, the rest as for
24
+ * any component. By it `createAdapterContext` resolves the instance from two
25
+ * sources: the descriptor's `ctor` and the given `ctrl`.
26
+ */
27
+ export type TContextContract<TInstance extends object, TPlugins extends IPluginsContract = IPluginsContract> = IComponentContract & {
28
+ instance: TInstance;
29
+ plugins: TPlugins;
30
+ };
31
+ /**
32
+ * A context of which only the instance is known. This is how an extension
33
+ * declares what it works with: `TInstanceContext<TCollectionOwner>` — any
34
+ * component whose instance has an `engine`.
35
+ */
36
+ export type TInstanceContext<TInstance extends object> = IAdapterContext<TContextContract<TInstance>>;
37
+ /**
38
+ * An extension constructor with options. `TInstance` is the instance the
39
+ * extension needs (`TCollectionExtension` — a facade with `engine`);
40
+ * `IAdapterContext.use()` checks it against the context's instance at compile
41
+ * time, so an extension cannot go on a component that lacks what it works
42
+ * with.
43
+ */
44
+ export interface IAdapterExtensionCtor<T = unknown, TOpts = unknown, TInstance extends object = object> {
45
+ new (context: TInstanceContext<TInstance>, options: TOpts): T;
46
+ }
47
+ /** An extension constructor without options. */
48
+ export interface IAdapterExtensionCtorNoOpts<T = unknown, TInstance extends object = object> {
49
+ new (context: TInstanceContext<TInstance>): T;
50
+ }
51
+ /** Any extension constructor: a registry key and an item of the starting set. */
52
+ export type TAnyExtensionCtor = new (...args: any[]) => unknown;
53
+ /** Options of creating an adapter context: a ready instance (`ctrl`) or the constructor's props and options. */
54
+ export interface IAdapterContextOptions<TInstance extends object = object> {
55
+ ctrl?: TInstance;
56
+ /**
57
+ * The framework's props. `object`, not `Record<string, unknown>`: adapters
58
+ * declare props as interfaces without an index signature. They are read by
59
+ * the descriptor's names through `Reflect.get`.
60
+ */
61
+ props?: object;
62
+ options?: object;
63
+ /**
64
+ * The place's name if the component is a detail of another component's
65
+ * markup (a tag's row and close button). It goes into the mount's
66
+ * composition (`resolveComposition`): registry plugins with `scope: 'own'`
67
+ * are not installed on an embedded component.
68
+ */
69
+ embedded?: string;
70
+ /**
71
+ * The mount id — from the framework's `useId`, the same on the server and
72
+ * in the browser. It goes to the own plugin bundle, from which plugins build
73
+ * the parts' `id`s (`IPluginBundle.createId`); the instance does not get it —
74
+ * ids are the document's business, not the core's. With a bundle not its
75
+ * own (`config.bundle`) the mount id is of whoever assembled the bundle.
76
+ */
77
+ mountId?: string;
78
+ /**
79
+ * The subtree's locale — from the framework's nearest locale provider above:
80
+ * the Intl tag and the library's strings, with a change event. It goes to
81
+ * the own plugin bundle, as the mount id does (`IPluginBundle.locale`), and
82
+ * the language and names plugins write the tag and the button names from it,
83
+ * on assembly and on every change. The instance does not get it: the
84
+ * language is known by the component's place in the tree, not by the
85
+ * instance. Not given — the bundle has its own English one. With a bundle
86
+ * not its own (`config.bundle`) the locale is of whoever assembled it.
87
+ */
88
+ locale?: ILocaleSource;
89
+ }
90
+ /** What the own bundle takes from the mount: the mount id and the subtree's locale. */
91
+ export type TBundleMount = Pick<IAdapterContextOptions, 'mountId' | 'locale'>;
92
+ export interface IAdapterContextConfig {
93
+ /**
94
+ * A ready plugin bundle, passed by whoever assembled it (a collection
95
+ * adapter shares the component's bundle with the facade). Without it the
96
+ * bundle is assembled by the composition: the descriptor's plugins plus the
97
+ * application's registrations.
98
+ */
99
+ bundle?: IPluginBundle | null;
100
+ }
101
+ /**
102
+ * The adapter context: the assembled component and its extensions.
103
+ *
104
+ * The parameter is the descriptor contract the context was assembled by
105
+ * (`IComponentContract`). `createAdapterContext` infers it, and the adapters'
106
+ * `useAdapter` takes from it the instance type and the plugins' outputs for
107
+ * the state type (`TAdapterState`), so components write no generics.
108
+ */
109
+ export interface IAdapterContext<C extends IComponentContract = IComponentContract> {
110
+ /** A phantom field: absent at runtime, it only carries the contract in the type. */
111
+ readonly __contract?: C;
112
+ readonly instance: C['instance'];
113
+ readonly bundle: IPluginBundle | null;
114
+ readonly descriptor: IComponentDescriptor;
115
+ /**
116
+ * The assembly props, until the first `connect()`: extensions read them in
117
+ * their constructors and the exchange starts its input memory from them.
118
+ * After `connect()` — `undefined`: the input memory lives in its own cells
119
+ * and the context lets the props go.
120
+ */
121
+ readonly props: object | undefined;
122
+ /** The place's name if the component is a detail of another's markup (`IAdapterContextOptions.embedded`). */
123
+ readonly embedded: string | undefined;
124
+ readonly events: TEvented<TAdapterEvents>;
125
+ /** Install an extension WITHOUT options. */
126
+ use<T>(ExtensionCtor: IAdapterExtensionCtorNoOpts<T, C['instance']>): this;
127
+ /** Install an extension WITH required options. */
128
+ use<T, TOpts>(ExtensionCtor: IAdapterExtensionCtor<T, TOpts, C['instance']>, options: TOpts): this;
129
+ /** The installed extension of the given class. */
130
+ get<T>(ctor: new (...args: any[]) => T): T | undefined;
131
+ /**
132
+ * Bind the markup's root node to the bundle's `TElementPlugin`; `null`
133
+ * unbinds. Without that plugin the call does nothing.
134
+ */
135
+ bindElement(element: Element | null): void;
136
+ /**
137
+ * The value exchange with the framework, in its profile's names: state,
138
+ * inputs, events. The input memory starts from the assembly props; the
139
+ * assembly has already applied the initial values.
140
+ *
141
+ * One exchange per mount: the first call creates it and releases the
142
+ * assembly props, a repeat with the same profile returns it, another
143
+ * profile is an error.
144
+ */
145
+ connect(profile: IAdapterProfile): TExchange;
146
+ /**
147
+ * The framework accepted the assembled component: from now on it is part of
148
+ * the live tree, not an assembly draft. Whatever writes into someone else's
149
+ * storage (an item entering its owner's collection) waits for `attach`.
150
+ * Called once, between assembly and `destroy()`, by the adapter's runtime,
151
+ * not by the component.
152
+ */
153
+ attach(): void;
154
+ /**
155
+ * The framework began removing the component: the first moment of its
156
+ * teardown, before its children go. The context only reports it (the
157
+ * `detach` event); the adapter stops the consumer on it. A collection
158
+ * detaches its members too (`TCollectionMembers`): siblings leave one by
159
+ * one, and a member still heard would hear them go. Once: a repeat does
160
+ * nothing.
161
+ */
162
+ detach(): void;
163
+ /** Destroy the context; detached first, if it was not. */
164
+ destroy(): void;
165
+ }
166
+ /**
167
+ * Ownership of the plugin bundle: own (`TOwnBundle`) or shared
168
+ * (`TSharedBundle`). Not a flag every user of the bundle checks: everything
169
+ * that depends on it is done by one of the two objects.
170
+ */
171
+ export interface IBundleTenancy {
172
+ readonly bundle: IPluginBundle | null;
173
+ /**
174
+ * The exchange members from the bundle: the descriptor's plugins and, for
175
+ * an own bundle, the binding too. Built per call: the assembly and the
176
+ * exchange need them, the bundle does not keep them.
177
+ */
178
+ members(): readonly TMember[];
179
+ /** Which of the bundle's members (`members()`) this assembly writes initial values to. */
180
+ seeded(members: readonly TMember[]): readonly TMember[];
181
+ /** Finish the assembly after the initial values: registry plugins and announcing the bundle. */
182
+ complete(): void;
183
+ destroy(): void;
184
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Абстрактный класс TElevator — база для всех фреймворк-специфичных элеваторов.
3
+ *
4
+ * Кэширует строковые/symbol ключи в уникальные символы, чтобы
5
+ * гарантировать одинаковый InjectionKey во всех вызовах provide/inject
6
+ * (или их аналогах в React/Solid/Angular).
7
+ *
8
+ * Конкретные реализации:
9
+ * - TVueElevator extends TElevator (provide/inject)
10
+ * - TReactElevator extends TElevator (React.Context)
11
+ * - TSolidElevator extends TElevator (Solid Context)
12
+ * - TSvelteElevator extends TElevator (setContext/getContext)
13
+ * - TAngularElevator extends TElevator (DI: InjectionToken)
14
+ */
15
+ import type { IContextElevator } from './types';
16
+ export declare abstract class TElevator<T = any> implements IContextElevator<T> {
17
+ protected readonly _key: symbol;
18
+ constructor(key: string | symbol);
19
+ abstract down(value: T): void;
20
+ abstract up(): T | undefined;
21
+ }
@@ -0,0 +1,19 @@
1
+ //#region protected/adapter/elevator/elevator.class.ts
2
+ /** Кэш: строковый ключ → уникальный символ */
3
+ var KEY_MAP = /* @__PURE__ */ new Map();
4
+ function resolveKey(key) {
5
+ let k = KEY_MAP.get(key);
6
+ if (!k) {
7
+ k = Symbol(key.toString());
8
+ KEY_MAP.set(key, k);
9
+ }
10
+ return k;
11
+ }
12
+ var TElevator = class {
13
+ _key;
14
+ constructor(key) {
15
+ this._key = resolveKey(key);
16
+ }
17
+ };
18
+ //#endregion
19
+ export { TElevator };
@@ -0,0 +1,3 @@
1
+ export { TElevator } from './elevator.class';
2
+ export { COLLECTION_ENGINE_ELEVATOR, ITEM_CONTEXT_ELEVATOR } from './keys';
3
+ export type { IContextElevator, IElevatorKey, TCollectionItemRegister, TElevatorFactory, } from './types';
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Ключи элеваторов — единое пространство имён для всех фреймворков.
3
+ *
4
+ * Конкретная реализация IContextElevator (TVueElevator, React.Context, ...)
5
+ * живёт в своём UI-пакете и передаётся сюда через TElevatorFactory.
6
+ */
7
+ import type { TCollectionEngine } from '@soxa-ui/core';
8
+ import type { IElevatorKey, TCollectionItemRegister } from './types';
9
+ /** Родительская коллекция. Ребёнок толкает { instance, bundle } наверх. */
10
+ export declare const COLLECTION_ENGINE_ELEVATOR: IElevatorKey<TCollectionItemRegister>;
11
+ /** Контекст коллекции для дочернего элемента. Родитель → дочерний элемент. */
12
+ export declare const ITEM_CONTEXT_ELEVATOR: IElevatorKey<TCollectionEngine<any, any>>;
@@ -0,0 +1,7 @@
1
+ //#region protected/adapter/elevator/keys.ts
2
+ /** Родительская коллекция. Ребёнок толкает { instance, bundle } наверх. */
3
+ var COLLECTION_ENGINE_ELEVATOR = { name: "soxa:collection-engine" };
4
+ /** Контекст коллекции для дочернего элемента. Родитель → дочерний элемент. */
5
+ var ITEM_CONTEXT_ELEVATOR = { name: "soxa:item-context" };
6
+ //#endregion
7
+ export { COLLECTION_ENGINE_ELEVATOR, ITEM_CONTEXT_ELEVATOR };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Контракт лифта: типизированный ключ, фабрика фреймворка и регистрация элемента коллекции.
3
+ */
4
+ import type { IPluginBundle } from '@soxa-ui/plugins';
5
+ /** Лифт: значения от родителя к детям поверх механизма фреймворка (`provide`/`inject`, React Context, DI Angular). */
6
+ export interface IContextElevator<T = any> {
7
+ down(value: T): void;
8
+ up(): T | undefined;
9
+ }
10
+ /**
11
+ * Ключ elevator'а вместе с типом значения — как `InjectionKey<T>` во Vue.
12
+ *
13
+ * Фабрика выводит `T` из ключа, поэтому `up()` отдаёт значение нужного типа без
14
+ * приведения, а `down()` не примет чужое.
15
+ */
16
+ export interface IElevatorKey<T> {
17
+ readonly name: string;
18
+ /** Фантом: только несёт тип значения, в рантайме не заполняется. */
19
+ readonly __value?: T;
20
+ }
21
+ /**
22
+ * Фабрика, которую предоставляет конкретный фреймворк (Vue, React и т.д.).
23
+ *
24
+ * Пример для Vue:
25
+ * ```ts
26
+ * const VueElevatorFactory: TElevatorFactory = (key) => new TVueElevator(key.name)
27
+ * ```
28
+ */
29
+ export type TElevatorFactory = <T>(key: IElevatorKey<T>) => IContextElevator<T>;
30
+ /** Регистрация элемента в родительской коллекции; возвращает снятие регистрации. */
31
+ export type TCollectionItemRegister = (item: object, bundle: IPluginBundle | null) => () => void;
@@ -0,0 +1,39 @@
1
+ /**
2
+ * TAssembling — сборка над инстансом атомарна для остальных его монтирований.
3
+ *
4
+ * Над одним инстансом бывает больше одного монтирования: `ctrl` снаружи
5
+ * переехал в другое место дерева, и фреймворк собирает новый компонент, пока
6
+ * прежний ещё не снят. Сборка пишет в инстанс — начальные значения внешнему
7
+ * `ctrl`, `id` плагинов связок от нового монтирования, — и прежнее
8
+ * монтирование слышит каждую запись, пока сборка ещё идёт. Фреймворк, который
9
+ * собирает компонент на рендере, получил бы обновление чужого компонента
10
+ * посреди этого рендера, а повтор рендера (`Suspense`) — новую запись и новое
11
+ * обновление на каждый повтор.
12
+ *
13
+ * Поэтому, пока над инстансом идёт сборка (`run`), обмены остальных
14
+ * монтирований копят его состояние и уведомления и выпускают их одной
15
+ * микрозадачей после сборки (`defer`, правило выпуска — `TExchange`): итог, а
16
+ * не каждый шаг. Микрозадача не вклинивается в тело рендера, а граница тишины
17
+ * — сама сборка, синхронно: от того, примет ли сборку фреймворк, тишина не
18
+ * зависит, и сборка, которую он выбросил, её не держит.
19
+ *
20
+ * Отменяемые события (`*:before`) тишина не задерживает: это вопрос, ответ на
21
+ * который нужен сейчас, и `preventDefault` приёмника прежнего монтирования
22
+ * отменяет запись сборки, как вне её.
23
+ *
24
+ * Механика одна на все адаптеры и включена всегда: у инстанса с одним
25
+ * монтированием копить в тишине некому, и стоит она одну проверку `WeakMap`
26
+ * на событие.
27
+ */
28
+ export declare class TAssembling {
29
+ /** Сколько сборок идёт над инстансом: сборка вправе собрать вложенную над тем же. */
30
+ private readonly _depth;
31
+ /** Собрать над инстансом: на время `build` состояние остальных монтирований молчит. */
32
+ run<T>(instance: object, build: () => T): T;
33
+ /** Над кем-то из владельцев идёт сборка. */
34
+ covers(owners: readonly object[]): boolean;
35
+ /** Перечитать после сборки: одной микрозадачей, вне тела, которое сейчас выполняется. */
36
+ defer(reread: () => void): void;
37
+ }
38
+ /** Сборки процесса — общие для всех адаптеров, как и инстансы, над которыми они идут. */
39
+ export declare const assembling: TAssembling;
@@ -0,0 +1,55 @@
1
+ //#region protected/adapter/exchange/assembling.class.ts
2
+ /**
3
+ * TAssembling — сборка над инстансом атомарна для остальных его монтирований.
4
+ *
5
+ * Над одним инстансом бывает больше одного монтирования: `ctrl` снаружи
6
+ * переехал в другое место дерева, и фреймворк собирает новый компонент, пока
7
+ * прежний ещё не снят. Сборка пишет в инстанс — начальные значения внешнему
8
+ * `ctrl`, `id` плагинов связок от нового монтирования, — и прежнее
9
+ * монтирование слышит каждую запись, пока сборка ещё идёт. Фреймворк, который
10
+ * собирает компонент на рендере, получил бы обновление чужого компонента
11
+ * посреди этого рендера, а повтор рендера (`Suspense`) — новую запись и новое
12
+ * обновление на каждый повтор.
13
+ *
14
+ * Поэтому, пока над инстансом идёт сборка (`run`), обмены остальных
15
+ * монтирований копят его состояние и уведомления и выпускают их одной
16
+ * микрозадачей после сборки (`defer`, правило выпуска — `TExchange`): итог, а
17
+ * не каждый шаг. Микрозадача не вклинивается в тело рендера, а граница тишины
18
+ * — сама сборка, синхронно: от того, примет ли сборку фреймворк, тишина не
19
+ * зависит, и сборка, которую он выбросил, её не держит.
20
+ *
21
+ * Отменяемые события (`*:before`) тишина не задерживает: это вопрос, ответ на
22
+ * который нужен сейчас, и `preventDefault` приёмника прежнего монтирования
23
+ * отменяет запись сборки, как вне её.
24
+ *
25
+ * Механика одна на все адаптеры и включена всегда: у инстанса с одним
26
+ * монтированием копить в тишине некому, и стоит она одну проверку `WeakMap`
27
+ * на событие.
28
+ */
29
+ var TAssembling = class {
30
+ /** Сколько сборок идёт над инстансом: сборка вправе собрать вложенную над тем же. */
31
+ _depth = /* @__PURE__ */ new WeakMap();
32
+ /** Собрать над инстансом: на время `build` состояние остальных монтирований молчит. */
33
+ run(instance, build) {
34
+ this._depth.set(instance, (this._depth.get(instance) ?? 0) + 1);
35
+ try {
36
+ return build();
37
+ } finally {
38
+ const depth = (this._depth.get(instance) ?? 1) - 1;
39
+ if (depth > 0) this._depth.set(instance, depth);
40
+ else this._depth.delete(instance);
41
+ }
42
+ }
43
+ /** Над кем-то из владельцев идёт сборка. */
44
+ covers(owners) {
45
+ return owners.some((owner) => this._depth.has(owner));
46
+ }
47
+ /** Перечитать после сборки: одной микрозадачей, вне тела, которое сейчас выполняется. */
48
+ defer(reread) {
49
+ queueMicrotask(reread);
50
+ }
51
+ };
52
+ /** Сборки процесса — общие для всех адаптеров, как и инстансы, над которыми они идут. */
53
+ var assembling = new TAssembling();
54
+ //#endregion
55
+ export { TAssembling, assembling };
@@ -0,0 +1,31 @@
1
+ /**
2
+ * TCell — ячейка: значение, правило «то же самое» и подписчики.
3
+ *
4
+ * Единственная изменяемая память слоя. Всё, что слой обязан помнить между
5
+ * вызовами, лежит в ячейках: последнее отданное значение свойства, последнее
6
+ * значение, которое задал фреймворк, мешок `pluginProps`. Отдельных «памятей»
7
+ * с ручными флагами «задан / не задан» нет — их роль играет само значение
8
+ * ячейки и её правило равенства.
9
+ *
10
+ * Контракт подписки — как у стора Svelte и атома nanostores: `subscribe` сразу
11
+ * отдаёт текущее значение («инициализация — это и есть подписка»), `listen` —
12
+ * только изменения.
13
+ *
14
+ * Набор подписчиков заводится с первым `listen`: состояние и входы обмена на
15
+ * свои ячейки не подписываются, а действуют по ответу `set()`, и ячеек без
16
+ * подписчиков у монтирования — по одной на свойство.
17
+ */
18
+ import type { TCellListener, TSame } from './types';
19
+ export declare class TCell<T> {
20
+ private _value;
21
+ private readonly _same;
22
+ private _listeners?;
23
+ constructor(_value: T, _same?: TSame<T>);
24
+ get value(): T;
25
+ /** Положить значение. «То же самое» не кладётся и подписчиков не будит — ответ `false`. */
26
+ set(next: T): boolean;
27
+ /** Слушать только изменения. */
28
+ listen(listener: TCellListener<T>): () => void;
29
+ /** Слушать изменения и сразу получить текущее значение. */
30
+ subscribe(listener: TCellListener<T>): () => void;
31
+ }
@@ -0,0 +1,37 @@
1
+ //#region protected/adapter/exchange/cell.class.ts
2
+ var TCell = class {
3
+ _value;
4
+ _same;
5
+ _listeners;
6
+ constructor(_value, _same = Object.is) {
7
+ this._value = _value;
8
+ this._same = _same;
9
+ }
10
+ get value() {
11
+ return this._value;
12
+ }
13
+ /** Положить значение. «То же самое» не кладётся и подписчиков не будит — ответ `false`. */
14
+ set(next) {
15
+ if (this._same(this._value, next)) return false;
16
+ this._value = next;
17
+ if (this._listeners) for (const listener of [...this._listeners]) listener(next);
18
+ return true;
19
+ }
20
+ /** Слушать только изменения. */
21
+ listen(listener) {
22
+ this._listeners ??= /* @__PURE__ */ new Set();
23
+ this._listeners.add(listener);
24
+ return () => {
25
+ this._listeners?.delete(listener);
26
+ if (this._listeners?.size === 0) this._listeners = void 0;
27
+ };
28
+ }
29
+ /** Слушать изменения и сразу получить текущее значение. */
30
+ subscribe(listener) {
31
+ const off = this.listen(listener);
32
+ listener(this._value);
33
+ return off;
34
+ }
35
+ };
36
+ //#endregion
37
+ export { TCell };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * TEventRelay delivers explicit public events and model updates after state refresh.
3
+ * Models are delivered even when their source trigger is internal.
4
+ */
5
+ import type { TTap } from './tap.class';
6
+ import type { IRoute, TEventSink } from './types';
7
+ export declare class TEventRelay {
8
+ private readonly _owners;
9
+ private readonly _tap;
10
+ /** Приёмники — пока есть хоть один. Список не правится на месте: событие обходит тот, что застало. */
11
+ private _sinks?;
12
+ /**
13
+ * @param _owners владельцы участников монтирования — у них модели читают новое значение
14
+ * @param _tap слушатель участников, общий с состоянием обмена
15
+ */
16
+ constructor(_owners: readonly object[], _tap: TTap);
17
+ listen(sink: TEventSink): () => void;
18
+ /** Deliver an explicit public event and model updates independently, after refreshing state. */
19
+ publish(route: IRoute, args: readonly unknown[]): void;
20
+ /**
21
+ * Событие случилось, а отдать его обмен должен позже (`TExchange`, чужая
22
+ * сборка): доставка — тем приёмникам, что слушали в момент события. Приёмник,
23
+ * снятый до доставки, событие получает — оно случилось при нём; пришедший
24
+ * после — нет: для него это начальное состояние. Список не правится на
25
+ * месте, поэтому запомнить его — запомнить ссылку.
26
+ */
27
+ later(route: IRoute, args: readonly unknown[]): () => void;
28
+ private _deliver;
29
+ }
@@ -0,0 +1,53 @@
1
+ //#region protected/adapter/exchange/event-relay.class.ts
2
+ var TEventRelay = class {
3
+ _owners;
4
+ _tap;
5
+ /** Приёмники — пока есть хоть один. Список не правится на месте: событие обходит тот, что застало. */
6
+ _sinks;
7
+ /**
8
+ * @param _owners владельцы участников монтирования — у них модели читают новое значение
9
+ * @param _tap слушатель участников, общий с состоянием обмена
10
+ */
11
+ constructor(_owners, _tap) {
12
+ this._owners = _owners;
13
+ this._tap = _tap;
14
+ }
15
+ listen(sink) {
16
+ if (this._sinks === void 0) this._tap.hold();
17
+ this._sinks = this._sinks ? [...this._sinks, sink] : [sink];
18
+ let listening = true;
19
+ return () => {
20
+ const sinks = this._sinks;
21
+ const index = sinks?.indexOf(sink) ?? -1;
22
+ if (!listening || sinks === void 0 || index === -1) return;
23
+ listening = false;
24
+ this._sinks = sinks.length === 1 ? void 0 : [...sinks.slice(0, index), ...sinks.slice(index + 1)];
25
+ if (this._sinks === void 0) this._tap.release();
26
+ };
27
+ }
28
+ /** Deliver an explicit public event and model updates independently, after refreshing state. */
29
+ publish(route, args) {
30
+ this._deliver(route, args, this._sinks);
31
+ }
32
+ /**
33
+ * Событие случилось, а отдать его обмен должен позже (`TExchange`, чужая
34
+ * сборка): доставка — тем приёмникам, что слушали в момент события. Приёмник,
35
+ * снятый до доставки, событие получает — оно случилось при нём; пришедший
36
+ * после — нет: для него это начальное состояние. Список не правится на
37
+ * месте, поэтому запомнить его — запомнить ссылку.
38
+ */
39
+ later(route, args) {
40
+ const sinks = this._sinks;
41
+ return () => this._deliver(route, args, sinks);
42
+ }
43
+ _deliver(route, args, sinks) {
44
+ const { event, models } = route;
45
+ if (sinks === void 0) return;
46
+ for (const sink of sinks) {
47
+ if (event !== void 0) sink(event, args);
48
+ for (const model of models) sink(model.name, [model.line.read(this._owners)]);
49
+ }
50
+ }
51
+ };
52
+ //#endregion
53
+ export { TEventRelay };
@@ -0,0 +1,78 @@
1
+ /**
2
+ * TExchange — values exchanged for the time of a mount: the participants' owners and four ports over them.
3
+ *
4
+ * This is all the adapter sees: `state` (where to put a value is its call),
5
+ * `inputs` (which way of delivery to use is its call), `events` (how to
6
+ * hand an event over is its call) and `updates` (what to do at the bounds
7
+ * of an update is its call). When and in what order is decided here and below.
8
+ *
9
+ * One class serves both a component (the framework's profile, the
10
+ * framework's props) and a plugin installed from outside (the common
11
+ * profile, the `pluginProps` bag): there is no second implementation of the
12
+ * same rules for external plugins.
13
+ *
14
+ * What to do with a participant's event is decided by the type's routing
15
+ * table (`TRouting`), and the participants' buses are listened to by one
16
+ * listener per bus (`TTap`), shared by the state and the events. The
17
+ * properties' lines are rows of the table too. Per mount the exchange holds
18
+ * the participants' owners, the values of the state and of the inputs and
19
+ * these listeners; there are no objects per property, no routes,
20
+ * subscriptions or closures per event. The exchange does not keep the
21
+ * participants (`TMember`): they are needed to find the table and the owners.
22
+ *
23
+ * **An update** is the exchange's unit of work: one event of a participant
24
+ * (the state rereads the event's properties, then the event and its models
25
+ * go to the sinks) or one release of the queue (below). The exchange reports
26
+ * where each update begins and ends (`updates`, `TUpdatePort`), and nothing
27
+ * more: what a framework does at the bounds is decided in its adapter.
28
+ *
29
+ * While an assembly of another mount runs over one of the participants
30
+ * (`TAssembling`), the exchange gives the framework the outcome of the
31
+ * assembly rather than each of its steps: the state and the notifications
32
+ * pile up and go in one microtask after it — the whole state first, then the
33
+ * notifications in the order they came. A cancelable event (`TActionEvent`)
34
+ * is a question whose answer is needed now: it goes at once, and the sink's
35
+ * `preventDefault` cancels the assembly's write, as outside it. Until the
36
+ * queue is released, the notifications that come after the assembly join it
37
+ * too — otherwise they would overtake those piled up. A notification reaches
38
+ * the sinks that listened at the moment of the event, even if they stopped
39
+ * before the release: the previous mount is taken down by the same pass of
40
+ * the framework, and the event happened while it was there
41
+ * (`TEventRelay.later`).
42
+ *
43
+ * A property with no participant gets no line: the description of a plugin
44
+ * missing from a foreign bundle is skipped silently.
45
+ */
46
+ import type { TSurface } from '../surface';
47
+ import { TEventRelay } from './event-relay.class';
48
+ import { TInputPort } from './input-port.class';
49
+ import type { TLine } from './line.class';
50
+ import type { TMember } from './member.class';
51
+ import { TStateStore } from './state-store.class';
52
+ import { TUpdatePort } from './update-port.class';
53
+ export declare class TExchange {
54
+ readonly surface: TSurface;
55
+ /** Линии состава — общие у всех монтирований типа, владельцев берут из `owners`. */
56
+ readonly lines: readonly TLine[];
57
+ /** Владельцы участников по порядку состава: инстанс, плагины, связка. */
58
+ readonly owners: readonly object[];
59
+ readonly state: TStateStore;
60
+ readonly inputs: TInputPort;
61
+ readonly events: TEventRelay;
62
+ readonly updates: TUpdatePort;
63
+ /** Доставки уведомлений, отложенных до конца чужой сборки, — пока очередь не выпущена. */
64
+ private _queue?;
65
+ constructor(members: readonly TMember[], surface: TSurface, buildProps?: object);
66
+ /** Пропсы, которые компонент не съел: уходят атрибутами в корневой узел. */
67
+ forward<TProps extends object>(props: TProps): Partial<TProps>;
68
+ /** Очередь до конца чужой сборки: первая запись планирует её выпуск. */
69
+ private _defer;
70
+ /**
71
+ * A participant's event outside another mount's assembly: the state first,
72
+ * then the event and its models. The order is the exchange's rule, not the
73
+ * order of subscriptions.
74
+ */
75
+ private _receive;
76
+ /** The release after the assembly is one update: the whole state first, then the notifications in order. */
77
+ private _release;
78
+ }