@oinone/kunlun-vue-admin-layout 6.2.0

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 (355) hide show
  1. package/README.md +1 -0
  2. package/dist/oinone-kunlun-vue-admin-layout.css +1 -0
  3. package/dist/oinone-kunlun-vue-admin-layout.esm.js +12049 -0
  4. package/dist/oinone-kunlun-vue-admin-layout.scss +1 -0
  5. package/dist/types/index.d.ts +1 -0
  6. package/dist/types/src/basic/MaskWidget.d.ts +17 -0
  7. package/dist/types/src/basic/index.d.ts +2 -0
  8. package/dist/types/src/basic/register/index.d.ts +1 -0
  9. package/dist/types/src/basic/register/manager.d.ts +7 -0
  10. package/dist/types/src/basic/token/BaseMaskWidget.d.ts +55 -0
  11. package/dist/types/src/basic/token/index.d.ts +1 -0
  12. package/dist/types/src/component/app-switcher/AppSwitcher.vue.d.ts +84 -0
  13. package/dist/types/src/component/app-switcher/AppSwitcherMask.vue.d.ts +61 -0
  14. package/dist/types/src/component/app-switcher/AppSwitcherWidget.d.ts +33 -0
  15. package/dist/types/src/component/app-switcher/index.d.ts +3 -0
  16. package/dist/types/src/component/breadcrumb/BreadcrumbWidget.d.ts +33 -0
  17. package/dist/types/src/component/breadcrumb/DefaultBreadcrumb.vue.d.ts +58 -0
  18. package/dist/types/src/component/breadcrumb/index.d.ts +2 -0
  19. package/dist/types/src/component/debug/Debug.vue.d.ts +11 -0
  20. package/dist/types/src/component/debug/DebugWidget.d.ts +8 -0
  21. package/dist/types/src/component/debug/constants.d.ts +2 -0
  22. package/dist/types/src/component/debug/index.d.ts +6 -0
  23. package/dist/types/src/component/debug/spi/DebugMaskEditor.d.ts +6 -0
  24. package/dist/types/src/component/debug/spi/DebugRouterInitializeService.d.ts +4 -0
  25. package/dist/types/src/component/debug/spi/index.d.ts +1 -0
  26. package/dist/types/src/component/debug/typing.d.ts +159 -0
  27. package/dist/types/src/component/debug/view/DebugMainView.vue.d.ts +28 -0
  28. package/dist/types/src/component/debug/view/DebugMainViewWidget.d.ts +9 -0
  29. package/dist/types/src/component/debug/view/components/DebugDefaultInfo.vue.d.ts +22 -0
  30. package/dist/types/src/component/debug/view/components/DebugJsonView.vue.d.ts +26 -0
  31. package/dist/types/src/component/debug/view/components/DebugRequestInfoPanel.vue.d.ts +22 -0
  32. package/dist/types/src/component/debug/view/components/DebugResponsePanel.vue.d.ts +12 -0
  33. package/dist/types/src/component/debug/view/debug-api/DebugApi.vue.d.ts +52 -0
  34. package/dist/types/src/component/debug/view/debug-api/DebugApiWidget.d.ts +32 -0
  35. package/dist/types/src/component/debug/view/debug-utils.d.ts +44 -0
  36. package/dist/types/src/component/debug/view/debug-view/DebugView.vue.d.ts +78 -0
  37. package/dist/types/src/component/debug/view/debug-view/DebugViewWidget.d.ts +26 -0
  38. package/dist/types/src/component/debug/view/index.d.ts +5 -0
  39. package/dist/types/src/component/debug/view/service/DebugRuntimeContextService.d.ts +18 -0
  40. package/dist/types/src/component/debug/view/service/DebugStackInfoService.d.ts +27 -0
  41. package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugDefaultRuntimeContextService.d.ts +6 -0
  42. package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeActionService.d.ts +7 -0
  43. package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeDslService.d.ts +6 -0
  44. package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeFieldService.d.ts +7 -0
  45. package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeLayoutService.d.ts +6 -0
  46. package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeMaskService.d.ts +6 -0
  47. package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeTemplateService.d.ts +6 -0
  48. package/dist/types/src/component/debug/view/service/impl/runtime-context/DebugRuntimeViewService.d.ts +6 -0
  49. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugBizStackService.d.ts +6 -0
  50. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugConfigureService.d.ts +4 -0
  51. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugDefaultStackInfoService.d.ts +8 -0
  52. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugExceptionStackService.d.ts +6 -0
  53. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugFunctionService.d.ts +4 -0
  54. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugHalfBizStackService.d.ts +6 -0
  55. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugModelService.d.ts +4 -0
  56. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugPureBizStackService.d.ts +6 -0
  57. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugStacktraceGqlRequestContextService.d.ts +6 -0
  58. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugStacktraceSceneAnalysisService.d.ts +7 -0
  59. package/dist/types/src/component/debug/view/service/impl/stack-info/DebugStacktraceSessionService.d.ts +6 -0
  60. package/dist/types/src/component/debug/view/service/index.d.ts +20 -0
  61. package/dist/types/src/component/debug/view/storage.d.ts +19 -0
  62. package/dist/types/src/component/debug/view/useDebugRequestInfo.d.ts +7 -0
  63. package/dist/types/src/component/divider/Divider.vue.d.ts +2 -0
  64. package/dist/types/src/component/divider/DividerWidget.d.ts +4 -0
  65. package/dist/types/src/component/divider/index.d.ts +1 -0
  66. package/dist/types/src/component/index.d.ts +14 -0
  67. package/dist/types/src/component/language/DefaultLanguage.vue.d.ts +34 -0
  68. package/dist/types/src/component/language/LanguageWidget.d.ts +16 -0
  69. package/dist/types/src/component/language/index.d.ts +1 -0
  70. package/dist/types/src/component/layout/BaseMaskLayoutWidget.d.ts +4 -0
  71. package/dist/types/src/component/layout/MaskBlock.vue.d.ts +24 -0
  72. package/dist/types/src/component/layout/block/MaskBlockWidget.d.ts +4 -0
  73. package/dist/types/src/component/layout/block/index.d.ts +1 -0
  74. package/dist/types/src/component/layout/container/MaskContainerWidget.d.ts +4 -0
  75. package/dist/types/src/component/layout/container/index.d.ts +1 -0
  76. package/dist/types/src/component/layout/content/MaskContentWidget.d.ts +7 -0
  77. package/dist/types/src/component/layout/content/index.d.ts +1 -0
  78. package/dist/types/src/component/layout/grid/Grid.vue.d.ts +2 -0
  79. package/dist/types/src/component/layout/grid/GridWidget.d.ts +9 -0
  80. package/dist/types/src/component/layout/grid/index.d.ts +1 -0
  81. package/dist/types/src/component/layout/header/MaskHeaderWidget.d.ts +4 -0
  82. package/dist/types/src/component/layout/header/index.d.ts +1 -0
  83. package/dist/types/src/component/layout/index.d.ts +9 -0
  84. package/dist/types/src/component/layout/mask/MaskRootWidget.d.ts +4 -0
  85. package/dist/types/src/component/layout/mask/index.d.ts +1 -0
  86. package/dist/types/src/component/layout/sidebar/MaskSidebarWidget.d.ts +10 -0
  87. package/dist/types/src/component/layout/sidebar/index.d.ts +1 -0
  88. package/dist/types/src/component/layout/widget/MaskCommonWidget.d.ts +14 -0
  89. package/dist/types/src/component/layout/widget/index.d.ts +1 -0
  90. package/dist/types/src/component/menu/DefaultMenu.vue.d.ts +115 -0
  91. package/dist/types/src/component/menu/DefaultSubMenu.vue.d.ts +17 -0
  92. package/dist/types/src/component/menu/MenuWidget.d.ts +71 -0
  93. package/dist/types/src/component/menu/index.d.ts +3 -0
  94. package/dist/types/src/component/multi-tabs/MultiTabs.vue.d.ts +151 -0
  95. package/dist/types/src/component/multi-tabs/MultiTabsWidget.d.ts +60 -0
  96. package/dist/types/src/component/multi-tabs/index.d.ts +2 -0
  97. package/dist/types/src/component/multi-tabs/typing.d.ts +6 -0
  98. package/dist/types/src/component/notification/DefaultNotification.vue.d.ts +61 -0
  99. package/dist/types/src/component/notification/NotificationWidget.d.ts +139 -0
  100. package/dist/types/src/component/notification/index.d.ts +2 -0
  101. package/dist/types/src/component/order-statistic/OrderStatistic.vue.d.ts +8 -0
  102. package/dist/types/src/component/order-statistic/index.d.ts +14 -0
  103. package/dist/types/src/component/partner-switcher/PartnerSwitcher.vue.d.ts +28 -0
  104. package/dist/types/src/component/partner-switcher/PartnerSwitcherWidget.d.ts +15 -0
  105. package/dist/types/src/component/partner-switcher/index.d.ts +6 -0
  106. package/dist/types/src/component/partner-switcher/service/PartnerSwitcherService.d.ts +17 -0
  107. package/dist/types/src/component/partner-switcher/service/impl/PartnerSwitcherServiceImpl.d.ts +17 -0
  108. package/dist/types/src/component/partner-switcher/service/index.d.ts +2 -0
  109. package/dist/types/src/component/partner-switcher/session/PartnerInfoSession.d.ts +26 -0
  110. package/dist/types/src/component/partner-switcher/session/impl/DefaultPartnerInfoSession.d.ts +15 -0
  111. package/dist/types/src/component/partner-switcher/session/index.d.ts +2 -0
  112. package/dist/types/src/component/partner-switcher/spi/PartnerSwitcherMaskEditor.d.ts +6 -0
  113. package/dist/types/src/component/partner-switcher/spi/index.d.ts +1 -0
  114. package/dist/types/src/component/partner-switcher/typing/index.d.ts +1 -0
  115. package/dist/types/src/component/partner-switcher/typing/partner.d.ts +20 -0
  116. package/dist/types/src/component/quick-search/QuickSearch.vue.d.ts +29 -0
  117. package/dist/types/src/component/quick-search/index.d.ts +24 -0
  118. package/dist/types/src/component/user/DefaultUser.vue.d.ts +39 -0
  119. package/dist/types/src/component/user/UserWidget.d.ts +16 -0
  120. package/dist/types/src/component/user/index.d.ts +1 -0
  121. package/dist/types/src/config/DebugConfig.d.ts +16 -0
  122. package/dist/types/src/config/PartnerSwitcherConfig.d.ts +16 -0
  123. package/dist/types/src/config/index.d.ts +2 -0
  124. package/dist/types/src/index.d.ts +10 -0
  125. package/dist/types/src/service/index.d.ts +5 -0
  126. package/dist/types/src/service/menu-service.d.ts +12 -0
  127. package/dist/types/src/service/message-service.d.ts +16 -0
  128. package/dist/types/src/service/module-service.d.ts +7 -0
  129. package/dist/types/src/service/top-bar-service.d.ts +10 -0
  130. package/dist/types/src/service/user-service.d.ts +4 -0
  131. package/dist/types/src/spi/index.d.ts +1 -0
  132. package/dist/types/src/spi/mask-editor.d.ts +54 -0
  133. package/dist/types/src/tags/Block.vue.d.ts +5 -0
  134. package/dist/types/src/tags/Breadcrumb.vue.d.ts +5 -0
  135. package/dist/types/src/tags/Container.vue.d.ts +5 -0
  136. package/dist/types/src/tags/Content.vue.d.ts +5 -0
  137. package/dist/types/src/tags/Header.vue.d.ts +5 -0
  138. package/dist/types/src/tags/Mask.vue.d.ts +5 -0
  139. package/dist/types/src/tags/MultiTabs.vue.d.ts +5 -0
  140. package/dist/types/src/tags/Sidebar.vue.d.ts +5 -0
  141. package/dist/types/src/tags/Widget.vue.d.ts +5 -0
  142. package/dist/types/src/tags/context/context.d.ts +8 -0
  143. package/dist/types/src/tags/context/index.d.ts +1 -0
  144. package/dist/types/src/tags/index.d.ts +6 -0
  145. package/dist/types/src/tags/mixin/MaskWidgetTagMixin.d.ts +2 -0
  146. package/dist/types/src/tags/mixin/index.d.ts +3 -0
  147. package/dist/types/src/tags/mixin/typing.d.ts +6 -0
  148. package/dist/types/src/tags/mixin/use-mask-widget-tag.d.ts +38 -0
  149. package/dist/types/src/tags/register/index.d.ts +1 -0
  150. package/dist/types/src/tags/register/manager.d.ts +9 -0
  151. package/dist/types/src/tags/resolve/index.d.ts +2 -0
  152. package/dist/types/src/tags/resolve/internal/index.d.ts +2 -0
  153. package/dist/types/src/tags/resolve/internal/typing.d.ts +5 -0
  154. package/dist/types/src/tags/resolve/internal/widget-resolve.d.ts +3 -0
  155. package/dist/types/src/tags/resolve/typing.d.ts +26 -0
  156. package/dist/types/src/tags/resolve/widget-resolve.d.ts +5 -0
  157. package/dist/types/src/template/default-mask.d.ts +2 -0
  158. package/dist/types/src/template/index.d.ts +6 -0
  159. package/dist/types/src/theme/index.d.ts +1 -0
  160. package/dist/types/src/typing/constant.d.ts +1 -0
  161. package/dist/types/src/typing/index.d.ts +3 -0
  162. package/dist/types/src/typing/menu.d.ts +12 -0
  163. package/dist/types/src/typing/stream-symble.d.ts +12 -0
  164. package/dist/types/src/util/HomepageUtils.d.ts +3 -0
  165. package/dist/types/src/util/MenuUtil.d.ts +5 -0
  166. package/dist/types/src/util/index.d.ts +3 -0
  167. package/dist/types/src/util/unauthorized-action.d.ts +14 -0
  168. package/dist/types/src/utils.d.ts +86 -0
  169. package/index.ts +1 -0
  170. package/package.json +47 -0
  171. package/rollup.config.js +33 -0
  172. package/src/basic/MaskWidget.ts +74 -0
  173. package/src/basic/index.ts +2 -0
  174. package/src/basic/register/index.ts +1 -0
  175. package/src/basic/register/manager.ts +17 -0
  176. package/src/basic/token/BaseMaskWidget.ts +187 -0
  177. package/src/basic/token/index.ts +1 -0
  178. package/src/component/app-switcher/AppSwitcher.vue +133 -0
  179. package/src/component/app-switcher/AppSwitcherMask.vue +237 -0
  180. package/src/component/app-switcher/AppSwitcherWidget.ts +152 -0
  181. package/src/component/app-switcher/index.ts +3 -0
  182. package/src/component/breadcrumb/BreadcrumbWidget.ts +167 -0
  183. package/src/component/breadcrumb/DefaultBreadcrumb.vue +95 -0
  184. package/src/component/breadcrumb/index.ts +2 -0
  185. package/src/component/debug/Debug.vue +28 -0
  186. package/src/component/debug/DebugWidget.ts +38 -0
  187. package/src/component/debug/constants.ts +3 -0
  188. package/src/component/debug/index.ts +6 -0
  189. package/src/component/debug/spi/DebugMaskEditor.ts +19 -0
  190. package/src/component/debug/spi/DebugRouterInitializeService.ts +21 -0
  191. package/src/component/debug/spi/index.ts +1 -0
  192. package/src/component/debug/typing.ts +191 -0
  193. package/src/component/debug/view/DebugMainView.vue +206 -0
  194. package/src/component/debug/view/DebugMainViewWidget.ts +42 -0
  195. package/src/component/debug/view/components/DebugDefaultInfo.vue +31 -0
  196. package/src/component/debug/view/components/DebugJsonView.vue +107 -0
  197. package/src/component/debug/view/components/DebugRequestInfoPanel.vue +129 -0
  198. package/src/component/debug/view/components/DebugResponsePanel.vue +66 -0
  199. package/src/component/debug/view/components/runtime-context/DebugRuntimeFieldComponent.vue +29 -0
  200. package/src/component/debug/view/debug-api/DebugApi.vue +225 -0
  201. package/src/component/debug/view/debug-api/DebugApiWidget.ts +400 -0
  202. package/src/component/debug/view/debug-utils.ts +114 -0
  203. package/src/component/debug/view/debug-view/DebugView.vue +331 -0
  204. package/src/component/debug/view/debug-view/DebugViewWidget.ts +181 -0
  205. package/src/component/debug/view/index.ts +6 -0
  206. package/src/component/debug/view/service/DebugRuntimeContextService.ts +21 -0
  207. package/src/component/debug/view/service/DebugStackInfoService.ts +33 -0
  208. package/src/component/debug/view/service/impl/runtime-context/DebugDefaultRuntimeContextService.ts +16 -0
  209. package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeActionService.ts +28 -0
  210. package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeDslService.ts +16 -0
  211. package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeFieldService.ts +33 -0
  212. package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeLayoutService.ts +16 -0
  213. package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeMaskService.ts +30 -0
  214. package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeTemplateService.ts +16 -0
  215. package/src/component/debug/view/service/impl/runtime-context/DebugRuntimeViewService.ts +16 -0
  216. package/src/component/debug/view/service/impl/stack-info/DebugBizStackService.ts +19 -0
  217. package/src/component/debug/view/service/impl/stack-info/DebugConfigureService.ts +6 -0
  218. package/src/component/debug/view/service/impl/stack-info/DebugDefaultStackInfoService.ts +62 -0
  219. package/src/component/debug/view/service/impl/stack-info/DebugExceptionStackService.ts +19 -0
  220. package/src/component/debug/view/service/impl/stack-info/DebugFunctionService.ts +6 -0
  221. package/src/component/debug/view/service/impl/stack-info/DebugHalfBizStackService.ts +19 -0
  222. package/src/component/debug/view/service/impl/stack-info/DebugModelService.ts +6 -0
  223. package/src/component/debug/view/service/impl/stack-info/DebugPureBizStackService.ts +19 -0
  224. package/src/component/debug/view/service/impl/stack-info/DebugStacktraceGqlRequestContextService.ts +22 -0
  225. package/src/component/debug/view/service/impl/stack-info/DebugStacktraceSceneAnalysisService.ts +35 -0
  226. package/src/component/debug/view/service/impl/stack-info/DebugStacktraceSessionService.ts +19 -0
  227. package/src/component/debug/view/service/index.ts +22 -0
  228. package/src/component/debug/view/storage.ts +35 -0
  229. package/src/component/debug/view/useDebugRequestInfo.ts +17 -0
  230. package/src/component/divider/Divider.vue +15 -0
  231. package/src/component/divider/DividerWidget.ts +12 -0
  232. package/src/component/divider/index.ts +1 -0
  233. package/src/component/index.ts +15 -0
  234. package/src/component/language/DefaultLanguage.vue +111 -0
  235. package/src/component/language/LanguageWidget.ts +72 -0
  236. package/src/component/language/index.ts +1 -0
  237. package/src/component/layout/BaseMaskLayoutWidget.ts +12 -0
  238. package/src/component/layout/MaskBlock.vue +31 -0
  239. package/src/component/layout/block/MaskBlockWidget.ts +17 -0
  240. package/src/component/layout/block/index.ts +1 -0
  241. package/src/component/layout/container/MaskContainerWidget.ts +13 -0
  242. package/src/component/layout/container/index.ts +1 -0
  243. package/src/component/layout/content/MaskContentWidget.ts +41 -0
  244. package/src/component/layout/content/index.ts +1 -0
  245. package/src/component/layout/grid/Grid.vue +10 -0
  246. package/src/component/layout/grid/GridWidget.ts +62 -0
  247. package/src/component/layout/grid/index.ts +1 -0
  248. package/src/component/layout/header/MaskHeaderWidget.ts +13 -0
  249. package/src/component/layout/header/index.ts +1 -0
  250. package/src/component/layout/index.ts +9 -0
  251. package/src/component/layout/mask/MaskRootWidget.ts +13 -0
  252. package/src/component/layout/mask/index.ts +1 -0
  253. package/src/component/layout/sidebar/MaskSidebarWidget.ts +31 -0
  254. package/src/component/layout/sidebar/index.ts +1 -0
  255. package/src/component/layout/widget/MaskCommonWidget.ts +95 -0
  256. package/src/component/layout/widget/index.ts +1 -0
  257. package/src/component/menu/DefaultMenu.vue +252 -0
  258. package/src/component/menu/DefaultSubMenu.vue +68 -0
  259. package/src/component/menu/MenuWidget.ts +349 -0
  260. package/src/component/menu/index.ts +3 -0
  261. package/src/component/menu/style/common.scss +411 -0
  262. package/src/component/menu/style/index.scss +2 -0
  263. package/src/component/menu/style/menu-theme/index.scss +5 -0
  264. package/src/component/menu/style/menu-theme/theme2.scss +37 -0
  265. package/src/component/menu/style/menu-theme/theme3.scss +59 -0
  266. package/src/component/menu/style/menu-theme/theme4.scss +56 -0
  267. package/src/component/menu/style/menu-theme/theme5.scss +45 -0
  268. package/src/component/menu/style/menu-theme/theme6.scss +45 -0
  269. package/src/component/menu/style/mixin.scss +23 -0
  270. package/src/component/multi-tabs/MultiTabs.vue +475 -0
  271. package/src/component/multi-tabs/MultiTabsWidget.ts +450 -0
  272. package/src/component/multi-tabs/index.ts +2 -0
  273. package/src/component/multi-tabs/style/index.scss +217 -0
  274. package/src/component/multi-tabs/style/mixin.scss +13 -0
  275. package/src/component/multi-tabs/style/parameters.scss +2 -0
  276. package/src/component/multi-tabs/style/theme1.scss +92 -0
  277. package/src/component/multi-tabs/style/theme2.scss +89 -0
  278. package/src/component/multi-tabs/style/theme3.scss +60 -0
  279. package/src/component/multi-tabs/style/theme4.scss +85 -0
  280. package/src/component/multi-tabs/typing.ts +7 -0
  281. package/src/component/notification/DefaultNotification.vue +455 -0
  282. package/src/component/notification/NotificationWidget.ts +332 -0
  283. package/src/component/notification/index.ts +2 -0
  284. package/src/component/order-statistic/OrderStatistic.vue +12 -0
  285. package/src/component/order-statistic/index.ts +146 -0
  286. package/src/component/partner-switcher/PartnerSwitcher.vue +75 -0
  287. package/src/component/partner-switcher/PartnerSwitcherWidget.ts +70 -0
  288. package/src/component/partner-switcher/index.ts +6 -0
  289. package/src/component/partner-switcher/service/PartnerSwitcherService.ts +20 -0
  290. package/src/component/partner-switcher/service/impl/PartnerSwitcherServiceImpl.ts +48 -0
  291. package/src/component/partner-switcher/service/index.ts +2 -0
  292. package/src/component/partner-switcher/session/PartnerInfoSession.ts +32 -0
  293. package/src/component/partner-switcher/session/impl/DefaultPartnerInfoSession.ts +46 -0
  294. package/src/component/partner-switcher/session/index.ts +2 -0
  295. package/src/component/partner-switcher/spi/PartnerSwitcherMaskEditor.ts +24 -0
  296. package/src/component/partner-switcher/spi/index.ts +1 -0
  297. package/src/component/partner-switcher/typing/index.ts +1 -0
  298. package/src/component/partner-switcher/typing/partner.ts +22 -0
  299. package/src/component/quick-search/QuickSearch.vue +34 -0
  300. package/src/component/quick-search/index.ts +237 -0
  301. package/src/component/style/index.scss +4 -0
  302. package/src/component/style/layout.scss +229 -0
  303. package/src/component/user/DefaultUser.vue +92 -0
  304. package/src/component/user/UserWidget.ts +129 -0
  305. package/src/component/user/index.ts +1 -0
  306. package/src/config/DebugConfig.ts +30 -0
  307. package/src/config/PartnerSwitcherConfig.ts +30 -0
  308. package/src/config/index.ts +2 -0
  309. package/src/index.ts +11 -0
  310. package/src/service/index.ts +5 -0
  311. package/src/service/menu-service.ts +105 -0
  312. package/src/service/message-service.ts +65 -0
  313. package/src/service/module-service.ts +69 -0
  314. package/src/service/top-bar-service.ts +144 -0
  315. package/src/service/user-service.ts +10 -0
  316. package/src/shim-translate.d.ts +7 -0
  317. package/src/shim-vue.d.ts +6 -0
  318. package/src/spi/index.ts +1 -0
  319. package/src/spi/mask-editor.ts +102 -0
  320. package/src/tags/Block.vue +16 -0
  321. package/src/tags/Breadcrumb.vue +16 -0
  322. package/src/tags/Container.vue +16 -0
  323. package/src/tags/Content.vue +16 -0
  324. package/src/tags/Header.vue +16 -0
  325. package/src/tags/Mask.vue +16 -0
  326. package/src/tags/MultiTabs.vue +16 -0
  327. package/src/tags/Sidebar.vue +16 -0
  328. package/src/tags/Widget.vue +16 -0
  329. package/src/tags/context/context.ts +24 -0
  330. package/src/tags/context/index.ts +1 -0
  331. package/src/tags/index.ts +48 -0
  332. package/src/tags/mixin/MaskWidgetTagMixin.ts +79 -0
  333. package/src/tags/mixin/index.ts +3 -0
  334. package/src/tags/mixin/typing.ts +8 -0
  335. package/src/tags/mixin/use-mask-widget-tag.ts +172 -0
  336. package/src/tags/register/index.ts +1 -0
  337. package/src/tags/register/manager.ts +43 -0
  338. package/src/tags/resolve/index.ts +2 -0
  339. package/src/tags/resolve/internal/index.ts +2 -0
  340. package/src/tags/resolve/internal/typing.ts +6 -0
  341. package/src/tags/resolve/internal/widget-resolve.ts +57 -0
  342. package/src/tags/resolve/typing.ts +39 -0
  343. package/src/tags/resolve/widget-resolve.ts +64 -0
  344. package/src/template/default-mask.ts +51 -0
  345. package/src/template/index.ts +26 -0
  346. package/src/theme/index.ts +1 -0
  347. package/src/typing/constant.ts +3 -0
  348. package/src/typing/index.ts +3 -0
  349. package/src/typing/menu.ts +15 -0
  350. package/src/typing/stream-symble.ts +14 -0
  351. package/src/util/HomepageUtils.ts +41 -0
  352. package/src/util/MenuUtil.ts +18 -0
  353. package/src/util/index.ts +3 -0
  354. package/src/util/unauthorized-action.ts +98 -0
  355. package/src/utils.ts +716 -0
