@soxa-ui/react 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 (456) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +253 -2
  3. package/dist/adapter/common/aria.d.ts +6 -0
  4. package/dist/adapter/common/aria.js +22 -0
  5. package/dist/adapter/common/icon.d.ts +9 -0
  6. package/dist/adapter/common/icon.js +22 -0
  7. package/dist/adapter/common/index.d.ts +6 -0
  8. package/dist/adapter/common/naming.d.ts +6 -0
  9. package/dist/adapter/common/naming.js +8 -0
  10. package/dist/adapter/common/profile.d.ts +3 -0
  11. package/dist/adapter/common/profile.js +8 -0
  12. package/dist/adapter/common/root.d.ts +67 -0
  13. package/dist/adapter/common/root.js +83 -0
  14. package/dist/adapter/common/slots.d.ts +15 -0
  15. package/dist/adapter/common/slots.js +23 -0
  16. package/dist/adapter/elevator/Elevate.d.ts +16 -0
  17. package/dist/adapter/elevator/Elevate.js +22 -0
  18. package/dist/adapter/elevator/elevator.class.d.ts +14 -0
  19. package/dist/adapter/elevator/elevator.class.js +23 -0
  20. package/dist/adapter/elevator/index.d.ts +3 -0
  21. package/dist/adapter/elevator/layer.d.ts +6 -0
  22. package/dist/adapter/elevator/layer.js +5 -0
  23. package/dist/adapter/elevator/scope.class.d.ts +19 -0
  24. package/dist/adapter/elevator/scope.class.js +31 -0
  25. package/dist/adapter/index.d.ts +5 -0
  26. package/dist/adapter/locale/LocaleProvider.d.ts +19 -0
  27. package/dist/adapter/locale/LocaleProvider.js +29 -0
  28. package/dist/adapter/locale/context.d.ts +3 -0
  29. package/dist/adapter/locale/context.js +7 -0
  30. package/dist/adapter/locale/index.d.ts +2 -0
  31. package/dist/adapter/runtime/NativeInput.d.ts +24 -0
  32. package/dist/adapter/runtime/NativeInput.js +40 -0
  33. package/dist/adapter/runtime/NativeTextarea.d.ts +10 -0
  34. package/dist/adapter/runtime/NativeTextarea.js +24 -0
  35. package/dist/adapter/runtime/Teleport.d.ts +14 -0
  36. package/dist/adapter/runtime/Teleport.js +82 -0
  37. package/dist/adapter/runtime/accepting.d.ts +10 -0
  38. package/dist/adapter/runtime/accepting.js +18 -0
  39. package/dist/adapter/runtime/click-action.class.d.ts +14 -0
  40. package/dist/adapter/runtime/click-action.class.js +26 -0
  41. package/dist/adapter/runtime/drafts.class.d.ts +24 -0
  42. package/dist/adapter/runtime/drafts.class.js +41 -0
  43. package/dist/adapter/runtime/event-callbacks.class.d.ts +29 -0
  44. package/dist/adapter/runtime/event-callbacks.class.js +44 -0
  45. package/dist/adapter/runtime/index.d.ts +16 -0
  46. package/dist/adapter/runtime/root-ref.class.d.ts +39 -0
  47. package/dist/adapter/runtime/root-ref.class.js +86 -0
  48. package/dist/adapter/runtime/stable-snapshot.class.d.ts +20 -0
  49. package/dist/adapter/runtime/stable-snapshot.class.js +43 -0
  50. package/dist/adapter/runtime/useAdapter.d.ts +39 -0
  51. package/dist/adapter/runtime/useAdapter.js +78 -0
  52. package/dist/adapter/runtime/useAdapterContext.d.ts +22 -0
  53. package/dist/adapter/runtime/useAdapterContext.js +128 -0
  54. package/dist/adapter/runtime/useClickAction.d.ts +6 -0
  55. package/dist/adapter/runtime/useClickAction.js +16 -0
  56. package/dist/adapter/runtime/useComponent.d.ts +15 -0
  57. package/dist/adapter/runtime/useComponent.js +13 -0
  58. package/dist/adapter/runtime/useRootElement.d.ts +6 -0
  59. package/dist/adapter/runtime/useRootElement.js +13 -0
  60. package/dist/adapter/runtime/withRenderBoundary.d.ts +7 -0
  61. package/dist/adapter/runtime/withRenderBoundary.js +13 -0
  62. package/dist/adapter/toasts/index.d.ts +3 -0
  63. package/dist/adapter/toasts/render.d.ts +6 -0
  64. package/dist/adapter/toasts/render.js +17 -0
  65. package/dist/adapter/toasts/types.d.ts +6 -0
  66. package/dist/adapter/toasts/useToasts.d.ts +8 -0
  67. package/dist/adapter/toasts/useToasts.js +19 -0
  68. package/dist/components/accordion/Accordion.d.ts +14 -0
  69. package/dist/components/accordion/Accordion.js +40 -0
  70. package/dist/components/accordion/base.component.d.ts +6 -0
  71. package/dist/components/accordion/index.d.ts +6 -0
  72. package/dist/components/accordion/index.js +7 -0
  73. package/dist/components/accordion/item/Item.d.ts +6 -0
  74. package/dist/components/accordion/item/Item.js +68 -0
  75. package/dist/components/accordion/item/base.component.d.ts +9 -0
  76. package/dist/components/accordion/item/index.d.ts +2 -0
  77. package/dist/components/accordion/item/setup.component.d.ts +17 -0
  78. package/dist/components/accordion/item/setup.component.js +23 -0
  79. package/dist/components/accordion/setup.component.d.ts +15 -0
  80. package/dist/components/accordion/setup.component.js +26 -0
  81. package/dist/components/button/Button.d.ts +15 -0
  82. package/dist/components/button/Button.js +38 -0
  83. package/dist/components/button/base.component.d.ts +7 -0
  84. package/dist/components/button/index.d.ts +2 -0
  85. package/dist/components/button/setup.component.d.ts +22 -0
  86. package/dist/components/button/setup.component.js +12 -0
  87. package/dist/components/calendar/Calendar.d.ts +7 -0
  88. package/dist/components/calendar/Calendar.js +190 -0
  89. package/dist/components/calendar/base.component.d.ts +7 -0
  90. package/dist/components/calendar/index.d.ts +7 -0
  91. package/dist/components/calendar/index.js +8 -0
  92. package/dist/components/calendar/item/Item.d.ts +3 -0
  93. package/dist/components/calendar/item/Item.js +26 -0
  94. package/dist/components/calendar/item/base.component.d.ts +7 -0
  95. package/dist/components/calendar/item/index.d.ts +2 -0
  96. package/dist/components/calendar/item/setup.component.d.ts +13 -0
  97. package/dist/components/calendar/item/setup.component.js +20 -0
  98. package/dist/components/calendar/setup.component.d.ts +15 -0
  99. package/dist/components/calendar/setup.component.js +26 -0
  100. package/dist/components/check-box/CheckBox.d.ts +4 -0
  101. package/dist/components/check-box/CheckBox.js +49 -0
  102. package/dist/components/check-box/base.component.d.ts +7 -0
  103. package/dist/components/check-box/index.d.ts +2 -0
  104. package/dist/components/check-box/setup.component.d.ts +27 -0
  105. package/dist/components/check-box/setup.component.js +13 -0
  106. package/dist/components/component/base.component.d.ts +5 -0
  107. package/dist/components/component/index.d.ts +1 -0
  108. package/dist/components/component-view/ComponentView.d.ts +4 -0
  109. package/dist/components/component-view/ComponentView.js +22 -0
  110. package/dist/components/component-view/base.component.d.ts +5 -0
  111. package/dist/components/component-view/index.d.ts +2 -0
  112. package/dist/components/component-view/setup.component.d.ts +9 -0
  113. package/dist/components/component-view/setup.component.js +12 -0
  114. package/dist/components/control/base.component.d.ts +5 -0
  115. package/dist/components/control/index.d.ts +1 -0
  116. package/dist/components/control/setup.component.d.ts +22 -0
  117. package/dist/components/date-input/DateInput.d.ts +4 -0
  118. package/dist/components/date-input/DateInput.js +88 -0
  119. package/dist/components/date-input/base.component.d.ts +6 -0
  120. package/dist/components/date-input/index.d.ts +2 -0
  121. package/dist/components/date-input/setup.component.d.ts +27 -0
  122. package/dist/components/date-input/setup.component.js +13 -0
  123. package/dist/components/date-picker/DatePicker.d.ts +9 -0
  124. package/dist/components/date-picker/DatePicker.js +148 -0
  125. package/dist/components/date-picker/base.component.d.ts +6 -0
  126. package/dist/components/date-picker/index.d.ts +2 -0
  127. package/dist/components/date-picker/setup.component.d.ts +60 -0
  128. package/dist/components/date-picker/setup.component.js +26 -0
  129. package/dist/components/dialog/Dialog.d.ts +7 -0
  130. package/dist/components/dialog/Dialog.js +88 -0
  131. package/dist/components/dialog/base.component.d.ts +6 -0
  132. package/dist/components/dialog/index.d.ts +2 -0
  133. package/dist/components/dialog/setup.component.d.ts +29 -0
  134. package/dist/components/dialog/setup.component.js +12 -0
  135. package/dist/components/drag-and-drop/DragAndDrop.d.ts +4 -0
  136. package/dist/components/drag-and-drop/DragAndDrop.js +16 -0
  137. package/dist/components/drag-and-drop/base.component.d.ts +6 -0
  138. package/dist/components/drag-and-drop/index.d.ts +2 -0
  139. package/dist/components/drag-and-drop/setup.component.d.ts +6 -0
  140. package/dist/components/drag-and-drop/setup.component.js +12 -0
  141. package/dist/components/drawer/Drawer.d.ts +7 -0
  142. package/dist/components/drawer/Drawer.js +75 -0
  143. package/dist/components/drawer/base.component.d.ts +6 -0
  144. package/dist/components/drawer/index.d.ts +2 -0
  145. package/dist/components/drawer/setup.component.d.ts +29 -0
  146. package/dist/components/drawer/setup.component.js +12 -0
  147. package/dist/components/field/Field.d.ts +4 -0
  148. package/dist/components/field/Field.js +58 -0
  149. package/dist/components/field/base.component.d.ts +5 -0
  150. package/dist/components/field/index.d.ts +2 -0
  151. package/dist/components/field/setup.component.d.ts +10 -0
  152. package/dist/components/field/setup.component.js +13 -0
  153. package/dist/components/frame/Frame.d.ts +7 -0
  154. package/dist/components/frame/Frame.js +30 -0
  155. package/dist/components/frame/base.component.d.ts +5 -0
  156. package/dist/components/frame/index.d.ts +2 -0
  157. package/dist/components/frame/setup.component.d.ts +33 -0
  158. package/dist/components/frame/setup.component.js +12 -0
  159. package/dist/components/icon/Icon.d.ts +7 -0
  160. package/dist/components/icon/Icon.js +17 -0
  161. package/dist/components/icon/base.component.d.ts +5 -0
  162. package/dist/components/icon/index.d.ts +2 -0
  163. package/dist/components/icon/setup.component.d.ts +19 -0
  164. package/dist/components/icon/setup.component.js +12 -0
  165. package/dist/components/index.d.ts +43 -0
  166. package/dist/components/input/Input.d.ts +4 -0
  167. package/dist/components/input/Input.js +65 -0
  168. package/dist/components/input/base.component.d.ts +7 -0
  169. package/dist/components/input/index.d.ts +2 -0
  170. package/dist/components/input/setup.component.d.ts +27 -0
  171. package/dist/components/input/setup.component.js +13 -0
  172. package/dist/components/input-control/base.component.d.ts +6 -0
  173. package/dist/components/input-control/index.d.ts +1 -0
  174. package/dist/components/input-control/setup.component.d.ts +26 -0
  175. package/dist/components/interactive/base.component.d.ts +5 -0
  176. package/dist/components/interactive/index.d.ts +1 -0
  177. package/dist/components/interactive/setup.component.d.ts +9 -0
  178. package/dist/components/item-row/ItemRow.d.ts +13 -0
  179. package/dist/components/item-row/ItemRow.js +19 -0
  180. package/dist/components/item-row/index.d.ts +2 -0
  181. package/dist/components/item-row/setup.component.d.ts +22 -0
  182. package/dist/components/item-row/setup.component.js +12 -0
  183. package/dist/components/label/Label.d.ts +7 -0
  184. package/dist/components/label/Label.js +31 -0
  185. package/dist/components/label/base.component.d.ts +5 -0
  186. package/dist/components/label/index.d.ts +2 -0
  187. package/dist/components/label/setup.component.d.ts +9 -0
  188. package/dist/components/label/setup.component.js +12 -0
  189. package/dist/components/list-box/ListBox.d.ts +8 -0
  190. package/dist/components/list-box/ListBox.js +67 -0
  191. package/dist/components/list-box/base.component.d.ts +9 -0
  192. package/dist/components/list-box/group/Group.d.ts +7 -0
  193. package/dist/components/list-box/group/Group.js +34 -0
  194. package/dist/components/list-box/group/base.component.d.ts +6 -0
  195. package/dist/components/list-box/group/index.d.ts +2 -0
  196. package/dist/components/list-box/group/setup.component.d.ts +9 -0
  197. package/dist/components/list-box/group/setup.component.js +12 -0
  198. package/dist/components/list-box/index.d.ts +9 -0
  199. package/dist/components/list-box/index.js +11 -0
  200. package/dist/components/list-box/item/Item.d.ts +6 -0
  201. package/dist/components/list-box/item/Item.js +57 -0
  202. package/dist/components/list-box/item/base.component.d.ts +8 -0
  203. package/dist/components/list-box/item/index.d.ts +2 -0
  204. package/dist/components/list-box/item/setup.component.d.ts +19 -0
  205. package/dist/components/list-box/item/setup.component.js +23 -0
  206. package/dist/components/list-box/setup.component.d.ts +15 -0
  207. package/dist/components/list-box/setup.component.js +26 -0
  208. package/dist/components/menu/Menu.d.ts +7 -0
  209. package/dist/components/menu/Menu.js +47 -0
  210. package/dist/components/menu/base.component.d.ts +6 -0
  211. package/dist/components/menu/checkbox-item/CheckboxItem.d.ts +6 -0
  212. package/dist/components/menu/checkbox-item/CheckboxItem.js +61 -0
  213. package/dist/components/menu/checkbox-item/base.component.d.ts +8 -0
  214. package/dist/components/menu/checkbox-item/index.d.ts +2 -0
  215. package/dist/components/menu/checkbox-item/setup.component.d.ts +17 -0
  216. package/dist/components/menu/checkbox-item/setup.component.js +23 -0
  217. package/dist/components/menu/group/Group.d.ts +4 -0
  218. package/dist/components/menu/group/Group.js +31 -0
  219. package/dist/components/menu/group/base.component.d.ts +6 -0
  220. package/dist/components/menu/group/index.d.ts +2 -0
  221. package/dist/components/menu/group/setup.component.d.ts +9 -0
  222. package/dist/components/menu/group/setup.component.js +12 -0
  223. package/dist/components/menu/index.d.ts +23 -0
  224. package/dist/components/menu/index.js +23 -0
  225. package/dist/components/menu/item/Item.d.ts +3 -0
  226. package/dist/components/menu/item/Item.js +42 -0
  227. package/dist/components/menu/item/base.component.d.ts +8 -0
  228. package/dist/components/menu/item/index.d.ts +2 -0
  229. package/dist/components/menu/item/setup.component.d.ts +17 -0
  230. package/dist/components/menu/item/setup.component.js +23 -0
  231. package/dist/components/menu/popover-item/PopoverItem.d.ts +6 -0
  232. package/dist/components/menu/popover-item/PopoverItem.js +72 -0
  233. package/dist/components/menu/popover-item/base.component.d.ts +8 -0
  234. package/dist/components/menu/popover-item/index.d.ts +2 -0
  235. package/dist/components/menu/popover-item/setup.component.d.ts +24 -0
  236. package/dist/components/menu/popover-item/setup.component.js +26 -0
  237. package/dist/components/menu/radio-group/RadioGroup.d.ts +4 -0
  238. package/dist/components/menu/radio-group/RadioGroup.js +31 -0
  239. package/dist/components/menu/radio-group/base.component.d.ts +5 -0
  240. package/dist/components/menu/radio-group/index.d.ts +2 -0
  241. package/dist/components/menu/radio-group/setup.component.d.ts +9 -0
  242. package/dist/components/menu/radio-group/setup.component.js +12 -0
  243. package/dist/components/menu/radio-item/RadioItem.d.ts +3 -0
  244. package/dist/components/menu/radio-item/RadioItem.js +50 -0
  245. package/dist/components/menu/radio-item/base.component.d.ts +9 -0
  246. package/dist/components/menu/radio-item/index.d.ts +2 -0
  247. package/dist/components/menu/radio-item/setup.component.d.ts +17 -0
  248. package/dist/components/menu/radio-item/setup.component.js +23 -0
  249. package/dist/components/menu/separator/Separator.d.ts +4 -0
  250. package/dist/components/menu/separator/Separator.js +18 -0
  251. package/dist/components/menu/separator/base.component.d.ts +5 -0
  252. package/dist/components/menu/separator/index.d.ts +2 -0
  253. package/dist/components/menu/separator/setup.component.d.ts +9 -0
  254. package/dist/components/menu/separator/setup.component.js +12 -0
  255. package/dist/components/menu/setup.component.d.ts +16 -0
  256. package/dist/components/menu/setup.component.js +29 -0
  257. package/dist/components/menu/submenu/Submenu.d.ts +22 -0
  258. package/dist/components/menu/submenu/Submenu.js +117 -0
  259. package/dist/components/menu/submenu/base.component.d.ts +9 -0
  260. package/dist/components/menu/submenu/index.d.ts +2 -0
  261. package/dist/components/menu/submenu/setup.component.d.ts +25 -0
  262. package/dist/components/menu/submenu/setup.component.js +37 -0
  263. package/dist/components/number-input/NumberInput.d.ts +4 -0
  264. package/dist/components/number-input/NumberInput.js +108 -0
  265. package/dist/components/number-input/base.component.d.ts +7 -0
  266. package/dist/components/number-input/index.d.ts +2 -0
  267. package/dist/components/number-input/setup.component.d.ts +27 -0
  268. package/dist/components/number-input/setup.component.js +13 -0
  269. package/dist/components/pagination/Pagination.d.ts +7 -0
  270. package/dist/components/pagination/Pagination.js +80 -0
  271. package/dist/components/pagination/base.component.d.ts +6 -0
  272. package/dist/components/pagination/index.d.ts +2 -0
  273. package/dist/components/pagination/item/Item.d.ts +3 -0
  274. package/dist/components/pagination/item/Item.js +34 -0
  275. package/dist/components/pagination/item/base.component.d.ts +5 -0
  276. package/dist/components/pagination/item/index.d.ts +2 -0
  277. package/dist/components/pagination/item/setup.component.d.ts +11 -0
  278. package/dist/components/pagination/item/setup.component.js +23 -0
  279. package/dist/components/pagination/setup.component.d.ts +15 -0
  280. package/dist/components/pagination/setup.component.js +26 -0
  281. package/dist/components/popover/Popover.d.ts +7 -0
  282. package/dist/components/popover/Popover.js +68 -0
  283. package/dist/components/popover/base.component.d.ts +6 -0
  284. package/dist/components/popover/index.d.ts +2 -0
  285. package/dist/components/popover/setup.component.d.ts +34 -0
  286. package/dist/components/popover/setup.component.js +17 -0
  287. package/dist/components/progress-linear/ProgressLinear.d.ts +7 -0
  288. package/dist/components/progress-linear/ProgressLinear.js +24 -0
  289. package/dist/components/progress-linear/base.component.d.ts +5 -0
  290. package/dist/components/progress-linear/index.d.ts +2 -0
  291. package/dist/components/progress-linear/setup.component.d.ts +17 -0
  292. package/dist/components/progress-linear/setup.component.js +12 -0
  293. package/dist/components/progress-spinner/ProgressSpinner.d.ts +7 -0
  294. package/dist/components/progress-spinner/ProgressSpinner.js +50 -0
  295. package/dist/components/progress-spinner/base.component.d.ts +5 -0
  296. package/dist/components/progress-spinner/index.d.ts +2 -0
  297. package/dist/components/progress-spinner/setup.component.d.ts +17 -0
  298. package/dist/components/progress-spinner/setup.component.js +12 -0
  299. package/dist/components/radio-group/RadioGroup.d.ts +4 -0
  300. package/dist/components/radio-group/RadioGroup.js +30 -0
  301. package/dist/components/radio-group/base.component.d.ts +7 -0
  302. package/dist/components/radio-group/index.d.ts +7 -0
  303. package/dist/components/radio-group/index.js +8 -0
  304. package/dist/components/radio-group/item/Item.d.ts +3 -0
  305. package/dist/components/radio-group/item/Item.js +46 -0
  306. package/dist/components/radio-group/item/base.component.d.ts +9 -0
  307. package/dist/components/radio-group/item/index.d.ts +2 -0
  308. package/dist/components/radio-group/item/setup.component.d.ts +42 -0
  309. package/dist/components/radio-group/item/setup.component.js +30 -0
  310. package/dist/components/radio-group/setup.component.d.ts +16 -0
  311. package/dist/components/radio-group/setup.component.js +27 -0
  312. package/dist/components/rating/Rating.d.ts +4 -0
  313. package/dist/components/rating/Rating.js +55 -0
  314. package/dist/components/rating/base.component.d.ts +6 -0
  315. package/dist/components/rating/index.d.ts +2 -0
  316. package/dist/components/rating/setup.component.d.ts +27 -0
  317. package/dist/components/rating/setup.component.js +13 -0
  318. package/dist/components/scroller/Scroller.d.ts +7 -0
  319. package/dist/components/scroller/Scroller.js +64 -0
  320. package/dist/components/scroller/base.component.d.ts +6 -0
  321. package/dist/components/scroller/index.d.ts +2 -0
  322. package/dist/components/scroller/setup.component.d.ts +22 -0
  323. package/dist/components/scroller/setup.component.js +12 -0
  324. package/dist/components/select/Select.d.ts +7 -0
  325. package/dist/components/select/Select.js +116 -0
  326. package/dist/components/select/base.component.d.ts +8 -0
  327. package/dist/components/select/group/Group.d.ts +7 -0
  328. package/dist/components/select/group/Group.js +34 -0
  329. package/dist/components/select/group/base.component.d.ts +6 -0
  330. package/dist/components/select/group/index.d.ts +2 -0
  331. package/dist/components/select/group/setup.component.d.ts +9 -0
  332. package/dist/components/select/group/setup.component.js +12 -0
  333. package/dist/components/select/index.d.ts +9 -0
  334. package/dist/components/select/index.js +11 -0
  335. package/dist/components/select/item/Item.d.ts +6 -0
  336. package/dist/components/select/item/Item.js +58 -0
  337. package/dist/components/select/item/base.component.d.ts +8 -0
  338. package/dist/components/select/item/index.d.ts +2 -0
  339. package/dist/components/select/item/setup.component.d.ts +19 -0
  340. package/dist/components/select/item/setup.component.js +23 -0
  341. package/dist/components/select/setup.component.d.ts +27 -0
  342. package/dist/components/select/setup.component.js +30 -0
  343. package/dist/components/skeleton/Skeleton.d.ts +4 -0
  344. package/dist/components/skeleton/Skeleton.js +23 -0
  345. package/dist/components/skeleton/base.component.d.ts +5 -0
  346. package/dist/components/skeleton/index.d.ts +2 -0
  347. package/dist/components/skeleton/setup.component.d.ts +11 -0
  348. package/dist/components/skeleton/setup.component.js +12 -0
  349. package/dist/components/slider/Slider.d.ts +4 -0
  350. package/dist/components/slider/Slider.js +72 -0
  351. package/dist/components/slider/base.component.d.ts +6 -0
  352. package/dist/components/slider/index.d.ts +2 -0
  353. package/dist/components/slider/setup.component.d.ts +23 -0
  354. package/dist/components/slider/setup.component.js +13 -0
  355. package/dist/components/stylable/base.component.d.ts +5 -0
  356. package/dist/components/stylable/index.d.ts +1 -0
  357. package/dist/components/stylable/setup.component.d.ts +9 -0
  358. package/dist/components/switch/Switch.d.ts +4 -0
  359. package/dist/components/switch/Switch.js +42 -0
  360. package/dist/components/switch/base.component.d.ts +7 -0
  361. package/dist/components/switch/index.d.ts +2 -0
  362. package/dist/components/switch/setup.component.d.ts +27 -0
  363. package/dist/components/switch/setup.component.js +13 -0
  364. package/dist/components/table/Table.d.ts +9 -0
  365. package/dist/components/table/Table.js +83 -0
  366. package/dist/components/table/base.component.d.ts +7 -0
  367. package/dist/components/table/column/Column.d.ts +7 -0
  368. package/dist/components/table/column/Column.js +66 -0
  369. package/dist/components/table/column/base.component.d.ts +6 -0
  370. package/dist/components/table/column/index.d.ts +2 -0
  371. package/dist/components/table/column/setup.component.d.ts +19 -0
  372. package/dist/components/table/column/setup.component.js +16 -0
  373. package/dist/components/table/index.d.ts +9 -0
  374. package/dist/components/table/index.js +11 -0
  375. package/dist/components/table/row/Cells.d.ts +14 -0
  376. package/dist/components/table/row/Cells.js +29 -0
  377. package/dist/components/table/row/Row.d.ts +6 -0
  378. package/dist/components/table/row/Row.js +43 -0
  379. package/dist/components/table/row/base.component.d.ts +7 -0
  380. package/dist/components/table/row/index.d.ts +2 -0
  381. package/dist/components/table/row/setup.component.d.ts +11 -0
  382. package/dist/components/table/row/setup.component.js +23 -0
  383. package/dist/components/table/setup.component.d.ts +18 -0
  384. package/dist/components/table/setup.component.js +27 -0
  385. package/dist/components/tabs/Tabs.d.ts +9 -0
  386. package/dist/components/tabs/Tabs.js +53 -0
  387. package/dist/components/tabs/base.component.d.ts +9 -0
  388. package/dist/components/tabs/content/Content.d.ts +4 -0
  389. package/dist/components/tabs/content/Content.js +18 -0
  390. package/dist/components/tabs/content/base.component.d.ts +7 -0
  391. package/dist/components/tabs/content/index.d.ts +2 -0
  392. package/dist/components/tabs/content/setup.component.d.ts +17 -0
  393. package/dist/components/tabs/content/setup.component.js +20 -0
  394. package/dist/components/tabs/index.d.ts +9 -0
  395. package/dist/components/tabs/index.js +11 -0
  396. package/dist/components/tabs/item/Item.d.ts +6 -0
  397. package/dist/components/tabs/item/Item.js +64 -0
  398. package/dist/components/tabs/item/base.component.d.ts +9 -0
  399. package/dist/components/tabs/item/index.d.ts +2 -0
  400. package/dist/components/tabs/item/setup.component.d.ts +17 -0
  401. package/dist/components/tabs/item/setup.component.js +23 -0
  402. package/dist/components/tabs/setup.component.d.ts +15 -0
  403. package/dist/components/tabs/setup.component.js +26 -0
  404. package/dist/components/tags/Tags.d.ts +7 -0
  405. package/dist/components/tags/Tags.js +36 -0
  406. package/dist/components/tags/base.component.d.ts +6 -0
  407. package/dist/components/tags/index.d.ts +6 -0
  408. package/dist/components/tags/index.js +7 -0
  409. package/dist/components/tags/item/Item.d.ts +6 -0
  410. package/dist/components/tags/item/Item.js +63 -0
  411. package/dist/components/tags/item/base.component.d.ts +8 -0
  412. package/dist/components/tags/item/index.d.ts +2 -0
  413. package/dist/components/tags/item/setup.component.d.ts +15 -0
  414. package/dist/components/tags/item/setup.component.js +23 -0
  415. package/dist/components/tags/setup.component.d.ts +15 -0
  416. package/dist/components/tags/setup.component.js +26 -0
  417. package/dist/components/textable/base.component.d.ts +5 -0
  418. package/dist/components/textable/index.d.ts +1 -0
  419. package/dist/components/textable/setup.component.d.ts +22 -0
  420. package/dist/components/textarea/Textarea.d.ts +4 -0
  421. package/dist/components/textarea/Textarea.js +35 -0
  422. package/dist/components/textarea/base.component.d.ts +7 -0
  423. package/dist/components/textarea/index.d.ts +2 -0
  424. package/dist/components/textarea/setup.component.d.ts +29 -0
  425. package/dist/components/textarea/setup.component.js +13 -0
  426. package/dist/components/toasts/Toasts.d.ts +7 -0
  427. package/dist/components/toasts/Toasts.js +43 -0
  428. package/dist/components/toasts/base.component.d.ts +7 -0
  429. package/dist/components/toasts/index.d.ts +2 -0
  430. package/dist/components/toasts/item/Item.d.ts +3 -0
  431. package/dist/components/toasts/item/Item.js +88 -0
  432. package/dist/components/toasts/item/base.component.d.ts +6 -0
  433. package/dist/components/toasts/item/index.d.ts +2 -0
  434. package/dist/components/toasts/item/setup.component.d.ts +13 -0
  435. package/dist/components/toasts/item/setup.component.js +20 -0
  436. package/dist/components/toasts/setup.component.d.ts +13 -0
  437. package/dist/components/toasts/setup.component.js +26 -0
  438. package/dist/components/tooltip/Tooltip.d.ts +4 -0
  439. package/dist/components/tooltip/Tooltip.js +34 -0
  440. package/dist/components/tooltip/base.component.d.ts +6 -0
  441. package/dist/components/tooltip/index.d.ts +2 -0
  442. package/dist/components/tooltip/setup.component.d.ts +26 -0
  443. package/dist/components/tooltip/setup.component.js +17 -0
  444. package/dist/components/value-control/base.component.d.ts +6 -0
  445. package/dist/components/value-control/index.d.ts +1 -0
  446. package/dist/components/value-control/setup.component.d.ts +22 -0
  447. package/dist/components/virtual/Virtual.d.ts +4 -0
  448. package/dist/components/virtual/Virtual.js +16 -0
  449. package/dist/components/virtual/base.component.d.ts +6 -0
  450. package/dist/components/virtual/index.d.ts +2 -0
  451. package/dist/components/virtual/setup.component.d.ts +6 -0
  452. package/dist/components/virtual/setup.component.js +12 -0
  453. package/dist/index.d.ts +10 -0
  454. package/dist/index.js +60 -0
  455. package/dist/types.d.ts +25 -0
  456. package/package.json +60 -4
