@gct-paas/core-web 0.1.5-dev.5 → 0.1.5-dev.7

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 (204) hide show
  1. package/dist/_plugin-vue_export-helper-BBfAJeJ1.js +1 -0
  2. package/dist/{icon-next-picker-CShmDJI0.js → icon-next-picker-y8hJhkCi.js} +1 -1
  3. package/dist/index.min.css +1 -1
  4. package/dist/loader.esm.min.js +1 -1
  5. package/dist/{monaco-editor-B8f_I6sY.js → monaco-editor-5qU4ukgX.js} +1 -1
  6. package/es/components/FullScreen/full-screen.vue.d.ts +30 -0
  7. package/es/components/FullScreen/full-screen.vue.mjs +5 -0
  8. package/es/components/FullScreen/full-screen.vue_vue_type_script_setup_true_lang.mjs +44 -0
  9. package/es/components/I18nSelect/src/i18n-select-btn.vue.mjs +2 -2
  10. package/es/components/I18nSelect/src/i18n-select-btn.vue_vue_type_script_setup_true_name_i18n-select-btn_lang.mjs +3 -3
  11. package/es/components/I18nSelect/src/{i18n-select-btn.vue_vue_type_style_index_0_scoped_d0fab479_lang.css → i18n-select-btn.vue_vue_type_style_index_0_scoped_8e75ca4b_lang.css} +13 -13
  12. package/es/components/app-full-screen-container/app-full-screen-container.css +77 -0
  13. package/es/components/app-full-screen-container/app-full-screen-container.d.ts +26 -0
  14. package/es/components/app-full-screen-container/app-full-screen-container.mjs +83 -0
  15. package/es/components/app-popover/app-popover-component.css +100 -0
  16. package/es/components/app-popover/app-popover-component.d.ts +13 -0
  17. package/es/components/app-popover/app-popover-component.mjs +160 -0
  18. package/es/components/field-cascader/index.d.ts +2 -0
  19. package/es/components/field-cascader/index.mjs +1 -0
  20. package/es/components/field-cascader/src/FieldCascader.vue.d.ts +87 -0
  21. package/es/components/field-cascader/src/FieldCascader.vue.mjs +6 -0
  22. package/es/components/field-cascader/src/FieldCascader.vue_vue_type_script_setup_true_lang.mjs +115 -0
  23. package/es/components/field-cascader/src/FieldCascader.vue_vue_type_style_index_0_lang.css +69 -0
  24. package/es/components/field-cascader/src/SearchInput.vue.d.ts +11 -0
  25. package/es/components/field-cascader/src/SearchInput.vue.mjs +7 -0
  26. package/es/components/field-cascader/src/SearchInput.vue_vue_type_script_setup_true_lang.mjs +38 -0
  27. package/es/components/field-cascader/src/SearchInput.vue_vue_type_style_index_0_scoped_512c4b38_lang.css +9 -0
  28. package/es/components/field-cascader/src/hooks.d.ts +129 -0
  29. package/es/components/field-cascader/src/hooks.mjs +163 -0
  30. package/es/components/field-tree-select/field-sort-popover.vue.d.ts +129 -0
  31. package/es/components/field-tree-select/field-sort-popover.vue.mjs +7 -0
  32. package/es/components/field-tree-select/field-sort-popover.vue_vue_type_script_setup_true_lang.mjs +206 -0
  33. package/es/components/field-tree-select/field-sort-popover.vue_vue_type_style_index_0_scoped_c1811778_lang.css +136 -0
  34. package/es/components/field-tree-select/field-tree-select.vue.d.ts +119 -0
  35. package/es/components/field-tree-select/field-tree-select.vue.mjs +7 -0
  36. package/es/components/field-tree-select/field-tree-select.vue_vue_type_script_setup_true_lang.mjs +338 -0
  37. package/es/components/field-tree-select/field-tree-select.vue_vue_type_style_index_0_scoped_898030d3_lang.css +147 -0
  38. package/es/components/field-tree-select/index.d.ts +307 -0
  39. package/es/components/field-tree-select/index.mjs +7 -0
  40. package/es/components/icon-next-picker/icon-next-picker.vue_vue_type_script_setup_true_name_IconNextPicker_lang.mjs +1 -1
  41. package/es/components/index.d.ts +6 -1
  42. package/es/components/index.mjs +7 -0
  43. package/es/components/number-range/number-range.vue.d.ts +85 -0
  44. package/es/components/number-range/number-range.vue.mjs +7 -0
  45. package/es/components/number-range/number-range.vue_vue_type_script_setup_true_lang.mjs +91 -0
  46. package/es/components/number-range/number-range.vue_vue_type_style_index_0_scoped_283a5280_lang.css +8 -0
  47. package/es/components/overlay-scrollbars/gct-overlay-scrollbars.css +72 -0
  48. package/es/components/overlay-scrollbars/gct-overlay-scrollbars.d.ts +75 -0
  49. package/es/components/overlay-scrollbars/gct-overlay-scrollbars.mjs +87 -0
  50. package/es/components/serial-number/index.d.ts +2 -0
  51. package/es/components/serial-number/index.mjs +1 -0
  52. package/es/components/serial-number/serial-number-container.vue.d.ts +23 -0
  53. package/es/components/serial-number/serial-number-container.vue.mjs +7 -0
  54. package/es/components/serial-number/serial-number-container.vue_vue_type_script_setup_true_name_serial-number-container_lang.mjs +219 -0
  55. package/es/components/serial-number/serial-number-container.vue_vue_type_style_index_0_scoped_35a73b4c_lang.css +30 -0
  56. package/es/components/serial-number/serial-number-item.vue.d.ts +22 -0
  57. package/es/components/serial-number/serial-number-item.vue.mjs +8 -0
  58. package/es/components/serial-number/serial-number-item.vue_vue_type_script_setup_true_lang.mjs +452 -0
  59. package/es/components/serial-number/serial-number-item.vue_vue_type_style_index_0_scoped_7baf8e25_lang.css +67 -0
  60. package/es/components/serial-number/serial-number-item.vue_vue_type_style_index_1_lang.css +51 -0
  61. package/es/create-app-vue.mjs +5 -3
  62. package/es/index.mjs +19 -1
  63. package/es/modules/color-picker/index.d.ts +2 -2
  64. package/es/modules/color-picker/index.mjs +1 -0
  65. package/es/modules/color-picker/src/ColorPicker.vue.mjs +1 -1
  66. package/es/modules/color-picker/src/color-editor.vue.d.ts +9 -0
  67. package/es/modules/color-picker/src/color-editor.vue.mjs +7 -0
  68. package/es/modules/color-picker/src/color-editor.vue_vue_type_script_setup_true_name_color-editor_lang.mjs +31 -0
  69. package/es/modules/color-picker/src/color-editor.vue_vue_type_style_index_0_scoped_7b102f87_lang.css +5 -0
  70. package/es/modules/formula-editor/interface/i-formula-editor-options/i-formula-editor-options.d.ts +2 -0
  71. package/es/modules/gct-form/controller/form-edit-item/form-edit-item.controller.d.ts +0 -1
  72. package/es/modules/gct-form/controller/form-edit-item/form-edit-item.controller.mjs +1 -20
  73. package/es/modules/gct-form/controller/form-item-basic/form-item-basic.controller.d.ts +8 -0
  74. package/es/modules/gct-form/controller/form-item-basic/form-item-basic.controller.mjs +14 -0
  75. package/es/modules/gct-form/controller/gct-form/gct-form.controller.mjs +4 -10
  76. package/es/modules/gct-form/editor/gct-form-action/index.mjs +1 -1
  77. package/es/modules/gct-form/editor/gct-form-check-switch/gct-form-check-switch.css +2 -2
  78. package/es/modules/gct-form/editor/gct-form-color/gct-form-color.d.ts +1 -4
  79. package/es/modules/gct-form/editor/gct-form-color/gct-form-color.mjs +9 -10
  80. package/es/modules/gct-form/editor/gct-form-radio/gct-form-radio.css +25 -22
  81. package/es/modules/gct-form/editor/gct-form-radio/gct-form-radio.mjs +1 -1
  82. package/es/modules/gct-form/index.d.ts +2 -0
  83. package/es/modules/gct-form/index.mjs +12 -1
  84. package/es/modules/gct-form/interface/i-controller/form-item-basic/form-item-basic.controller.d.ts +6 -0
  85. package/es/modules/gct-form/interface/i-editor/i-select-editor.d.ts +1 -1
  86. package/es/modules/gct-form/interface/i-form/i-form-edit-item.d.ts +0 -8
  87. package/es/modules/gct-form/interface/i-form/i-form-item-basic.d.ts +8 -0
  88. package/es/modules/gct-form/utils/index.d.ts +18 -0
  89. package/es/modules/gct-form/utils/index.mjs +37 -0
  90. package/es/modules/gct-form/widgets/gct-edit-form/gct-edit-form.mjs +2 -1
  91. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse/gct-form-collapse.model.mjs +25 -0
  92. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse/index.mjs +1 -0
  93. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse-pane/gct-form-collapse-pane.model.mjs +25 -0
  94. package/es/modules/gct-form/widgets/gct-form/gct-form-collapse-pane/index.mjs +1 -0
  95. package/es/modules/gct-form/widgets/gct-form/gct-form-group/gct-form-group.model.mjs +25 -0
  96. package/es/modules/gct-form/widgets/gct-form/gct-form-group/index.mjs +1 -0
  97. package/es/modules/gct-form/widgets/gct-form/gct-form-hidden-item/gct-form-hidden-item.model.mjs +21 -0
  98. package/es/modules/gct-form/widgets/gct-form/gct-form-hidden-item/index.mjs +1 -0
  99. package/es/modules/gct-form/widgets/gct-form/gct-form-item/gct-form-item.css +13 -6
  100. package/es/modules/gct-form/widgets/gct-form/gct-form-item/gct-form-item.model.mjs +23 -0
  101. package/es/modules/gct-form/widgets/gct-form/gct-form-item/index.mjs +1 -0
  102. package/es/modules/gct-form/widgets/gct-form/gct-form-line/gct-form-line.model.mjs +20 -0
  103. package/es/modules/gct-form/widgets/gct-form/gct-form-line/index.mjs +1 -0
  104. package/es/modules/gct-form/widgets/gct-form/gct-form-tab/gct-form-tab.model.mjs +16 -0
  105. package/es/modules/gct-form/widgets/gct-form/gct-form-tab/index.mjs +1 -0
  106. package/es/modules/gct-form/widgets/gct-form/gct-form-tab-pane/gct-form-tab-pane.model.mjs +24 -0
  107. package/es/modules/gct-form/widgets/gct-form/gct-form-tab-pane/index.mjs +1 -0
  108. package/es/modules/gct-form/widgets/gct-form/gct-form-title-group/gct-form-title-group.model.mjs +25 -0
  109. package/es/modules/gct-form/widgets/gct-form/gct-form-title-group/index.mjs +1 -0
  110. package/es/modules/gct-form/widgets/gct-form/gct-form.css +1 -3
  111. package/es/modules/gct-form/widgets/gct-form/index.d.ts +3 -3
  112. package/es/modules/gct-form/widgets/gct-form/index.mjs +9 -0
  113. package/es/modules/gct-table/editor/gct-table-date/gct-table-date.mjs +1 -1
  114. package/es/modules/gct-table/editor/gct-table-text/gct-table-text.mjs +1 -1
  115. package/es/modules/global-modal/src/BasicModal.vue.d.ts +4 -0
  116. package/es/modules/global-modal/src/BasicModal.vue_vue_type_script_setup_true_name_BasicModal_lang.mjs +1 -0
  117. package/es/modules/global-modal/src/components/ModalWrapper.vue.d.ts +1 -0
  118. package/es/modules/global-modal/src/components/ModalWrapper.vue.mjs +11 -6
  119. package/es/modules/global-modal/src/components/ModalWrapper.vue_vue_type_script_lang.mjs +3 -0
  120. package/es/modules/global-modal/src/components/ModalWrapper.vue_vue_type_style_index_0_lang.css +67 -0
  121. package/es/modules/personnel-selection/components/index.d.ts +3 -0
  122. package/es/modules/personnel-selection/components/personnel-select-tree/personnel-select-tree.d.ts +22 -0
  123. package/es/modules/personnel-selection/components/variable/check-variable/check-variable.d.ts +19 -0
  124. package/es/modules/personnel-selection/components/variable/index.d.ts +3 -0
  125. package/es/modules/personnel-selection/components/variable/list-variable/list-variable.d.ts +19 -0
  126. package/es/modules/personnel-selection/components/variable/tree-select-variable/tree-select-variable.d.ts +19 -0
  127. package/es/modules/personnel-selection/components/variable-select-pane/variable-select-pane.d.ts +21 -0
  128. package/es/modules/personnel-selection/constants/index.d.ts +16 -0
  129. package/es/modules/personnel-selection/controller/index.d.ts +2 -0
  130. package/es/modules/personnel-selection/controller/tab-item/tab-item.controller.d.ts +18 -0
  131. package/es/modules/personnel-selection/controller/variable-item/variable-item.controller.d.ts +17 -0
  132. package/es/modules/personnel-selection/editors/index.d.ts +1 -0
  133. package/es/modules/personnel-selection/editors/personnel-selection-editor/personnel-selection-editor.d.ts +2 -0
  134. package/es/modules/personnel-selection/enums/index.d.ts +31 -0
  135. package/es/modules/personnel-selection/index.d.ts +3 -0
  136. package/es/modules/personnel-selection/interface/controller/index.d.ts +3 -0
  137. package/es/modules/personnel-selection/interface/controller/tab-item/i-tab-item.controller.d.ts +86 -0
  138. package/es/modules/personnel-selection/interface/controller/tab-item/i-variable-tab-item.controller.d.ts +11 -0
  139. package/es/modules/personnel-selection/interface/controller/variable/i-variable-item.controller.d.ts +53 -0
  140. package/es/modules/personnel-selection/interface/data/i-data-node.d.ts +42 -0
  141. package/es/modules/personnel-selection/interface/index.d.ts +6 -0
  142. package/es/modules/personnel-selection/interface/options/index.d.ts +3 -0
  143. package/es/modules/personnel-selection/interface/options/personnel-selection-options/personnel-selection-options.d.ts +45 -0
  144. package/es/modules/personnel-selection/interface/options/select-area-options/select-area-options.d.ts +18 -0
  145. package/es/modules/personnel-selection/interface/options/select-region-options/select-region-options.d.ts +18 -0
  146. package/es/modules/personnel-selection/interface/providers/i-tab-item.provider.d.ts +51 -0
  147. package/es/modules/personnel-selection/interface/providers/i-variable-item.provider.d.ts +51 -0
  148. package/es/modules/personnel-selection/interface/state/i-tab-item.state.d.ts +27 -0
  149. package/es/modules/personnel-selection/interface/state/i-variable-item.state.d.ts +18 -0
  150. package/es/modules/personnel-selection/interface/state/index.d.ts +2 -0
  151. package/es/modules/personnel-selection/interface/store/i-variable-inst-store.d.ts +37 -0
  152. package/es/modules/personnel-selection/interface/store/i-variable-plugin-manage-store.d.ts +44 -0
  153. package/es/modules/personnel-selection/interface/store/i-variable-store.d.ts +29 -0
  154. package/es/modules/personnel-selection/interface/store/i-view-plugin-manage-store.d.ts +44 -0
  155. package/es/modules/personnel-selection/interface/store/i-view-store.d.ts +29 -0
  156. package/es/modules/personnel-selection/interface/store/i-view-tabs-store.d.ts +54 -0
  157. package/es/modules/personnel-selection/interface/store/index.d.ts +11 -0
  158. package/es/modules/personnel-selection/plugins/index.d.ts +23 -0
  159. package/es/modules/personnel-selection/plugins/tab-item/personnel-select-tab-item/personnel-select-tab-item.controller.d.ts +12 -0
  160. package/es/modules/personnel-selection/plugins/tab-item/variable-tab-item/variable-tab-item.controller.d.ts +14 -0
  161. package/es/modules/personnel-selection/plugins/variable-item/check-variable-item/check-variable-item.controller.d.ts +12 -0
  162. package/es/modules/personnel-selection/plugins/variable-item/list-variable-item/list-variable-item.controller.d.ts +12 -0
  163. package/es/modules/personnel-selection/plugins/variable-item/tree-select-variable-item/tree-select-variable-item.controller.d.ts +12 -0
  164. package/es/modules/personnel-selection/props/index.d.ts +75 -0
  165. package/es/modules/personnel-selection/state/index.d.ts +2 -0
  166. package/es/modules/personnel-selection/state/tab-item.state.d.ts +15 -0
  167. package/es/modules/personnel-selection/state/variable-item.state.d.ts +4 -0
  168. package/es/modules/personnel-selection/store/index.d.ts +1 -0
  169. package/es/modules/personnel-selection/store/variable/variable-inst.d.ts +10 -0
  170. package/es/modules/personnel-selection/store/variable/variable-plugin-manage.d.ts +10 -0
  171. package/es/modules/personnel-selection/store/variable/variable-store.d.ts +5 -0
  172. package/es/modules/personnel-selection/store/view/view-plugin-manage.d.ts +10 -0
  173. package/es/modules/personnel-selection/store/view/view-store.d.ts +11 -0
  174. package/es/modules/personnel-selection/store/view/view-tabs.d.ts +10 -0
  175. package/es/modules/personnel-selection/use/index.d.ts +40 -0
  176. package/es/modules/personnel-selection/utils/index.d.ts +1 -0
  177. package/es/modules/personnel-selection/views/index.d.ts +12 -0
  178. package/es/modules/personnel-selection/views/personnel-selection-view/personnel-selection-view.d.ts +181 -0
  179. package/es/modules/personnel-selection/widgets/index.d.ts +2 -0
  180. package/es/modules/personnel-selection/widgets/personnel-select-area/personnel-select-area.d.ts +1 -0
  181. package/es/modules/personnel-selection/widgets/personnel-select-region/personnel-select-region.d.ts +2 -0
  182. package/es/modules/picture-cropper/src/CopperFreeModal.vue.d.ts +2 -2
  183. package/es/modules/picture-cropper/src/CopperFreeModal.vue.mjs +2 -2
  184. package/es/modules/picture-cropper/src/{CopperFreeModal.vue_vue_type_style_index_0_scoped_488ed4c7_lang.css → CopperFreeModal.vue_vue_type_style_index_0_scoped_9069f48a_lang.css} +10 -10
  185. package/es/modules/picture-cropper/src/CopperModal.vue.d.ts +2 -2
  186. package/es/modules/picture-cropper/src/CopperModal.vue.mjs +2 -2
  187. package/es/modules/picture-cropper/src/{CopperModal.vue_vue_type_style_index_0_scoped_ee086999_lang.css → CopperModal.vue_vue_type_style_index_0_scoped_f1134678_lang.css} +14 -14
  188. package/es/modules/picture-cropper/src/CropperAvatar.vue.d.ts +2 -2
  189. package/es/modules/picture-cropper/src/CropperAvatar.vue.mjs +2 -2
  190. package/es/modules/picture-cropper/src/{CropperAvatar.vue_vue_type_style_index_0_scoped_b1cbaaf1_lang.css → CropperAvatar.vue_vue_type_style_index_0_scoped_ef939ff0_lang.css} +7 -7
  191. package/es/modules/picture-cropper/src/CropperFree.vue.d.ts +2 -2
  192. package/es/modules/picture-cropper/src/CropperFree.vue.mjs +2 -2
  193. package/es/modules/picture-cropper/src/{CropperFree.vue_vue_type_style_index_0_scoped_bab12130_lang.css → CropperFree.vue_vue_type_style_index_0_scoped_7a51c6b9_lang.css} +16 -16
  194. package/es/utils/index.d.ts +1 -0
  195. package/es/utils/index.mjs +1 -0
  196. package/es/utils/model-entity/model-entity.d.ts +28 -0
  197. package/es/utils/model-entity/model-entity.mjs +47 -0
  198. package/es/utils/overlay-controller/overlay-controller.d.ts +16 -1
  199. package/es/utils/overlay-controller/overlay-controller.mjs +18 -0
  200. package/es/utils/with-install.d.ts +1 -0
  201. package/es/utils/with-install.mjs +1 -1
  202. package/package.json +13 -9
  203. package/dist/_plugin-vue_export-helper-4vvM2fiX.js +0 -1
  204. /package/es/modules/gct-table/editor/{gct-table-date/gct-table-date.css → gct-table-text/gct-table-text.css} +0 -0
