@kp-ui/lowcode-pc-v2 0.0.5 → 0.0.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 (38) hide show
  1. package/assets/styles/style.css +72 -28
  2. package/core/src/components/common/render/RenderWidgetList.vue_vue_type_script_setup_true_lang.js +6 -4
  3. package/core/src/components/common/render/usePageContext.js +11 -8
  4. package/core/src/hooks/useAppRef.js +5 -3
  5. package/core/src/hooks/useField.js +0 -4
  6. package/core/src/hooks/useFieldRules.js +36 -9
  7. package/core/src/hooks/useLowcode.js +17 -17
  8. package/core/src/hooks/useRemoteData.js +4 -3
  9. package/core/src/hooks/useSelect.js +4 -13
  10. package/core/src/lang/en-US.js +22 -0
  11. package/core/src/lang/zh-CN.js +23 -1
  12. package/core/src/utils/smart-vue-i18n/index.js +6 -6
  13. package/install.js +2 -3
  14. package/package.json +1 -1
  15. package/src/components/public/ConfigView/CustomPageRender.vue_vue_type_script_setup_true_lang.js +10 -17
  16. package/src/hooks/useTableWidget.js +48 -15
  17. package/src/render/index.js +1 -1
  18. package/src/render/index.vue_vue_type_script_setup_true_lang.js +4 -3
  19. package/src/schemas/defaults/field.js +1 -0
  20. package/src/widgets/advanced/code-editor/index.js +1 -1
  21. package/src/widgets/advanced/code-editor/index.vue_vue_type_script_setup_true_lang.js +9 -2
  22. package/src/widgets/advanced/data-table/index.js +1 -1
  23. package/src/widgets/advanced/data-table/index.vue_vue_type_script_setup_true_lang.js +10 -12
  24. package/src/widgets/advanced/data-table/schema.js +2 -1
  25. package/src/widgets/containers/collapse/index-render.js +1 -1
  26. package/src/widgets/containers/collapse/index-render.vue_vue_type_script_setup_true_lang.js +1 -1
  27. package/src/widgets/containers/dialog/index-render.js +3 -1
  28. package/src/widgets/containers/dialog/index-render.vue_vue_type_script_setup_true_lang.js +5 -4
  29. package/src/widgets/containers/dialog/schema.js +1 -0
  30. package/src/widgets/containers/flex/index-render.js +7 -0
  31. package/src/widgets/containers/flex/index-render.vue_vue_type_script_setup_true_lang.js +93 -0
  32. package/src/widgets/containers/flex/schema.js +35 -0
  33. package/src/widgets/containers/space/schema.js +1 -0
  34. package/src/widgets/render.js +7 -3
  35. package/src/widgets/widgetTypes.js +1 -0
  36. package/src/widgets/wrapper/form-item-wrapper.js +1 -1
  37. package/src/widgets/wrapper/form-item-wrapper.vue_vue_type_script_setup_true_lang.js +15 -10
  38. package/stats.html +1 -1