@@ -0,0 +1,10 @@
1
+ import { UserInfo, UserService, UserServiceToken } from '@oinone/kunlun-engine';
2
+ import { SPI } from '@oinone/kunlun-spi';
3
+ import { TopBarService } from './top-bar-service';
4
+
5
+ @SPI.Service(UserServiceToken)
6
+ export class UserServiceImpl implements UserService {
7
+ public async getUserInfo(): Promise<UserInfo | undefined> {
8
+ return TopBarService.getUserInfo();
9
+ }
10
+ }
@@ -0,0 +1,7 @@
1
+ export {};
2
+
3
+ declare module '@vue/runtime-core' {
4
+ interface ComponentCustomProperties {
5
+ $translate<T extends string | null | undefined = string | null | undefined>(text: T): T;
6
+ }
7
+ }
@@ -0,0 +1,6 @@
1
+ declare module '*.vue' {
2
+ import { defineComponent } from 'vue';
3
+
4
+ const Component: ReturnType<typeof defineComponent>;
5
+ export default Component;
6
+ }
@@ -0,0 +1 @@
1
+ export * from './mask-editor';
@@ -0,0 +1,102 @@
1
+ import { DslDefinition } from '@oinone/kunlun-dsl';
2
+ import { ServiceIdentifier, SPI } from '@oinone/kunlun-spi';
3
+ import { InternalMaskWidget } from '../tags';
4
+
5
+ /**
6
+ * 母版编辑上下文
7
+ */
8
+ export interface MaskEditorContext {
9
+ isDefault: boolean;
10
+ }
11
+
12
+ /**
13
+ * 母版编辑API
14
+ */
15
+ export interface MaskEditor {
16
+ /**
17
+ * 母版编辑
18
+ * @param context
19
+ * @param dsl
20
+ */
21
+ edit(context: Readonly<MaskEditorContext>, dsl: DslDefinition): DslDefinition;
22
+ }
23
+
24
+ /**
25
+ * 母版编辑Token
26
+ */
27
+ export const MaskEditorToken = ServiceIdentifier<MaskEditor>('MaskEditor');
28
+
29
+ /**
30
+ * 母版编辑服务
31
+ */
32
+ export interface MaskEditService {
33
+ /**
34
+ * 查找顶部栏组件集合
35
+ * @param dsl 母版DSL
36
+ */
37
+ findTopBarWidgets(dsl: DslDefinition): DslDefinition[] | undefined;
38
+
39
+ /**
40
+ * 生成母版组件DSL
41
+ * @param widget
42
+ */
43
+ generatorWidget(widget: string): DslDefinition;
44
+
45
+ /**
46
+ * 生成分割线DSL
47
+ */
48
+ generatorDivider(): DslDefinition;
49
+ }
50
+
51
+ /**
52
+ * 母版编辑服务Token
53
+ */
54
+ export const MaskEditServiceToken = ServiceIdentifier<MaskEditService>('MaskEditService');
55
+
56
+ @SPI.Service(MaskEditServiceToken)
57
+ export class DefaultMaskEditService implements MaskEditService {
58
+ public findTopBarWidgets(dsl: DslDefinition): DslDefinition[] | undefined {
59
+ return this.findDslNode(dsl, 'header', true)?.widgets?.find((v) => v.dslNodeType === 'block')?.widgets;
60
+ }
61
+
62
+ protected findDslNode(dsl: DslDefinition, dslNodeType: string, deep?: boolean): DslDefinition | undefined {
63
+ if (dsl.dslNodeType === dslNodeType) {
64
+ return dsl;
65
+ }
66
+ if (deep) {
67
+ return this.findDslNodeByDeep(dsl, dslNodeType);
68
+ }
69
+ return dsl.widgets.find((v) => v.dslNodeType === dslNodeType);
70
+ }
71
+
72
+ protected findDslNodeByDeep(dsl: DslDefinition, dslNodeType: string): DslDefinition | undefined {
73
+ for (const child of dsl.widgets) {
74
+ if (child.dslNodeType === dslNodeType) {
75
+ return child;
76
+ }
77
+ const target = this.findDslNodeByDeep(child, dslNodeType);
78
+ if (target) {
79
+ return target;
80
+ }
81
+ }
82
+ }
83
+
84
+ public generatorWidgetByDslNodeType(dslNodeType: string): DslDefinition {
85
+ return {
86
+ dslNodeType,
87
+ widgets: []
88
+ };
89
+ }
90
+
91
+ public generatorWidget(widget: string): DslDefinition {
92
+ return {
93
+ dslNodeType: InternalMaskWidget.Widget,
94
+ widget,
95
+ widgets: []
96
+ };
97
+ }
98
+
99
+ public generatorDivider(): DslDefinition {
100
+ return this.generatorWidget('divider');
101
+ }
102
+ }
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue';
3
+ import { MaskWidgetTagMixin } from './mixin';
4
+ import { InternalMaskWidget } from './resolve';
5
+
6
+ export default defineComponent({
7
+ name: 'Block',
8
+ mixins: [MaskWidgetTagMixin],
9
+ inheritAttrs: false,
10
+ methods: {
11
+ getWidgetTag(): InternalMaskWidget {
12
+ return InternalMaskWidget.Block;
13
+ }
14
+ }
15
+ });
16
+ </script>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue';
3
+ import { MaskWidgetTagMixin } from './mixin';
4
+ import { InternalMaskWidget } from './resolve';
5
+
6
+ export default defineComponent({
7
+ name: 'Breadcrumb',
8
+ mixins: [MaskWidgetTagMixin],
9
+ inheritAttrs: false,
10
+ methods: {
11
+ getWidgetTag(): InternalMaskWidget {
12
+ return InternalMaskWidget.Breadcrumb;
13
+ }
14
+ }
15
+ });
16
+ </script>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue';
3
+ import { MaskWidgetTagMixin } from './mixin';
4
+ import { InternalMaskWidget } from './resolve';
5
+
6
+ export default defineComponent({
7
+ name: 'Container',
8
+ mixins: [MaskWidgetTagMixin],
9
+ inheritAttrs: false,
10
+ methods: {
11
+ getWidgetTag(): InternalMaskWidget {
12
+ return InternalMaskWidget.Container;
13
+ }
14
+ }
15
+ });
16
+ </script>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue';
3
+ import { MaskWidgetTagMixin } from './mixin';
4
+ import { InternalMaskWidget } from './resolve';
5
+
6
+ export default defineComponent({
7
+ name: 'Content',
8
+ mixins: [MaskWidgetTagMixin],
9
+ inheritAttrs: false,
10
+ methods: {
11
+ getWidgetTag(): InternalMaskWidget {
12
+ return InternalMaskWidget.Content;
13
+ }
14
+ }
15
+ });
16
+ </script>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue';
3
+ import { MaskWidgetTagMixin } from './mixin';
4
+ import { InternalMaskWidget } from './resolve';
5
+
6
+ export default defineComponent({
7
+ name: 'Header',
8
+ mixins: [MaskWidgetTagMixin],
9
+ inheritAttrs: false,
10
+ methods: {
11
+ getWidgetTag(): InternalMaskWidget {
12
+ return InternalMaskWidget.Header;
13
+ }
14
+ }
15
+ });
16
+ </script>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue';
3
+ import { MaskWidgetTagMixin } from './mixin';
4
+ import { InternalMaskWidget } from './resolve';
5
+
6
+ export default defineComponent({
7
+ name: 'Mask',
8
+ mixins: [MaskWidgetTagMixin],
9
+ inheritAttrs: false,
10
+ methods: {
11
+ getWidgetTag(): InternalMaskWidget {
12
+ return InternalMaskWidget.Mask;
13
+ }
14
+ }
15
+ });
16
+ </script>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue';
3
+ import { MaskWidgetTagMixin } from './mixin';
4
+ import { InternalMaskWidget } from './resolve';
5
+
6
+ export default defineComponent({
7
+ name: 'MultiTabs',
8
+ mixins: [MaskWidgetTagMixin],
9
+ inheritAttrs: false,
10
+ methods: {
11
+ getWidgetTag(): InternalMaskWidget {
12
+ return InternalMaskWidget.MultiTabs;
13
+ }
14
+ }
15
+ });
16
+ </script>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue';
3
+ import { MaskWidgetTagMixin } from './mixin';
4
+ import { InternalMaskWidget } from './resolve';
5
+
6
+ export default defineComponent({
7
+ name: 'Sidebar',
8
+ mixins: [MaskWidgetTagMixin],
9
+ inheritAttrs: false,
10
+ methods: {
11
+ getWidgetTag(): InternalMaskWidget {
12
+ return InternalMaskWidget.Sidebar;
13
+ }
14
+ }
15
+ });
16
+ </script>
@@ -0,0 +1,16 @@
1
+ <script lang="ts">
2
+ import { defineComponent } from 'vue';
3
+ import { MaskWidgetTagMixin } from './mixin';
4
+ import { InternalMaskWidget } from './resolve';
5
+
6
+ export default defineComponent({
7
+ name: 'Widget',
8
+ mixins: [MaskWidgetTagMixin],
9
+ inheritAttrs: false,
10
+ methods: {
11
+ getWidgetTag(): InternalMaskWidget {
12
+ return InternalMaskWidget.Widget;
13
+ }
14
+ }
15
+ });
16
+ </script>
@@ -0,0 +1,24 @@
1
+ import { computed, ComputedRef, inject, InjectionKey, provide } from 'vue';
2
+
3
+ export interface MaskContext {
4
+ parentHandle: ComputedRef<string>;
5
+ slotName: ComputedRef<string | undefined>;
6
+ }
7
+
8
+ export const defaultMaskContext: MaskContext = {
9
+ parentHandle: computed(() => ''),
10
+ slotName: computed(() => undefined)
11
+ };
12
+
13
+ const MaskContextKey: InjectionKey<MaskContext> = Symbol('__mask_context__');
14
+
15
+ export function useProviderMaskContext(state: Partial<MaskContext>): void {
16
+ provide(MaskContextKey, {
17
+ ...defaultMaskContext,
18
+ ...state
19
+ });
20
+ }
21
+
22
+ export function useInjectMaskContext(): MaskContext {
23
+ return inject(MaskContextKey, defaultMaskContext);
24
+ }
@@ -0,0 +1 @@
1
+ export * from './context';
@@ -0,0 +1,48 @@
1
+ import { StringHelper } from '@oinone/kunlun-shared';
2
+ import { componentInstall, DEFAULT_TAG_PREFIX } from '@oinone/kunlun-vue-widget';
3
+ import { Component } from 'vue';
4
+ import { getMaskTagManagerInstance } from '../basic/register';
5
+ import Block from './Block.vue';
6
+ import Breadcrumb from './Breadcrumb.vue';
7
+ import Container from './Container.vue';
8
+ import Content from './Content.vue';
9
+ import Header from './Header.vue';
10
+ import Mask from './Mask.vue';
11
+ import MultiTabs from './MultiTabs.vue';
12
+ import './register';
13
+ import Sidebar from './Sidebar.vue';
14
+ import Widget from './Widget.vue';
15
+
16
+ export function maskInstall() {
17
+ maskComponentInstall(Mask);
18
+
19
+ maskComponentInstall(Widget);
20
+
21
+ maskComponentInstall(Header);
22
+ maskComponentInstall(Container);
23
+ maskComponentInstall(Content);
24
+ maskComponentInstall(Block);
25
+
26
+ maskComponentInstall(Sidebar);
27
+ maskComponentInstall(Breadcrumb);
28
+ maskComponentInstall(MultiTabs);
29
+
30
+ getMaskTagManagerInstance<Component>()
31
+ ?.getComponents()
32
+ .forEach((component) => {
33
+ maskComponentInstall(component);
34
+ });
35
+ }
36
+
37
+ function maskComponentInstall(component: Component) {
38
+ const name = component.name;
39
+ if (!name) {
40
+ throw new Error('Invalid component name');
41
+ }
42
+ componentInstall(component, `${DEFAULT_TAG_PREFIX}-${StringHelper.camelCaseToKebabCase(name)}`);
43
+ }
44
+
45
+ export * from './context';
46
+ export * from './mixin';
47
+ export * from './register';
48
+ export * from './resolve';
@@ -0,0 +1,79 @@
1
+ import { DEFAULT_SLOT_NAME, DslDefinition } from '@oinone/kunlun-dsl';
2
+ import {
3
+ DslRender,
4
+ RenderWidget,
5
+ renderWidgets,
6
+ reportAllMounted,
7
+ VueWidget,
8
+ WidgetTagProps
9
+ } from '@oinone/kunlun-vue-widget';
10
+ import { ComponentOptionsMixin, computed, Slots } from 'vue';
11
+ import { useInjectMaskContext, useProviderMaskContext } from '../context';
12
+ import { createMaskWidget, CreateMaskWidgetProps, InternalMaskWidget } from '../resolve';
13
+ import { MaskWidgetTagMixinContext } from './typing';
14
+
15
+ export const MaskWidgetTagMixin: ComponentOptionsMixin = {
16
+ props: {
17
+ ...WidgetTagProps
18
+ },
19
+ methods: {
20
+ getWidgetTag(): InternalMaskWidget | string {
21
+ throw new Error(`The method 'getWidgetTag' must be overridden.`);
22
+ },
23
+ getParentHandle(): string {
24
+ return useInjectMaskContext().parentHandle.value;
25
+ },
26
+ getDslDefinition(): DslDefinition | undefined {
27
+ return this.dslDefinition || this.$attrs;
28
+ },
29
+ getSlotName(): string {
30
+ return this.slotName || DEFAULT_SLOT_NAME;
31
+ },
32
+ getCustomProps(): Record<string, unknown> {
33
+ return {};
34
+ },
35
+ getProps(): CreateMaskWidgetProps {
36
+ return {
37
+ ...this.$attrs,
38
+ template: this.getDslDefinition(),
39
+ parentHandle: this.getParentHandle(),
40
+ slotName: this.getSlotName(),
41
+ ...this.getCustomProps()
42
+ } as CreateMaskWidgetProps;
43
+ },
44
+ getCurrentSlots(): Slots | undefined {
45
+ return (
46
+ DslRender.fetchVNodeSlots(this.dslDefinition || this.$attrs) ||
47
+ (Object.keys(this.$slots).length ? this.$slots : undefined)
48
+ );
49
+ },
50
+ createWidget(): RenderWidget | undefined {
51
+ return createMaskWidget(this.getWidgetTag(), this.getProps());
52
+ }
53
+ },
54
+ data() {
55
+ reportAllMounted();
56
+ const metaContext = useInjectMaskContext();
57
+ const customWidget = this.createWidget();
58
+ if (!customWidget) {
59
+ console.error(`Invalid custom widget.`, this.getWidgetTag(), this.getProps());
60
+ return {
61
+ widgetHandle: '',
62
+ widgets: []
63
+ };
64
+ }
65
+ const { handle: widgetHandle, widgets } = customWidget;
66
+ useProviderMaskContext({
67
+ ...metaContext,
68
+ parentHandle: computed(() => widgetHandle),
69
+ slotName: computed(() => this.getSlotName())
70
+ });
71
+ return {
72
+ widgetHandle,
73
+ widgets
74
+ };
75
+ },
76
+ render(ctx: MaskWidgetTagMixinContext) {
77
+ return renderWidgets(ctx.widgets as VueWidget[], ctx, ctx.getCurrentSlots());
78
+ }
79
+ };
@@ -0,0 +1,3 @@
1
+ export * from './MaskWidgetTagMixin';
2
+ export * from './typing';
3
+ export * from './use-mask-widget-tag';
@@ -0,0 +1,8 @@
1
+ import { WidgetTagContext } from '@oinone/kunlun-vue-widget';
2
+ import { InternalMaskWidget } from '../resolve';
3
+
4
+ export interface MaskWidgetTagMixinContext extends WidgetTagContext {
5
+ getWidgetTag(): InternalMaskWidget | string;
6
+
7
+ getCustomProps(): Record<string, unknown>;
8
+ }
@@ -0,0 +1,172 @@
1
+ import { DEFAULT_SLOT_NAME, DslDefinition } from '@oinone/kunlun-dsl';
2
+ import {
3
+ DslRender,
4
+ RenderWidget,
5
+ renderWidgets,
6
+ reportAllMounted,
7
+ VueWidget,
8
+ WidgetTagProps
9
+ } from '@oinone/kunlun-vue-widget';
10
+ import { ComponentOptionsMixin, computed, ref, Ref, SetupContext, Slots } from 'vue';
11
+ import { useInjectMaskContext, useProviderMaskContext } from '../context';
12
+ import { createMaskWidget, CreateMaskWidgetProps } from '../resolve';
13
+ import { MaskWidgetTagMixinContext } from './typing';
14
+
15
+ /**
16
+ * 函数式组件标签混入可选项
17
+ * 使用此混入方式,必须使用setup调用{@link useMaskWidgetTag}方法
18
+ */
19
+ export const UseMaskWidgetTagMixin: ComponentOptionsMixin = {
20
+ props: {
21
+ ...WidgetTagProps
22
+ },
23
+ /**
24
+ * 此方法不会被调用,必须在组件中进行重写
25
+ * @param props
26
+ * @param context
27
+ */
28
+ setup(props, context) {
29
+ return useMaskWidgetTag(props, context);
30
+ },
31
+ render(ctx: MaskWidgetTagMixinContext) {
32
+ return renderWidgets(ctx.widgets as VueWidget[], ctx, ctx.getCurrentSlots());
33
+ }
34
+ };
35
+
36
+ export interface UseMaskWidgetTagContext {
37
+ dslDefinition?: DslDefinition;
38
+ slotName?: string;
39
+ inline?: boolean;
40
+ slotContext?: Record<string, unknown>;
41
+ }
42
+
43
+ export interface UseMaskWidgetTagOptions {
44
+ getWidgetTag?: () => string;
45
+
46
+ getParentHandle?: () => string;
47
+
48
+ getDslDefinition?: () => DslDefinition | undefined;
49
+
50
+ getSlotName?: () => string;
51
+
52
+ getCustomProps?: () => Record<string, unknown>;
53
+
54
+ getProps?: () => CreateMaskWidgetProps;
55
+
56
+ getCurrentSlots?: () => Slots | undefined;
57
+
58
+ createWidget?: (props: CreateMaskWidgetProps) => RenderWidget | undefined;
59
+ }
60
+
61
+ export interface UseMaskWidgetResult {
62
+ widgetHandle: Ref<string>;
63
+
64
+ widget: Ref<VueWidget | undefined>;
65
+
66
+ widgets: Ref<VueWidget[]>;
67
+
68
+ getWidgetTag: () => string;
69
+
70
+ getParentHandle: () => string;
71
+
72
+ getDslDefinition: () => DslDefinition | undefined;
73
+
74
+ getSlotName: () => string;
75
+
76
+ getCustomProps: () => Record<string, unknown>;
77
+
78
+ getProps: () => CreateMaskWidgetProps;
79
+
80
+ getCurrentSlots: () => Slots | undefined;
81
+ }
82
+
83
+ export function useMaskWidgetTag(
84
+ props: UseMaskWidgetTagContext,
85
+ context: SetupContext,
86
+ options?: UseMaskWidgetTagOptions
87
+ ): UseMaskWidgetResult {
88
+ reportAllMounted();
89
+ const maskContext = useInjectMaskContext();
90
+ const { parentHandle } = maskContext;
91
+
92
+ const getWidgetTag =
93
+ options?.getWidgetTag ||
94
+ ((): never => {
95
+ throw new Error(`The method 'getWidgetTag' must be overridden.`);
96
+ });
97
+
98
+ const getParentHandle = options?.getParentHandle || (() => parentHandle.value);
99
+
100
+ const getDslDefinition = options?.getDslDefinition || (() => props.dslDefinition || (context.attrs as DslDefinition));
101
+
102
+ const getSlotName = options?.getSlotName || (() => props.slotName || DEFAULT_SLOT_NAME);
103
+
104
+ const getCustomProps = options?.getCustomProps || (() => ({}));
105
+
106
+ const getProps =
107
+ options?.getProps ||
108
+ ((): CreateMaskWidgetProps => {
109
+ return {
110
+ ...context.attrs,
111
+ slotName: getSlotName(),
112
+ template: props.dslDefinition,
113
+ slotContext: props.slotContext,
114
+ parentHandle: getParentHandle(),
115
+ ...getCustomProps()
116
+ } as CreateMaskWidgetProps;
117
+ });
118
+
119
+ const getCurrentSlots =
120
+ options?.getCurrentSlots ||
121
+ (() =>
122
+ DslRender.fetchVNodeSlots(props.dslDefinition) ||
123
+ (Object.keys(context.slots).length ? context.slots : undefined));
124
+
125
+ const widgetTag = getWidgetTag();
126
+
127
+ const widgetProps = getProps();
128
+
129
+ const createWidget = options?.createWidget || ((customWidgetProps) => createMaskWidget(widgetTag, customWidgetProps));
130
+
131
+ const widgetHandleRef = ref<string>('');
132
+ const widgetRef = ref<VueWidget | undefined>(undefined) as Ref<VueWidget | undefined>;
133
+ const widgetsRef = ref<VueWidget[]>([]) as Ref<VueWidget[]>;
134
+ const renderWidget = createWidget(widgetProps);
135
+
136
+ if (!renderWidget) {
137
+ console.error(`Invalid mask widget.`, widgetTag, widgetProps);
138
+ return {
139
+ widgetHandle: widgetHandleRef,
140
+ widget: widgetRef,
141
+ widgets: widgetsRef,
142
+ getWidgetTag,
143
+ getParentHandle,
144
+ getDslDefinition,
145
+ getSlotName,
146
+ getCustomProps,
147
+ getProps,
148
+ getCurrentSlots
149
+ };
150
+ }
151
+ const { handle: widgetHandle, widget, widgets } = renderWidget;
152
+ widgetHandleRef.value = widgetHandle;
153
+ widgetRef.value = widget;
154
+ widgetsRef.value = widgets;
155
+ useProviderMaskContext({
156
+ ...maskContext,
157
+ parentHandle: computed(() => widgetHandleRef.value),
158
+ slotName: computed(() => getSlotName())
159
+ });
160
+ return {
161
+ widgetHandle: widgetHandleRef,
162
+ widget: widgetRef,
163
+ widgets: widgetsRef,
164
+ getWidgetTag,
165
+ getParentHandle,
166
+ getDslDefinition,
167
+ getSlotName,
168
+ getCustomProps,
169
+ getProps,
170
+ getCurrentSlots
171
+ };
172
+ }
@@ -0,0 +1 @@
1
+ export * from './manager';
@@ -0,0 +1,43 @@
1
+ import { StringHelper } from '@oinone/kunlun-shared';
2
+ import { Component, defineComponent } from 'vue';
3
+ import { IMaskTagManager, setMaskTagManagerInstance } from '../../basic/register';
4
+ import { MaskWidgetTagMixin } from '../mixin';
5
+ import { InternalMaskWidget, registerMaskWidgetFunction } from '../resolve';
6
+
7
+ export class InternalMaskTagManager implements IMaskTagManager<Component> {
8
+ private tags = new Map<string, Component>();
9
+
10
+ public getComponents(): Component[] {
11
+ return Array.from(this.tags.values());
12
+ }
13
+
14
+ public isInternalWidget(dslNodeType: string): boolean {
15
+ return Object.values(InternalMaskWidget).findIndex((v) => v === dslNodeType) !== -1;
16
+ }
17
+
18
+ public register(dslNodeType: string): boolean {
19
+ const camelCase = StringHelper.kebabCaseToCamelCase(dslNodeType);
20
+ const componentName = `${camelCase[0].toUpperCase()}${camelCase.substring(1)}`;
21
+
22
+ if (!registerMaskWidgetFunction(componentName)) {
23
+ return false;
24
+ }
25
+
26
+ const component = defineComponent({
27
+ name: componentName,
28
+ mixins: [MaskWidgetTagMixin],
29
+ inheritAttrs: false,
30
+ methods: {
31
+ getWidgetTag(): InternalMaskWidget | string {
32
+ return componentName;
33
+ }
34
+ }
35
+ });
36
+ this.tags.set(componentName, component);
37
+ return true;
38
+ }
39
+ }
40
+
41
+ export const MaskTagManager = new InternalMaskTagManager();
42
+
43
+ setMaskTagManagerInstance(MaskTagManager);
@@ -0,0 +1,2 @@
1
+ export * from './typing';
2
+ export * from './widget-resolve';
@@ -0,0 +1,2 @@
1
+ export * from './typing';
2
+ export * from './widget-resolve';