@ibiz-template/mob-vue3-components 0.0.4 → 0.0.6

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 (158) hide show
  1. package/dist/index.min.css +1 -1
  2. package/dist/index.system.min.js +6 -6
  3. package/dist/index.system.min.js.map +1 -1
  4. package/es/_virtual/customParseFormat.mjs +3 -0
  5. package/es/common/index.mjs +6 -1
  6. package/es/common/preset-view-back/preset-view-back.css +1 -0
  7. package/es/common/preset-view-back/preset-view-back.d.ts +17 -0
  8. package/es/common/preset-view-back/preset-view-back.mjs +49 -0
  9. package/es/common/preset-view-header/preset-view-header.css +1 -0
  10. package/es/common/preset-view-header/preset-view-header.d.ts +20 -0
  11. package/es/common/preset-view-header/preset-view-header.mjs +47 -0
  12. package/es/control/app-menu/app-menu.css +1 -1
  13. package/es/control/app-menu/app-menu.d.ts +1 -3
  14. package/es/control/app-menu/app-menu.mjs +35 -134
  15. package/es/control/app-menu/index.d.ts +1 -3
  16. package/es/control/app-menu-icon-view/app-menu-icon-view.css +1 -0
  17. package/es/control/app-menu-icon-view/app-menu-icon-view.d.ts +38 -0
  18. package/es/control/app-menu-icon-view/app-menu-icon-view.mjs +76 -0
  19. package/es/control/app-menu-icon-view/app-menu-icon-view.provider.d.ts +13 -0
  20. package/es/control/app-menu-icon-view/app-menu-icon-view.provider.mjs +14 -0
  21. package/es/control/app-menu-icon-view/index.d.ts +35 -0
  22. package/es/control/app-menu-icon-view/index.mjs +18 -0
  23. package/es/control/app-menu-list-view/app-menu-list-view.css +1 -0
  24. package/es/control/app-menu-list-view/app-menu-list-view.d.ts +37 -0
  25. package/es/control/app-menu-list-view/app-menu-list-view.mjs +84 -0
  26. package/es/control/app-menu-list-view/app-menu-list-view.provider.d.ts +13 -0
  27. package/es/control/app-menu-list-view/app-menu-list-view.provider.mjs +14 -0
  28. package/es/control/app-menu-list-view/index.d.ts +34 -0
  29. package/es/control/app-menu-list-view/index.mjs +18 -0
  30. package/es/control/dashboard/portlet/menu-portlet/menu-portlet.mjs +1 -2
  31. package/es/control/form/form-detail/form-button/form-button.css +1 -1
  32. package/es/control/form/form-detail/form-button/form-button.mjs +2 -1
  33. package/es/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  34. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs +1 -0
  35. package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.mjs +2 -1
  36. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -1
  37. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.d.ts +1 -0
  38. package/es/control/form/form-detail/form-mdctrl/form-mdctrl.mjs +7 -3
  39. package/es/control/form/form-detail/form-mdctrl/index.d.ts +8 -0
  40. package/es/control/form/form-detail/form-mdctrl/index.mjs +1 -1
  41. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -1
  42. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.d.ts +10 -2
  43. package/es/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs +29 -17
  44. package/es/control/form/form-detail/form-page/form-page-item/form-page-item.css +1 -1
  45. package/es/control/form/form-detail/form-page/form-page-item/form-page-item.mjs +1 -1
  46. package/es/control/form/form-detail/form-tab-page/form-tab-page.mjs +1 -1
  47. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  48. package/es/control/form/form-detail/form-tab-panel/form-tab-panel.mjs +14 -6
  49. package/es/control/form/form-detail/index.mjs +6 -0
  50. package/es/control/form/index.mjs +6 -0
  51. package/es/control/index.d.ts +2 -0
  52. package/es/control/index.mjs +8 -0
  53. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.css +1 -1
  54. package/es/editor/cascader/ibiz-cascader/ibiz-cascader.d.ts +1 -1
  55. package/es/editor/check-box/ibiz-checkbox/ibiz-checkbox.d.ts +1 -1
  56. package/es/editor/check-box-list/ibiz-checkbox-list/ibiz-checkbox-list.d.ts +1 -1
  57. package/es/editor/color-picker/ibiz-color-picker/ibiz-color-picker.d.ts +1 -1
  58. package/es/editor/common/data-mpicker/ibiz-data-mpicker.css +1 -0
  59. package/es/editor/common/data-mpicker/ibiz-data-mpicker.d.ts +44 -0
  60. package/es/editor/common/data-mpicker/ibiz-data-mpicker.mjs +139 -0
  61. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  62. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.d.ts +4 -3
  63. package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +38 -31
  64. package/es/editor/data-picker/ibiz-picker/ibiz-picker.d.ts +1 -1
  65. package/es/editor/data-picker/ibiz-picker-select-view/ibiz-picker-select-view.d.ts +1 -1
  66. package/es/editor/date-picker/ibiz-date-picker/ibiz-date-picker.d.ts +1 -1
  67. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  68. package/es/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.d.ts +1 -1
  69. package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.d.ts +1 -1
  70. package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
  71. package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.d.ts +3 -6
  72. package/es/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.mjs +28 -104
  73. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.css +1 -1
  74. package/es/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.d.ts +1 -1
  75. package/es/editor/radio-button-list/ibiz-radio/ibiz-radio.d.ts +1 -1
  76. package/es/editor/rate/ibiz-rate/ibiz-rate.d.ts +1 -1
  77. package/es/editor/slider/ibiz-slider/ibiz-slider.d.ts +1 -1
  78. package/es/editor/span/span/span.css +1 -1
  79. package/es/editor/span/span/span.d.ts +27 -1
  80. package/es/editor/span/span/span.mjs +78 -28
  81. package/es/editor/span/span-link/span-link.d.ts +1 -1
  82. package/es/editor/stepper/ibiz-stepper/ibiz-stepper.d.ts +1 -1
  83. package/es/editor/switch/ibiz-switch/ibiz-switch.d.ts +1 -1
  84. package/es/editor/text-box/ibiz-input-number/ibiz-input-number.d.ts +1 -1
  85. package/es/editor/text-box/input/input.d.ts +1 -1
  86. package/es/editor/upload/ibiz-carousel/ibiz-carousel.d.ts +1 -1
  87. package/es/editor/upload/ibiz-file-upload/ibiz-file-upload.d.ts +1 -1
  88. package/es/editor/upload/ibiz-image-select/ibiz-image-select.d.ts +1 -1
  89. package/es/editor/upload/ibiz-image-upload/ibiz-image-upload.d.ts +1 -1
  90. package/es/index.d.ts +1 -0
  91. package/es/index.mjs +55 -1
  92. package/es/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/customParseFormat.mjs +13 -0
  93. package/es/panel-component/panel-button/index.d.ts +1 -1
  94. package/es/panel-component/panel-button/panel-button.d.ts +1 -1
  95. package/es/panel-component/view-content-panel-container/view-content-panel-container.mjs +7 -2
  96. package/es/panel-component/view-header-panel-container/index.d.ts +1 -1
  97. package/es/panel-component/view-header-panel-container/view-header-panel-container.css +1 -1
  98. package/es/panel-component/view-header-panel-container/view-header-panel-container.d.ts +1 -1
  99. package/es/panel-component/view-header-panel-container/view-header-panel-container.mjs +6 -12
  100. package/es/util/store/view-stack/view-stack.d.ts +1 -1
  101. package/es/view-engine/mob-edit-view.engine.mjs +1 -2
  102. package/es/view-engine/mob-wf-dyna-action-view.engine.mjs +1 -1
  103. package/es/view-engine/mob-wf-dyna-start-view.engine.mjs +1 -1
  104. package/lib/_virtual/customParseFormat.cjs +5 -0
  105. package/lib/common/index.cjs +5 -0
  106. package/lib/common/preset-view-back/preset-view-back.cjs +51 -0
  107. package/lib/common/preset-view-back/preset-view-back.css +1 -0
  108. package/lib/common/preset-view-header/preset-view-header.cjs +49 -0
  109. package/lib/common/preset-view-header/preset-view-header.css +1 -0
  110. package/lib/control/app-menu/app-menu.cjs +34 -133
  111. package/lib/control/app-menu/app-menu.css +1 -1
  112. package/lib/control/app-menu-icon-view/app-menu-icon-view.cjs +78 -0
  113. package/lib/control/app-menu-icon-view/app-menu-icon-view.css +1 -0
  114. package/lib/control/app-menu-icon-view/app-menu-icon-view.provider.cjs +16 -0
  115. package/lib/control/app-menu-icon-view/index.cjs +23 -0
  116. package/lib/control/app-menu-list-view/app-menu-list-view.cjs +86 -0
  117. package/lib/control/app-menu-list-view/app-menu-list-view.css +1 -0
  118. package/lib/control/app-menu-list-view/app-menu-list-view.provider.cjs +16 -0
  119. package/lib/control/app-menu-list-view/index.cjs +23 -0
  120. package/lib/control/dashboard/portlet/menu-portlet/menu-portlet.cjs +1 -2
  121. package/lib/control/form/form-detail/form-button/form-button.cjs +2 -1
  122. package/lib/control/form/form-detail/form-button/form-button.css +1 -1
  123. package/lib/control/form/form-detail/form-item/form-item-container/form-item-container.css +1 -1
  124. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.cjs +1 -0
  125. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-multi-form/repeater-multi-form.cjs +2 -1
  126. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.cjs +6 -2
  127. package/lib/control/form/form-detail/form-mdctrl/form-mdctrl.css +1 -1
  128. package/lib/control/form/form-detail/form-mdctrl/index.cjs +6 -0
  129. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.cjs +28 -16
  130. package/lib/control/form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.css +1 -1
  131. package/lib/control/form/form-detail/form-page/form-page-item/form-page-item.cjs +1 -1
  132. package/lib/control/form/form-detail/form-page/form-page-item/form-page-item.css +1 -1
  133. package/lib/control/form/form-detail/form-tab-page/form-tab-page.cjs +1 -1
  134. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.cjs +14 -6
  135. package/lib/control/form/form-detail/form-tab-panel/form-tab-panel.css +1 -1
  136. package/lib/control/form/form-detail/index.cjs +12 -0
  137. package/lib/control/form/index.cjs +12 -0
  138. package/lib/control/index.cjs +72 -56
  139. package/lib/editor/cascader/ibiz-cascader/ibiz-cascader.css +1 -1
  140. package/lib/editor/common/data-mpicker/ibiz-data-mpicker.cjs +141 -0
  141. package/lib/editor/common/data-mpicker/ibiz-data-mpicker.css +1 -0
  142. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +38 -31
  143. package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.css +1 -1
  144. package/lib/editor/date-range/ibiz-date-range-picker/ibiz-date-range-picker.css +1 -1
  145. package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.cjs +27 -103
  146. package/lib/editor/dropdown-list/ibiz-dropdown-list/ibiz-dropdown-list.css +1 -1
  147. package/lib/editor/number-range/ibiz-number-range-picker/ibiz-number-range-picker.css +1 -1
  148. package/lib/editor/span/span/span.cjs +77 -27
  149. package/lib/editor/span/span/span.css +1 -1
  150. package/lib/index.cjs +160 -36
  151. package/lib/node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/plugin/customParseFormat.cjs +17 -0
  152. package/lib/panel-component/view-content-panel-container/view-content-panel-container.cjs +7 -2
  153. package/lib/panel-component/view-header-panel-container/view-header-panel-container.cjs +6 -12
  154. package/lib/panel-component/view-header-panel-container/view-header-panel-container.css +1 -1
  155. package/lib/view-engine/mob-edit-view.engine.cjs +1 -2
  156. package/lib/view-engine/mob-wf-dyna-action-view.engine.cjs +1 -1
  157. package/lib/view-engine/mob-wf-dyna-start-view.engine.cjs +1 -1
  158. package/package.json +6 -6
