@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,54 @@
1
+ /**
2
+ * TTap — слушатель участников: один на шину каждого участника, общий для состояния и событий обмена.
3
+ *
4
+ * Состояние (`TStateStore`) и события (`TEventRelay`) слушают одни и те же
5
+ * шины и подписываются на них не порознь, а через этот объект: слушателей
6
+ * ставит первый из `state.subscribe` и `events.listen`, снимает последний
7
+ * ушедший. Слушатель — один на шину (`listen` шины, а не `on` на каждое
8
+ * событие и каждый триггер), а что делать с событием, он берёт из таблицы
9
+ * маршрутов типа (`TRouting`). Участник, с событиями которого делать нечего,
10
+ * и владелец без шины слушателя не получают.
11
+ *
12
+ * **Порядок — одно правило на шесть адаптеров**, и задаёт его код, а не
13
+ * очерёдность подписок:
14
+ *
15
+ * - шина отдаёт событие слушателю после всех своих обработчиков `on`, поэтому
16
+ * фреймворк узнаёт о событии после подписчиков ядра — и тех, что пришли
17
+ * после монтирования;
18
+ * - внутри обмена сначала перечитывается состояние, потом уходят событие и
19
+ * модели: приёмник события видит уже новое состояние.
20
+ *
21
+ * Раньше порядок задавала очерёдность подписок: во Vue состояние обновлялось
22
+ * раньше события, в React — позже, а плагин, поставленный в `bundle:create`,
23
+ * слышал событие после фреймворка.
24
+ *
25
+ * Правило действует в пределах одной шины: событие, которое фасад получил
26
+ * пробросом `relayAll` (на перехватчике источника), фреймворк слышит раньше
27
+ * подписчиков самого источника.
28
+ */
29
+ import type { IRoute } from './types';
30
+ /** Что делать с событием участника: маршрут из таблицы и аргументы события. */
31
+ type TReceiver = (route: IRoute, args: readonly unknown[]) => void;
32
+ export declare class TTap {
33
+ private readonly _owners;
34
+ private readonly _routes;
35
+ private readonly _receive;
36
+ /** Сколько портов обмена слушают шины: состояние и события. */
37
+ private _holds;
38
+ /**
39
+ * Слушатели по участникам — пока шины слушают; у участника без слушателя пусто.
40
+ * Снимаются по ссылке (`unlisten`): функция отписки на каждую шину держала бы
41
+ * ещё по замыканию со своей областью.
42
+ */
43
+ private _listeners?;
44
+ /**
45
+ * @param _owners владельцы участников монтирования — по порядку состава
46
+ * @param _routes маршруты участников из таблицы типа — по тому же порядку
47
+ */
48
+ constructor(_owners: readonly object[], _routes: readonly (ReadonlyMap<string, IRoute> | undefined)[], _receive: TReceiver);
49
+ /** Порт начали слушать: первый ставит слушателей на шины участников. */
50
+ hold(): void;
51
+ /** Порт перестали слушать: последний снимает слушателей. */
52
+ release(): void;
53
+ }
54
+ export {};
@@ -0,0 +1,51 @@
1
+ import { busOf } from "./value.js";
2
+ //#region protected/adapter/exchange/tap.class.ts
3
+ var TTap = class {
4
+ _owners;
5
+ _routes;
6
+ _receive;
7
+ /** Сколько портов обмена слушают шины: состояние и события. */
8
+ _holds = 0;
9
+ /**
10
+ * Слушатели по участникам — пока шины слушают; у участника без слушателя пусто.
11
+ * Снимаются по ссылке (`unlisten`): функция отписки на каждую шину держала бы
12
+ * ещё по замыканию со своей областью.
13
+ */
14
+ _listeners;
15
+ /**
16
+ * @param _owners владельцы участников монтирования — по порядку состава
17
+ * @param _routes маршруты участников из таблицы типа — по тому же порядку
18
+ */
19
+ constructor(_owners, _routes, _receive) {
20
+ this._owners = _owners;
21
+ this._routes = _routes;
22
+ this._receive = _receive;
23
+ }
24
+ /** Порт начали слушать: первый ставит слушателей на шины участников. */
25
+ hold() {
26
+ if (this._holds++ > 0) return;
27
+ this._listeners = this._owners.map((owner, index) => {
28
+ const routes = this._routes[index];
29
+ const bus = routes && busOf(owner);
30
+ if (!routes || !bus) return void 0;
31
+ const listener = (event, args) => {
32
+ const route = routes.get(event);
33
+ if (route) this._receive(route, args);
34
+ };
35
+ bus.listen(listener);
36
+ return listener;
37
+ });
38
+ }
39
+ /** Порт перестали слушать: последний снимает слушателей. */
40
+ release() {
41
+ if (this._holds === 0 || --this._holds > 0) return;
42
+ const listeners = this._listeners;
43
+ this._listeners = void 0;
44
+ this._owners.forEach((owner, index) => {
45
+ const listener = listeners?.[index];
46
+ if (listener) busOf(owner)?.unlisten(listener);
47
+ });
48
+ }
49
+ };
50
+ //#endregion
51
+ export { TTap };
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Типы обмена: описание участника, маршрут события, слушатели ячейки, состояния и событий.
3
+ */
4
+ import type { TName, TPropSpec } from '../../define';
5
+ import type { TLine } from './line.class';
6
+ export type TSame<T> = (a: T, b: T) => boolean;
7
+ export type TCellListener<T> = (value: T) => void;
8
+ /** Слушатель состояния: имя свойства во фреймворке и его новое значение. */
9
+ export type TStateListener = (name: string, value: unknown) => void;
10
+ /** Снимок всего состояния: неизменяемый, тот же объект, пока ни одно значение не сменилось. */
11
+ export type TStateSnapshot = Readonly<Record<string, unknown>>;
12
+ /** Приёмник событий: имя во фреймворке и аргументы события ядра. */
13
+ export type TEventSink = (name: string, args: readonly unknown[]) => void;
14
+ /** Listener of the exchange's updates: where an update begins and where it ends (`TUpdatePort`). */
15
+ export interface IUpdateListener {
16
+ begin(): void;
17
+ end(): void;
18
+ }
19
+ /**
20
+ * Описание участника: что владелец объявляет наружу. Свойство типа, а не
21
+ * монтирования — одно на дескриптор, определение плагина или контракт, и по
22
+ * нему таблица маршрутов строится один раз на все монтирования.
23
+ */
24
+ export interface IMemberSpec {
25
+ readonly props: readonly TPropSpec[];
26
+ /** Explicit public events of this participant; property triggers stay internal. */
27
+ readonly events: readonly TName[];
28
+ }
29
+ /** Модель, которая уходит следом за событием: линия свойства и имя события привязки. */
30
+ export interface IModelRoute {
31
+ /** Линия свойства, чьё новое значение уходит с моделью. */
32
+ readonly line: TLine;
33
+ /** Имя события привязки во фреймворке: `update:text`. */
34
+ readonly name: string;
35
+ }
36
+ /** Что обмен делает с событием участника. */
37
+ export interface IRoute {
38
+ /** Значения состояния, для чьих свойств событие — триггер: индексы в состоянии обмена. */
39
+ readonly cells: readonly number[];
40
+ /** Имя события во фреймворке — если участник его публикует. */
41
+ readonly event?: string;
42
+ /** Model updates driven by property triggers, even when the source event is internal. */
43
+ readonly models: readonly IModelRoute[];
44
+ }
45
+ /** Слушатель всех событий шины: сырое имя и аргументы. */
46
+ export type TBusListener = (event: string, args: readonly unknown[]) => void;
47
+ /**
48
+ * Нетипизированный вид шины владельца: имена событий слой знает строками из
49
+ * дескриптора. Обмену хватает слушателя всех событий — подписок на имена у
50
+ * него нет. Снимается слушатель по ссылке, как `off` снимает `on`.
51
+ */
52
+ export interface IBus {
53
+ listen(listener: TBusListener): void;
54
+ unlisten(listener: TBusListener): void;
55
+ }
@@ -0,0 +1,25 @@
1
+ /**
2
+ * TUpdatePort — the exchange tells the framework where an update begins and ends.
3
+ *
4
+ * An update is the exchange's unit of work: one event of a participant (the
5
+ * state rereads the event's properties, then the event and its models go to
6
+ * the sinks) or one release of the queue after another mount's assembly
7
+ * (`TExchange`). The port only reports the bounds — what the framework does
8
+ * with them is the adapter's call. The exchange marks every update, nested
9
+ * ones too: a sink that writes to a participant starts an update inside the
10
+ * current one, and a listener that needs only the outermost counts them
11
+ * itself. `end` comes even when a sink throws.
12
+ *
13
+ * No listener — nothing is called: an exchange of a plugin installed from
14
+ * outside has no framework to tell.
15
+ */
16
+ import type { IUpdateListener } from './types';
17
+ export declare class TUpdatePort {
18
+ /** Listeners — while there is at least one. The list is not edited in place: a bound goes to the one it found. */
19
+ private _listeners?;
20
+ listen(listener: IUpdateListener): () => void;
21
+ /** An update begins. Called by the exchange, not by the adapter. */
22
+ begin(): void;
23
+ /** The update ended — its state reread and its events handed over. Called by the exchange. */
24
+ end(): void;
25
+ }
@@ -0,0 +1,26 @@
1
+ //#region protected/adapter/exchange/update-port.class.ts
2
+ var TUpdatePort = class {
3
+ /** Listeners — while there is at least one. The list is not edited in place: a bound goes to the one it found. */
4
+ _listeners;
5
+ listen(listener) {
6
+ this._listeners = this._listeners ? [...this._listeners, listener] : [listener];
7
+ return () => {
8
+ const listeners = this._listeners;
9
+ const index = listeners?.indexOf(listener) ?? -1;
10
+ if (listeners === void 0 || index === -1) return;
11
+ this._listeners = listeners.length === 1 ? void 0 : [...listeners.slice(0, index), ...listeners.slice(index + 1)];
12
+ };
13
+ }
14
+ /** An update begins. Called by the exchange, not by the adapter. */
15
+ begin() {
16
+ const listeners = this._listeners;
17
+ if (listeners) for (const listener of listeners) listener.begin();
18
+ }
19
+ /** The update ended — its state reread and its events handed over. Called by the exchange. */
20
+ end() {
21
+ const listeners = this._listeners;
22
+ if (listeners) for (const listener of listeners) listener.end();
23
+ }
24
+ };
25
+ //#endregion
26
+ export { TUpdatePort };
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Правила о значении на границе: «то же самое» и шина владельца.
3
+ *
4
+ * Каждое правило записано один раз: `sameValue` — правило равенства ячеек
5
+ * входа и состояния и сверка начального значения с умолчанием (`TLine.seed`);
6
+ * `busOf` — единственное место, которое знает, где у владельца шина. Запись
7
+ * в ядро `sameValue` не сверяет: то же ли значение, решает сеттер владельца.
8
+ */
9
+ import type { IBus } from './types';
10
+ /** Шина — `owner.events`, а без поля `events` — сам владелец; без `listen` и `unlisten` источника событий нет. */
11
+ export declare function busOf(owner: object): IBus | undefined;
12
+ /**
13
+ * Составные значения дают новый объект на каждое чтение (снимок `valueOf()`),
14
+ * поэтому простые объекты и массивы сверяются по содержимому (поверхностно),
15
+ * остальное — по идентичности.
16
+ */
17
+ export declare function sameValue(a: unknown, b: unknown): boolean;
@@ -0,0 +1,31 @@
1
+ //#region protected/adapter/exchange/value.ts
2
+ function isBus(value) {
3
+ return typeof value === "object" && value !== null && typeof Reflect.get(value, "listen") === "function" && typeof Reflect.get(value, "unlisten") === "function";
4
+ }
5
+ /** Шина — `owner.events`, а без поля `events` — сам владелец; без `listen` и `unlisten` источника событий нет. */
6
+ function busOf(owner) {
7
+ const events = Reflect.get(owner, "events");
8
+ if (isBus(events)) return events;
9
+ return isBus(owner) ? owner : void 0;
10
+ }
11
+ function isPlain(value) {
12
+ if (typeof value !== "object" || value === null) return false;
13
+ const proto = Object.getPrototypeOf(value);
14
+ return proto === Object.prototype || proto === null;
15
+ }
16
+ /**
17
+ * Составные значения дают новый объект на каждое чтение (снимок `valueOf()`),
18
+ * поэтому простые объекты и массивы сверяются по содержимому (поверхностно),
19
+ * остальное — по идентичности.
20
+ */
21
+ function sameValue(a, b) {
22
+ if (Object.is(a, b)) return true;
23
+ if (Array.isArray(a) && Array.isArray(b)) return a.length === b.length && a.every((item, index) => Object.is(item, b[index]));
24
+ if (isPlain(a) && isPlain(b)) {
25
+ const keys = Object.keys(a);
26
+ return keys.length === Object.keys(b).length && keys.every((key) => key in b && Object.is(Reflect.get(a, key), Reflect.get(b, key)));
27
+ }
28
+ return false;
29
+ }
30
+ //#endregion
31
+ export { busOf, sameValue };
@@ -0,0 +1,5 @@
1
+ export * from './context';
2
+ export * from './surface';
3
+ export * from './exchange';
4
+ export * from './common';
5
+ export * from './elevator';
@@ -0,0 +1,2 @@
1
+ export { TSurface } from './surface.class';
2
+ export type { ISurfaceEvent, ISurfaceProp, ISurfaceSource, TSurfacePropConfig } from './types';
@@ -0,0 +1,34 @@
1
+ /**
2
+ * TSurface describes the public component API for one descriptor and framework profile.
3
+ *
4
+ * Only explicit event declarations are public; property triggers drive state and models.
5
+ */
6
+ import type { TPropSpec } from '../../define';
7
+ import type { IAdapterProfile } from '../../naming';
8
+ import type { ISurfaceEvent, ISurfaceProp, ISurfaceSource, TSurfacePropConfig } from './types';
9
+ export declare class TSurface {
10
+ /** Все свойства, в порядке объявления: свои, затем плагинов. */
11
+ readonly props: readonly ISurfaceProp[];
12
+ /** Only explicitly declared component and plugin events are public. */
13
+ readonly events: readonly ISurfaceEvent[];
14
+ /** Статический слой: пропсы, записываемые снаружи, с типом и умолчанием. */
15
+ readonly exportProps: Readonly<Record<string, TSurfacePropConfig>>;
16
+ /** Статический слой: имена событий и событий привязки, без повторов. */
17
+ readonly exportEvents: readonly string[];
18
+ /** Имена, которые компонент «съедает»: остальное React, Solid и Svelte отдают в корневой узел. */
19
+ readonly consumed: ReadonlySet<string>;
20
+ private readonly _byName;
21
+ /** Поверхность описания в профиле фреймворка; строится один раз на пару. */
22
+ static of(source: ISurfaceSource, profile: IAdapterProfile): TSurface;
23
+ private constructor();
24
+ /**
25
+ * Запись поверхности по описанию — так обмен получает имя для своей линии.
26
+ *
27
+ * Ключ — объект имени (`TName`), а не строка и не само описание: имя создаётся
28
+ * один раз на объявление и переживает пересчёт умолчаний (`rebase`), поэтому
29
+ * описание наследника и описание с умолчанием владельца находят ту же запись.
30
+ */
31
+ entryOf(spec: TPropSpec): ISurfaceProp | undefined;
32
+ /** Пропсы, которые компонент не съел: уходят атрибутами в корневой узел. */
33
+ forward<TProps extends object>(props: TProps): Partial<TProps>;
34
+ }
@@ -0,0 +1,87 @@
1
+ import { resolveSlotName } from "../common/slots.js";
2
+ //#region protected/adapter/surface/surface.class.ts
3
+ var surfaces = /* @__PURE__ */ new WeakMap();
4
+ function exportConfig(spec) {
5
+ return {
6
+ ...spec.type !== void 0 ? { type: spec.type } : {},
7
+ ...spec.hasDefault ? { default: spec.default } : {}
8
+ };
9
+ }
10
+ var TSurface = class TSurface {
11
+ /** Все свойства, в порядке объявления: свои, затем плагинов. */
12
+ props;
13
+ /** Only explicitly declared component and plugin events are public. */
14
+ events;
15
+ /** Статический слой: пропсы, записываемые снаружи, с типом и умолчанием. */
16
+ exportProps;
17
+ /** Статический слой: имена событий и событий привязки, без повторов. */
18
+ exportEvents;
19
+ /** Имена, которые компонент «съедает»: остальное React, Solid и Svelte отдают в корневой узел. */
20
+ consumed;
21
+ _byName;
22
+ /** Поверхность описания в профиле фреймворка; строится один раз на пару. */
23
+ static of(source, profile) {
24
+ let byProfile = surfaces.get(source);
25
+ if (!byProfile) {
26
+ byProfile = /* @__PURE__ */ new WeakMap();
27
+ surfaces.set(source, byProfile);
28
+ }
29
+ let surface = byProfile.get(profile);
30
+ if (!surface) {
31
+ surface = new TSurface(source, profile);
32
+ byProfile.set(profile, surface);
33
+ }
34
+ return surface;
35
+ }
36
+ constructor(source, profile) {
37
+ const { naming, defaultSlot, model } = profile;
38
+ this.props = source.getProps().map((spec) => {
39
+ const exportName = naming.prop(spec.name);
40
+ return model && !spec.protected && spec.triggers.length > 0 ? {
41
+ spec,
42
+ exportName,
43
+ model: model(exportName)
44
+ } : {
45
+ spec,
46
+ exportName
47
+ };
48
+ });
49
+ this._byName = new Map(this.props.map((prop) => [prop.spec.name, prop]));
50
+ const published = /* @__PURE__ */ new Map();
51
+ for (const name of source.getEvents()) if (!published.has(name.getName())) published.set(name.getName(), name);
52
+ this.events = [...published.values()].map((name) => ({
53
+ name,
54
+ exportName: naming.event(name)
55
+ }));
56
+ this.exportProps = Object.fromEntries(this.props.filter((prop) => !prop.spec.protected).map((prop) => [prop.exportName, exportConfig(prop.spec)]));
57
+ this.exportEvents = [.../* @__PURE__ */ new Set([...this.events.map((event) => event.exportName), ...this.props.flatMap((prop) => prop.model === void 0 ? [] : [prop.model])])];
58
+ const consumed = /* @__PURE__ */ new Set(["ctrl", "embedded"]);
59
+ for (const prop of this.props) {
60
+ consumed.add(prop.exportName);
61
+ consumed.add(prop.spec.name.name);
62
+ }
63
+ for (const event of this.events) consumed.add(event.exportName);
64
+ for (const slot of source.slots ?? []) consumed.add(defaultSlot ? resolveSlotName(slot.name, defaultSlot) : slot.name);
65
+ if (defaultSlot) consumed.add(defaultSlot);
66
+ this.consumed = consumed;
67
+ Object.freeze(this);
68
+ }
69
+ /**
70
+ * Запись поверхности по описанию — так обмен получает имя для своей линии.
71
+ *
72
+ * Ключ — объект имени (`TName`), а не строка и не само описание: имя создаётся
73
+ * один раз на объявление и переживает пересчёт умолчаний (`rebase`), поэтому
74
+ * описание наследника и описание с умолчанием владельца находят ту же запись.
75
+ */
76
+ entryOf(spec) {
77
+ return this._byName.get(spec.name);
78
+ }
79
+ /** Пропсы, которые компонент не съел: уходят атрибутами в корневой узел. */
80
+ forward(props) {
81
+ const rest = {};
82
+ for (const key of Object.keys(props)) if (!this.consumed.has(key)) Reflect.set(rest, key, Reflect.get(props, key));
83
+ return rest;
84
+ }
85
+ };
86
+ //#endregion
87
+ export { TSurface };
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Записи поверхности: проп и событие в именах фреймворка — по ссылке на описание, без его копий.
3
+ */
4
+ import type { ISlotDeclaration, TName, TPropSpec } from '../../define';
5
+ /** То, по чему строится поверхность: дескриптор компонента или объявление плагина. */
6
+ export interface ISurfaceSource {
7
+ getProps(): readonly TPropSpec[];
8
+ getEvents(): readonly TName[];
9
+ readonly slots?: readonly ISlotDeclaration[];
10
+ }
11
+ export interface ISurfaceProp {
12
+ /** Описание свойства: тип, `protected`, триггеры и умолчание читаются у него, копий здесь нет. */
13
+ readonly spec: TPropSpec;
14
+ /** Имя пропа во фреймворке: `text`, `aria_label`. */
15
+ readonly exportName: string;
16
+ /** Событие двусторонней привязки (`update:text`) — у записываемого пропа с триггерами, если привязку знает профиль. */
17
+ readonly model?: string;
18
+ }
19
+ export interface ISurfaceEvent {
20
+ /** Имя у владельца: `name.name` — на что подписываться, `name.namespace` — у кого. */
21
+ readonly name: TName;
22
+ /** Имя события во фреймворке: `change:text`, `so:change:text`, `onChangeText`, `soChangeText`. */
23
+ readonly exportName: string;
24
+ }
25
+ /** Объявление пропа для статического слоя: ключ `default` есть, только если умолчание объявлено. */
26
+ export type TSurfacePropConfig = {
27
+ type?: unknown;
28
+ default?: unknown;
29
+ };
@@ -0,0 +1,55 @@
1
+ /**
2
+ * TComponentDescriptor — дескриптор компонента: своё объявление поверх родительского.
3
+ *
4
+ * Наследник получает пропсы, события и плагины `extends` и добавляет своё.
5
+ * Правило у пропсов и плагинов одно: своё с тем же ключом ложится на
6
+ * родительское и остаётся на его месте (`inheritDeclarations`). Что значит
7
+ * «поверх», дескриптор не решает — это знает само объявление
8
+ * (`IDeclaration`): плагин того же класса встаёт целиком, а проп
9
+ * переобъявляет ровно те факты, которые наследник написал. Так `size` у
10
+ * элемента коллекции становится защищённым — входом он быть перестаёт, — а
11
+ * тип и триггеры остаются объявленными один раз, у того, кто проп завёл.
12
+ *
13
+ * Слоты не наследуются: дескриптор объявляет ровно те, что рисует разметка
14
+ * его компонента. Пропсы, события и плагины описывают экземпляр ядра, а класс
15
+ * потомка наследует класс родителя (`ctor`), поэтому унаследованное
16
+ * объявление правдиво. Слоты описывают шаблон, а шаблон не наследуется: у
17
+ * каждого компонента в каждом адаптере своя разметка. Унаследованный слот —
18
+ * обещание о разметке от того, кто её не рисует: так `default` ComponentView
19
+ * доставался Icon, Input и CheckBox, и содержимое, которое тип пропускал,
20
+ * молча пропадало.
21
+ *
22
+ * События — не объявления, а имена: фактов, которые можно переобъявить, у них
23
+ * нет, и повтор имени — дубль, а не уточнение. Поэтому они копятся списком, и
24
+ * о повторе дескриптор сообщает (`reportDuplicateNames`).
25
+ *
26
+ * Умолчание пропа — от итогового `ctor` и пересчётом, а не копией
27
+ * родительского: наследник вправе поменять значение (у Frame
28
+ * `visible: false`, у ComponentView — `true`). Плагинов это не касается:
29
+ * умолчания их пропсов знает определение плагина.
30
+ *
31
+ * Описания заморожены: дескриптор строится один раз на тип
32
+ * (`defineDescriptor`) и один на все монтирования, а родительские описания
33
+ * делят все наследники. Правка массива у одного потребителя молча сломала бы
34
+ * остальных.
35
+ *
36
+ * Контракта в типе у класса нет: `ctor` без своего и без родителя — `Object`, и
37
+ * связать его с выведенным инстансом можно только в типах. Контракт
38
+ * приписывает сигнатура `defineComponent`.
39
+ */
40
+ import type { TName } from './name.class';
41
+ import type { TPropSpec } from './prop-spec.class';
42
+ import type { TSlotDeclaration } from './slot-declaration.class';
43
+ import type { IComponentDescriptor, IComponentOptions, IPluginDefinition, TComponentCtor } from './types';
44
+ export declare class TComponentDescriptor implements IComponentDescriptor {
45
+ readonly ctor: TComponentCtor;
46
+ readonly props: readonly TPropSpec[];
47
+ readonly events: readonly TName[];
48
+ readonly slots: readonly TSlotDeclaration[];
49
+ readonly plugins: readonly IPluginDefinition[];
50
+ private readonly _allProps;
51
+ private readonly _allEvents;
52
+ constructor(options: IComponentOptions);
53
+ getProps(): readonly TPropSpec[];
54
+ getEvents(): readonly TName[];
55
+ }
@@ -0,0 +1,112 @@
1
+ import { normalizeContribution } from "./contribution.js";
2
+ import { inheritDeclarations } from "./inherit.js";
3
+ //#region protected/define/component-descriptor.class.ts
4
+ /**
5
+ * TComponentDescriptor — дескриптор компонента: своё объявление поверх родительского.
6
+ *
7
+ * Наследник получает пропсы, события и плагины `extends` и добавляет своё.
8
+ * Правило у пропсов и плагинов одно: своё с тем же ключом ложится на
9
+ * родительское и остаётся на его месте (`inheritDeclarations`). Что значит
10
+ * «поверх», дескриптор не решает — это знает само объявление
11
+ * (`IDeclaration`): плагин того же класса встаёт целиком, а проп
12
+ * переобъявляет ровно те факты, которые наследник написал. Так `size` у
13
+ * элемента коллекции становится защищённым — входом он быть перестаёт, — а
14
+ * тип и триггеры остаются объявленными один раз, у того, кто проп завёл.
15
+ *
16
+ * Слоты не наследуются: дескриптор объявляет ровно те, что рисует разметка
17
+ * его компонента. Пропсы, события и плагины описывают экземпляр ядра, а класс
18
+ * потомка наследует класс родителя (`ctor`), поэтому унаследованное
19
+ * объявление правдиво. Слоты описывают шаблон, а шаблон не наследуется: у
20
+ * каждого компонента в каждом адаптере своя разметка. Унаследованный слот —
21
+ * обещание о разметке от того, кто её не рисует: так `default` ComponentView
22
+ * доставался Icon, Input и CheckBox, и содержимое, которое тип пропускал,
23
+ * молча пропадало.
24
+ *
25
+ * События — не объявления, а имена: фактов, которые можно переобъявить, у них
26
+ * нет, и повтор имени — дубль, а не уточнение. Поэтому они копятся списком, и
27
+ * о повторе дескриптор сообщает (`reportDuplicateNames`).
28
+ *
29
+ * Умолчание пропа — от итогового `ctor` и пересчётом, а не копией
30
+ * родительского: наследник вправе поменять значение (у Frame
31
+ * `visible: false`, у ComponentView — `true`). Плагинов это не касается:
32
+ * умолчания их пропсов знает определение плагина.
33
+ *
34
+ * Описания заморожены: дескриптор строится один раз на тип
35
+ * (`defineDescriptor`) и один на все монтирования, а родительские описания
36
+ * делят все наследники. Правка массива у одного потребителя молча сломала бы
37
+ * остальных.
38
+ *
39
+ * Контракта в типе у класса нет: `ctor` без своего и без родителя — `Object`, и
40
+ * связать его с выведенным инстансом можно только в типах. Контракт
41
+ * приписывает сигнатура `defineComponent`.
42
+ */
43
+ /**
44
+ * Корень цепочки наследования: дескриптор без объявлений.
45
+ *
46
+ * Пустой родитель отвечает на те же вопросы, что настоящий, поэтому «родителя
47
+ * нет» — не развилка в сборке: без него `parent?.x ?? []` стояло бы у каждой
48
+ * категории, и следующая добавила бы ещё одно. Наружу не выходит: у
49
+ * дескриптора без `extends` родителем остаётся он.
50
+ */
51
+ var ROOT = Object.freeze({
52
+ ctor: Object,
53
+ props: [],
54
+ events: [],
55
+ slots: [],
56
+ plugins: [],
57
+ getProps: () => [],
58
+ getEvents: () => []
59
+ });
60
+ /**
61
+ * Полное имя уникально в составе компонента: по нему проп и событие находят и
62
+ * во фреймворке, и в ядре. Это свойство типа, поэтому сверяется один раз, при
63
+ * построении дескриптора, а не на каждом монтировании.
64
+ *
65
+ * Дубль — ошибка автора дескриптора, и отвечает за неё он: слой сообщает в
66
+ * консоль и работает дальше, а не роняет приложение. Развести имена плагинов
67
+ * помогает неймспейс; проконтролировать автора полностью слой не может и не
68
+ * пытается.
69
+ *
70
+ * Триггеры пропсов сюда не входят: одно событие — законный триггер нескольких
71
+ * свойств (`change:visible` у `visible` и `present`), и наружу оно уходит один
72
+ * раз — это держит поверхность.
73
+ */
74
+ function reportDuplicateNames(ctor, kind, names) {
75
+ const seen = /* @__PURE__ */ new Set();
76
+ for (const item of names) {
77
+ const name = item.getName();
78
+ if (seen.has(name)) console.error(`${ctor.name}: ${kind} «${name}» объявлено дважды — полное имя обязано быть одно`);
79
+ seen.add(name);
80
+ }
81
+ }
82
+ var TComponentDescriptor = class {
83
+ ctor;
84
+ props;
85
+ events;
86
+ slots;
87
+ plugins;
88
+ _allProps;
89
+ _allEvents;
90
+ constructor(options) {
91
+ const parent = options.extends ?? ROOT;
92
+ const own = normalizeContribution(options.contribution);
93
+ const ctor = options.ctor ?? parent.ctor;
94
+ this.ctor = ctor;
95
+ this.props = Object.freeze(inheritDeclarations(parent.props, own.props).map((prop) => prop.rebase(ctor.defaultValues)));
96
+ this.events = Object.freeze([...parent.events, ...own.events]);
97
+ this.slots = Object.freeze(own.slots);
98
+ this.plugins = Object.freeze(inheritDeclarations(parent.plugins, options.plugins ?? []));
99
+ this._allProps = Object.freeze([...this.props, ...this.plugins.flatMap((plugin) => plugin.props)]);
100
+ this._allEvents = Object.freeze([...this.events, ...this.plugins.flatMap((plugin) => plugin.events)]);
101
+ reportDuplicateNames(ctor, "свойство", this._allProps.map((prop) => prop.name));
102
+ reportDuplicateNames(ctor, "событие", this._allEvents);
103
+ }
104
+ getProps() {
105
+ return this._allProps;
106
+ }
107
+ getEvents() {
108
+ return this._allEvents;
109
+ }
110
+ };
111
+ //#endregion
112
+ export { TComponentDescriptor };
@@ -0,0 +1,14 @@
1
+ /**
2
+ * defineComponent infers a component contract from its class and declarations.
3
+ * Public events come only from explicit `events`, including inherited declarations.
4
+ */
5
+ import type { TCheckedEventNames, TContractFrom } from './inference.types';
6
+ import type { IComponentDescriptor, IComponentOptions } from './types';
7
+ /**
8
+ * Параметр типа один — сами опции, и явно его не передают. `const`: опции
9
+ * запоминаются литералом, иначе имена событий, триггеров и слотов вывелись бы
10
+ * `string`, а неймспейсы плагинов пропали бы из типов адаптеров.
11
+ *
12
+ * Имена событий сверяются с картой событий инстанса (`TCheckedEventNames`).
13
+ */
14
+ export declare function defineComponent<const TOptions extends IComponentOptions>(options: TOptions & TCheckedEventNames<TOptions>): IComponentDescriptor<TContractFrom<TOptions>>;
@@ -0,0 +1,12 @@
1
+ import { TComponentDescriptor } from "./component-descriptor.class.js";
2
+ //#region protected/define/component.ts
3
+ /**
4
+ * defineComponent infers a component contract from its class and declarations.
5
+ * Public events come only from explicit `events`, including inherited declarations.
6
+ */
7
+ /** Тело — под сигнатурой без контракта: рантайму он не нужен (см. `TComponentDescriptor`). */
8
+ function defineComponent(options) {
9
+ return new TComponentDescriptor(options);
10
+ }
11
+ //#endregion
12
+ export { defineComponent };