@@ -0,0 +1,57 @@
1
+ "use client";
2
+ import { toAriaProps } from "../../../adapter/common/aria.js";
3
+ import { toControlAttrs, toRootForward, toRootProps } from "../../../adapter/common/root.js";
4
+ import { renderSlot } from "../../../adapter/common/slots.js";
5
+ import { roleIcon } from "../../../adapter/common/icon.js";
6
+ import { useClickAction } from "../../../adapter/runtime/useClickAction.js";
7
+ import { withRenderBoundary } from "../../../adapter/runtime/withRenderBoundary.js";
8
+ import { Icon } from "../../icon/Icon.js";
9
+ import { ItemRow } from "../../item-row/ItemRow.js";
10
+ import { useSetupListBoxItem } from "./setup.component.js";
11
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
+ //#region src/components/list-box/item/Item.tsx
13
+ /**
14
+ * ListBoxItem — элемент списка: корень по `tag` и строка-опция — `ItemRow` на `div`
15
+ * (под этот тег написан `TListBoxItem._ariaTag`).
16
+ */
17
+ var ListBoxItem = withRenderBoundary(function ListBoxItem(props) {
18
+ const { ref, forwardProps, state, context } = useSetupListBoxItem(props);
19
+ const choose = useClickAction(() => context?.adapters.list.choose());
20
+ const { rendered, tag, text, view, disabled, size, variant, selected, indicator, aria, dataset, attrs } = state;
21
+ if (!rendered) return null;
22
+ const Tag = tag;
23
+ const chosen = selected ?? false;
24
+ const row = toControlAttrs(forwardProps);
25
+ const mark = /* @__PURE__ */ jsx("span", {
26
+ className: "so-list-box-item__indicator",
27
+ "aria-hidden": "true",
28
+ children: renderSlot(props["indicator-icon"], { selected: chosen }) ?? (chosen ? /* @__PURE__ */ jsx(Icon, {
29
+ embedded: "list-box.indicator",
30
+ tag: roleIcon("check"),
31
+ size
32
+ }) : null)
33
+ });
34
+ return /* @__PURE__ */ jsx(Tag, {
35
+ ...toRootProps(ref, state, [dataset, attrs], toRootForward(forwardProps)),
36
+ children: /* @__PURE__ */ jsx(ItemRow, {
37
+ embedded: "list-box.row",
38
+ tag: "div",
39
+ view,
40
+ disabled,
41
+ size,
42
+ variant,
43
+ ...toAriaProps(aria),
44
+ ...toAriaProps(dataset),
45
+ ...row,
46
+ ref: choose,
47
+ leading: /* @__PURE__ */ jsxs(Fragment, { children: [indicator === "start" ? mark : null, renderSlot(props.leading)] }),
48
+ trailing: /* @__PURE__ */ jsxs(Fragment, { children: [renderSlot(props.trailing), indicator === "end" ? mark : null] }),
49
+ children: renderSlot(props.children, {
50
+ text: text ?? "",
51
+ selected: chosen
52
+ }) ?? text
53
+ })
54
+ });
55
+ });
56
+ //#endregion
57
+ export { ListBoxItem };
@@ -0,0 +1,8 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ import type { IListBoxItem } from '@soxa-ui/core';
3
+ import type { ListBoxCollectionItemDescriptor, ListBoxItemDescriptor } from '@soxa-ui/setup';
4
+ import type { EventProps, TDomAttributes, UseDomProps } from '../../../types';
5
+ export type ListBoxItemEventProps = EventProps<typeof ListBoxItemDescriptor> & EventProps<typeof ListBoxCollectionItemDescriptor>;
6
+ /** Атрибуты элемента: класс и стиль — корню, остальное — строке. */
7
+ export type ListBoxItemAttributes = TDomAttributes<typeof ListBoxItemDescriptor, HTMLAttributes<HTMLElement>, ListBoxItemEventProps>;
8
+ export type ListBoxItemProps = UseDomProps<typeof ListBoxItemDescriptor, IListBoxItem, ListBoxItemEventProps>;
@@ -0,0 +1,2 @@
1
+ export * from './base.component';
2
+ export { ListBoxItem } from './Item';
@@ -0,0 +1,19 @@
1
+ import type { ListBoxItemProps } from './base.component';
2
+ export declare function useSetupListBoxItem(props: ListBoxItemProps): {
3
+ context: import("@soxa-ui/core").TItemContext<import("@soxa-ui/core").IListBoxItem<import("@soxa-ui/core").IListBoxItemProps, import("@soxa-ui/core").TListBoxItemEvents>, import("@soxa-ui/core").TListBoxCollectionExtensions> | undefined;
4
+ ref: (el: Element | null) => void;
5
+ plugins: import("@soxa-ui/plugins").IPluginBundle | null;
6
+ ctrl: object & import("@soxa-ui/core").IListBoxItem<import("@soxa-ui/core").IListBoxItemProps, import("@soxa-ui/core").TListBoxItemEvents>;
7
+ root: import("../../../adapter").TRootSource;
8
+ forwardProps: Partial<ListBoxItemProps>;
9
+ bindRef: (el: Element | null) => void;
10
+ state: import("@soxa-ui/setup").TInstanceState<object & import("@soxa-ui/core").IListBoxItem<import("@soxa-ui/core").IListBoxItemProps, import("@soxa-ui/core").TListBoxItemEvents>> & import("@soxa-ui/setup").TInstanceState<object & {} & {} & {} & {
11
+ aria_label?: string | undefined;
12
+ aria_labelledBy?: string | undefined;
13
+ aria_describedBy?: string | undefined;
14
+ } & {} & {} & {
15
+ id?: string | undefined;
16
+ } & {}> & import("@soxa-ui/setup").TInstanceState<object & {} & {} & {} & {} & {} & {
17
+ readonly listItem_highlighted: boolean;
18
+ } & {} & {}> & import("@soxa-ui/setup").TInstanceState<object & import("@soxa-ui/core").TListBoxItemCollectionFacade> & object;
19
+ };
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { useAdapter, useCollectionAdapter } from "../../../adapter/runtime/useAdapter.js";
3
+ import { useAdapterContext } from "../../../adapter/runtime/useAdapterContext.js";
4
+ import { ListBoxCollectionItemDescriptor, ListBoxItemDescriptor, TCollectionItemExtension } from "@soxa-ui/setup";
5
+ //#region src/components/list-box/item/setup.component.ts
6
+ function useSetupListBoxItem(props) {
7
+ const { contexts: [adapter, item] } = useAdapterContext((create, elevator) => {
8
+ const adapter = create(ListBoxItemDescriptor(), {
9
+ ctrl: props.ctrl,
10
+ props
11
+ });
12
+ return [adapter, create(ListBoxCollectionItemDescriptor(), { props }, { bundle: adapter.bundle }).use(TCollectionItemExtension, {
13
+ adapter,
14
+ elevator
15
+ })];
16
+ });
17
+ return {
18
+ ...useCollectionAdapter(useAdapter(adapter, props), item, props),
19
+ context: item.instance.context
20
+ };
21
+ }
22
+ //#endregion
23
+ export { useSetupListBoxItem };
@@ -0,0 +1,15 @@
1
+ import type { ListBoxProps } from './base.component';
2
+ export declare function useSetupListBox(props: ListBoxProps): {
3
+ layer: import("../../adapter").TElevatorLayer;
4
+ ref: (el: Element | null) => void;
5
+ plugins: import("@soxa-ui/plugins").IPluginBundle | null;
6
+ ctrl: object & import("@soxa-ui/core").IListBox<import("@soxa-ui/core").IListBoxProps, import("@soxa-ui/core").TListBoxEvents>;
7
+ root: import("../../adapter").TRootSource;
8
+ forwardProps: Partial<ListBoxProps>;
9
+ bindRef: (el: Element | null) => void;
10
+ state: import("@soxa-ui/setup").TInstanceState<object & import("@soxa-ui/core").IListBox<import("@soxa-ui/core").IListBoxProps, import("@soxa-ui/core").TListBoxEvents>> & import("@soxa-ui/setup").TInstanceState<object & {} & {} & {} & {
11
+ aria_label?: string | undefined;
12
+ aria_labelledBy?: string | undefined;
13
+ aria_describedBy?: string | undefined;
14
+ } & {} & {} & {} & {} & {} & {} & {}> & import("@soxa-ui/setup").TInstanceState<object & {} & {} & {} & {} & {} & {} & {} & {} & {} & {} & {}> & import("@soxa-ui/setup").TInstanceState<object & import("@soxa-ui/core").TListBoxCollectionFacade> & object;
15
+ };
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { useAdapter, useCollectionAdapter } from "../../adapter/runtime/useAdapter.js";
3
+ import { useAdapterContext } from "../../adapter/runtime/useAdapterContext.js";
4
+ import { ListBoxCollectionDescriptor, ListBoxDescriptor, TCollectionExtension, TDragAndDropCollectionExtension, TVirtualCollectionExtension } from "@soxa-ui/setup";
5
+ //#region src/components/list-box/setup.component.ts
6
+ function useSetupListBox(props) {
7
+ const { contexts: [adapter, collectionAdapter], layer } = useAdapterContext((create, elevator) => {
8
+ const adapter = create(ListBoxDescriptor(), {
9
+ ctrl: props.ctrl,
10
+ props
11
+ });
12
+ return [adapter, create(ListBoxCollectionDescriptor(), {
13
+ props,
14
+ options: {
15
+ owner: adapter.instance,
16
+ engine: props.engine
17
+ }
18
+ }, { bundle: adapter.bundle }).use(TCollectionExtension, { elevator }).use(TDragAndDropCollectionExtension, { elevator }).use(TVirtualCollectionExtension, { elevator })];
19
+ });
20
+ return {
21
+ ...useCollectionAdapter(useAdapter(adapter, props), collectionAdapter, props),
22
+ layer
23
+ };
24
+ }
25
+ //#endregion
26
+ export { useSetupListBox };
@@ -0,0 +1,7 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { MenuProps } from './base.component';
3
+ /**
4
+ * Menu — меню действий у кнопки (APG Menu Button) или контекстное меню области.
5
+ * docs/agents/patterns.md, «Готовые паттерны» (Menu).
6
+ */
7
+ export declare function Menu(props: MenuProps): ReactElement | null;
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ import { toAriaProps } from "../../adapter/common/aria.js";
3
+ import { toPartClass, toRootProps } from "../../adapter/common/root.js";
4
+ import { hasSlot, renderSlot } from "../../adapter/common/slots.js";
5
+ import { Elevate } from "../../adapter/elevator/Elevate.js";
6
+ import { Frame } from "../frame/Frame.js";
7
+ import { drawItems } from "./submenu/Submenu.js";
8
+ import { useSetupMenu } from "./setup.component.js";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ //#region src/components/menu/Menu.tsx
11
+ /**
12
+ * Menu — меню действий у кнопки (APG Menu Button) или контекстное меню области.
13
+ * docs/agents/patterns.md, «Готовые паттерны» (Menu).
14
+ */
15
+ function Menu(props) {
16
+ const { ref, forwardProps, state, rootElement, layer } = useSetupMenu(props);
17
+ const { rendered, tag, attrs, aria, dataset, open, point, placement, triggerAria, triggerDataset, panelClasses, contentRendered, dismiss_ownerAttribute } = state;
18
+ if (!rendered) return null;
19
+ return /* @__PURE__ */ jsx(tag, {
20
+ ...toRootProps(ref, state, [attrs, dataset], forwardProps),
21
+ children: /* @__PURE__ */ jsxs(Elevate, {
22
+ layer,
23
+ children: [renderSlot(props.trigger, {
24
+ triggerAria: triggerAria ?? {},
25
+ triggerDataset: triggerDataset ?? {}
26
+ }), /* @__PURE__ */ jsx(Frame, {
27
+ embedded: "menu.frame",
28
+ className: toPartClass(panelClasses),
29
+ tabIndex: -1,
30
+ visible: state.visible && open,
31
+ strategy: "fixed",
32
+ anchor_anchor: rootElement,
33
+ anchor_point: point,
34
+ anchor_placement: placement,
35
+ anchor_offset: 4,
36
+ ...toAriaProps(aria),
37
+ ...toAriaProps(dismiss_ownerAttribute),
38
+ children: /* @__PURE__ */ jsx("div", {
39
+ className: "so-menu__list",
40
+ children: !contentRendered ? null : hasSlot(props.children) ? renderSlot(props.children) : drawItems(state, props)
41
+ })
42
+ })]
43
+ })
44
+ });
45
+ }
46
+ //#endregion
47
+ export { Menu };
@@ -0,0 +1,6 @@
1
+ import type { IMenu } from '@soxa-ui/core';
2
+ import type { MenuCollectionDescriptor, MenuDescriptor } from '@soxa-ui/setup';
3
+ import type { EventProps, UseDomProps } from '../../types';
4
+ /** Колбэки обоих контекстов меню — свой и фасада коллекции — пропсы одного компонента. */
5
+ export type MenuEventProps = EventProps<typeof MenuDescriptor> & EventProps<typeof MenuCollectionDescriptor>;
6
+ export type MenuProps = UseDomProps<typeof MenuDescriptor, IMenu, MenuEventProps>;
@@ -0,0 +1,6 @@
1
+ import type { MenuCheckboxItemProps } from './base.component';
2
+ /**
3
+ * MenuCheckboxItem — флажок меню: строка пункта с отметкой в начале. Обёртка отметки — прямой
4
+ * ребёнок строки и у неотмеченного: по ней тема узнаёт колонку отметок.
5
+ */
6
+ export declare const MenuCheckboxItem: import("react").NamedExoticComponent<MenuCheckboxItemProps>;
@@ -0,0 +1,61 @@
1
+ "use client";
2
+ import { toAriaProps } from "../../../adapter/common/aria.js";
3
+ import { toControlAttrs, toRootForward, toRootProps } from "../../../adapter/common/root.js";
4
+ import { renderSlot } from "../../../adapter/common/slots.js";
5
+ import { roleIcon } from "../../../adapter/common/icon.js";
6
+ import { useClickAction } from "../../../adapter/runtime/useClickAction.js";
7
+ import { withRenderBoundary } from "../../../adapter/runtime/withRenderBoundary.js";
8
+ import { Icon } from "../../icon/Icon.js";
9
+ import { ItemRow } from "../../item-row/ItemRow.js";
10
+ import { useSetupMenuCheckboxItem } from "./setup.component.js";
11
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
+ //#region src/components/menu/checkbox-item/CheckboxItem.tsx
13
+ /** Отметка без слота — иконка из пакета по роли, компонент на роль один на модуль. */
14
+ var CheckIcon = roleIcon("check");
15
+ /**
16
+ * MenuCheckboxItem — флажок меню: строка пункта с отметкой в начале. Обёртка отметки — прямой
17
+ * ребёнок строки и у неотмеченного: по ней тема узнаёт колонку отметок.
18
+ */
19
+ var MenuCheckboxItem = withRenderBoundary(function MenuCheckboxItem(props) {
20
+ const { ref, forwardProps, state, context } = useSetupMenuCheckboxItem(props);
21
+ const toggle = useClickAction(() => context?.adapters.menu.toggle());
22
+ const { rendered, tag, text, size, disabled, selected, aria, dataset, attrs } = state;
23
+ if (!rendered) return null;
24
+ const Tag = tag;
25
+ const checked = selected ?? false;
26
+ const row = toControlAttrs(forwardProps);
27
+ return /* @__PURE__ */ jsx(Tag, {
28
+ ...toRootProps(ref, state, [dataset, attrs], toRootForward(forwardProps)),
29
+ children: /* @__PURE__ */ jsx(ItemRow, {
30
+ embedded: "menu.row",
31
+ tag: "div",
32
+ size,
33
+ disabled,
34
+ ...toAriaProps(aria),
35
+ ...row,
36
+ ref: toggle,
37
+ leading: /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
38
+ className: "so-menu-item__indicator",
39
+ "aria-hidden": "true",
40
+ children: renderSlot(props["indicator-icon"], { selected: checked }) ?? (checked ? /* @__PURE__ */ jsx(Icon, {
41
+ embedded: "menu.indicator",
42
+ tag: CheckIcon,
43
+ size
44
+ }) : null)
45
+ }), /* @__PURE__ */ jsx("span", {
46
+ className: "so-menu-item__icon",
47
+ children: renderSlot(props.leading)
48
+ })] }),
49
+ trailing: /* @__PURE__ */ jsx("span", {
50
+ className: "so-menu-item__shortcut",
51
+ children: renderSlot(props.trailing)
52
+ }),
53
+ children: renderSlot(props.children, {
54
+ text: text ?? "",
55
+ selected: checked
56
+ }) ?? text
57
+ })
58
+ });
59
+ });
60
+ //#endregion
61
+ export { MenuCheckboxItem };
@@ -0,0 +1,8 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ import type { IMenuCheckboxItem } from '@soxa-ui/core';
3
+ import type { MenuCheckboxItemDescriptor, MenuCollectionCheckboxItemDescriptor } from '@soxa-ui/setup';
4
+ import type { EventProps, TDomAttributes, UseDomProps } from '../../../types';
5
+ export type MenuCheckboxItemEventProps = EventProps<typeof MenuCheckboxItemDescriptor> & EventProps<typeof MenuCollectionCheckboxItemDescriptor>;
6
+ /** Атрибуты флажка: класс и стиль — корню, остальное — строке с `role="menuitemcheckbox"`. */
7
+ export type MenuCheckboxItemAttributes = TDomAttributes<typeof MenuCheckboxItemDescriptor, HTMLAttributes<HTMLElement>, MenuCheckboxItemEventProps>;
8
+ export type MenuCheckboxItemProps = UseDomProps<typeof MenuCheckboxItemDescriptor, IMenuCheckboxItem, MenuCheckboxItemEventProps>;
@@ -0,0 +1,2 @@
1
+ export * from './base.component';
2
+ export { MenuCheckboxItem } from './CheckboxItem';
@@ -0,0 +1,17 @@
1
+ import type { MenuCheckboxItemProps } from './base.component';
2
+ export declare function useSetupMenuCheckboxItem(props: MenuCheckboxItemProps): {
3
+ context: import("@soxa-ui/core").TItemContext<import("@soxa-ui/core").IMenuItem<import("@soxa-ui/core").IMenuItemProps, any>, import("@soxa-ui/core").TMenuCollectionExtensions> | undefined;
4
+ ref: (el: Element | null) => void;
5
+ plugins: import("@soxa-ui/plugins").IPluginBundle | null;
6
+ ctrl: object & import("@soxa-ui/core").IMenuCheckboxItem;
7
+ root: import("../../../adapter").TRootSource;
8
+ forwardProps: Partial<MenuCheckboxItemProps>;
9
+ bindRef: (el: Element | null) => void;
10
+ state: import("@soxa-ui/setup").TInstanceState<object & import("@soxa-ui/core").IMenuCheckboxItem> & import("@soxa-ui/setup").TInstanceState<object & {} & {} & {} & {
11
+ aria_label?: string | undefined;
12
+ aria_labelledBy?: string | undefined;
13
+ aria_describedBy?: string | undefined;
14
+ } & {} & {}> & import("@soxa-ui/setup").TInstanceState<object & {} & {} & {} & {} & {} & {
15
+ readonly listItem_highlighted: boolean;
16
+ }> & import("@soxa-ui/setup").TInstanceState<object & import("@soxa-ui/core").TMenuItemCollectionFacade> & object;
17
+ };
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { useAdapter, useCollectionAdapter } from "../../../adapter/runtime/useAdapter.js";
3
+ import { useAdapterContext } from "../../../adapter/runtime/useAdapterContext.js";
4
+ import { MenuCheckboxItemDescriptor, MenuCollectionCheckboxItemDescriptor, TCollectionItemExtension } from "@soxa-ui/setup";
5
+ //#region src/components/menu/checkbox-item/setup.component.ts
6
+ function useSetupMenuCheckboxItem(props) {
7
+ const { contexts: [adapter, item] } = useAdapterContext((create, elevator) => {
8
+ const adapter = create(MenuCheckboxItemDescriptor(), {
9
+ ctrl: props.ctrl,
10
+ props
11
+ });
12
+ return [adapter, create(MenuCollectionCheckboxItemDescriptor(), { props }, { bundle: adapter.bundle }).use(TCollectionItemExtension, {
13
+ adapter,
14
+ elevator
15
+ })];
16
+ });
17
+ return {
18
+ ...useCollectionAdapter(useAdapter(adapter, props), item, props),
19
+ context: item.instance.context
20
+ };
21
+ }
22
+ //#endregion
23
+ export { useSetupMenuCheckboxItem };
@@ -0,0 +1,4 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { MenuGroupProps } from './base.component';
3
+ /** MenuGroup — пункты меню под общей подписью. */
4
+ export declare function MenuGroup(props: MenuGroupProps): ReactElement | null;
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { toAriaProps } from "../../../adapter/common/aria.js";
3
+ import { toRootProps } from "../../../adapter/common/root.js";
4
+ import { renderSlot } from "../../../adapter/common/slots.js";
5
+ import { Elevate } from "../../../adapter/elevator/Elevate.js";
6
+ import { useSetupMenuGroup } from "./setup.component.js";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ //#region src/components/menu/group/Group.tsx
9
+ /** MenuGroup — пункты меню под общей подписью. */
10
+ function MenuGroup(props) {
11
+ const { ref, forwardProps, state, layer } = useSetupMenuGroup(props);
12
+ const { rendered, tag, label, labelAria, attrs, aria, dataset } = state;
13
+ if (!rendered) return null;
14
+ return /* @__PURE__ */ jsxs(tag, {
15
+ ...toRootProps(ref, state, [
16
+ attrs,
17
+ aria,
18
+ dataset
19
+ ], forwardProps),
20
+ children: [label ? /* @__PURE__ */ jsx("div", {
21
+ className: "so-menu-group__label",
22
+ ...toAriaProps(labelAria),
23
+ children: label
24
+ }) : null, /* @__PURE__ */ jsx(Elevate, {
25
+ layer,
26
+ children: renderSlot(props.children)
27
+ })]
28
+ });
29
+ }
30
+ //#endregion
31
+ export { MenuGroup };
@@ -0,0 +1,6 @@
1
+ import type { IItemGroup } from '@soxa-ui/core';
2
+ import type { MenuGroupDescriptor } from '@soxa-ui/setup';
3
+ import type { EventProps, UseDomProps } from '../../../types';
4
+ export type MenuGroupEventProps = EventProps<typeof MenuGroupDescriptor>;
5
+ /** Пропсы группы меню: подпись — проп `label`, пункты — дети. */
6
+ export type MenuGroupProps = UseDomProps<typeof MenuGroupDescriptor, IItemGroup, MenuGroupEventProps>;
@@ -0,0 +1,2 @@
1
+ export * from './base.component';
2
+ export { MenuGroup } from './Group';
@@ -0,0 +1,9 @@
1
+ import type { MenuGroupProps } from './base.component';
2
+ export declare function useSetupMenuGroup(props: MenuGroupProps): import("../../../adapter").TComponentBinding<import("@soxa-ui/setup").TContextContract<import("@soxa-ui/core").IItemGroup<import("@soxa-ui/core").IItemGroupProps, import("@soxa-ui/core").TItemGroupEvents>, {
3
+ props: object & {} & {} & {};
4
+ events: object & {
5
+ "element:removed": () => void;
6
+ "element:ready": (element: Element) => void;
7
+ } & {} & {};
8
+ outputs: object & {} & {} & {};
9
+ }>, MenuGroupProps>;
@@ -0,0 +1,12 @@
1
+ "use client";
2
+ import { useComponent } from "../../../adapter/runtime/useComponent.js";
3
+ import { MenuGroupDescriptor, TItemGroupExtension } from "@soxa-ui/setup";
4
+ //#region src/components/menu/group/setup.component.ts
5
+ function useSetupMenuGroup(props) {
6
+ return useComponent((create, elevator) => create(MenuGroupDescriptor(), {
7
+ ctrl: props.ctrl,
8
+ props
9
+ }).use(TItemGroupExtension, { elevator }), props);
10
+ }
11
+ //#endregion
12
+ export { useSetupMenuGroup };
@@ -0,0 +1,23 @@
1
+ import { Menu as MenuComponent } from './Menu';
2
+ import { MenuGroup } from './group';
3
+ import { MenuRadioGroup } from './radio-group';
4
+ import { MenuSeparator } from './separator';
5
+ export * from './base.component';
6
+ export * from './item';
7
+ export * from './checkbox-item';
8
+ export * from './radio-item';
9
+ export * from './submenu';
10
+ export * from './popover-item';
11
+ export * from './group';
12
+ export * from './radio-group';
13
+ export * from './separator';
14
+ export declare const Menu: typeof MenuComponent & {
15
+ Item: import("react").NamedExoticComponent<import("./item").MenuItemProps>;
16
+ CheckboxItem: import("react").NamedExoticComponent<import("./checkbox-item").MenuCheckboxItemProps>;
17
+ RadioItem: import("react").NamedExoticComponent<import("./radio-item").MenuRadioItemProps>;
18
+ Submenu: import("react").NamedExoticComponent<import("./submenu").MenuSubmenuProps>;
19
+ PopoverItem: import("react").NamedExoticComponent<import("./popover-item").MenuPopoverItemProps>;
20
+ Group: typeof MenuGroup;
21
+ RadioGroup: typeof MenuRadioGroup;
22
+ Separator: typeof MenuSeparator;
23
+ };
@@ -0,0 +1,23 @@
1
+ import { MenuGroup } from "./group/Group.js";
2
+ import { MenuItem } from "./item/Item.js";
3
+ import { MenuSeparator } from "./separator/Separator.js";
4
+ import { MenuSubmenu } from "./submenu/Submenu.js";
5
+ import { Menu as Menu$1 } from "./Menu.js";
6
+ import { MenuCheckboxItem } from "./checkbox-item/CheckboxItem.js";
7
+ import { MenuRadioItem } from "./radio-item/RadioItem.js";
8
+ import { MenuPopoverItem } from "./popover-item/PopoverItem.js";
9
+ import { MenuRadioGroup } from "./radio-group/RadioGroup.js";
10
+ import { withParts } from "@soxa-ui/setup";
11
+ //#region src/components/menu/index.ts
12
+ var Menu = withParts(Menu$1, {
13
+ Item: MenuItem,
14
+ CheckboxItem: MenuCheckboxItem,
15
+ RadioItem: MenuRadioItem,
16
+ Submenu: MenuSubmenu,
17
+ PopoverItem: MenuPopoverItem,
18
+ Group: MenuGroup,
19
+ RadioGroup: MenuRadioGroup,
20
+ Separator: MenuSeparator
21
+ });
22
+ //#endregion
23
+ export { Menu };
@@ -0,0 +1,3 @@
1
+ import type { MenuItemProps } from './base.component';
2
+ /** MenuItem — пункт-действие: корень по `tag` и строка — `ItemRow` на `div` с ARIA пункта. */
3
+ export declare const MenuItem: import("react").NamedExoticComponent<MenuItemProps>;
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ import { toAriaProps } from "../../../adapter/common/aria.js";
3
+ import { toControlAttrs, toRootForward, toRootProps } from "../../../adapter/common/root.js";
4
+ import { renderSlot } from "../../../adapter/common/slots.js";
5
+ import { useClickAction } from "../../../adapter/runtime/useClickAction.js";
6
+ import { withRenderBoundary } from "../../../adapter/runtime/withRenderBoundary.js";
7
+ import { ItemRow } from "../../item-row/ItemRow.js";
8
+ import { useSetupMenuItem } from "./setup.component.js";
9
+ import { jsx } from "react/jsx-runtime";
10
+ //#region src/components/menu/item/Item.tsx
11
+ /** MenuItem — пункт-действие: корень по `tag` и строка — `ItemRow` на `div` с ARIA пункта. */
12
+ var MenuItem = withRenderBoundary(function MenuItem(props) {
13
+ const { ref, forwardProps, state, context } = useSetupMenuItem(props);
14
+ const choose = useClickAction(() => context?.adapters.menu.choose());
15
+ const { rendered, tag, text, size, disabled, aria, dataset, attrs } = state;
16
+ if (!rendered) return null;
17
+ const Tag = tag;
18
+ const row = toControlAttrs(forwardProps);
19
+ return /* @__PURE__ */ jsx(Tag, {
20
+ ...toRootProps(ref, state, [dataset, attrs], toRootForward(forwardProps)),
21
+ children: /* @__PURE__ */ jsx(ItemRow, {
22
+ embedded: "menu.row",
23
+ tag: "div",
24
+ size,
25
+ disabled,
26
+ ...toAriaProps(aria),
27
+ ...row,
28
+ ref: choose,
29
+ leading: /* @__PURE__ */ jsx("span", {
30
+ className: "so-menu-item__icon",
31
+ children: renderSlot(props.leading)
32
+ }),
33
+ trailing: /* @__PURE__ */ jsx("span", {
34
+ className: "so-menu-item__shortcut",
35
+ children: renderSlot(props.trailing)
36
+ }),
37
+ children: renderSlot(props.children, { text: text ?? "" }) ?? text
38
+ })
39
+ });
40
+ });
41
+ //#endregion
42
+ export { MenuItem };
@@ -0,0 +1,8 @@
1
+ import type { HTMLAttributes } from 'react';
2
+ import type { IMenuItem } from '@soxa-ui/core';
3
+ import type { MenuCollectionItemDescriptor, MenuItemDescriptor } from '@soxa-ui/setup';
4
+ import type { EventProps, TDomAttributes, UseDomProps } from '../../../types';
5
+ export type MenuItemEventProps = EventProps<typeof MenuItemDescriptor> & EventProps<typeof MenuCollectionItemDescriptor>;
6
+ /** Атрибуты пункта: класс и стиль — корню, остальное — строке с `role="menuitem"`. */
7
+ export type MenuItemAttributes = TDomAttributes<typeof MenuItemDescriptor, HTMLAttributes<HTMLElement>, MenuItemEventProps>;
8
+ export type MenuItemProps = UseDomProps<typeof MenuItemDescriptor, IMenuItem, MenuItemEventProps>;
@@ -0,0 +1,2 @@
1
+ export * from './base.component';
2
+ export { MenuItem } from './Item';
@@ -0,0 +1,17 @@
1
+ import type { MenuItemProps } from './base.component';
2
+ export declare function useSetupMenuItem(props: MenuItemProps): {
3
+ context: import("@soxa-ui/core").TItemContext<import("@soxa-ui/core").IMenuItem<import("@soxa-ui/core").IMenuItemProps, any>, import("@soxa-ui/core").TMenuCollectionExtensions> | undefined;
4
+ ref: (el: Element | null) => void;
5
+ plugins: import("@soxa-ui/plugins").IPluginBundle | null;
6
+ ctrl: object & import("@soxa-ui/core").IMenuItem<import("@soxa-ui/core").IMenuItemProps, any>;
7
+ root: import("../../../adapter").TRootSource;
8
+ forwardProps: Partial<MenuItemProps>;
9
+ bindRef: (el: Element | null) => void;
10
+ state: import("@soxa-ui/setup").TInstanceState<object & import("@soxa-ui/core").IMenuItem<import("@soxa-ui/core").IMenuItemProps, any>> & import("@soxa-ui/setup").TInstanceState<object & {} & {} & {} & {
11
+ aria_label?: string | undefined;
12
+ aria_labelledBy?: string | undefined;
13
+ aria_describedBy?: string | undefined;
14
+ } & {} & {}> & import("@soxa-ui/setup").TInstanceState<object & {} & {} & {} & {} & {} & {
15
+ readonly listItem_highlighted: boolean;
16
+ }> & import("@soxa-ui/setup").TInstanceState<object & import("@soxa-ui/core").TMenuItemCollectionFacade> & object;
17
+ };
@@ -0,0 +1,23 @@
1
+ "use client";
2
+ import { useAdapter, useCollectionAdapter } from "../../../adapter/runtime/useAdapter.js";
3
+ import { useAdapterContext } from "../../../adapter/runtime/useAdapterContext.js";
4
+ import { MenuCollectionItemDescriptor, MenuItemDescriptor, TCollectionItemExtension } from "@soxa-ui/setup";
5
+ //#region src/components/menu/item/setup.component.ts
6
+ function useSetupMenuItem(props) {
7
+ const { contexts: [adapter, item] } = useAdapterContext((create, elevator) => {
8
+ const adapter = create(MenuItemDescriptor(), {
9
+ ctrl: props.ctrl,
10
+ props
11
+ });
12
+ return [adapter, create(MenuCollectionItemDescriptor(), { props }, { bundle: adapter.bundle }).use(TCollectionItemExtension, {
13
+ adapter,
14
+ elevator
15
+ })];
16
+ });
17
+ return {
18
+ ...useCollectionAdapter(useAdapter(adapter, props), item, props),
19
+ context: item.instance.context
20
+ };
21
+ }
22
+ //#endregion
23
+ export { useSetupMenuItem };
@@ -0,0 +1,6 @@
1
+ import type { MenuPopoverItemProps } from './base.component';
2
+ /**
3
+ * MenuPopoverItem — пункт со своей панелью сбоку с любым содержимым. Текст строки — слот
4
+ * `header`: `default` — содержимое панели, как у `Accordion.Item` и `Popover`.
5
+ */
6
+ export declare const MenuPopoverItem: import("react").NamedExoticComponent<MenuPopoverItemProps>;