@@ -0,0 +1,93 @@
1
+ import RenderWidgetList_default from "../../../../core/src/components/common/render/RenderWidgetList.js";
2
+ import { ComponentNameEnum } from "../../../../core/src/constants/WidgetTypeEnum.js";
3
+ import { useField } from "../../../../core/src/hooks/useField.js";
4
+ import { WidgetType, getWidgetName } from "../../widgetTypes.js";
5
+ import { computed, createCommentVNode, createElementBlock, createVNode, defineComponent, normalizeClass, normalizeStyle, openBlock, unref } from "vue";
6
+ //#region src/widgets/containers/flex/index-render.vue?vue&type=script&setup=true&lang.ts
7
+ var index_render_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defineComponent({
8
+ inheritAttrs: false,
9
+ name: getWidgetName(WidgetType.Flex),
10
+ componentName: ComponentNameEnum.ContainerWidget,
11
+ __name: "index-render",
12
+ props: { widget: {} },
13
+ setup(__props, { expose: __expose }) {
14
+ const { handleHidden, defineExposed } = useField(__props.widget);
15
+ const flexHeight = computed(() => {
16
+ if (__props.widget.props.heightMode === "fixed") {
17
+ var _props$widget$props$f;
18
+ return `${(_props$widget$props$f = __props.widget.props.flexHeight) !== null && _props$widget$props$f !== void 0 ? _props$widget$props$f : 42}px`;
19
+ }
20
+ return "100%";
21
+ });
22
+ const getFlexItemStyle = (childWidget) => {
23
+ var _props$widget$props$f2, _ref, _config$mode;
24
+ const config = childWidget.id ? (_props$widget$props$f2 = __props.widget.props.flexItemWidths) === null || _props$widget$props$f2 === void 0 ? void 0 : _props$widget$props$f2[childWidget.id] : void 0;
25
+ const mode = (_ref = (_config$mode = config === null || config === void 0 ? void 0 : config.mode) !== null && _config$mode !== void 0 ? _config$mode : __props.widget.props.flexItemWidthMode) !== null && _ref !== void 0 ? _ref : "auto";
26
+ const size = (config === null || config === void 0 ? void 0 : config.width) || __props.widget.props.flexItemWidth || "240px";
27
+ const isColumn = __props.widget.props.flexDirection.includes("column");
28
+ if (isColumn) {
29
+ if (mode === "full") return {
30
+ width: "100%",
31
+ minHeight: 0,
32
+ flex: "1"
33
+ };
34
+ if (mode === "fixed") return {
35
+ width: "100%",
36
+ height: size,
37
+ flex: `0 0 ${size}`
38
+ };
39
+ return {
40
+ width: "100%",
41
+ flex: "0 1 auto"
42
+ };
43
+ }
44
+ if (mode === "full") {
45
+ if (!__props.widget.props.wrap) return {
46
+ width: 0,
47
+ minWidth: 0,
48
+ flex: "1 1 0"
49
+ };
50
+ return {
51
+ width: "100%",
52
+ flex: "0 0 100%"
53
+ };
54
+ }
55
+ if (mode === "fixed") return {
56
+ width: size,
57
+ flex: `0 0 ${size}`
58
+ };
59
+ return {
60
+ width: isColumn ? "100%" : "auto",
61
+ flex: "0 1 auto"
62
+ };
63
+ };
64
+ const flexStyle = computed(() => {
65
+ var _props$widget$props$g;
66
+ return {
67
+ ...__props.widget.style,
68
+ height: flexHeight.value,
69
+ display: "flex",
70
+ flexDirection: __props.widget.props.flexDirection,
71
+ justifyContent: __props.widget.props.justifyContent,
72
+ alignItems: __props.widget.props.alignItems,
73
+ flexWrap: __props.widget.props.wrap ? "wrap" : "nowrap",
74
+ gap: `${(_props$widget$props$g = __props.widget.props.gap) !== null && _props$widget$props$g !== void 0 ? _props$widget$props$g : 0}px`
75
+ };
76
+ });
77
+ __expose({ ...defineExposed });
78
+ return (_ctx, _cache) => {
79
+ return !unref(handleHidden) ? (openBlock(), createElementBlock("div", {
80
+ class: normalizeClass(["flex-container", _ctx.widget.props.customClass]),
81
+ style: normalizeStyle(flexStyle.value),
82
+ key: _ctx.widget.id
83
+ }, [createVNode(unref(RenderWidgetList_default), {
84
+ list: _ctx.widget.children,
85
+ "onUpdate:list": _cache[0] || (_cache[0] = ($event) => _ctx.widget.children = $event),
86
+ parentWidget: _ctx.widget,
87
+ itemStyle: getFlexItemStyle
88
+ }, null, 8, ["list", "parentWidget"])], 6)) : createCommentVNode("", true);
89
+ };
90
+ }
91
+ });
92
+ //#endregion
93
+ export { index_render_vue_vue_type_script_setup_true_lang_default as default };
@@ -0,0 +1,35 @@
1
+ import { WidgetType } from "../../widgetTypes.js";
2
+ //#region src/widgets/containers/flex/schema.ts
3
+ var Flex = {
4
+ id: "",
5
+ type: WidgetType.Flex,
6
+ category: "container",
7
+ style: {
8
+ width: "100%",
9
+ minHeight: "42px"
10
+ },
11
+ events: {
12
+ onMounted: "",
13
+ onHidden: "//return false"
14
+ },
15
+ children: [],
16
+ props: {
17
+ name: "",
18
+ label: "flex",
19
+ hidden: false,
20
+ customClass: [],
21
+ heightMode: "inherit",
22
+ flexHeight: 42,
23
+ flexDirection: "row",
24
+ justifyContent: "flex-start",
25
+ alignItems: "stretch",
26
+ gap: 8,
27
+ wrap: true,
28
+ flexItemWidthMode: "auto",
29
+ flexItemWidth: "240px",
30
+ flexItemWidths: {},
31
+ componentSort: true
32
+ }
33
+ };
34
+ //#endregion
35
+ export { Flex };
@@ -3,6 +3,7 @@ import { WidgetType } from "../../widgetTypes.js";
3
3
  var Space = {
4
4
  id: "",
5
5
  type: WidgetType.Space,
6
+ internal: true,
6
7
  category: "container",
7
8
  style: {},
8
9
  events: {
@@ -62,6 +62,7 @@ import { Collapse } from "./containers/collapse/schema.js";
62
62
  import { Dialog } from "./containers/dialog/schema.js";
63
63
  import { Form } from "./containers/form/schema.js";
64
64
  import { Space } from "./containers/space/schema.js";
65
+ import { Flex } from "./containers/flex/schema.js";
65
66
  import { List } from "./containers/list/schema.js";
66
67
  import { SecondaryPage } from "./template/SecondaryPage/schema.js";
67
68
  import index_render_default from "./containers/grid-col/index-render.js";
@@ -73,8 +74,9 @@ import index_render_default$5 from "./containers/collapse/index-render.js";
73
74
  import index_render_default$6 from "./containers/dialog/index-render.js";
74
75
  import index_render_default$7 from "./containers/form/index-render.js";
75
76
  import index_render_default$8 from "./containers/space/index-render.js";
76
- import index_render_default$9 from "./containers/list/index-render.js";
77
- import index_render_default$10 from "./template/SecondaryPage/index-render.js";
77
+ import index_render_default$9 from "./containers/flex/index-render.js";
78
+ import index_render_default$10 from "./containers/list/index-render.js";
79
+ import index_render_default$11 from "./template/SecondaryPage/index-render.js";
78
80
  //#region src/widgets/render.ts
79
81
  var renderSchemas = [
80
82
  Input,
@@ -113,6 +115,7 @@ var renderSchemas = [
113
115
  Dialog,
114
116
  Form,
115
117
  Space,
118
+ Flex,
116
119
  List,
117
120
  SecondaryPage
118
121
  ];
@@ -154,7 +157,8 @@ var renderComponents = [
154
157
  index_render_default$7,
155
158
  index_render_default$8,
156
159
  index_render_default$9,
157
- index_render_default$10
160
+ index_render_default$10,
161
+ index_render_default$11
158
162
  ];
159
163
  new Map(renderSchemas.map((schema) => [schema.type, schema]));
160
164
  var renderRegistryComponents = new Map(renderComponents.map((component) => [component.name, component]));
@@ -40,6 +40,7 @@ var WidgetType = /* @__PURE__ */ function(WidgetType) {
40
40
  WidgetType["Dialog"] = "dialog";
41
41
  WidgetType["GridSubForm"] = "grid-sub-form";
42
42
  WidgetType["Space"] = "space";
43
+ WidgetType["Flex"] = "flex";
43
44
  WidgetType["List"] = "list";
44
45
  WidgetType["SecondaryPage"] = "secondary-page";
45
46
  return WidgetType;
@@ -2,6 +2,6 @@ import _plugin_vue_export_helper_default from "../../../_virtual/_plugin-vue_exp
2
2
  import form_item_wrapper_vue_vue_type_script_setup_true_lang_default from "./form-item-wrapper.vue_vue_type_script_setup_true_lang.js";
3
3
  /* empty css */
4
4
  //#region src/widgets/wrapper/form-item-wrapper.vue
5
- var form_item_wrapper_default = /* @__PURE__ */ _plugin_vue_export_helper_default(form_item_wrapper_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-9c668962"]]);
5
+ var form_item_wrapper_default = /* @__PURE__ */ _plugin_vue_export_helper_default(form_item_wrapper_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-254940bd"]]);
6
6
  //#endregion
7
7
  export { form_item_wrapper_default as default };
@@ -4,16 +4,12 @@ import { FormItem } from "ant-design-vue";
4
4
  import { SvgIcon } from "tmgc2-share";
5
5
  //#region src/widgets/wrapper/form-item-wrapper.vue?vue&type=script&setup=true&lang.ts
6
6
  var _hoisted_1 = {
7
- key: 0,
8
- class: "label-box"
9
- };
10
- var _hoisted_2 = {
11
7
  key: 0,
12
8
  class: "custom-label"
13
9
  };
14
- var _hoisted_3 = { class: "label-text" };
15
- var _hoisted_4 = { class: "label-text" };
16
- var _hoisted_5 = {
10
+ var _hoisted_2 = ["title"];
11
+ var _hoisted_3 = ["title"];
12
+ var _hoisted_4 = {
17
13
  key: 1,
18
14
  class: "label-text"
19
15
  };
@@ -68,13 +64,22 @@ var form_item_wrapper_vue_vue_type_script_setup_true_lang_default = /* @__PURE__
68
64
  name: unref(getPropName),
69
65
  labelAlign: labelAlign.value
70
66
  }, {
71
- label: withCtx(() => [!labelHidden.value ? (openBlock(), createElementBlock("div", _hoisted_1, [labelIconClass.value ? (openBlock(), createElementBlock("span", _hoisted_2, [labelIconPosition.value === "front" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(_component_a_tooltip, { title: labelIconTooltip.value }, {
67
+ label: withCtx(() => [!labelHidden.value ? (openBlock(), createElementBlock("div", {
68
+ key: 0,
69
+ class: normalizeClass(["label-box", `label-box--${labelAlign.value}`])
70
+ }, [labelIconClass.value ? (openBlock(), createElementBlock("span", _hoisted_1, [labelIconPosition.value === "front" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [createVNode(_component_a_tooltip, { title: labelIconTooltip.value }, {
72
71
  default: withCtx(() => [createVNode(unref(SvgIcon), { "icon-class": labelIconClass.value }, null, 8, ["icon-class"])]),
73
72
  _: 1
74
- }, 8, ["title"]), createElementVNode("span", _hoisted_3, toDisplayString(unref(label)), 1)], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createElementVNode("span", _hoisted_4, toDisplayString(unref(label)), 1), createVNode(_component_a_tooltip, { title: labelIconTooltip.value }, {
73
+ }, 8, ["title"]), createElementVNode("span", {
74
+ class: "label-text",
75
+ title: unref(label)
76
+ }, toDisplayString(unref(label)), 9, _hoisted_2)], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createElementVNode("span", {
77
+ class: "label-text",
78
+ title: unref(label)
79
+ }, toDisplayString(unref(label)), 9, _hoisted_3), createVNode(_component_a_tooltip, { title: labelIconTooltip.value }, {
75
80
  default: withCtx(() => [createVNode(unref(SvgIcon), { "icon-class": labelIconClass.value }, null, 8, ["icon-class"])]),
76
81
  _: 1
77
- }, 8, ["title"])], 64))])) : (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(unref(label)), 1))])) : createCommentVNode("", true)]),
82
+ }, 8, ["title"])], 64))])) : (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(unref(label)), 1))], 2)) : createCommentVNode("", true)]),
78
83
  default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
79
84
  _: 3
80
85
  }, 8, [