@@ -0,0 +1,37 @@
1
+ import "./width-install/width-install.mjs";
2
+ //#region src/modules/gct-form/utils/index.ts
3
+ /**
4
+ * 获取对象属性值
5
+ *
6
+ * @export
7
+ * @param {string} name
8
+ * @param {object} data
9
+ * @return {*}
10
+ */
11
+ function getValue(name, data) {
12
+ const key_list = name.split(".");
13
+ try {
14
+ return key_list.reduce((memo, cur) => memo[cur], data);
15
+ } catch (err) {
16
+ console.warn(err);
17
+ }
18
+ }
19
+ /**
20
+ * 设置对象属性值
21
+ *
22
+ * @export
23
+ * @param {unknown} value
24
+ * @param {string} name
25
+ * @param {object} data
26
+ */
27
+ function setValue(value, name, data) {
28
+ const key_list = name.split(".");
29
+ const len = key_list.length - 1;
30
+ key_list.reduce((memo, cur, index) => {
31
+ if (index === len) memo[cur] = value;
32
+ else if (!memo[cur]) memo[cur] = {};
33
+ return memo[cur];
34
+ }, data);
35
+ }
36
+ //#endregion
37
+ export { getValue, setValue };
@@ -38,7 +38,7 @@ var GctEditForm = /* @__PURE__ */ defineComponent({
38
38
  }
39
39
  },
