@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,63 @@
1
+ /**
2
+ * TFieldControlExtension — контрол берёт связку поля формы `Field` над собой.
3
+ *
4
+ * Поле даёт контролу три вещи: ошибку (`invalid` — `data-invalid` и
5
+ * `aria-invalid` контрола), ссылки на видимые части (`aria-describedby` на
6
+ * подсказку или ошибку, у группы — `aria-labelledby` на подпись) и, у
7
+ * labelable-контрола без своего `id`, `id` поля — на него ведёт `for`
8
+ * подписи. Ссылки пишет `TAriaPlugin` контрола — вторым входом рядом с
9
+ * пропсами `aria_*`, и своё имя контрола главнее подписи поля. Labelable-
10
+ * контролу (Input, NumberInput, Select, CheckBox, Switch, Rating, ползунок с
11
+ * одной ручкой) имя даёт `for`, а не ссылка: `aria-labelledby` перекрыл бы
12
+ * подпись `Label` у флажка в поле.
13
+ *
14
+ * `id` поле задаёт каналом самого контрола. У контрола с `TIdPlugin`
15
+ * (`TInputControl`: Input, NumberInput, Select, CheckBox, Switch, Rating) —
16
+ * значением `id` плагина, а не записью в `aria`: этот `id` каждый такой
17
+ * контрол уже ведёт до своего `<input>`, и у Select — до поля внутри. Набор
18
+ * `aria` Select разметка кладёт атрибутами на вложенный Input, а `id` там —
19
+ * проп Input, и снятый `id` из набора вернул бы `id` поля Select к умолчанию
20
+ * поверх своего. `id` приложения главнее: поле задаёт `id`, только пока его
21
+ * нет, и снимает свой, когда контрол уходит из поля. У labelable-контрола без
22
+ * `TIdPlugin` (ползунок) канала, кроме `aria`, нет — `id` ложится туда, как
23
+ * `id` панели Tabs.
24
+ *
25
+ * Сам о себе контрол сообщает полю — `id` и labelable ли он: только он их
26
+ * знает. По ним плагин связок поля решает `for` подписи — `id` контрола или
27
+ * ничего у группы.
28
+ *
29
+ * Labelable контрол может сменить по ходу жизни: ползунок labelable, пока
30
+ * ручка одна, а у нескольких ручек он — группа, и имя подписи ложится на его
31
+ * корень, а не на поля ручек. Сменился (`change:labelable`) — подпись за ним:
32
+ * labelable-контрол получает `id` поля и `for`, группа — ссылку на подпись,
33
+ * а `id` от поля с неё снят.
34
+ *
35
+ * Фазы — как у связки панели Tabs (`TTabsContentBindingExtension`):
36
+ *
37
+ * - **сборка** — ошибка, ссылки и `id`: всё это контрола, поэтому сервер и
38
+ * первый кадр рисуют его уже в поле;
39
+ * - **вход** (`attach` контекста) — связка его: подписки на ошибку поля, его
40
+ * ссылки, `change:id` его `TIdPlugin`, свой `change:labelable` и сообщение
41
+ * полю о себе.
42
+ * Шины поля контролу чужие, а собранный контрол фреймворк вправе выбросить,
43
+ * так и не приняв; связку к этому времени мог взять контрол, принятый
44
+ * раньше, — тогда собранное снимается;
45
+ * - **снятие** (`destroy` контекста) — отписка, связка свободна, записанное
46
+ * контролу — назад. Контекст, собранный, но так и не принятый, снимается
47
+ * тоже.
48
+ *
49
+ * Поле — одно на контрол, контрол — один на поле: связку берёт первый, и
50
+ * занятую не берёт никто. Деталь чужой разметки (`embedded`: поле Select,
51
+ * поля DatePicker) связку не берёт — её взял владелец детали. Своему поддереву
52
+ * контрол опускает пустую связку: контролы в его слотах — его содержимое.
53
+ *
54
+ * Поля выше нет — контрол ведёт себя так, будто связки нет вовсе.
55
+ *
56
+ * Использование:
57
+ * adapter.use(TFieldControlExtension, { elevator: VueElevatorFactory })
58
+ */
59
+ import type { TInstanceContext } from '../../../protected/adapter/context';
60
+ import type { IFieldControl, IFieldControlExtensionOptions } from './types';
61
+ export declare class TFieldControlExtension {
62
+ constructor(context: TInstanceContext<IFieldControl>, options: IFieldControlExtensionOptions);
63
+ }
@@ -0,0 +1,172 @@
1
+ import { FIELD_ELEVATOR } from "./keys.js";
2
+ import { TAriaPlugin, TIdPlugin } from "@soxa-ui/plugins";
3
+ //#region content/extensions/field/field-control.extension.class.ts
4
+ /**
5
+ * TFieldControlExtension — контрол берёт связку поля формы `Field` над собой.
6
+ *
7
+ * Поле даёт контролу три вещи: ошибку (`invalid` — `data-invalid` и
8
+ * `aria-invalid` контрола), ссылки на видимые части (`aria-describedby` на
9
+ * подсказку или ошибку, у группы — `aria-labelledby` на подпись) и, у
10
+ * labelable-контрола без своего `id`, `id` поля — на него ведёт `for`
11
+ * подписи. Ссылки пишет `TAriaPlugin` контрола — вторым входом рядом с
12
+ * пропсами `aria_*`, и своё имя контрола главнее подписи поля. Labelable-
13
+ * контролу (Input, NumberInput, Select, CheckBox, Switch, Rating, ползунок с
14
+ * одной ручкой) имя даёт `for`, а не ссылка: `aria-labelledby` перекрыл бы
15
+ * подпись `Label` у флажка в поле.
16
+ *
17
+ * `id` поле задаёт каналом самого контрола. У контрола с `TIdPlugin`
18
+ * (`TInputControl`: Input, NumberInput, Select, CheckBox, Switch, Rating) —
19
+ * значением `id` плагина, а не записью в `aria`: этот `id` каждый такой
20
+ * контрол уже ведёт до своего `<input>`, и у Select — до поля внутри. Набор
21
+ * `aria` Select разметка кладёт атрибутами на вложенный Input, а `id` там —
22
+ * проп Input, и снятый `id` из набора вернул бы `id` поля Select к умолчанию
23
+ * поверх своего. `id` приложения главнее: поле задаёт `id`, только пока его
24
+ * нет, и снимает свой, когда контрол уходит из поля. У labelable-контрола без
25
+ * `TIdPlugin` (ползунок) канала, кроме `aria`, нет — `id` ложится туда, как
26
+ * `id` панели Tabs.
27
+ *
28
+ * Сам о себе контрол сообщает полю — `id` и labelable ли он: только он их
29
+ * знает. По ним плагин связок поля решает `for` подписи — `id` контрола или
30
+ * ничего у группы.
31
+ *
32
+ * Labelable контрол может сменить по ходу жизни: ползунок labelable, пока
33
+ * ручка одна, а у нескольких ручек он — группа, и имя подписи ложится на его
34
+ * корень, а не на поля ручек. Сменился (`change:labelable`) — подпись за ним:
35
+ * labelable-контрол получает `id` поля и `for`, группа — ссылку на подпись,
36
+ * а `id` от поля с неё снят.
37
+ *
38
+ * Фазы — как у связки панели Tabs (`TTabsContentBindingExtension`):
39
+ *
40
+ * - **сборка** — ошибка, ссылки и `id`: всё это контрола, поэтому сервер и
41
+ * первый кадр рисуют его уже в поле;
42
+ * - **вход** (`attach` контекста) — связка его: подписки на ошибку поля, его
43
+ * ссылки, `change:id` его `TIdPlugin`, свой `change:labelable` и сообщение
44
+ * полю о себе.
45
+ * Шины поля контролу чужие, а собранный контрол фреймворк вправе выбросить,
46
+ * так и не приняв; связку к этому времени мог взять контрол, принятый
47
+ * раньше, — тогда собранное снимается;
48
+ * - **снятие** (`destroy` контекста) — отписка, связка свободна, записанное
49
+ * контролу — назад. Контекст, собранный, но так и не принятый, снимается
50
+ * тоже.
51
+ *
52
+ * Поле — одно на контрол, контрол — один на поле: связку берёт первый, и
53
+ * занятую не берёт никто. Деталь чужой разметки (`embedded`: поле Select,
54
+ * поля DatePicker) связку не берёт — её взял владелец детали. Своему поддереву
55
+ * контрол опускает пустую связку: контролы в его слотах — его содержимое.
56
+ *
57
+ * Поля выше нет — контрол ведёт себя так, будто связки нет вовсе.
58
+ *
59
+ * Использование:
60
+ * adapter.use(TFieldControlExtension, { elevator: VueElevatorFactory })
61
+ */
62
+ var TFieldControlExtension = class {
63
+ constructor(context, options) {
64
+ const elevator = options.elevator(FIELD_ELEVATOR);
65
+ const link = elevator.up();
66
+ if (!link) return;
67
+ elevator.down(null);
68
+ if (context.embedded !== void 0 || link.ids.bound) return;
69
+ const { field, ids } = link;
70
+ const control = context.instance;
71
+ const aria = context.bundle?.get(TAriaPlugin);
72
+ /** Канал `id` контрола: у контрола без него (ползунок) `id` от поля — в `aria`. */
73
+ const idPlugin = context.bundle?.get(TIdPlugin);
74
+ /** Контрол принят: связка его, на шины поля и контрола подписаны. */
75
+ let attached = false;
76
+ const syncInvalid = () => {
77
+ control.invalid = field.invalid;
78
+ };
79
+ const syncLinks = () => {
80
+ if (!aria) return;
81
+ const { labelledBy, describedBy } = ids.links;
82
+ aria.links = {
83
+ labelledBy: control.labelable ? void 0 : labelledBy,
84
+ describedBy
85
+ };
86
+ };
87
+ /** `id` от поля — назад; `id` приложения не трогается. */
88
+ const releaseId = () => {
89
+ if (!idPlugin) {
90
+ if (control.aria.get("id") === ids.controlId) control.aria.remove("id");
91
+ return;
92
+ }
93
+ if (idPlugin.id === ids.controlId) idPlugin.id = void 0;
94
+ };
95
+ /**
96
+ * `id` поля — labelable-контролу без `id` приложения, каналом контрола:
97
+ * значением его `TIdPlugin`, а у контрола без плагина — в его `aria`.
98
+ * Группе `id` от поля не нужен: подпись называет её ссылкой, — и снят,
99
+ * если контрол перестал быть labelable.
100
+ */
101
+ const syncId = () => {
102
+ if (!control.labelable) {
103
+ releaseId();
104
+ return;
105
+ }
106
+ if (!idPlugin) {
107
+ control.aria.add("id", ids.controlId);
108
+ return;
109
+ }
110
+ if (idPlugin.id === void 0) idPlugin.id = ids.controlId;
111
+ };
112
+ const apply = () => {
113
+ syncInvalid();
114
+ syncLinks();
115
+ syncId();
116
+ };
117
+ /** Сообщить полю о себе: по `id` и labelable оно решает `for` подписи. */
118
+ const bind = () => {
119
+ ids.bindControl({
120
+ id: idPlugin?.id,
121
+ labelable: control.labelable
122
+ });
123
+ };
124
+ /** `id` сменился: сняли свой — снова `id` поля, и `for` подписи — за ним. */
125
+ const rebind = () => {
126
+ syncId();
127
+ bind();
128
+ };
129
+ /**
130
+ * Labelable сменился (у ползунка — число ручек): `id` поля, ссылка на
131
+ * подпись и `for` — за ним.
132
+ */
133
+ const relabel = () => {
134
+ syncId();
135
+ syncLinks();
136
+ bind();
137
+ };
138
+ /** Всё, что связка записала контролу, — назад. */
139
+ const release = () => {
140
+ control.invalid = false;
141
+ if (aria) aria.links = {};
142
+ releaseId();
143
+ };
144
+ apply();
145
+ context.events.on("attach", () => {
146
+ if (ids.bound) {
147
+ release();
148
+ return;
149
+ }
150
+ attached = true;
151
+ field.events.on("change:invalid", syncInvalid);
152
+ ids.events.on("change:links", syncLinks);
153
+ control.events.on("change:labelable", relabel);
154
+ idPlugin?.events.on("change:id", rebind);
155
+ apply();
156
+ bind();
157
+ });
158
+ context.events.on("destroy", () => {
159
+ if (attached) {
160
+ field.events.off("change:invalid", syncInvalid);
161
+ ids.events.off("change:links", syncLinks);
162
+ control.events.off("change:labelable", relabel);
163
+ idPlugin?.events.off("change:id", rebind);
164
+ ids.unbindControl();
165
+ }
166
+ attached = false;
167
+ release();
168
+ });
169
+ }
170
+ };
171
+ //#endregion
172
+ export { TFieldControlExtension };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * TFieldExtension — проводка поля формы `Field`: связка контролу внутри.
3
+ *
4
+ * Поле опускает по лифту (`FIELD_ELEVATOR`) себя и свой плагин связок
5
+ * (`TFieldIdsPlugin`), а контрол внутри подхватывает их своим расширением
6
+ * (`TFieldControlExtension`) — при сборке, поэтому ошибка, `id` поля и ссылки
7
+ * на части есть уже в первой и серверной отрисовке. Ни регистрации, ни
8
+ * подписок у поля нет, поэтому фаз контекста оно не ждёт: их ведёт контрол.
9
+ *
10
+ * Плагина связок у набора нет (чужой набор без него) — опускается пустая
11
+ * связка: контрол ведёт себя так, будто поля нет.
12
+ *
13
+ * Использование:
14
+ * adapter.use(TFieldExtension, { elevator: VueElevatorFactory })
15
+ */
16
+ import type { IField } from '@soxa-ui/core';
17
+ import type { TInstanceContext } from '../../../protected/adapter/context';
18
+ import type { IFieldExtensionOptions } from './types';
19
+ export declare class TFieldExtension {
20
+ constructor(context: TInstanceContext<IField>, options: IFieldExtensionOptions);
21
+ }
@@ -0,0 +1,14 @@
1
+ import { FIELD_ELEVATOR } from "./keys.js";
2
+ import { TFieldIdsPlugin } from "@soxa-ui/plugins";
3
+ //#region content/extensions/field/field.extension.class.ts
4
+ var TFieldExtension = class {
5
+ constructor(context, options) {
6
+ const ids = context.bundle?.get(TFieldIdsPlugin);
7
+ options.elevator(FIELD_ELEVATOR).down(ids ? {
8
+ field: context.instance,
9
+ ids
10
+ } : null);
11
+ }
12
+ };
13
+ //#endregion
14
+ export { TFieldExtension };
@@ -0,0 +1,3 @@
1
+ export { TFieldExtension } from './field.extension.class';
2
+ export { TFieldControlExtension } from './field-control.extension.class';
3
+ export type { IFieldControl, IFieldControlExtensionOptions, IFieldExtensionOptions, IFieldLink, } from './types';
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Ключ лифта поля формы: `Field` опускает по нему связку своему поддереву, а
3
+ * контрол внутри её берёт.
4
+ *
5
+ * Лежит отдельно от проводки, как ключ окна (`VIRTUAL_ELEVATOR`): лифт берёт
6
+ * любой ключ, поэтому ключ — в наполнении, а не в механике лифта.
7
+ */
8
+ import type { IElevatorKey } from '../../../protected/adapter/elevator';
9
+ import type { IFieldLink } from './types';
10
+ /**
11
+ * Связка ближайшего поля выше по дереву. Пустое значение опускает своему
12
+ * поддереву сам контрол: контролы в его слотах связку его поля не берут.
13
+ */
14
+ export declare const FIELD_ELEVATOR: IElevatorKey<IFieldLink | null>;
@@ -0,0 +1,8 @@
1
+ //#region content/extensions/field/keys.ts
2
+ /**
3
+ * Связка ближайшего поля выше по дереву. Пустое значение опускает своему
4
+ * поддереву сам контрол: контролы в его слотах связку его поля не берут.
5
+ */
6
+ var FIELD_ELEVATOR = { name: "soxa:field" };
7
+ //#endregion
8
+ export { FIELD_ELEVATOR };
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Контракты связки поля формы с контролом: что поле опускает по лифту, каким
3
+ * связка видит контрол, и опции расширений.
4
+ */
5
+ import type { IField, TAria, TControlEvents } from '@soxa-ui/core';
6
+ import type { IListenable, TFieldIdsPlugin } from '@soxa-ui/plugins';
7
+ import type { TElevatorFactory } from '../../../protected/adapter/elevator';
8
+ /**
9
+ * Связка поля: само поле — его ошибка и событие её смены — и его плагин
10
+ * связок: `id` поля, ссылки на видимые части и приём контрола.
11
+ */
12
+ export interface IFieldLink {
13
+ readonly field: IField;
14
+ readonly ids: TFieldIdsPlugin;
15
+ }
16
+ /**
17
+ * Контрол поля глазами связки: ошибка, которую ему пишет поле, признак
18
+ * labelable — называет ли подпись его своим `for` или, как группу, ссылкой, —
19
+ * с событием его смены и набор элемента, который она называет: у
20
+ * labelable-контрола без `TIdPlugin` (ползунок) `id` от поля ложится туда.
21
+ *
22
+ * Labelable меняется по ходу жизни не у всякого контрола: у ползунка — с
23
+ * числом ручек, а подпись — за ним.
24
+ */
25
+ export interface IFieldControl {
26
+ invalid: boolean;
27
+ readonly labelable: boolean;
28
+ readonly aria: TAria;
29
+ readonly events: IListenable<Pick<TControlEvents, 'change:labelable'>>;
30
+ }
31
+ export interface IFieldExtensionOptions {
32
+ elevator: TElevatorFactory;
33
+ }
34
+ export interface IFieldControlExtensionOptions {
35
+ elevator: TElevatorFactory;
36
+ }
@@ -0,0 +1,8 @@
1
+ export * from './collection';
2
+ export * from './drag-and-drop';
3
+ export * from './field';
4
+ export * from './item-group';
5
+ export * from './menu';
6
+ export * from './tabs';
7
+ export * from './toasts';
8
+ export * from './virtual';
@@ -0,0 +1,2 @@
1
+ export { TItemGroupExtension } from './item-group.extension.class';
2
+ export type { IItemGroupExtensionOptions, IItemGroupLink, TItemGroupPart } from './types';
@@ -0,0 +1,49 @@
1
+ /**
2
+ * TItemGroupExtension — a group part enters the collection's grouping: the key to the items inside, the label to the grouping.
3
+ *
4
+ * A markup group (`Menu.Group`, `Menu.RadioGroup`, `ListBox.Group`,
5
+ * `Select.Group`) goes the same channel as the `_.group` mark in data: it
6
+ * lowers its key along with its collection's engine down the elevator
7
+ * (`ITEM_GROUP_ELEVATOR`), and an item inside puts the key into its marks
8
+ * when it joins the collection (`TCollectionItemExtension`). There is no
9
+ * second membership storage — `meta` remembers the key, as the mark from
10
+ * data.
11
+ *
12
+ * The key comes from the group's instance (`uid`): the consumer has no reason
13
+ * to address a markup group by key, and there is no prop for it. The key does
14
+ * not go into the document, so the server and the browser do not compare it.
15
+ *
16
+ * The group registers its label in the grouping (`register`): the sections
17
+ * get it when `groups` has no label. The registration is separate from
18
+ * `groups` — resetting the prop does not erase the markup group's — and sets
19
+ * no order. The label changed — the group registers the new one over the old.
20
+ *
21
+ * Phases — as the field link's (`TFieldControlExtension`):
22
+ *
23
+ * - **assembly** — the link for the items: they read it at their assembly;
24
+ * - **entry** — the label's registration and the subscription to its change.
25
+ * The grouping is someone else's storage, and the framework may throw an
26
+ * assembled group away without accepting it. The entry is the context's
27
+ * `attach` or the entry of the group's first item (`enter` of the link),
28
+ * whichever comes first: React accepts the children before their parent,
29
+ * and the items joined a group without its label — the sections came
30
+ * unlabelled first (benchmarks/parity/README.md). An accepted item has an
31
+ * accepted group above it, so the early entry registers no thrown-away
32
+ * group;
33
+ * - **removal** (the context's `destroy`) — the unsubscription and the
34
+ * registration removed.
35
+ *
36
+ * No collection above or it has no grouping — the group lowers an empty
37
+ * link: the items need no key, and a group link from above does not reach
38
+ * them. A group the owner draws for a section from data is the same part: no
39
+ * item has its key — an item from data takes no group key — and the
40
+ * registration does not change the sections.
41
+ *
42
+ * Usage:
43
+ * adapter.use(TItemGroupExtension, { elevator: VueElevatorFactory })
44
+ */
45
+ import type { TInstanceContext } from '../../../protected/adapter/context';
46
+ import type { IItemGroupExtensionOptions, TItemGroupPart } from './types';
47
+ export declare class TItemGroupExtension {
48
+ constructor(context: TInstanceContext<TItemGroupPart>, options: IItemGroupExtensionOptions);
49
+ }
@@ -0,0 +1,91 @@
1
+ import { ITEM_CONTEXT_ELEVATOR } from "../../../protected/adapter/elevator/keys.js";
2
+ import { ITEM_GROUP_ELEVATOR } from "./keys.js";
3
+ import { groupOf } from "@soxa-ui/core";
4
+ //#region content/extensions/item-group/item-group.extension.class.ts
5
+ /**
6
+ * TItemGroupExtension — a group part enters the collection's grouping: the key to the items inside, the label to the grouping.
7
+ *
8
+ * A markup group (`Menu.Group`, `Menu.RadioGroup`, `ListBox.Group`,
9
+ * `Select.Group`) goes the same channel as the `_.group` mark in data: it
10
+ * lowers its key along with its collection's engine down the elevator
11
+ * (`ITEM_GROUP_ELEVATOR`), and an item inside puts the key into its marks
12
+ * when it joins the collection (`TCollectionItemExtension`). There is no
13
+ * second membership storage — `meta` remembers the key, as the mark from
14
+ * data.
15
+ *
16
+ * The key comes from the group's instance (`uid`): the consumer has no reason
17
+ * to address a markup group by key, and there is no prop for it. The key does
18
+ * not go into the document, so the server and the browser do not compare it.
19
+ *
20
+ * The group registers its label in the grouping (`register`): the sections
21
+ * get it when `groups` has no label. The registration is separate from
22
+ * `groups` — resetting the prop does not erase the markup group's — and sets
23
+ * no order. The label changed — the group registers the new one over the old.
24
+ *
25
+ * Phases — as the field link's (`TFieldControlExtension`):
26
+ *
27
+ * - **assembly** — the link for the items: they read it at their assembly;
28
+ * - **entry** — the label's registration and the subscription to its change.
29
+ * The grouping is someone else's storage, and the framework may throw an
30
+ * assembled group away without accepting it. The entry is the context's
31
+ * `attach` or the entry of the group's first item (`enter` of the link),
32
+ * whichever comes first: React accepts the children before their parent,
33
+ * and the items joined a group without its label — the sections came
34
+ * unlabelled first (benchmarks/parity/README.md). An accepted item has an
35
+ * accepted group above it, so the early entry registers no thrown-away
36
+ * group;
37
+ * - **removal** (the context's `destroy`) — the unsubscription and the
38
+ * registration removed.
39
+ *
40
+ * No collection above or it has no grouping — the group lowers an empty
41
+ * link: the items need no key, and a group link from above does not reach
42
+ * them. A group the owner draws for a section from data is the same part: no
43
+ * item has its key — an item from data takes no group key — and the
44
+ * registration does not change the sections.
45
+ *
46
+ * Usage:
47
+ * adapter.use(TItemGroupExtension, { elevator: VueElevatorFactory })
48
+ */
49
+ var TItemGroupExtension = class {
50
+ constructor(context, options) {
51
+ const link = options.elevator(ITEM_GROUP_ELEVATOR);
52
+ const engine = options.elevator(ITEM_CONTEXT_ELEVATOR).up();
53
+ const grouping = groupOf(engine);
54
+ if (!engine || !grouping) {
55
+ link.down(null);
56
+ return;
57
+ }
58
+ const group = context.instance;
59
+ const key = `item-group:${group.uid}`;
60
+ /** Снятие последней регистрации: новая подпись регистрируется поверх прежней. */
61
+ let release;
62
+ /** Whether the group has entered the grouping — see «entry» above. */
63
+ let entered = false;
64
+ const register = () => {
65
+ release = grouping.register({
66
+ key,
67
+ label: group.label
68
+ });
69
+ };
70
+ const enter = () => {
71
+ if (entered) return;
72
+ entered = true;
73
+ register();
74
+ group.events.on("change:label", register);
75
+ };
76
+ link.down({
77
+ key,
78
+ engine,
79
+ enter
80
+ });
81
+ context.events.on("attach", enter);
82
+ context.events.on("destroy", () => {
83
+ entered = false;
84
+ group.events.off("change:label", register);
85
+ release?.();
86
+ release = void 0;
87
+ });
88
+ }
89
+ };
90
+ //#endregion
91
+ export { TItemGroupExtension };
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Ключ лифта группы элементов: часть группы опускает по нему связку, а элемент коллекции внутри берёт из неё ключ группы.
3
+ *
4
+ * Лежит отдельно от проводки, как ключ поля (`FIELD_ELEVATOR`): лифт берёт
5
+ * любой ключ, поэтому ключ — в наполнении, а не в механике лифта. Элемент
6
+ * коллекции импортирует только его и типы.
7
+ */
8
+ import type { IElevatorKey } from '../../../protected/adapter/elevator';
9
+ import type { IItemGroupLink } from './types';
10
+ /**
11
+ * Связка ближайшей группы выше по дереву. Пустое значение опускает группа
12
+ * коллекции без группировки: элементам внутри ключ не нужен, и связка группы
13
+ * выше до них не доходит.
14
+ */
15
+ export declare const ITEM_GROUP_ELEVATOR: IElevatorKey<IItemGroupLink | null>;
@@ -0,0 +1,9 @@
1
+ //#region content/extensions/item-group/keys.ts
2
+ /**
3
+ * Связка ближайшей группы выше по дереву. Пустое значение опускает группа
4
+ * коллекции без группировки: элементам внутри ключ не нужен, и связка группы
5
+ * выше до них не доходит.
6
+ */
7
+ var ITEM_GROUP_ELEVATOR = { name: "soxa:item-group" };
8
+ //#endregion
9
+ export { ITEM_GROUP_ELEVATOR };
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Контракты проводки группы элементов: что группа опускает по лифту, какой её видит проводка, и опции расширения.
3
+ */
4
+ import type { TCollectionEngine, TItemGroupEvents } from '@soxa-ui/core';
5
+ import type { IListenable } from '@soxa-ui/plugins';
6
+ import type { TElevatorFactory } from '../../../protected/adapter/elevator';
7
+ /**
8
+ * The link of a group with the items inside: the group's key in the
9
+ * collection's grouping and the engine of that collection. An item takes the
10
+ * key only if it is an item of the same engine: the items of a submenu in a
11
+ * menu group are items of their own collection.
12
+ *
13
+ * `enter` — the group enters the grouping, at the latest before its first
14
+ * item does (see `TItemGroupExtension`); a repeat does nothing.
15
+ */
16
+ export interface IItemGroupLink {
17
+ readonly key: string;
18
+ readonly engine: TCollectionEngine<any, any>;
19
+ enter(): void;
20
+ }
21
+ /**
22
+ * Инстанс, к которому подключается расширение: часть группы — `Menu.Group`,
23
+ * `Menu.RadioGroup`, `ListBox.Group`, `Select.Group`. Ключ в группировке —
24
+ * от экземпляра (`uid`), подпись — с событием её смены: карта событий у форм
25
+ * разная, а смена подписи есть у всех.
26
+ */
27
+ export type TItemGroupPart = {
28
+ readonly uid: number;
29
+ readonly label: string;
30
+ readonly events: IListenable<Pick<TItemGroupEvents, 'change:label'>>;
31
+ };
32
+ export interface IItemGroupExtensionOptions {
33
+ elevator: TElevatorFactory;
34
+ }
@@ -0,0 +1,3 @@
1
+ export { TMenuRadioGroupExtension } from './radio-group.extension.class';
2
+ export { TMenuRadioItemExtension } from './radio-item.extension.class';
3
+ export type { IMenuRadioGroupExtensionOptions, IMenuRadioItemExtensionOptions } from './types';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Ключ лифта группы переключателей меню: `Menu.RadioGroup` опускает по нему себя, а переключатель внутри её берёт.
3
+ *
4
+ * Лежит отдельно от проводки, как ключ окна (`VIRTUAL_ELEVATOR`): лифт берёт
5
+ * любой ключ, поэтому ключ — в наполнении, а не в механике лифта.
6
+ */
7
+ import type { IMenuRadioGroup } from '@soxa-ui/core';
8
+ import type { IElevatorKey } from '../../../protected/adapter/elevator';
9
+ /** Ближайшая группа переключателей выше по дереву. */
10
+ export declare const MENU_RADIO_GROUP_ELEVATOR: IElevatorKey<IMenuRadioGroup>;
@@ -0,0 +1,5 @@
1
+ //#region content/extensions/menu/keys.ts
2
+ /** Ближайшая группа переключателей выше по дереву. */
3
+ var MENU_RADIO_GROUP_ELEVATOR = { name: "soxa:menu-radio-group" };
4
+ //#endregion
5
+ export { MENU_RADIO_GROUP_ELEVATOR };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * TMenuRadioGroupExtension — проводка группы переключателей `Menu.RadioGroup`: группа переключателям внутри себя.
3
+ *
4
+ * Группа опускает по лифту (`MENU_RADIO_GROUP_ELEVATOR`) себя, а переключатель
5
+ * внутри подхватывает её своим расширением (`TMenuRadioItemExtension`) — при
6
+ * сборке, до входа в коллекцию меню: меню отмечает его по значению группы уже
7
+ * на входе. Ни регистрации, ни подписок у группы нет, поэтому фаз контекста
8
+ * она не ждёт: правило «в группе отмечен один» и значение группы за отметкой
9
+ * держит расширение коллекции меню, пока переключатель группы в ней.
10
+ *
11
+ * Своей коллекции у группы нет: её переключатели — пункты меню, и навигация
12
+ * ходит по ним сквозь группу.
13
+ *
14
+ * Использование:
15
+ * adapter.use(TMenuRadioGroupExtension, { elevator: VueElevatorFactory })
16
+ */
17
+ import type { IMenuRadioGroup } from '@soxa-ui/core';
18
+ import type { TInstanceContext } from '../../../protected/adapter/context';
19
+ import type { IMenuRadioGroupExtensionOptions } from './types';
20
+ export declare class TMenuRadioGroupExtension {
21
+ constructor(context: TInstanceContext<IMenuRadioGroup>, options: IMenuRadioGroupExtensionOptions);
22
+ }
@@ -0,0 +1,9 @@
1
+ import { MENU_RADIO_GROUP_ELEVATOR } from "./keys.js";
2
+ //#region content/extensions/menu/radio-group.extension.class.ts
3
+ var TMenuRadioGroupExtension = class {
4
+ constructor(context, options) {
5
+ options.elevator(MENU_RADIO_GROUP_ELEVATOR).down(context.instance);
6
+ }
7
+ };
8
+ //#endregion
9
+ export { TMenuRadioGroupExtension };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * TMenuRadioItemExtension — переключатель `Menu.RadioItem` берёт группу переключателей над собой.
3
+ *
4
+ * Группу опускает по лифту `Menu.RadioGroup` (`TMenuRadioGroupExtension`), и
5
+ * переключатель пишет её себе в `group` при сборке: это его свойство, а в
6
+ * коллекцию меню он входит позже, с приёмом (`attach`), — и меню застаёт его
7
+ * уже в группе. Лифт отдаёт ближайшую группу.
8
+ *
9
+ * Группы выше нет — переключатель остаётся со своей: вне разметки группы
10
+ * `null`, а у `ctrl`, которому группу дал код, — она.
11
+ *
12
+ * Использование:
13
+ * adapter.use(TMenuRadioItemExtension, { elevator: VueElevatorFactory })
14
+ */
15
+ import type { IMenuRadioItem } from '@soxa-ui/core';
16
+ import type { TInstanceContext } from '../../../protected/adapter/context';
17
+ import type { IMenuRadioItemExtensionOptions } from './types';
18
+ export declare class TMenuRadioItemExtension {
19
+ constructor(context: TInstanceContext<IMenuRadioItem>, options: IMenuRadioItemExtensionOptions);
20
+ }