@@ -0,0 +1,84 @@
1
+ import { resolveComponent, createVNode, defineComponent } from 'vue';
2
+ import { useControlController, prepareControl } from '@ibiz-template/vue3-util';
3
+ import './app-menu-list-view.css';
4
+ import { AppMenuController } from '@ibiz-template/runtime';
5
+
6
+ "use strict";
7
+ const AppMenuListViewControl = /* @__PURE__ */ defineComponent({
8
+ name: "IBizAppMenuListViewControl",
9
+ props: {
10
+ modelData: {
11
+ type: Object,
12
+ required: true
13
+ },
14
+ context: {
15
+ type: Object,
16
+ required: true
17
+ },
18
+ params: {
19
+ type: Object,
20
+ default: () => ({})
21
+ }
22
+ },
23
+ setup() {
24
+ const c = useControlController((...args) => new AppMenuController(...args));
25
+ const {
26
+ controlClass,
27
+ ns
28
+ } = prepareControl(c);
29
+ return {
30
+ controlClass,
31
+ c,
32
+ ns
33
+ };
34
+ },
35
+ render() {
36
+ const {
37
+ model
38
+ } = this.c;
39
+ const {
40
+ controlStyle
41
+ } = model;
42
+ return createVNode(resolveComponent("van-list"), {
43
+ "class": [this.ns.b(), this.ns.b(controlStyle.toLowerCase()), this.ns.m(this.modelData.id)]
44
+ }, {
45
+ default: () => {
46
+ var _a;
47
+ return [(_a = model == null ? void 0 : model.appMenuItems) == null ? void 0 : _a.map((item) => {
48
+ if (item.hidden === true) {
49
+ return null;
50
+ }
51
+ let renderItem = null;
52
+ switch (item.itemType) {
53
+ case "MENUITEM":
54
+ renderItem = createVNode(resolveComponent("van-cell"), {
55
+ "class": [this.ns.b("item")],
56
+ "is-link": true,
57
+ "center": true,
58
+ "clickable": true,
59
+ "title": item.caption,
60
+ "onClick": (event) => this.c.onClickMenuItem(item.id, event, false)
61
+ }, {
62
+ icon: () => {
63
+ return item.sysImage && createVNode("div", {
64
+ "class": this.ns.b("icon")
65
+ }, [createVNode(resolveComponent("iBizIcon"), {
66
+ "icon": item.sysImage
67
+ }, null)]);
68
+ }
69
+ });
70
+ break;
71
+ case "SEPERATOR":
72
+ renderItem = createVNode(resolveComponent("van-divider"), null, null);
73
+ break;
74
+ default:
75
+ break;
76
+ }
77
+ return renderItem;
78
+ })];
79
+ }
80
+ });
81
+ }
82
+ });
83
+
84
+ export { AppMenuListViewControl };
@@ -0,0 +1,13 @@
1
+ import { IControlProvider } from '@ibiz-template/runtime';
2
+ /**
3
+ * 应用菜单(列表样式)适配器
4
+ *
5
+ * @author lxm
6
+ * @date 2022-10-25 18:10:57
7
+ * @export
8
+ * @class AppMenuProvider
9
+ * @implements {IControlProvider}
10
+ */
11
+ export declare class AppMenuListViewProvider implements IControlProvider {
12
+ component: string;
13
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
4
+ var __publicField = (obj, key, value) => {
5
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
6
+ return value;
7
+ };
8
+ class AppMenuListViewProvider {
9
+ constructor() {
10
+ __publicField(this, "component", "IBizAppMenuListViewControl");
11
+ }
12
+ }
13
+
14
+ export { AppMenuListViewProvider };
@@ -0,0 +1,34 @@
1
+ export declare const IBizAppMenuListViewControl: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<{
2
+ modelData: {
3
+ type: import("vue").PropType<import("@ibiz/model-core").IAppMenu>;
4
+ required: true;
5
+ };
6
+ context: {
7
+ type: import("vue").PropType<IContext>;
8
+ required: true;
9
+ };
10
+ params: {
11
+ type: import("vue").PropType<IParams>;
12
+ default: () => {};
13
+ };
14
+ }, {
15
+ controlClass: string[];
16
+ c: import("@ibiz-template/runtime").AppMenuController;
17
+ ns: import("@ibiz-template/core").Namespace;
18
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
+ modelData: {
20
+ type: import("vue").PropType<import("@ibiz/model-core").IAppMenu>;
21
+ required: true;
22
+ };
23
+ context: {
24
+ type: import("vue").PropType<IContext>;
25
+ required: true;
26
+ };
27
+ params: {
28
+ type: import("vue").PropType<IParams>;
29
+ default: () => {};
30
+ };
31
+ }>>, {
32
+ params: IParams;
33
+ }, {}>>;
34
+ export default IBizAppMenuListViewControl;
@@ -0,0 +1,18 @@
1
+ import { ControlType, registerControlProvider } from '@ibiz-template/runtime';
2
+ import { withInstall } from '@ibiz-template/vue3-util';
3
+ import { AppMenuListViewProvider } from './app-menu-list-view.provider.mjs';
4
+ import { AppMenuListViewControl } from './app-menu-list-view.mjs';
5
+
6
+ "use strict";
7
+ const IBizAppMenuListViewControl = withInstall(
8
+ AppMenuListViewControl,
9
+ function(v) {
10
+ v.component(AppMenuListViewControl.name, AppMenuListViewControl);
11
+ registerControlProvider(
12
+ `${ControlType.APP_MENU}_LISTVIEW`,
13
+ () => new AppMenuListViewProvider()
14
+ );
15
+ }
16
+ );
17
+
18
+ export { IBizAppMenuListViewControl, IBizAppMenuListViewControl as default };
@@ -1,7 +1,6 @@
1
1
  import { resolveComponent, createVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import { MenuPortletController } from '@ibiz-template/runtime';
4
- import { IBizAppMenuControl } from '../../../app-menu/index.mjs';
5
4
 
6
5
  "use strict";
7
6
  const MenuPortlet = /* @__PURE__ */ defineComponent({
@@ -37,7 +36,7 @@ const MenuPortlet = /* @__PURE__ */ defineComponent({
37
36
  "controller": this.controller,
38
37
  "class": classArr
39
38
  }, {
40
- default: () => [this.menu && createVNode(IBizAppMenuControl, {
39
+ default: () => [this.menu && createVNode(resolveComponent("iBizControlShell"), {
41
40
  "modelData": this.menu,
42
41
  "context": context,
43
42
  "params": params
@@ -1 +1 @@
1
- .ibiz-form-button{--ibiz-form-button-icon-margin:var(--ibiz-spacing-extra-tight);--ibiz-form-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-form-button-icon-max-height:var(--ibiz-width-icon-medium);width:100%;height:100%;padding:var(--ibiz-spacing-tight);overflow:hidden}.ibiz-form-button .van-button{width:100%;height:100%}.ibiz-form-button .van-button .ibiz-form-button-content{display:flex;align-items:center;justify-content:flex-start}.ibiz-form-button .van-button .ibiz-form-button-content i,.ibiz-form-button .van-button .ibiz-form-button-content img{display:inline-block;max-width:var(--ibiz-form-button-icon-max-width);max-height:var(--ibiz-form-button-icon-max-height)}.ibiz-form-button .van-button .ibiz-form-button-content .ibiz-icon+.ibiz-form-button-content--caption{margin-left:var(--ibiz-form-button-icon-margin)}.ibiz-form-button.is-loading .van-button .ibiz-icon{display:none}
1
+ .ibiz-form-button{--ibiz-form-button-icon-margin:var(--ibiz-spacing-extra-tight);--ibiz-form-button-icon-max-width:var(--ibiz-width-icon-medium);--ibiz-form-button-icon-max-height:var(--ibiz-width-icon-medium);width:100%;height:100%;padding:var(--ibiz-spacing-tight);overflow:hidden}.ibiz-form-button .van-button{width:100%}.ibiz-form-button .van-button .ibiz-form-button-content{display:flex;align-items:center;justify-content:flex-start}.ibiz-form-button .van-button .ibiz-form-button-content i,.ibiz-form-button .van-button .ibiz-form-button-content img{display:inline-block;max-width:var(--ibiz-form-button-icon-max-width);max-height:var(--ibiz-form-button-icon-max-height)}.ibiz-form-button .van-button .ibiz-form-button-content .ibiz-icon+.ibiz-form-button-content--caption{margin-left:var(--ibiz-form-button-icon-margin)}.ibiz-form-button.is-loading .van-button .ibiz-icon{display:none}
@@ -47,7 +47,8 @@ const FormButton = /* @__PURE__ */ defineComponent({
47
47
  }, [createVNode(resolveComponent("van-button"), {
48
48
  "onClick": this.controller.onClick.bind(this.controller),
49
49
  "loading": this.controller.state.loading,
50
- "disabled": this.controller.state.disabled
50
+ "disabled": this.controller.state.disabled,
51
+ "size": "small"
51
52
  }, {
52
53
  default: () => [createVNode("div", {
53
54
  "class": this.ns.b("content")
@@ -1 +1 @@
1
- .ibiz-form-item-container{--ibiz-form-item-container-label-width:8.125rem;--ibiz-form-item-container-line-height:var(--ibiz-form-item-line-height);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-left-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-bg-color:var(--ibiz-color-bg-1);--ibiz-form-item-container-label-font-size:var(--ibiz-font-size-header-6);--ibiz-form-item-container-label-text-color:var(--ibiz-color-text-0);--ibiz-form-item-container-container-error-padding:0 var(--ibiz-spacing-base);--ibiz-form-item-container-border:0.0625rem var(--ibiz-color-border) solid;--ibiz-form-item-container-editor-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-form-item-label-line-height:1;--ibiz-form-item-label-font-size:var(--ibiz-font-size-header-5);--ibiz-form-item-label-text-color:var(--ibiz-color-text-0);position:relative;width:100%;height:100%;padding:var(--ibiz-form-item-container-container-padding);font-size:var(--ibiz-form-item-font-size);background-color:var(--ibiz-form-item-container-bg-color);border-width:calc(100% - var(--ibiz-spacing-base) * 2);border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item-container::after{position:absolute;z-index:1;width:calc(100% - var(--ibiz-spacing-base) * 2);height:.00625rem;content:"";background-color:var(--ibiz-color-border)}.ibiz-form-item-container__label{position:relative;flex-shrink:0;width:var(--ibiz-form-item-container-label-width);overflow:visible;color:var(--ibiz-form-item-label-text-color)}.ibiz-form-item-container__label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:100%;font-size:var(--ibiz-form-item-container-label-font-size);text-align:var(--ibiz-form-item-container-label-align)}.ibiz-form-item-container__editor{width:100%;text-align:var(--ibiz-form-item-container-editor-align)}.ibiz-form-item-container__editor .van-cell{padding-bottom:0}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{position:absolute;top:.1875rem;left:-.625rem;display:inline-block;height:100%;font-size:.875rem;color:var(--ibiz-form-item-error-color);content:"*"}.ibiz-form-item-container.is-error::after{background-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container.is-error .ibiz-form-item-container-content{border-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container--left::after{bottom:0}.ibiz-form-item-container--right.is-required .ibiz-form-item-container__label::before{right:-.625rem;left:auto}.ibiz-form-item-container--right .ibiz-form-item-container__editor{position:relative;width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--left .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--top .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container--bottom .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container-content{position:relative}.ibiz-form-item-container--left .ibiz-form-item-container-content,.ibiz-form-item-container--right .ibiz-form-item-container-content{height:100%;display:flex;align-items:center;justify-content:center}.ibiz-form-item-container-error{position:absolute;bottom:0;width:calc(100% - var(--ibiz-spacing-base));padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-form-item-error-font-size);line-height:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-error-color);text-align:var(--ibiz-form-item-container-editor-align)}
1
+ .ibiz-form-item-container{--ibiz-form-item-container-label-width:8.125rem;--ibiz-form-item-container-line-height:var(--ibiz-form-item-line-height);--ibiz-form-item-container-require-mark-color:var(--ibiz-color-danger);--ibiz-form-item-container-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-left-container-padding:var(--ibiz-spacing-base);--ibiz-form-item-container-error-margin-top:var(--ibiz-spacing-extra-tight);--ibiz-form-item-container-bg-color:var(--ibiz-color-bg-1);--ibiz-form-item-container-label-font-size:var(--ibiz-font-size-header-6);--ibiz-form-item-container-label-text-color:var(--ibiz-color-text-0);--ibiz-form-item-container-container-error-padding:0 var(--ibiz-spacing-base);--ibiz-form-item-container-border:0.0625rem var(--ibiz-color-border) solid;--ibiz-form-item-container-editor-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-none) var(--ibiz-spacing-tight) var(--ibiz-spacing-none);--ibiz-form-item-label-line-height:1;--ibiz-form-item-label-font-size:var(--ibiz-font-size-header-5);--ibiz-form-item-label-text-color:var(--ibiz-color-text-0);position:relative;width:100%;height:100%;padding:var(--ibiz-form-item-container-container-padding);font-size:var(--ibiz-form-item-font-size);background-color:var(--ibiz-form-item-container-bg-color);border-width:calc(100% - var(--ibiz-spacing-base) * 2);border-radius:var(--ibiz-border-radius-small)}.ibiz-form-item-container::after{position:absolute;z-index:1;width:calc(100% - var(--ibiz-spacing-base) * 2);height:.0625rem;content:"";background-color:var(--ibiz-color-border);transform:scaleY(.5)}.ibiz-form-item-container__label{position:relative;flex-shrink:0;width:var(--ibiz-form-item-container-label-width);overflow:visible;color:var(--ibiz-form-item-label-text-color)}.ibiz-form-item-container__label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;width:100%;font-size:var(--ibiz-form-item-container-label-font-size);text-align:var(--ibiz-form-item-container-label-align)}.ibiz-form-item-container__editor{width:100%;text-align:var(--ibiz-form-item-container-editor-align)}.ibiz-form-item-container__editor .van-cell{padding-bottom:0}.ibiz-form-item-container.is-required .ibiz-form-item-container__label::before{position:absolute;top:.1875rem;left:-.625rem;display:inline-block;height:100%;font-size:.875rem;color:var(--ibiz-form-item-error-color);content:"*"}.ibiz-form-item-container.is-error::after{background-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container.is-error .ibiz-form-item-container-content{border-color:var(--ibiz-form-item-error-color)}.ibiz-form-item-container--left::after{bottom:0}.ibiz-form-item-container--right.is-required .ibiz-form-item-container__label::before{right:-.625rem;left:auto}.ibiz-form-item-container--right .ibiz-form-item-container__editor{position:relative;width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--left .ibiz-form-item-container__editor{width:calc(100% - var(--ibiz-form-item-container-label-width))}.ibiz-form-item-container--top .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container--bottom .ibiz-form-item-container__editor{padding:var(--ibiz-form-item-container-editor-padding)}.ibiz-form-item-container-content{position:relative}.ibiz-form-item-container--left .ibiz-form-item-container-content,.ibiz-form-item-container--right .ibiz-form-item-container-content{height:100%;display:flex;align-items:center;justify-content:center}.ibiz-form-item-container-error{position:absolute;bottom:0;width:calc(100% - var(--ibiz-spacing-base));padding-right:var(--ibiz-spacing-base);font-size:var(--ibiz-form-item-error-font-size);line-height:var(--ibiz-form-item-font-size);color:var(--ibiz-form-item-error-color);text-align:var(--ibiz-form-item-container-editor-align)}
@@ -44,6 +44,7 @@ const FormMDCtrlForm = /* @__PURE__ */ defineComponent({
44
44
  return createVNode(resolveComponent("iBizMDCtrlContainer"), {
45
45
  "class": this.ns.b(),
46
46
  "items": state.items || [],
47
+ "caption": this.controller.model.caption,
47
48
  "enableCreate": this.controller.enableCreate,
48
49
  "enableDelete": this.controller.enableDelete,
49
50
  "onAddClick": (index) => this.controller.create(index),
@@ -26,7 +26,7 @@ const RepeaterMultiForm = /* @__PURE__ */ defineComponent({
26
26
  };
27
27
  const removeClick = async (index) => {
28
28
  const confirm = await ibiz.modal.confirm({
29
- title: "\u786E\u8BA4",
29
+ title: "\u5220\u9664\u63D0\u9192",
30
30
  desc: "\u662F\u5426\u5220\u9664\u9009\u4E2D\u9879?"
31
31
  });
32
32
  if (confirm) {
@@ -44,6 +44,7 @@ const RepeaterMultiForm = /* @__PURE__ */ defineComponent({
44
44
  return createVNode(resolveComponent("iBizMDCtrlContainer"), {
45
45
  "class": this.ns.b(),
46
46
  "items": items,
47
+ "caption": this.controller.model.caption,
47
48
  "enableCreate": this.controller.enableCreate,
48
49
  "enableDelete": this.controller.enableDelete,
49
50
  "onAddClick": (index) => this.controller.create(index),
@@ -1 +1 @@
1
- .ibiz-form-mdctrl{--ibiz-form-mdctrl-header-height:32px;--ibiz-form-mdctrl-header-bg-color:var(--ibiz-color-bg-1);--ibiz-form-mdctrl-header-padding:var(--ibiz-spacing-base);--ibiz-form-mdctrl-header-border-color:var(--ibiz-color-border);--ibiz-form-mdctrl-caption-text-color:var(--ibiz-color-text-0);--ibiz-form-mdctrl-caption-font-size:var(--ibiz-font-size-header-6);--ibiz-form-mdctrl-caption-font-weight:var(--ibiz-font-weight-bold);height:100%}.ibiz-form-mdctrl__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--ibiz-form-mdctrl-caption-font-size);font-weight:var(--ibiz-form-mdctrl-caption-font-weight);color:var(--ibiz-form-mdctrl-caption-text-color)}.ibiz-form-mdctrl-header{padding:var(--ibiz-form-mdctrl-header-padding);line-height:var(--ibiz-form-mdctrl-header-height)}
1
+ .ibiz-form-mdctrl{--ibiz-form-mdctrl-header-height:32px;--ibiz-form-mdctrl-header-bg-color:var(--ibiz-color-bg-1);--ibiz-form-mdctrl-header-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-form-mdctrl-header-border-color:var(--ibiz-color-border);--ibiz-form-mdctrl-caption-text-color:var(--ibiz-color-text-2);--ibiz-form-mdctrl-caption-font-size:var(--ibiz-font-size-header-6);--ibiz-form-mdctrl-caption-font-weight:var(--ibiz-font-weight-regular);--ibiz-form-mdctrl-caption-height:2rem;--ibiz-form-mdctrl-caption-line-height:2rem;height:100%}.ibiz-form-mdctrl__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:var(--ibiz-form-mdctrl-caption-height);font-size:var(--ibiz-form-mdctrl-caption-font-size);font-weight:var(--ibiz-form-mdctrl-caption-font-weight);line-height:var(--ibiz-form-mdctrl-caption-line-height);color:var(--ibiz-form-mdctrl-caption-text-color)}.ibiz-form-mdctrl--has-value .ibiz-form-mdctrl-header{display:none}.ibiz-form-mdctrl-header{display:flex;padding:var(--ibiz-form-mdctrl-header-padding)}
@@ -15,6 +15,7 @@ export declare const FormMDCtrl: import("vue").DefineComponent<{
15
15
  c: FormMDCtrlController;
16
16
  ns: import("@ibiz-template/core").Namespace;
17
17
  hasCaption: boolean | undefined;
18
+ hasValue: import("vue").ComputedRef<boolean | undefined>;
18
19
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
19
20
  modelData: {
20
21
  type: PropType<IDEFormMDCtrl>;
@@ -1,4 +1,4 @@
1
- import { createTextVNode, createVNode, resolveComponent, defineComponent } from 'vue';
1
+ import { computed, createTextVNode, createVNode, resolveComponent, defineComponent } from 'vue';
2
2
  import { useNamespace, useController } from '@ibiz-template/vue3-util';
3
3
  import { FormMDCtrlController } from '@ibiz-template/runtime';
4
4
  import './form-mdctrl.css';
@@ -21,10 +21,14 @@ const FormMDCtrl = /* @__PURE__ */ defineComponent({
21
21
  useController(props.controller);
22
22
  const c = props.controller;
23
23
  const hasCaption = c.model.showCaption && !!c.model.caption;
24
+ const hasValue = computed(() => {
25
+ return c.value && c.value.length > 0 || c.state.items && c.state.items.length > 0;
26
+ });
24
27
  return {
25
28
  c,
26
29
  ns,
27
- hasCaption
30
+ hasCaption,
31
+ hasValue
28
32
  };
29
33
  },
30
34
  render() {
@@ -55,7 +59,7 @@ const FormMDCtrl = /* @__PURE__ */ defineComponent({
55
59
  break;
56
60
  }
57
61
  return createVNode("div", {
58
- "class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass, this.hasCaption ? this.ns.m("show-caption") : ""]
62
+ "class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass, this.hasCaption ? this.ns.m("show-caption") : "", this.hasValue ? this.ns.m("has-value") : ""]
59
63
  }, [this.hasCaption && createVNode("div", {
60
64
  "class": this.ns.b("header")
61
65
  }, [createVNode("span", {
@@ -1,3 +1,9 @@
1
+ import FormMDCtrl from './form-mdctrl';
2
+ import { FormMDCtrlForm } from './form-mdctrl-form/form-mdctrl-form';
3
+ import { FormMDCtrlMD } from './form-mdctrl-md/form-mdctrl-md';
4
+ import { FormMDCtrlRepeater } from './form-mdctrl-repeater/form-mdctrl-repeater';
5
+ import { FormMDCtrlProvider } from './form-mdctrl.provider';
6
+ import { MDCtrlContainer } from './mdctrl-container/mdctrl-container';
1
7
  export declare const IBizFormMDCtrl: import("@ibiz-template/vue3-util").TypeWithInstall<import("vue").DefineComponent<{
2
8
  modelData: {
3
9
  type: import("vue").PropType<import("@ibiz/model-core").IDEFormMDCtrl>;
@@ -11,6 +17,7 @@ export declare const IBizFormMDCtrl: import("@ibiz-template/vue3-util").TypeWith
11
17
  c: import("@ibiz-template/runtime").FormMDCtrlController;
12
18
  ns: import("@ibiz-template/core").Namespace;
13
19
  hasCaption: boolean | undefined;
20
+ hasValue: import("vue").ComputedRef<boolean | undefined>;
14
21
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
15
22
  modelData: {
16
23
  type: import("vue").PropType<import("@ibiz/model-core").IDEFormMDCtrl>;
@@ -22,3 +29,4 @@ export declare const IBizFormMDCtrl: import("@ibiz-template/vue3-util").TypeWith
22
29
  };
23
30
  }>>, {}, {}>>;
24
31
  export default IBizFormMDCtrl;
32
+ export { MDCtrlContainer, FormMDCtrlProvider, FormMDCtrlRepeater, FormMDCtrlMD, FormMDCtrlForm, FormMDCtrl, };
@@ -17,4 +17,4 @@ const IBizFormMDCtrl = withInstall(FormMDCtrl, function(v) {
17
17
  registerFormDetailProvider("MDCTRL", () => new FormMDCtrlProvider());
18
18
  });
19
19
 
20
- export { IBizFormMDCtrl, IBizFormMDCtrl as default };
20
+ export { FormMDCtrl, FormMDCtrlForm, FormMDCtrlMD, FormMDCtrlProvider, FormMDCtrlRepeater, IBizFormMDCtrl, MDCtrlContainer, IBizFormMDCtrl as default };
@@ -1 +1 @@
1
- .ibiz-mdctrl-container{display:flex;flex-direction:column;padding:var(--ibiz-spacing-tight) 0;background-color:var(--ibiz-color-bg-1)}.ibiz-mdctrl-container-item{margin:0 var(--ibiz-spacing-tight);margin-top:var(--ibiz-spacing-tight);overflow:hidden;border:solid 1px var(--ibiz-color-border);border-radius:var(--ibiz-border-radius-medium)}.ibiz-mdctrl-container-item__form{flex-grow:1}.ibiz-mdctrl-container-item-actions{display:flex;flex-shrink:0;width:100%;padding:10px 0;text-align:center}.ibiz-mdctrl-container-item-actions .van-button+.van-button{margin-left:0}.ibiz-mdctrl-container-item-actions__btn{width:calc(100% - var(--ibiz-spacing-base) * 2);margin:0 var(--ibiz-spacing-base)}.ibiz-mdctrl-container-no-data{width:100%;display:flex;justify-content:flex-end}
1
+ .ibiz-mdctrl-container{--ibiz-mdctrl-container-header-bg-color:transparent;--ibiz-mdctrl-container-header-padding:var(--ibiz-spacing-tight) var(--ibiz-spacing-base);--ibiz-mdctrl-container-header-border-color:var(--ibiz-color-border);--ibiz-mdctrl-container-caption-text-color:var(--ibiz-color-text-2);--ibiz-mdctrl-container-caption-font-size:var(--ibiz-font-size-header-6);--ibiz-mdctrl-container-caption-font-weight:var(--ibiz-font-weight-regular);--ibiz-mdctrl-container-caption-height:1.25rem;--ibiz-mdctrl-container-caption-line-height:1.25rem;--ibiz-mdctrl-container-button-text-color:var(--ibiz-color-info);--ibiz-mdctrl-container-button-font-size:var(--ibiz-font-size-header-6);--ibiz-mdctrl-container-button-font-weight:var(--ibiz-font-weight-regular);display:flex;flex-direction:column}.ibiz-mdctrl-container__btn{width:auto;padding:0;margin-left:10px;font-size:var(--ibiz-mdctrl-container-button-font-size);color:var(--ibiz-mdctrl-container-button-text-color);background-color:transparent;border:none}.ibiz-mdctrl-container__btn:active{background-color:transparent}.ibiz-mdctrl-container__btn:active::before{opacity:0}.ibiz-mdctrl-container-item{overflow:hidden}.ibiz-mdctrl-container-item__form{flex-grow:1}.ibiz-mdctrl-container-item .ibiz-mdctrl-container-item-header{display:flex;align-items:center;justify-content:flex-end;padding:var(--ibiz-mdctrl-container-header-padding);background-color:var(--ibiz-mdctrl-container-header-bg-color)}.ibiz-mdctrl-container-item-header__caption{flex-grow:1;height:var(--ibiz-mdctrl-container-caption-height);font-size:var(--ibiz-mdctrl-container-caption-font-size);font-weight:var(--ibiz-mdctrl-container-caption-font-weight);line-height:var(--ibiz-mdctrl-container-caption-line-height);color:var(--ibiz-mdctrl-container-caption-text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ibiz-mdctrl-container-item-header__action{--van-button-small-height:1.25rem;display:flex;flex-grow:1;flex-shrink:0;justify-content:flex-end;height:1.25rem;line-height:1.25rem;text-align:right}.ibiz-mdctrl-container-item .ibiz-mdctrl-container-item-content{background-color:var(--ibiz-color-bg-1)}.ibiz-mdctrl-container-item .ibiz-form-page-item{--ibiz-form-page-item-gap:0}.ibiz-mdctrl-container-no-data{width:100%;display:flex;justify-content:flex-end}.ibiz-mdctrl-container-footer{color:red}.ibiz-mdctrl-container-footer .ibiz-mdctrl-container__btn{width:100%;padding:0;margin-left:0;font-size:var(--ibiz-font-size-header-5);color:var(--ibiz-mdctrl-container-button-text-color);background-color:var(--ibiz-color-bg-1);border:none}.ibiz-mdctrl-container-footer .ibiz-mdctrl-container__btn:active{background-color:transparent}.ibiz-mdctrl-container-footer .ibiz-mdctrl-container__btn:active::before{opacity:.1}.ibiz-mdctrl-container-footer .ibiz-mdctrl-container__btn .van-icon{margin-right:var(--ibiz-spacing-extra-tight)}
@@ -13,12 +13,16 @@ export declare const MDCtrlContainer: import("vue").DefineComponent<{
13
13
  type: PropType<IData[]>;
14
14
  required: true;
15
15
  };
16
+ caption: {
17
+ type: StringConstructor;
18
+ required: false;
19
+ };
16
20
  }, {
17
21
  ns: import("@ibiz-template/core").Namespace;
18
22
  showActions: import("vue").ComputedRef<boolean>;
19
- renderAddBtn: (index?: number) => JSX.Element | null;
23
+ renderAddBtn: (index?: number, showButton?: boolean) => JSX.Element | null;
20
24
  renderRemoveBtn: (item: IData, index: number) => JSX.Element | null;
21
- renderBottomBtn: (item: IData, index: number) => (JSX.Element | null)[];
25
+ renderActionBtn: (item: IData, index: number) => (JSX.Element | null)[];
22
26
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
23
27
  addClick: (_index?: number) => true;
24
28
  removeClick: (_data: IData, _index: number) => true;
@@ -35,6 +39,10 @@ export declare const MDCtrlContainer: import("vue").DefineComponent<{
35
39
  type: PropType<IData[]>;
36
40
  required: true;
37
41
  };
42
+ caption: {
43
+ type: StringConstructor;
44
+ required: false;
45
+ };
38
46
  }>> & {
39
47
  onRemoveClick?: ((_data: IData, _index: number) => any) | undefined;
40
48
  onAddClick?: ((_index?: number | undefined) => any) | undefined;
@@ -1,4 +1,4 @@
1
- import { computed, resolveComponent, createTextVNode, createVNode, defineComponent } from 'vue';
1
+ import { computed, resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
2
2
  import { useNamespace } from '@ibiz-template/vue3-util';
3
3
  import './mdctrl-container.css';
4
4
 
@@ -17,6 +17,10 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
17
17
  items: {
18
18
  type: Object,
19
19
  required: true
20
+ },
21
+ caption: {
22
+ type: String,
23
+ required: false
20
24
  }
21
25
  },
22
26
  emits: {
@@ -30,17 +34,18 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
30
34
  const showActions = computed(() => {
31
35
  return props.enableCreate || props.enableDelete;
32
36
  });
33
- const renderAddBtn = (index) => {
37
+ const renderAddBtn = (index, showButton = true) => {
34
38
  if (!props.enableCreate) {
35
39
  return null;
36
40
  }
37
41
  return createVNode(resolveComponent("van-button"), {
38
- "class": [ns.be("item-actions", "create"), ns.be("item-actions", "btn")],
42
+ "class": [ns.e("create"), ns.e("btn")],
39
43
  "size": "small",
40
- "onClick": () => emit("addClick", index === void 0 ? void 0 : index + 1),
41
- "type": "primary"
44
+ "onClick": () => emit("addClick", index === void 0 ? void 0 : index + 1)
42
45
  }, {
43
- default: () => [createTextVNode("\u6DFB\u52A0")]
46
+ default: () => [showButton && createVNode(resolveComponent("van-icon"), {
47
+ "name": "plus"
48
+ }, null), createTextVNode("\u6DFB\u52A0")]
44
49
  });
45
50
  };
46
51
  const renderRemoveBtn = (item, index) => {
@@ -49,9 +54,8 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
49
54
  }
50
55
  if (ibiz.config.form.mdCtrlConfirmBeforeRemove) {
51
56
  return createVNode(resolveComponent("van-button"), {
52
- "class": [ns.be("item-actions", "remove"), ns.be("item-actions", "btn")],
57
+ "class": [ns.e("remove"), ns.e("btn")],
53
58
  "size": "small",
54
- "type": "danger",
55
59
  "onClick": () => {
56
60
  emit("removeClick", item, index);
57
61
  }
@@ -60,7 +64,7 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
60
64
  });
61
65
  }
62
66
  return createVNode(resolveComponent("van-button"), {
63
- "class": [ns.be("item-actions", "remove"), ns.be("item-actions", "btn")],
67
+ "class": [ns.e("remove"), ns.e("btn")],
64
68
  "type": "danger",
65
69
  "size": "small",
66
70
  "onClick": () => {
@@ -70,21 +74,21 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
70
74
  default: () => [createTextVNode("\u5220\u9664")]
71
75
  });
72
76
  };
73
- const renderBottomBtn = (item, index) => {
74
- return [renderAddBtn(index), renderRemoveBtn(item, index)];
77
+ const renderActionBtn = (item, index) => {
78
+ return [renderAddBtn(index, false), renderRemoveBtn(item, index)];
75
79
  };
76
80
  return {
77
81
  ns,
78
82
  showActions,
79
83
  renderAddBtn,
80
84
  renderRemoveBtn,
81
- renderBottomBtn
85
+ renderActionBtn
82
86
  };
83
87
  },
84
88
  render() {
85
89
  return createVNode("div", {
86
90
  "class": this.ns.b()
87
- }, [this.enableCreate && this.renderAddBtn(), this.items.map((item, index) => {
91
+ }, [this.items.map((item, index) => {
88
92
  const formComponent = this.$slots.item ? this.$slots.item({
89
93
  data: item,
90
94
  index
@@ -92,10 +96,18 @@ const MDCtrlContainer = /* @__PURE__ */ defineComponent({
92
96
  return createVNode("div", {
93
97
  "class": this.ns.b("item"),
94
98
  "key": item.id
95
- }, [formComponent, this.showActions && createVNode("div", {
96
- "class": this.ns.b("item-actions")
97
- }, [this.renderBottomBtn(item, index)])]);
98
- })]);
99
+ }, [createVNode("div", {
100
+ "class": this.ns.b("item-header")
101
+ }, [createVNode("div", {
102
+ "class": this.ns.be("item-header", "caption")
103
+ }, [this.caption || ""]), createVNode("div", {
104
+ "class": this.ns.be("item-header", "action")
105
+ }, [this.renderActionBtn(item, index)])]), createVNode("div", {
106
+ "class": this.ns.b("item-content")
107
+ }, [formComponent])]);
108
+ }), this.enableCreate && createVNode("div", {
109
+ "class": this.ns.b("footer")
110
+ }, [this.renderAddBtn()])]);
99
111
  }
100
112
  });
101
113
 
@@ -1 +1 @@
1
- .ibiz-form-page-item{--ibiz-form-page-item-gap:var(--ibiz-spacing-tight);--ibiz-form-page-item-margin:0;gap:var(--ibiz-form-page-item-gap);margin:var(--ibiz-form-page-item-margin);border-radius:var(--ibiz-border-radius-small)}
1
+ .ibiz-form-page-item{--ibiz-form-page-item-margin:0 0 var(--ibiz-spacing-tight) 0;border-radius:var(--ibiz-border-radius-small)}.ibiz-form-page-item>.van-col{margin:var(--ibiz-form-page-item-margin)}
@@ -39,7 +39,7 @@ const IBizFormPageItem = /* @__PURE__ */ defineComponent({
39
39
  }
40
40
  });
41
41
  return createVNode(resolveComponent("iBizRow"), {
42
- "class": [this.ns.b(), this.ns.m(this.modelData.id)],
42
+ "class": [this.ns.b(), this.ns.m(this.modelData.id), ...this.controller.containerClass],
43
43
  "layout": this.modelData.layout
44
44
  }, _isSlot(_slot = defaultSlots.map((slot) => {
45
45
  const props = slot.props;
@@ -31,7 +31,7 @@ const FormTabPage = /* @__PURE__ */ defineComponent({
31
31
  let _slot;
32
32
  const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
33
33
  return createVNode(resolveComponent("iBizRow"), {
34
- "class": [this.ns.b(), this.ns.m(this.modelData.codeName)],
34
+ "class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass],
35
35
  "layout": this.modelData.layout
36
36
  }, _isSlot(_slot = defaultSlots.map((slot) => {
37
37
  const props = slot.props;
@@ -1 +1 @@
1
- .ibiz-form-tab-panel{width:100%;height:100%}
1
+ .ibiz-form-tab-panel{width:100%;height:100%;overflow:auto}.ibiz-form-tab-panel__caption{display:flex;align-items:center;justify-content:center}
@@ -30,8 +30,8 @@ const FormTabPanel = /* @__PURE__ */ defineComponent({
30
30
  var _a, _b, _c;
31
31
  let _slot;
32
32
  const defaultSlots = ((_b = (_a = this.$slots).default) == null ? void 0 : _b.call(_a)) || [];
33
- return createVNode(resolveComponent("el-tabs"), {
34
- "class": [(this.ns.b(), this.ns.m(this.modelData.codeName))],
33
+ return createVNode(resolveComponent("van-tabs"), {
34
+ "class": [this.ns.b(), this.ns.m(this.modelData.codeName), ...this.controller.containerClass],
35
35
  "model-value": (_c = this.modelData.deformTabPages) == null ? void 0 : _c[0].id
36
36
  }, _isSlot(_slot = defaultSlots.map((slot) => {
37
37
  const props = slot.props;
@@ -42,13 +42,21 @@ const FormTabPanel = /* @__PURE__ */ defineComponent({
42
42
  if (!c.state.visible && !c.state.keepAlive) {
43
43
  return null;
44
44
  }
45
- return createVNode(resolveComponent("el-tab-pane"), {
45
+ return createVNode(resolveComponent("van-tab"), {
46
46
  "class": this.ns.b("tab-item"),
47
- "label": c.model.caption,
47
+ "title": c.model.caption,
48
48
  "name": c.model.id,
49
+ "title-class": c.labelClass,
49
50
  "lazy": true
50
- }, _isSlot(slot) ? slot : {
51
- default: () => [slot]
51
+ }, {
52
+ default: () => slot,
53
+ title: () => {
54
+ return createVNode("span", {
55
+ "class": this.ns.e("caption")
56
+ }, [c.model.sysImage && createVNode(resolveComponent("iBizIcon"), {
57
+ "icon": c.model.sysImage
58
+ }, null), c.model.showCaption && c.model.caption]);
59
+ }
52
60
  });
53
61
  })) ? _slot : {
54
62
  default: () => [_slot]
@@ -17,5 +17,11 @@ export { FormDRUIPartProvider } from './form-druipart/form-druipart.provider.mjs
17
17
  export { FormRawItemProvider } from './form-rawitem/form-rawitem.provider.mjs';
18
18
  export { FormTabPanelProvider } from './form-tab-panel/form-tab-panel.provider.mjs';
19
19
  export { FormTabPageProvider } from './form-tab-page/form-tab-page.provider.mjs';
20
+ export { MDCtrlContainer } from './form-mdctrl/mdctrl-container/mdctrl-container.mjs';
21
+ export { FormMDCtrlProvider } from './form-mdctrl/form-mdctrl.provider.mjs';
22
+ export { FormMDCtrlRepeater } from './form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.mjs';
23
+ export { FormMDCtrlMD } from './form-mdctrl/form-mdctrl-md/form-mdctrl-md.mjs';
24
+ export { FormMDCtrlForm } from './form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs';
25
+ export { FormMDCtrl } from './form-mdctrl/form-mdctrl.mjs';
20
26
 
21
27
  "use strict";
@@ -22,5 +22,11 @@ export { IBizFormTabPanel } from './form-detail/form-tab-panel/index.mjs';
22
22
  export { FormTabPageProvider } from './form-detail/form-tab-page/form-tab-page.provider.mjs';
23
23
  export { IBizFormTabPage } from './form-detail/form-tab-page/index.mjs';
24
24
  export { IBizFormMDCtrl } from './form-detail/form-mdctrl/index.mjs';
25
+ export { MDCtrlContainer } from './form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs';
26
+ export { FormMDCtrlProvider } from './form-detail/form-mdctrl/form-mdctrl.provider.mjs';
27
+ export { FormMDCtrlRepeater } from './form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.mjs';
28
+ export { FormMDCtrlMD } from './form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.mjs';
29
+ export { FormMDCtrlForm } from './form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs';
30
+ export { FormMDCtrl } from './form-detail/form-mdctrl/form-mdctrl.mjs';
25
31
 
26
32
  "use strict";
@@ -1,5 +1,7 @@
1
1
  export * from './list/md-ctrl';
2
2
  export * from './app-menu';
3
+ export * from './app-menu-icon-view';
4
+ export * from './app-menu-list-view';
3
5
  export * from './form';
4
6
  export * from './pickup-view-panel';
5
7
  export * from './list/list';
@@ -1,5 +1,7 @@
1
1
  export { IBizMDCtrlControl } from './list/md-ctrl/index.mjs';
2
2
  export { IBizAppMenuControl } from './app-menu/index.mjs';
3
+ export { IBizAppMenuIconViewControl } from './app-menu-icon-view/index.mjs';
4
+ export { IBizAppMenuListViewControl } from './app-menu-list-view/index.mjs';
3
5
  import './form/index.mjs';
4
6
  export { IBizPickupViewPanelControl } from './pickup-view-panel/index.mjs';
5
7
  export { IBizListControl } from './list/list/index.mjs';
@@ -37,6 +39,12 @@ export { IBizFormTabPanel } from './form/form-detail/form-tab-panel/index.mjs';
37
39
  export { FormTabPageProvider } from './form/form-detail/form-tab-page/form-tab-page.provider.mjs';
38
40
  export { IBizFormTabPage } from './form/form-detail/form-tab-page/index.mjs';
39
41
  export { IBizFormMDCtrl } from './form/form-detail/form-mdctrl/index.mjs';
42
+ export { MDCtrlContainer } from './form/form-detail/form-mdctrl/mdctrl-container/mdctrl-container.mjs';
43
+ export { FormMDCtrlProvider } from './form/form-detail/form-mdctrl/form-mdctrl.provider.mjs';
44
+ export { FormMDCtrlRepeater } from './form/form-detail/form-mdctrl/form-mdctrl-repeater/form-mdctrl-repeater.mjs';
45
+ export { FormMDCtrlMD } from './form/form-detail/form-mdctrl/form-mdctrl-md/form-mdctrl-md.mjs';
46
+ export { FormMDCtrlForm } from './form/form-detail/form-mdctrl/form-mdctrl-form/form-mdctrl-form.mjs';
47
+ export { FormMDCtrl } from './form/form-detail/form-mdctrl/form-mdctrl.mjs';
40
48
  export { IBizEditFormControl } from './form/edit-form/index.mjs';
41
49
  export { IBizFormControl } from './form/form/index.mjs';
42
50
  export { PickupViewPanelProvider } from './pickup-view-panel/pickup-view-panel.provider.mjs';
@@ -1 +1 @@
1
- .ibiz-cascader{height:100%}.ibiz-cascader .van-cell--clickable:active{background-color:transparent}.ibiz-cascader--disabled{color:var(--ibiz-form-item-disabled-color);--van-field-input-text-color:var(--ibiz-form-item-disabled-color)}.ibiz-cascader--readonly{--van-field-input-text-color:var(--ibiz-form-item-readonly-color);color:var(--ibiz-form-item-readonly-color)}
1
+ .ibiz-cascader{height:100%}.ibiz-cascader .van-field{font-size:var(--ibiz-form-item-font-size)}.ibiz-cascader .van-field::after{display:none}.ibiz-cascader .van-cell--clickable:active{background-color:transparent}.ibiz-cascader--disabled{color:var(--ibiz-form-item-disabled-color);--van-field-input-text-color:var(--ibiz-form-item-disabled-color)}.ibiz-cascader--readonly{--van-field-input-text-color:var(--ibiz-form-item-readonly-color);color:var(--ibiz-form-item-readonly-color)}
@@ -68,8 +68,8 @@ export declare const IBizCascader: import("vue").DefineComponent<{
68
68
  onFocus?: ((_event?: IData | undefined) => any) | undefined;
69
69
  onBlur?: ((_event?: IData | undefined) => any) | undefined;
70
70
  onChange?: ((_value: unknown, _name?: string | undefined) => any) | undefined;
71
- onEnter?: ((_event?: IData | undefined) => any) | undefined;
72
71
  onInfoTextChange?: ((_text: string) => any) | undefined;
72
+ onEnter?: ((_event?: IData | undefined) => any) | undefined;
73
73
  }, {
74
74
  disabled: boolean;
75
75
  readonly: boolean;