40
40
  emits: ["update:data", "change"],
41
- setup(props, { emit }) {
41
+ setup(props, { emit, expose }) {
42
42
  const ns = useNamespace("gct-edit-form");
43
43
  console.debug("GctEditForm props:", props);
44
44
  const c = props.controller || useEditFormController(() => new EditFormController(props.model));
@@ -108,6 +108,7 @@ var GctEditForm = /* @__PURE__ */ defineComponent({
108
108
  c.evt.on("blur", (key) => {
109
109
  validateField(key);
110
110
  });
111
+ expose({ c });
111
112
  return () => {
112
113
  let content = null;
113
114
  if (c.state.isNew || c.state.isNew == false && c.state.loaded) content = createVNode(resolveComponent("gct-form"), {
@@ -0,0 +1,25 @@
1
+ //#region src/modules/gct-form/widgets/gct-form/gct-form-collapse/gct-form-collapse.model.ts
2
+ /**
3
+ * 表单折叠面板模型
4
+ *
5
+ * @export
6
+ * @class GctFormCollapseModel
7
+ * @implements {IFormCollapse}
8
+ */
9
+ var GctFormCollapseModel = class {
10
+ type = "collapse";
11
+ isContainer = true;
12
+ layout = "grid";
13
+ children = [];
14
+ name;
15
+ accordion;
16
+ expandIconPosition;
17
+ expandIconStyle;
18
+ constructor(name, opts, children) {
19
+ this.name = name;
20
+ if (opts) Object.assign(this, opts);
21
+ if (children) this.children = children;
22
+ }
23
+ };
24
+ //#endregion
25
+ export { GctFormCollapseModel };
@@ -1,5 +1,6 @@
1
1
  import { GctFormCollapseProvider } from "./gct-form-collapse.provider.mjs";
2
2
  import GctFormCollapse from "./gct-form-collapse.mjs";
3
+ import "./gct-form-collapse.model.mjs";
3
4
  import "vue";
4
5
  //#region src/modules/gct-form/widgets/gct-form/gct-form-collapse/index.ts
5
6
  var gct_form_collapse_default = { install(app) {
@@ -0,0 +1,25 @@
1
+ //#region src/modules/gct-form/widgets/gct-form/gct-form-collapse-pane/gct-form-collapse-pane.model.ts
2
+ /**
3
+ * 表单折叠面板项模型
4
+ *
5
+ * @export
6
+ * @class GctFormCollapsePaneModel
7
+ * @implements {IFormCollapsePane}
8
+ */
9
+ var GctFormCollapsePaneModel = class {
10
+ type = "collapse-pane";
11
+ isContainer = true;
12
+ title;
13
+ layout = "grid";
14
+ children = [];
15
+ name;
16
+ collapsible;
17
+ constructor(name, title, opts, children) {
18
+ this.name = name;
19
+ this.title = title;
20
+ if (opts) Object.assign(this, opts);
21
+ if (children) this.children = children;
22
+ }
23
+ };
24
+ //#endregion
25
+ export { GctFormCollapsePaneModel };
@@ -1,5 +1,6 @@
1
1
  import { GctFormCollapsePaneProvider } from "./gct-form-collapse-pane.provider.mjs";
2
2
  import GctFormCollapsePane from "./gct-form-collapse-pane.mjs";
3
+ import "./gct-form-collapse-pane.model.mjs";
3
4
  import "vue";
4
5
  //#region src/modules/gct-form/widgets/gct-form/gct-form-collapse-pane/index.ts
5
6
  var gct_form_collapse_pane_default = { install(app) {
@@ -0,0 +1,25 @@
1
+ //#region src/modules/gct-form/widgets/gct-form/gct-form-group/gct-form-group.model.ts
2
+ /**
3
+ * 表单分组模型
4
+ *
5
+ * @export
6
+ * @class GctFormGroupModel
7
+ * @implements {IFormGroup}
8
+ */
9
+ var GctFormGroupModel = class {
10
+ type = "group";
11
+ isContainer = true;
12
+ layout = "grid";
13
+ children = [];
14
+ name;
15
+ title;
16
+ showHeader;
17
+ isCollapse;
18
+ constructor(name, opts, children) {
19
+ this.name = name;
20
+ if (opts) Object.assign(this, opts);
21
+ if (children) this.children = children;
22
+ }
23
+ };
24
+ //#endregion
25
+ export { GctFormGroupModel };
@@ -1,5 +1,6 @@
1
1
  import { GctFormGroupProvider } from "./gct-form-group.provider.mjs";
2
2
  import GctFormGroup from "./gct-form-group.mjs";
3
+ import "./gct-form-group.model.mjs";
3
4
  import "vue";
4
5
  //#region src/modules/gct-form/widgets/gct-form/gct-form-group/index.ts
5
6
  var gct_form_group_default = { install(app) {
@@ -0,0 +1,21 @@
1
+ //#region src/modules/gct-form/widgets/gct-form/gct-form-hidden-item/gct-form-hidden-item.model.ts
2
+ /**
3
+ * 表单隐藏项模型
4
+ *
5
+ * @export
6
+ * @class GctFormHiddenItemModel
7
+ * @implements {IFormHiddenItem}
8
+ */
9
+ var GctFormHiddenItemModel = class {
10
+ type = "hidden";
11
+ name;
12
+ field;
13
+ defaultValue;
14
+ editor;
15
+ constructor(name, options) {
16
+ this.name = name;
17
+ if (options) Object.assign(this, options);
18
+ }
19
+ };
20
+ //#endregion
21
+ export { GctFormHiddenItemModel };
@@ -1 +1,2 @@
1
1
  import "./gct-form-hidden-item.provider.mjs";
2
+ import "./gct-form-hidden-item.model.mjs";
@@ -82,7 +82,7 @@
82
82
  .gct-form-item.ant-row {
83
83
  margin-bottom: 20px;
84
84
  }
85
- .gct-form-item.is-hidden-label > .ant-col.ant-form-item-control > .ant-form-item-control-input > .ant-form-item-control-input-content > .gct-gct-form-item__editor {
85
+ .gct-form-item.is-hidden-label > .ant-col.ant-form-item-control > .ant-form-item-control-input > .ant-form-item-control-input-content > .gct-form-item__editor {
86
86
  width: 100%;
87
87
  }
88
88
 
@@ -111,10 +111,10 @@
111
111
  .gct-form-item.is-required .gct-form-item__label::before {
112
112
  display: inline-block;
113
113
  margin-inline-end: 4px;
114
- color: #ff4d4f;
115
- font-size: 14px;
116
114
  font-family: SimSun, sans-serif;
115
+ font-size: 14px;
117
116
  line-height: 1;
117
+ color: #ff4d4f;
118
118
  content: "*";
119
119
  }
120
120
 
@@ -126,21 +126,21 @@
126
126
  text-align: var(--gct-form-item-label-align);
127
127
  }
128
128
  .gct-form-item .ant-form-item-label label {
129
- color: var(--gct-form-item-label-color);
130
129
  font-size: var(--gct-form-item-label-font-size);
130
+ color: var(--gct-form-item-label-color);
131
131
  }
132
132
  .gct-form-item .ant-form-item-control-input-content {
133
133
  text-align: var(--gct-form-item-editor-align);
134
134
  }
135
135
  .gct-form-item__label {
136
136
  width: var(--gct-form-item-label-width);
137
- line-height: 1.5715;
138
137
  font-size: var(--gct-form-item-label-font-size);
138
+ line-height: 1.5715;
139
139
  }
140
140
  .gct-form-item__label--top {
141
- width: 100%;
142
141
  display: flex;
143
142
  align-items: center;
143
+ width: 100%;
144
144
  }
145
145
 
146
146
  .gct-form-item--label-top .gct-form-item__label {
@@ -171,4 +171,11 @@
171
171
  .gct-form-item .ant-checkbox-group .ant-checkbox-inner::after {
172
172
  width: var(--gct-form-item-checkbox-width);
173
173
  height: var(--gct-form-item-checkbox-height);
174
+ }
175
+
176
+ .gct-form--small .gct-form-item {
177
+ --gct-form-item-min-height: 26px;
178
+ }
179
+ .gct-form--small .ant-form-item-label > label {
180
+ height: 26px;
174
181
  }
@@ -0,0 +1,23 @@
1
+ //#region src/modules/gct-form/widgets/gct-form/gct-form-item/gct-form-item.model.ts
2
+ /**
3
+ * 表单项模型
4
+ *
5
+ * @export
6
+ * @class GctFormItemModel
7
+ * @implements {IFormItem}
8
+ */
9
+ var GctFormItemModel = class {
10
+ type = "item";
11
+ name;
12
+ editor;
13
+ label;
14
+ rules;
15
+ constructor(name, label, opts, editor) {
16
+ this.name = name;
17
+ if (label) this.label = label;
18
+ if (opts) Object.assign(this, opts);
19
+ this.editor = editor;
20
+ }
21
+ };
22
+ //#endregion
23
+ export { GctFormItemModel };
@@ -1,3 +1,4 @@
1
1
  import "./gct-form-item.mjs";
2
2
  import "./gct-form-item.provider.mjs";
3
+ import "./gct-form-item.model.mjs";
3
4
  import "vue";
@@ -0,0 +1,20 @@
1
+ //#region src/modules/gct-form/widgets/gct-form/gct-form-line/gct-form-line.model.ts
2
+ /**
3
+ * 表单分割线
4
+ *
5
+ * @export
6
+ * @class GctFormLineModel
7
+ * @implements {IFormLine}
8
+ */
9
+ var GctFormLineModel = class {
10
+ type = "line";
11
+ layout = "grid";
12
+ name = "";
13
+ isContainer = true;
14
+ constructor(name, opts = {}) {
15
+ this.name = name;
16
+ Object.assign(this, opts);
17
+ }
18
+ };
19
+ //#endregion
20
+ export { GctFormLineModel };
@@ -1,5 +1,6 @@
1
1
  import { GctFormLineProvider } from "./gct-form-line.provider.mjs";
2
2
  import { GctFormLine } from "./gct-form-line.mjs";
3
+ import "./gct-form-line.model.mjs";
3
4
  import "vue";
4
5
  //#region src/modules/gct-form/widgets/gct-form/gct-form-line/index.ts
5
6
  var gct_form_line_default = { install(app) {
@@ -0,0 +1,16 @@
1
+ //#region src/modules/gct-form/widgets/gct-form/gct-form-tab/gct-form-tab.model.ts
2
+ var GctFormTabModel = class {
3
+ type = "tab";
4
+ isContainer = true;
5
+ children = [];
6
+ layout = "grid";
7
+ navPosition = "center";
8
+ name;
9
+ constructor(name, opts, children) {
10
+ this.name = name;
11
+ if (opts) Object.assign(this, opts);
12
+ if (children) this.children = children;
13
+ }
14
+ };
15
+ //#endregion
16
+ export { GctFormTabModel };
@@ -1,5 +1,6 @@
1
1
  import { GctFormTabProvider } from "./gct-form-tab.provider.mjs";
2
2
  import GctFormTab from "./gct-form-tab.mjs";
3
+ import "./gct-form-tab.model.mjs";
3
4
  import "vue";
4
5
  //#region src/modules/gct-form/widgets/gct-form/gct-form-tab/index.ts
5
6
  var gct_form_tab_default = { install(app) {
@@ -0,0 +1,24 @@
1
+ //#region src/modules/gct-form/widgets/gct-form/gct-form-tab-pane/gct-form-tab-pane.model.ts
2
+ /**
3
+ * 表单选项卡面板模型
4
+ *
5
+ * @export
6
+ * @class GctFormTabPaneModel
7
+ * @implements {IFormTabPane}
8
+ */
9
+ var GctFormTabPaneModel = class {
10
+ type = "tab-pane";
11
+ isContainer = true;
12
+ title;
13
+ layout = "grid";
14
+ children = [];
15
+ name;
16
+ constructor(name, title, opts, children) {
17
+ this.name = name;
18
+ this.title = title;
19
+ if (opts) Object.assign(this, opts);
20
+ if (children) this.children = children;
21
+ }
22
+ };
23
+ //#endregion
24
+ export { GctFormTabPaneModel };
@@ -1,5 +1,6 @@
1
1
  import { GctFormTabPaneProvider } from "./gct-form-tab-pane.provider.mjs";
2
2
  import GctFormTabPane from "./gct-form-tab-pane.mjs";
3
+ import "./gct-form-tab-pane.model.mjs";
3
4
  import "vue";
4
5
  //#region src/modules/gct-form/widgets/gct-form/gct-form-tab-pane/index.ts
5
6
  var gct_form_tab_pane_default = { install(app) {
@@ -0,0 +1,25 @@
1
+ //#region src/modules/gct-form/widgets/gct-form/gct-form-title-group/gct-form-title-group.model.ts
2
+ /**
3
+ * 表单标题分组模型
4
+ *
5
+ * @export
6
+ * @class GctFormTitleGroupModel
7
+ * @implements {IFormGroup}
8
+ */
9
+ var GctFormTitleGroupModel = class {
10
+ type = "group";
11
+ isContainer = true;
12
+ layout = "grid";
13
+ children = [];
14
+ name;
15
+ title;
16
+ showHeader;
17
+ isCollapse;
18
+ constructor(name, opts, children) {
19
+ this.name = name;
20
+ if (opts) Object.assign(this, opts);
21
+ if (children) this.children = children;
22
+ }
23
+ };
24
+ //#endregion
25
+ export { GctFormTitleGroupModel };
@@ -1,5 +1,6 @@
1
1
  import { GctFormTitleGroupProvider } from "./gct-form-title-group.provider.mjs";
2
2
  import GctFormTitleGroup from "./gct-form-title-group.mjs";
3
+ import "./gct-form-title-group.model.mjs";
3
4
  import "vue";
4
5
  import { FormContainerType } from "@gct-paas/core";
5
6
  //#region src/modules/gct-form/widgets/gct-form/gct-form-title-group/index.ts
@@ -63,9 +63,7 @@
63
63
  */
64
64
  /* stylelint-disable scss/no-global-function-names */
65
65
  .gct-form--small label {
66
- font-size: 12px;
67
- line-height: 16px;
68
- font-size: 12px !important;
66
+ --gct-form-item-label-font-size: 12px;
69
67
  }
70
68
 
71
69
  .gct-form.is-info {
@@ -3,12 +3,12 @@ declare const _default: {
3
3
  install(app: App): void;
4
4
  };
5
5
  export default _default;
6
- export * from './gct-form-tab';
7
- export * from './gct-form-tab-pane';
8
6
  export * from './gct-form-collapse';
9
7
  export * from './gct-form-collapse-pane';
10
8
  export * from './gct-form-group';
11
- export * from './gct-form-title-group';
12
9
  export * from './gct-form-hidden-item';
13
10
  export * from './gct-form-item';
14
11
  export * from './gct-form-line';
12
+ export * from './gct-form-tab';
13
+ export * from './gct-form-tab-pane';
14
+ export * from './gct-form-title-group';
@@ -2,14 +2,23 @@ import GctFormItem from "./gct-form-item/gct-form-item.mjs";
2
2
  import GctForm from "./gct-form.mjs";
3
3
  import { GctFormItemProvider } from "./gct-form-item/gct-form-item.provider.mjs";
4
4
  import { GctFormHiddenItemProvider } from "./gct-form-hidden-item/gct-form-hidden-item.provider.mjs";
5
+ import "./gct-form-collapse-pane/gct-form-collapse-pane.model.mjs";
5
6
  import gct_form_collapse_pane_default from "./gct-form-collapse-pane/index.mjs";
7
+ import "./gct-form-collapse/gct-form-collapse.model.mjs";
6
8
  import gct_form_collapse_default from "./gct-form-collapse/index.mjs";
9
+ import "./gct-form-group/gct-form-group.model.mjs";
7
10
  import gct_form_group_default from "./gct-form-group/index.mjs";
11
+ import "./gct-form-line/gct-form-line.model.mjs";
8
12
  import gct_form_line_default from "./gct-form-line/index.mjs";
13
+ import "./gct-form-tab/gct-form-tab.model.mjs";
9
14
  import gct_form_tab_default from "./gct-form-tab/index.mjs";
15
+ import "./gct-form-tab-pane/gct-form-tab-pane.model.mjs";
10
16
  import gct_form_tab_pane_default from "./gct-form-tab-pane/index.mjs";
17
+ import "./gct-form-title-group/gct-form-title-group.model.mjs";
11
18
  import gct_form_title_group_default from "./gct-form-title-group/index.mjs";
19
+ import "./gct-form-hidden-item/gct-form-hidden-item.model.mjs";
12
20
  import "./gct-form-hidden-item/index.mjs";
21
+ import "./gct-form-item/gct-form-item.model.mjs";
13
22
  import "./gct-form-item/index.mjs";
14
23
  import "vue";
15
24
  //#region src/modules/gct-form/widgets/gct-form/index.ts
@@ -1,6 +1,6 @@
1
1
  import { useGctFormValue } from "../../../gct-form/hooks/use-gct-form-value/use-gct-form-value.mjs";
2
2
  import "../../../gct-form/index.mjs";
3
- import './gct-table-date.css';/* empty css */
3
+ import '../gct-table-text/gct-table-text.css';/* empty css */
4
4
  import { createVNode, defineComponent, mergeProps, resolveComponent } from "vue";
5
5
  import { useNamespace } from "@gct-paas/core";
6
6
  //#region src/modules/gct-table/editor/gct-table-date/gct-table-date.tsx
@@ -1,6 +1,6 @@
1
1
  import { useGctFormValueByText } from "../../../gct-form/hooks/use-gct-form-value/use-gct-form-value.mjs";
2
2
  import "../../../gct-form/index.mjs";
3
- import '../gct-table-date/gct-table-date.css';/* empty css */
3
+ import './gct-table-text.css';/* empty css */
4
4
  import { createVNode, defineComponent, mergeProps, resolveComponent } from "vue";
5
5
  import { useNamespace } from "@gct-paas/core";
6
6
  //#region src/modules/gct-table/editor/gct-table-text/gct-table-text.tsx
@@ -48,6 +48,7 @@ declare function __VLS_template(): {
48
48
  "onExt-height"?: ((...args: any[]) => any) | undefined;
49
49
  "onHeight-change"?: ((...args: any[]) => any) | undefined;
50
50
  }>, {
51
+ ns: import('@gct-paas/core').Namespace;
51
52
  wrapperRef: Ref<import('overlayscrollbars-vue').OverlayScrollbarsComponentRef | undefined, import('overlayscrollbars-vue').OverlayScrollbarsComponentRef | undefined>;
52
53
  spinRef: Ref<null, null>;
53
54
  spinStyle: Ref<any, any>;
@@ -110,6 +111,7 @@ declare function __VLS_template(): {
110
111
  "onExt-height"?: ((...args: any[]) => any) | undefined;
111
112
  "onHeight-change"?: ((...args: any[]) => any) | undefined;
112
113
  }>, {
114
+ ns: import('@gct-paas/core').Namespace;
113
115
  wrapperRef: Ref<import('overlayscrollbars-vue').OverlayScrollbarsComponentRef | undefined, import('overlayscrollbars-vue').OverlayScrollbarsComponentRef | undefined>;
114
116
  spinRef: Ref<null, null>;
115
117
  spinStyle: Ref<any, any>;
@@ -430,6 +432,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
430
432
  "onExt-height"?: ((...args: any[]) => any) | undefined;
431
433
  "onHeight-change"?: ((...args: any[]) => any) | undefined;
432
434
  }>, {
435
+ ns: import('@gct-paas/core').Namespace;
433
436
  wrapperRef: Ref<import('overlayscrollbars-vue').OverlayScrollbarsComponentRef | undefined, import('overlayscrollbars-vue').OverlayScrollbarsComponentRef | undefined>;
434
437
  spinRef: Ref<null, null>;
435
438
  spinStyle: Ref<any, any>;
@@ -492,6 +495,7 @@ declare const __VLS_component: import('vue').DefineComponent<import('vue').Extra
492
495
  "onExt-height"?: ((...args: any[]) => any) | undefined;
493
496
  "onHeight-change"?: ((...args: any[]) => any) | undefined;
494
497
  }>, {
498
+ ns: import('@gct-paas/core').Namespace;
495
499
  wrapperRef: Ref<import('overlayscrollbars-vue').OverlayScrollbarsComponentRef | undefined, import('overlayscrollbars-vue').OverlayScrollbarsComponentRef | undefined>;
496
500
  spinRef: Ref<null, null>;
497
501
  spinStyle: Ref<any, any>;
@@ -10,6 +10,7 @@ import { isFunction, omit } from "lodash-es";
10
10
  import { deepMerge, useNamespace } from "@gct-paas/core";
11
11
  //#region src/modules/global-modal/src/BasicModal.vue?vue&type=script&setup=true&name=BasicModal&lang.ts
12
12
  var BasicModal_vue_vue_type_script_setup_true_name_BasicModal_lang_default = /* @__PURE__ */ defineComponent({
13
+ name: "BasicModal",
13
14
  __name: "BasicModal",
14
15
  props: basicProps,
15
16
  emits: [
@@ -37,6 +37,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
37
37
  type: StringConstructor;
38
38
  };
39
39
  }>, {
40
+ ns: import('@gct-paas/core').Namespace;
40
41
  wrapperRef: import('vue').Ref<OverlayScrollbarsComponentRef | undefined, OverlayScrollbarsComponentRef | undefined>;
41
42
  spinRef: import('vue').Ref<null, null>;
42
43
  spinStyle: import('vue').Ref<any, any>;
@@ -1,19 +1,24 @@
1
1
  import _plugin_vue_export_helper_default from "../../../../_virtual/_plugin-vue_export-helper.mjs";
2
2
  import ModalWrapper_vue_vue_type_script_lang_default from "./ModalWrapper.vue_vue_type_script_lang.mjs";
3
- import { createBlock, createElementBlock, normalizeStyle, openBlock, renderSlot, resolveComponent, resolveDirective, withCtx, withDirectives } from "vue";
3
+ import './ModalWrapper.vue_vue_type_style_index_0_lang.css';/* empty css */
4
+ import { createBlock, createElementBlock, normalizeClass, normalizeStyle, openBlock, renderSlot, resolveComponent, resolveDirective, withCtx, withDirectives } from "vue";
4
5
  //#region src/modules/global-modal/src/components/ModalWrapper.vue
5
6
  var _hoisted_1 = ["loading-tip"];
6
7
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
7
- const _component_overlayScrollbars_component = resolveComponent("overlayScrollbars-component");
8
+ const _component_overlayScrollbarsComponent = resolveComponent("overlayScrollbarsComponent");
8
9
  const _directive_target_loading = resolveDirective("target-loading");
9
- return openBlock(), createBlock(_component_overlayScrollbars_component, { ref: "wrapperRef" }, {
10
+ return openBlock(), createBlock(_component_overlayScrollbarsComponent, {
11
+ ref: "wrapperRef",
12
+ class: normalizeClass(_ctx.ns.b("scrollbar"))
13
+ }, {
10
14
  default: withCtx(() => [withDirectives((openBlock(), createElementBlock("div", {
11
15
  ref: "spinRef",
12
16
  style: normalizeStyle(_ctx.spinStyle),
13
- "loading-tip": _ctx.loadingTip
14
- }, [renderSlot(_ctx.$slots, "default")], 12, _hoisted_1)), [[_directive_target_loading, _ctx.loading]])]),
17
+ "loading-tip": _ctx.loadingTip,
18
+ class: normalizeClass(_ctx.ns.b())
19
+ }, [renderSlot(_ctx.$slots, "default")], 14, _hoisted_1)), [[_directive_target_loading, _ctx.loading]])]),
15
20
  _: 3
16
- }, 512);
21
+ }, 8, ["class"]);
17
22
  }
18
23
  var ModalWrapper_default = /* @__PURE__ */ _plugin_vue_export_helper_default(ModalWrapper_vue_vue_type_script_lang_default, [["render", _sfc_render]]);
19
24
  //#endregion
@@ -1,5 +1,6 @@
1
1
  import { createModalContext } from "../hooks/useModalContext.mjs";
2
2
  import { computed, defineComponent, nextTick, onMounted, onUnmounted, ref, unref, watch, watchEffect } from "vue";
3
+ import { useNamespace } from "@gct-paas/core";
3
4
  import { useMutationObserver, useWindowSize } from "@vueuse/core";
4
5
  var ModalWrapper_vue_vue_type_script_lang_default = defineComponent({
5
6
  name: "ModalWrapper",
@@ -37,6 +38,7 @@ var ModalWrapper_vue_vue_type_script_lang_default = defineComponent({
37
38
  const spinRef = ref(null);
38
39
  const realHeightRef = ref(0);
39
40
  const minRealHeightRef = ref(0);
41
+ const ns = useNamespace("basic-modal-wrapper");
40
42
  let realHeight = 0;
41
43
  let stopElResizeFn = () => {};
42
44
  const spinStyle = ref();
@@ -113,6 +115,7 @@ var ModalWrapper_vue_vue_type_script_lang_default = defineComponent({
113
115
  }
114
116
  }
115
117
  return {
118
+ ns,
116
119
  wrapperRef,
117
120
  spinRef,
118
121
  spinStyle,
@@ -0,0 +1,67 @@
1
+ @charset "UTF-8";
2
+ /* stylelint-disable scss/no-global-function-names */
3
+ /* bem('block', 'element', 'modifier') => 'ibiz-block__element--modifier' */
4
+ /**
5
+ * 定义 Block 块
6
+ * @param {String} $block - Block 块名称
7
+ * @example
8
+ * @include b('button') {
9
+ * padding: 10px;
10
+ * }
11
+ */
12
+ /**
13
+ * 定义 Element 元素
14
+ * @param {String|List} $element - Element 元素名称,支持单个或多个
15
+ * @example
16
+ * @include b('button') {
17
+ * @include e('text') {
18
+ * color: #000;
19
+ * }
20
+ * }
21
+ * // 或传入多个元素
22
+ * @include b('button') {
23
+ * @include e(('text', 'icon')) {
24
+ * margin: 5px;
25
+ * }
26
+ * }
27
+ */
28
+ /**
29
+ * 定义 Modifier 修饰符
30
+ * @param {String|List} $modifier - Modifier 修饰符名称,支持单个或多个
31
+ * @example
32
+ * @include b('button') {
33
+ * @include m('primary') {
34
+ * background: blue;
35
+ * }
36
+ * }
37
+ * // 或传入多个修饰符
38
+ * @include b('button') {
39
+ * @include m(('primary', 'large')) {
40
+ * background: blue;
41
+ * font-size: 16px;
42
+ * }
43
+ * }
44
+ */
45
+ /**
46
+ * 定义状态选择器
47
+ * @param {String} $state - 状态名称
48
+ * @example
49
+ * @include b('button') {
50
+ * @include when('disabled') {
51
+ * opacity: 0.5;
52
+ * }
53
+ * }
54
+ */
55
+ /**
56
+ * 深色主题样式
57
+ * @param {String} $block - Block 块名称
58
+ * @example
59
+ * @include dark('button') {
60
+ * background: #333;
61
+ * color: #fff;
62
+ * }
63
+ */
64
+ /* stylelint-disable scss/no-global-function-names */
65
+ .gct-basic-modal-wrapper {
66
+ padding: 16px;
67
+ }
@@ -0,0 +1,3 @@
1
+ export { PersonnelSelectTree } from './personnel-select-tree/personnel-select-tree';
2
+ export { VariableSelectPane } from './variable-select-pane/variable-select-pane';
3
+ export * from './variable';