@king-one/form-design 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (134) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/es/index.mjs +10 -0
  3. package/dist/es/src/components/base/collapse.vue.mjs +4 -0
  4. package/dist/es/src/components/base/collapse.vue2.mjs +53 -0
  5. package/dist/es/src/components/base/widget-icon.mjs +18 -0
  6. package/dist/es/src/components/form-desgin.mjs +29 -0
  7. package/dist/es/src/components/form-icon.vue.mjs +4 -0
  8. package/dist/es/src/components/form-icon.vue2.mjs +27 -0
  9. package/dist/es/src/components/form-material.vue.mjs +144 -0
  10. package/dist/es/src/components/form-material.vue2.mjs +4 -0
  11. package/dist/es/src/components/form-panel.vue.mjs +160 -0
  12. package/dist/es/src/components/form-panel.vue2.mjs +4 -0
  13. package/dist/es/src/components/form-setting.vue.mjs +116 -0
  14. package/dist/es/src/components/form-setting.vue2.mjs +4 -0
  15. package/dist/es/src/components/index.mjs +4 -0
  16. package/dist/es/src/components/panel/index.mjs +9 -0
  17. package/dist/es/src/components/panel/panel-item.vue.mjs +4 -0
  18. package/dist/es/src/components/panel/panel-item.vue2.mjs +66 -0
  19. package/dist/es/src/components/props/base-props.vue.mjs +60 -0
  20. package/dist/es/src/components/props/base-props.vue2.mjs +4 -0
  21. package/dist/es/src/components/props/component-props.vue.mjs +21 -0
  22. package/dist/es/src/components/props/component-props.vue2.mjs +4 -0
  23. package/dist/es/src/components/props/index.mjs +2 -0
  24. package/dist/es/src/components/types.mjs +28 -0
  25. package/dist/es/src/config/index.mjs +52 -0
  26. package/dist/es/src/context/design.mjs +25 -0
  27. package/dist/es/src/core/Design.mjs +44 -0
  28. package/dist/es/src/core/FormSchema.mjs +27 -0
  29. package/dist/es/src/core/Heart.mjs +25 -0
  30. package/dist/es/src/core/index.mjs +5 -0
  31. package/dist/es/src/effects/LifeCycle.mjs +24 -0
  32. package/dist/es/src/effects/contants.mjs +10 -0
  33. package/dist/es/src/effects/effective.mjs +25 -0
  34. package/dist/es/src/effects/index.mjs +6 -0
  35. package/dist/es/src/hooks/index.mjs +9 -0
  36. package/dist/es/src/hooks/use-monaco.mjs +36 -0
  37. package/dist/es/src/hooks/use-namespace/index.mjs +49 -0
  38. package/dist/es/src/index.mjs +10 -0
  39. package/dist/es/src/internal.mjs +8 -0
  40. package/dist/es/src/style/index.mjs +1 -0
  41. package/dist/es/src/utils/checkers.mjs +43 -0
  42. package/dist/es/src/utils/index.mjs +19 -0
  43. package/dist/lib/index.js +1 -0
  44. package/dist/lib/src/components/base/collapse.vue.js +1 -0
  45. package/dist/lib/src/components/base/collapse.vue2.js +1 -0
  46. package/dist/lib/src/components/base/widget-icon.js +1 -0
  47. package/dist/lib/src/components/form-desgin.js +1 -0
  48. package/dist/lib/src/components/form-icon.vue.js +1 -0
  49. package/dist/lib/src/components/form-icon.vue2.js +1 -0
  50. package/dist/lib/src/components/form-material.vue.js +1 -0
  51. package/dist/lib/src/components/form-material.vue2.js +1 -0
  52. package/dist/lib/src/components/form-panel.vue.js +2 -0
  53. package/dist/lib/src/components/form-panel.vue2.js +1 -0
  54. package/dist/lib/src/components/form-setting.vue.js +1 -0
  55. package/dist/lib/src/components/form-setting.vue2.js +1 -0
  56. package/dist/lib/src/components/index.js +1 -0
  57. package/dist/lib/src/components/panel/index.js +1 -0
  58. package/dist/lib/src/components/panel/panel-item.vue.js +1 -0
  59. package/dist/lib/src/components/panel/panel-item.vue2.js +1 -0
  60. package/dist/lib/src/components/props/base-props.vue.js +1 -0
  61. package/dist/lib/src/components/props/base-props.vue2.js +1 -0
  62. package/dist/lib/src/components/props/component-props.vue.js +1 -0
  63. package/dist/lib/src/components/props/component-props.vue2.js +1 -0
  64. package/dist/lib/src/components/props/index.js +1 -0
  65. package/dist/lib/src/components/types.js +1 -0
  66. package/dist/lib/src/config/index.js +1 -0
  67. package/dist/lib/src/context/design.js +1 -0
  68. package/dist/lib/src/core/Design.js +1 -0
  69. package/dist/lib/src/core/FormSchema.js +1 -0
  70. package/dist/lib/src/core/Heart.js +1 -0
  71. package/dist/lib/src/core/index.js +1 -0
  72. package/dist/lib/src/effects/LifeCycle.js +1 -0
  73. package/dist/lib/src/effects/contants.js +1 -0
  74. package/dist/lib/src/effects/effective.js +1 -0
  75. package/dist/lib/src/effects/index.js +1 -0
  76. package/dist/lib/src/hooks/index.js +1 -0
  77. package/dist/lib/src/hooks/use-monaco.js +1 -0
  78. package/dist/lib/src/hooks/use-namespace/index.js +1 -0
  79. package/dist/lib/src/index.js +1 -0
  80. package/dist/lib/src/internal.js +1 -0
  81. package/dist/lib/src/style/index.js +1 -0
  82. package/dist/lib/src/utils/checkers.js +1 -0
  83. package/dist/lib/src/utils/index.js +1 -0
  84. package/dist/theme-chalk/base.css +1 -0
  85. package/dist/theme-chalk/collapse.css +1 -0
  86. package/dist/theme-chalk/fonts/iconfont.ttf +0 -0
  87. package/dist/theme-chalk/fonts/iconfont.woff +0 -0
  88. package/dist/theme-chalk/fonts/iconfont.woff2 +0 -0
  89. package/dist/theme-chalk/form-design.css +1 -0
  90. package/dist/theme-chalk/icon.css +1 -0
  91. package/dist/theme-chalk/index.css +1 -0
  92. package/dist/theme-chalk/material.css +1 -0
  93. package/dist/theme-chalk/panel-item.css +1 -0
  94. package/dist/theme-chalk/panel.css +1 -0
  95. package/dist/theme-chalk/reset.css +0 -0
  96. package/dist/theme-chalk/setting.css +1 -0
  97. package/dist/theme-chalk/var.css +0 -0
  98. package/dist/types/index.d.ts +1 -0
  99. package/dist/types/src/components/base/collapse.vue.d.ts +17 -0
  100. package/dist/types/src/components/base/widget-icon.d.ts +19 -0
  101. package/dist/types/src/components/form-desgin.d.ts +16 -0
  102. package/dist/types/src/components/form-icon.vue.d.ts +25 -0
  103. package/dist/types/src/components/form-material.vue.d.ts +3 -0
  104. package/dist/types/src/components/form-panel.vue.d.ts +19 -0
  105. package/dist/types/src/components/form-setting.vue.d.ts +3 -0
  106. package/dist/types/src/components/index.d.ts +4 -0
  107. package/dist/types/src/components/panel/index.d.ts +2 -0
  108. package/dist/types/src/components/panel/panel-item.vue.d.ts +8 -0
  109. package/dist/types/src/components/props/base-props.vue.d.ts +3 -0
  110. package/dist/types/src/components/props/component-props.vue.d.ts +3 -0
  111. package/dist/types/src/components/props/index.d.ts +2 -0
  112. package/dist/types/src/components/types.d.ts +29 -0
  113. package/dist/types/src/config/index.d.ts +3 -0
  114. package/dist/types/src/context/design.d.ts +11 -0
  115. package/dist/types/src/core/Design.d.ts +74 -0
  116. package/dist/types/src/core/FormSchema.d.ts +46 -0
  117. package/dist/types/src/core/Heart.d.ts +9 -0
  118. package/dist/types/src/core/index.d.ts +3 -0
  119. package/dist/types/src/effects/LifeCycle.d.ts +9 -0
  120. package/dist/types/src/effects/contants.d.ts +7 -0
  121. package/dist/types/src/effects/effect-dict.d.ts +4 -0
  122. package/dist/types/src/effects/effective.d.ts +3 -0
  123. package/dist/types/src/effects/index.d.ts +2 -0
  124. package/dist/types/src/effects/onEffects.d.ts +5 -0
  125. package/dist/types/src/effects/types.d.ts +9 -0
  126. package/dist/types/src/hooks/index.d.ts +2 -0
  127. package/dist/types/src/hooks/use-monaco.d.ts +4 -0
  128. package/dist/types/src/hooks/use-namespace/index.d.ts +23 -0
  129. package/dist/types/src/index.d.ts +4 -0
  130. package/dist/types/src/internal.d.ts +2 -0
  131. package/dist/types/src/types.d.ts +49 -0
  132. package/dist/types/src/utils/checkers.d.ts +21 -0
  133. package/dist/types/src/utils/index.d.ts +1 -0
  134. package/package.json +65 -0
@@ -0,0 +1,60 @@
1
+ import { defineComponent as u, openBlock as i, createElementBlock as p, createVNode as t, unref as e, withCtx as o, createTextVNode as d } from "vue";
2
+ import { Form as f, FormItem as r, Input as m, Switch as s } from "ant-design-vue";
3
+ import "../../internal.mjs";
4
+ import "../form-icon.vue.mjs";
5
+ import { useInjectDesignContext as v } from "../../context/design.mjs";
6
+ import _ from "../form-icon.vue2.mjs";
7
+ const y = /* @__PURE__ */ u({
8
+ __name: "base-props",
9
+ setup(x) {
10
+ const { checkedField: a } = v();
11
+ return (c, l) => (i(), p("div", null, [
12
+ t(e(f), {
13
+ "label-col": { style: { width: "85px" } },
14
+ layout: "vertical"
15
+ }, {
16
+ default: o(() => [
17
+ t(e(r), {
18
+ label: "字段名称",
19
+ tooltip: "表单name"
20
+ }, {
21
+ default: o(() => [
22
+ t(e(m), {
23
+ value: e(a).name,
24
+ "onUpdate:value": l[0] || (l[0] = (n) => e(a).name = n)
25
+ }, null, 8, ["value"])
26
+ ]),
27
+ _: 1
28
+ /* STABLE */
29
+ }),
30
+ t(e(r), { label: "字段标题" }, {
31
+ default: o(() => [
32
+ t(e(m), {
33
+ value: e(a).title,
34
+ "onUpdate:value": l[1] || (l[1] = (n) => e(a).title = n)
35
+ }, null, 8, ["value"])
36
+ ]),
37
+ _: 1
38
+ /* STABLE */
39
+ }),
40
+ t(e(r), { label: "是否必填" }, {
41
+ extra: o(() => [
42
+ t(_, { name: "sound" }),
43
+ l[2] || (l[2] = d(" 表单字段设置为必填才能作为审批条件 "))
44
+ ]),
45
+ default: o(() => [
46
+ t(e(s))
47
+ ]),
48
+ _: 1
49
+ /* STABLE */
50
+ })
51
+ ]),
52
+ _: 1
53
+ /* STABLE */
54
+ })
55
+ ]));
56
+ }
57
+ });
58
+ export {
59
+ y as default
60
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./base-props.vue.mjs";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,21 @@
1
+ import { defineComponent as e, openBlock as n, createElementBlock as p, normalizeClass as r, unref as t } from "vue";
2
+ import "../../internal.mjs";
3
+ import { useNamespace as s } from "../../hooks/use-namespace/index.mjs";
4
+ const f = /* @__PURE__ */ e({
5
+ __name: "component-props",
6
+ setup(c) {
7
+ const { b: o } = s("component-props");
8
+ return (m, a) => (n(), p(
9
+ "div",
10
+ {
11
+ class: r(t(o)())
12
+ },
13
+ " component props ",
14
+ 2
15
+ /* CLASS */
16
+ ));
17
+ }
18
+ });
19
+ export {
20
+ f as default
21
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./component-props.vue.mjs";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,2 @@
1
+ import "./base-props.vue2.mjs";
2
+ import "./component-props.vue2.mjs";
@@ -0,0 +1,28 @@
1
+ const r = (e) => e, t = {
2
+ name: {
3
+ type: String,
4
+ required: !0
5
+ },
6
+ size: {
7
+ type: Number
8
+ },
9
+ color: {
10
+ type: String
11
+ }
12
+ }, o = {
13
+ design: {
14
+ type: Object,
15
+ required: !0
16
+ }
17
+ }, n = {
18
+ icon: {
19
+ type: r([Object, String]),
20
+ required: !0
21
+ }
22
+ };
23
+ export {
24
+ o as FormDesignProps,
25
+ r as definePropType,
26
+ t as iconProps,
27
+ n as widgetIconProps
28
+ };
@@ -0,0 +1,52 @@
1
+ const e = {
2
+ name: "布局组件",
3
+ key: "layout",
4
+ widget: [
5
+ {
6
+ title: "表单布局",
7
+ icon: "form-grid",
8
+ key: "form-layout",
9
+ type: "void",
10
+ "k-component": "FormLayout"
11
+ }
12
+ ]
13
+ }, t = {
14
+ name: "基础组件",
15
+ key: "basic",
16
+ widget: [
17
+ {
18
+ title: "输入框",
19
+ key: "input",
20
+ type: "string",
21
+ icon: "form-input",
22
+ "k-component": "Input",
23
+ "k-component-props": {
24
+ placeholder: "请输入"
25
+ }
26
+ },
27
+ {
28
+ title: "多文本输入框",
29
+ key: "textarea",
30
+ type: "string",
31
+ icon: "form-textarea",
32
+ "k-component": "Textarea",
33
+ "k-component-props": {
34
+ placeholder: "请输入"
35
+ }
36
+ },
37
+ {
38
+ title: "数字输入框",
39
+ key: "input-number",
40
+ type: "number",
41
+ icon: "form-number",
42
+ "k-component": "InputNumber",
43
+ "k-component-props": {
44
+ placeholder: "请输入"
45
+ }
46
+ }
47
+ ]
48
+ };
49
+ export {
50
+ t as BaseSchema,
51
+ e as LayoutSchema
52
+ };
@@ -0,0 +1,25 @@
1
+ import { provide as t, inject as n, ref as i } from "vue";
2
+ const o = Symbol("DragSymbol");
3
+ function s(e) {
4
+ return t(o, e);
5
+ }
6
+ function g() {
7
+ return n(o, {
8
+ isDrag: i(!1),
9
+ updateDrag: () => {
10
+ }
11
+ });
12
+ }
13
+ const r = Symbol("DesignContext");
14
+ function c(e) {
15
+ return t(r, e);
16
+ }
17
+ function D() {
18
+ return n(r);
19
+ }
20
+ export {
21
+ D as useInjectDesignContext,
22
+ g as useInjectDragContext,
23
+ c as useProvideDesignContext,
24
+ s as useProvideDragContext
25
+ };
@@ -0,0 +1,44 @@
1
+ var m = Object.defineProperty;
2
+ var n = (r, e, t) => e in r ? m(r, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[e] = t;
3
+ var o = (r, e, t) => n(r, typeof e != "symbol" ? e + "" : e, t);
4
+ import { ref as i } from "vue";
5
+ import "../effects/index.mjs";
6
+ import { panels as c } from "../components/panel/index.mjs";
7
+ import { Heart as h } from "./Heart.mjs";
8
+ import { FormSchema as f } from "./FormSchema.mjs";
9
+ import { runEffects as a } from "../effects/effective.mjs";
10
+ class y {
11
+ constructor(e) {
12
+ o(this, "schema");
13
+ o(this, "heart");
14
+ o(this, "FormSchema", new f());
15
+ o(this, "props");
16
+ o(this, "checkedField", i({}));
17
+ const { propsComponents: t, panelComponents: s, ...p } = e;
18
+ this.props = { propsComponents: { ...t }, panelComponents: { ...c, ...s }, ...p }, this.schema = e.schema, this.heart = new h({
19
+ lifecycles: this.lifecycles,
20
+ context: this
21
+ });
22
+ }
23
+ get lifecycles() {
24
+ return this.props.effects ? a(this, this.props.effects) : [];
25
+ }
26
+ getFormSchema() {
27
+ return this.FormSchema.getSchema();
28
+ }
29
+ get formProps() {
30
+ return this.FormSchema.formProps;
31
+ }
32
+ get fields() {
33
+ return this.FormSchema.fields;
34
+ }
35
+ get propsComponents() {
36
+ return this.props.propsComponents;
37
+ }
38
+ get panelComponents() {
39
+ return this.props.panelComponents;
40
+ }
41
+ }
42
+ export {
43
+ y as FormDesign
44
+ };
@@ -0,0 +1,27 @@
1
+ var i = Object.defineProperty;
2
+ var a = (e, o, r) => o in e ? i(e, o, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[o] = r;
3
+ var s = (e, o, r) => a(e, typeof o != "symbol" ? o + "" : o, r);
4
+ import { reactive as l, ref as f, toRaw as t } from "vue";
5
+ class c {
6
+ constructor() {
7
+ s(this, "version", "1.0.0");
8
+ s(this, "formProps", l({
9
+ layout: "horizontal",
10
+ labelAlign: "left"
11
+ }));
12
+ s(this, "fields", f([]));
13
+ }
14
+ getSchema() {
15
+ const o = t(this.fields.value), r = t(this.formProps);
16
+ return {
17
+ version: this.version,
18
+ form: {
19
+ ...r,
20
+ schema: o
21
+ }
22
+ };
23
+ }
24
+ }
25
+ export {
26
+ c as FormSchema
27
+ };
@@ -0,0 +1,25 @@
1
+ var o = Object.defineProperty;
2
+ var s = (e, t, i) => t in e ? o(e, t, { enumerable: !0, configurable: !0, writable: !0, value: i }) : e[t] = i;
3
+ var r = (e, t, i) => s(e, typeof t != "symbol" ? t + "" : t, i);
4
+ import "../utils/index.mjs";
5
+ import "../effects/index.mjs";
6
+ import { LifeCycle as l } from "../effects/LifeCycle.mjs";
7
+ import { isStr as f } from "../utils/checkers.mjs";
8
+ class m {
9
+ constructor({ lifecycles: t, context: i }) {
10
+ r(this, "context");
11
+ r(this, "lifecycles");
12
+ this.lifecycles = this.buildLifeCycles(t || []), this.context = i;
13
+ }
14
+ buildLifeCycles(t) {
15
+ return t.reduce((i, c) => c instanceof l ? i.concat(c) : i, []);
16
+ }
17
+ publish(t, ...i) {
18
+ f(t) && this.lifecycles.forEach((c) => {
19
+ c.notify(t, this.context, ...i);
20
+ });
21
+ }
22
+ }
23
+ export {
24
+ m as Heart
25
+ };
@@ -0,0 +1,5 @@
1
+ import { FormDesign as o } from "./Design.mjs";
2
+ const m = (e) => new o(e);
3
+ export {
4
+ m as CreateFormDesign
5
+ };
@@ -0,0 +1,24 @@
1
+ var f = Object.defineProperty;
2
+ var o = (e, i, t) => i in e ? f(e, i, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[i] = t;
3
+ var s = (e, i, t) => o(e, typeof i != "symbol" ? i + "" : i, t);
4
+ import { isStr as c, isFn as h } from "../utils/checkers.mjs";
5
+ class b {
6
+ constructor(...i) {
7
+ s(this, "listener");
8
+ s(this, "notify", (i, t, ...n) => {
9
+ c(i) && this.listener.call(t, { type: i, payload: t }, ...n);
10
+ });
11
+ this.listener = this.buildListener(i);
12
+ }
13
+ buildListener(i) {
14
+ return (t, ...n) => {
15
+ for (let l = 0; l < i.length; l++) {
16
+ const r = i[l];
17
+ c(r) && h(i[l + 1]) && r === t.type && i[l + 1].call(this, t.payload, ...n);
18
+ }
19
+ };
20
+ }
21
+ }
22
+ export {
23
+ b as LifeCycle
24
+ };
@@ -0,0 +1,10 @@
1
+ const e = {
2
+ lifecycles: [],
3
+ context: [],
4
+ effectStart: !1,
5
+ effectEnd: !1,
6
+ initializing: !1
7
+ };
8
+ export {
9
+ e as GlobalState
10
+ };
@@ -0,0 +1,25 @@
1
+ import "../utils/index.mjs";
2
+ import { LifeCycle as i } from "./LifeCycle.mjs";
3
+ import { GlobalState as e } from "./contants.mjs";
4
+ import { isFn as r } from "../utils/checkers.mjs";
5
+ function m(o, t) {
6
+ return (...f) => {
7
+ if (e.effectStart)
8
+ e.lifecycles.push(
9
+ new i(o, (c, ...n) => {
10
+ r(t) && t(...n, c)(...f);
11
+ })
12
+ );
13
+ else
14
+ throw new Error("Effect hooks cannot be used in asynchronous function body");
15
+ };
16
+ }
17
+ function E(o, ...t) {
18
+ return e.lifecycles = [], e.context = [], e.effectStart = !0, e.effectEnd = !1, t.forEach((f) => {
19
+ r(f) && f(o);
20
+ }), e.context = [], e.effectStart = !1, e.effectEnd = !0, e.lifecycles;
21
+ }
22
+ export {
23
+ m as createEffectHook,
24
+ E as runEffects
25
+ };
@@ -0,0 +1,6 @@
1
+ import { LifeCycle as r } from "./LifeCycle.mjs";
2
+ import { runEffects as t } from "./effective.mjs";
3
+ export {
4
+ r as LifeCycle,
5
+ t as runEffects
6
+ };
@@ -0,0 +1,9 @@
1
+ import { defaultNamespace as o, namespaceContextKey as s, useGetDerivedNamespace as m, useNamespace as p } from "./use-namespace/index.mjs";
2
+ import { useMonaco as c } from "./use-monaco.mjs";
3
+ export {
4
+ o as defaultNamespace,
5
+ s as namespaceContextKey,
6
+ m as useGetDerivedNamespace,
7
+ c as useMonaco,
8
+ p as useNamespace
9
+ };
@@ -0,0 +1,36 @@
1
+ import * as n from "monaco-editor";
2
+ import a from "monaco-editor/esm/vs/language/json/json.worker?worker";
3
+ import { onMounted as l } from "vue";
4
+ function s(r) {
5
+ window.MonacoEnvironment = {
6
+ getWorker() {
7
+ return new a();
8
+ }
9
+ };
10
+ let e = null;
11
+ const o = (t) => {
12
+ e && e.setValue(JSON.stringify(t, null, 2));
13
+ };
14
+ return l(() => {
15
+ r.value && (e = n.editor.create(r.value, {
16
+ value: "",
17
+ readOnly: !0,
18
+ automaticLayout: !0,
19
+ scrollbar: {
20
+ verticalScrollbarSize: 5
21
+ },
22
+ theme: "vs",
23
+ language: "json",
24
+ selectOnLineNumbers: !0,
25
+ scrollBeyondLastLine: !0,
26
+ // 取消代码后面一大段空白
27
+ overviewRulerBorder: !1
28
+ // 不要滚动条的边框
29
+ }));
30
+ }), {
31
+ setEditorValue: o
32
+ };
33
+ }
34
+ export {
35
+ s as useMonaco
36
+ };
@@ -0,0 +1,49 @@
1
+ import { getCurrentInstance as p, inject as N, ref as v, computed as V, unref as y } from "vue";
2
+ const m = "k-form", l = "is-";
3
+ function c(n, r, t, o, $) {
4
+ let u = `${n}-${r}`;
5
+ return t && (u += `-${t}`), o && (u += `__${o}`), $ && (u += `--${$}`), u;
6
+ }
7
+ const i = Symbol("namespaceContextKey");
8
+ function B(n) {
9
+ const r = n || (p() ? N(i, v(m)) : v(m));
10
+ return V(() => y(r) || m);
11
+ }
12
+ function d(n, r) {
13
+ const t = B(r);
14
+ return {
15
+ namespace: t,
16
+ b: (s = "") => c(t.value, n, s, "", ""),
17
+ e: (s) => s ? c(t.value, n, "", s, "") : "",
18
+ m: (s) => s ? c(t.value, n, "", "", s) : "",
19
+ be: (s, e) => s && e ? c(t.value, n, s, e, "") : "",
20
+ em: (s, e) => s && e ? c(t.value, n, "", s, e) : "",
21
+ bm: (s, e) => s && e ? c(t.value, n, s, "", e) : "",
22
+ bem: (s, e, a) => s && e && a ? c(t.value, n, s, e, a) : "",
23
+ is: (s, ...e) => {
24
+ const a = e.length >= 1 ? e[0] : !0;
25
+ return s && a ? `${l}${s}` : "";
26
+ },
27
+ // css
28
+ cssVar: (s) => {
29
+ const e = {};
30
+ for (const a in s)
31
+ s[a] && (e[`--${t.value}-${a}`] = s[a]);
32
+ return e;
33
+ },
34
+ cssVarName: (s) => `--${t.value}-${s}`,
35
+ cssVarBlock: (s) => {
36
+ const e = {};
37
+ for (const a in s)
38
+ s[a] && (e[`--${t.value}-${n}-${a}`] = s[a]);
39
+ return e;
40
+ },
41
+ cssVarBlockName: (s) => `--${t.value}-${n}-${s}`
42
+ };
43
+ }
44
+ export {
45
+ m as defaultNamespace,
46
+ i as namespaceContextKey,
47
+ B as useGetDerivedNamespace,
48
+ d as useNamespace
49
+ };
@@ -0,0 +1,10 @@
1
+ import "./style/index.mjs";
2
+ import { default as m } from "./components/form-desgin.mjs";
3
+ import { CreateFormDesign as t } from "./core/index.mjs";
4
+ import { BaseSchema as p, LayoutSchema as s } from "./config/index.mjs";
5
+ export {
6
+ p as BaseSchema,
7
+ t as CreateFormDesign,
8
+ m as FormDesign,
9
+ s as LayoutSchema
10
+ };
@@ -0,0 +1,8 @@
1
+ import "./hooks/index.mjs";
2
+ import { useInjectDesignContext as n, useInjectDragContext as r, useProvideDesignContext as s, useProvideDragContext as i } from "./context/design.mjs";
3
+ export {
4
+ n as useInjectDesignContext,
5
+ r as useInjectDragContext,
6
+ s as useProvideDesignContext,
7
+ i as useProvideDragContext
8
+ };
@@ -0,0 +1 @@
1
+ import "@king-one/form-design/dist/theme-chalk/index.css";
@@ -0,0 +1,43 @@
1
+ const o = Object.prototype.toString, i = (t) => o.call(t);
2
+ function n(t) {
3
+ return (e) => i(e) === `[object ${t}]`;
4
+ }
5
+ const c = (t) => typeof t == "function", r = Array.isArray, u = n("Object"), p = n("String"), a = n("Boolean"), s = n("Number");
6
+ function f(t) {
7
+ return t && t instanceof Map;
8
+ }
9
+ const y = (t) => t && t instanceof Set;
10
+ function S(t) {
11
+ return t && t instanceof WeakMap;
12
+ }
13
+ function b(t) {
14
+ return t && t instanceof WeakSet;
15
+ }
16
+ function g(t) {
17
+ return s(t) || /^\d+$/.test(t);
18
+ }
19
+ const l = (t) => typeof t == "object", M = n("RegExp");
20
+ function j(t) {
21
+ return t && t.$$typeof && t._owner;
22
+ }
23
+ function k(t) {
24
+ return Object.prototype.toString.call(t).includes("HTML");
25
+ }
26
+ export {
27
+ i as getType,
28
+ r as isArr,
29
+ a as isBool,
30
+ c as isFn,
31
+ k as isHTMLElement,
32
+ f as isMap,
33
+ s as isNum,
34
+ g as isNumberLike,
35
+ l as isObj,
36
+ u as isPlainObj,
37
+ j as isReactElement,
38
+ M as isRegExp,
39
+ y as isSet,
40
+ p as isStr,
41
+ S as isWeakMap,
42
+ b as isWeakSet
43
+ };
@@ -0,0 +1,19 @@
1
+ import { getType as s, isArr as t, isBool as a, isFn as r, isHTMLElement as m, isMap as p, isNum as l, isNumberLike as n, isObj as o, isPlainObj as b, isReactElement as k, isRegExp as E, isSet as M, isStr as S, isWeakMap as g, isWeakSet as j } from "./checkers.mjs";
2
+ export {
3
+ s as getType,
4
+ t as isArr,
5
+ a as isBool,
6
+ r as isFn,
7
+ m as isHTMLElement,
8
+ p as isMap,
9
+ l as isNum,
10
+ n as isNumberLike,
11
+ o as isObj,
12
+ b as isPlainObj,
13
+ k as isReactElement,
14
+ E as isRegExp,
15
+ M as isSet,
16
+ S as isStr,
17
+ g as isWeakMap,
18
+ j as isWeakSet
19
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("./src/index.js");const r=require("./src/components/form-desgin.js"),t=require("./src/core/index.js"),e=require("./src/config/index.js");exports.FormDesign=r.default;exports.CreateFormDesign=t.CreateFormDesign;exports.BaseSchema=e.BaseSchema;exports.LayoutSchema=e.LayoutSchema;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./collapse.vue2.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("vue"),s=d.defineComponent({__name:"collapse",setup(i){function e(t){t.style.maxWidth="",t.style.overflow=t.dataset.oldOverflow,t.style.paddingLeft=t.dataset.oldPaddingLeft,t.style.paddingRight=t.dataset.oldPaddingRight}const a={beforeEnter(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingLeft=t.style.paddingLeft,t.dataset.oldPaddingRight=t.style.paddingRight,t.style.width&&(t.dataset.elExistsWidth=t.style.width),t.style.maxWidth=0,t.style.paddingLeft=0,t.style.paddingRight=0},enter(t){requestAnimationFrame(()=>{t.dataset.oldOverflow=t.style.overflow,t.dataset.elExistsWidth?t.style.maxWidth=t.dataset.elExistsWidth:t.scrollWidth!==0?t.style.maxWidth=`${t.scrollWidth}px`:t.style.maxWidth=0,t.style.paddingLeft=t.dataset.oldPaddingLeft,t.style.paddingRight=t.dataset.oldPaddingRight,t.style.overflow="hidden"})},afterEnter(t){t.style.maxWidth="",t.style.overflow=t.dataset.oldOverflow},enterCancelled(t){e(t)},beforeLeave(t){t.dataset||(t.dataset={}),t.dataset.oldPaddingTop=t.style.paddingTop,t.dataset.oldPaddingRight=t.style.paddingRight,t.dataset.oldOverflow=t.style.overflow,t.style.maxWidth=`${t.scrollWidth}px`,t.style.overflow="hidden"},leave(t){t.scrollWidth!==0&&(t.style.maxWidth=0,t.style.paddingTop=0,t.style.paddingRight=0)},afterLeave(t){e(t)},leaveCancelled(t){e(t)}};return(t,o)=>(d.openBlock(),d.createBlock(d.Transition,d.mergeProps({name:"form-design-collapse"},d.toHandlers(a)),{default:d.withCtx(()=>[d.renderSlot(t.$slots,"default")]),_:3},16))}});exports.default=s;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("vue");require("../../utils/index.js");const t=require("../types.js");require("../form-icon.vue.js");const n=require("../../utils/checkers.js"),u=require("../form-icon.vue2.js"),o=r.defineComponent({name:"WidgetIcon",props:t.widgetIconProps,setup(e){return()=>n.isStr(e.icon)?r.createVNode(u.default,{name:e.icon},null,8,["name"]):e.icon}});exports.default=o;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../internal.js");const t=require("../context/design.js");require("./index.js");const n=require("./types.js"),i=require("../hooks/use-namespace/index.js"),o=require("./form-material.vue.js"),a=require("./form-panel.vue.js"),_=require("./form-setting.vue.js"),{b:p}=i.useNamespace("main"),c=e.defineComponent({name:"FormDesign",props:n.FormDesignProps,setup(u){const r=e.ref(!1);return t.useProvideDragContext({isDrag:r,updateDrag:s=>{r.value=s}}),t.useProvideDesignContext(u.design),()=>e.h("form",{class:p()},[e.h(o.default),e.h(a.default),e.h(_.default)])}});exports.default=c;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./form-icon.vue2.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../internal.js");const u=require("./types.js"),i=require("../hooks/use-namespace/index.js"),l=e.defineComponent({__name:"form-icon",props:u.iconProps,setup(n){const o=n,{b:t}=i.useNamespace("icon"),c=e.computed(()=>`icon-from-design-${o.name}`),r=e.computed(()=>({fontSize:`${o.size}px`,color:o.color})),s=e.computed(()=>[t(),c.value]);return(a,m)=>(e.openBlock(),e.createElementBlock("i",{class:e.normalizeClass(s.value),style:e.normalizeStyle(r.value)},null,6))}});exports.default=l;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../internal.js");const r=require("ant-design-vue"),_=require("vuedraggable"),N=require("@king-one/utils"),u=require("../context/design.js"),k=require("./base/widget-icon.js"),a=require("../hooks/use-namespace/index.js"),w={class:"widget-group-name"},V={class:"widget-col"},C={class:"widget-item"},b={key:0,class:"widget-item-icon"},B={class:"widget-item-title"},x=e.defineComponent({name:"FormMaterial",__name:"form-material",setup(y){const{updateDrag:s}=u.useInjectDragContext(),{b:c}=a.useNamespace("material"),{b:d}=a.useNamespace("toolbar"),{b:m}=a.useNamespace("widget"),f=u.useInjectDesignContext(),{schema:g}=f,i=e.ref("1");function p(l){const t=N.uid();return{...l,name:t,id:t}}function v(){s(!0)}return(l,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(c)())},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(d)())},[e.createVNode(e.unref(r.RadioGroup),{value:i.value,"onUpdate:value":t[0]||(t[0]=o=>i.value=o),"button-style":"solid",size:"default"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.RadioButton),{class:"toolbar-button",value:"1"},{default:e.withCtx(()=>t[2]||(t[2]=[e.createTextVNode(" 组件库 ")])),_:1,__:[2]}),e.createVNode(e.unref(r.RadioButton),{class:"toolbar-button",value:"2"},{default:e.withCtx(()=>t[3]||(t[3]=[e.createTextVNode(" 流程模版 ")])),_:1,__:[3]})]),_:1},8,["value"])],2),e.createElementVNode("div",{class:e.normalizeClass(e.unref(m)())},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(g),o=>(e.openBlock(),e.createElementBlock("div",{key:o.key,class:"widget-group"},[e.createElementVNode("div",w,e.toDisplayString(o.name),1),o.widget?(e.openBlock(),e.createBlock(e.unref(_),{key:0,list:o.widget,class:"widget-list-drag","item-key":"key",group:{name:"form",pull:"clone",put:!1},sort:!1,options:{animation:150},clone:p,onStart:v,onEnd:t[1]||(t[1]=n=>e.unref(s)(!1))},{item:e.withCtx(({element:n})=>[e.createElementVNode("div",V,[e.createElementVNode("div",C,[n.icon?(e.openBlock(),e.createElementBlock("div",b,[e.createVNode(e.unref(k.default),{icon:n.icon},null,8,["icon"])])):e.createCommentVNode("v-if",!0),e.createElementVNode("div",B,e.toDisplayString(n.title),1)])])]),_:2},1032,["list"])):e.createCommentVNode("v-if",!0)]))),128))],2)],2))}});exports.default=x;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./form-material.vue.js");exports.default=e.default;
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../internal.js");const n=require("ant-design-vue"),V=require("vuedraggable"),i=require("../context/design.js");require("./panel/panel-item.vue.js");require("./index.js");const C=require("../hooks/use-monaco.js"),N=require("../hooks/use-namespace/index.js"),u=require("./form-icon.vue2.js"),g=require("./panel/panel-item.vue2.js"),E={class:"left"},w={class:"content-panel"},b={key:0,class:"prompt"},q={class:"form-item"},x={ref:"contentEditorTel",class:"content-editor"},k=e.defineComponent({name:"FormPanel",__name:"form-panel",setup(S){const d=e.useTemplateRef("contentEditorTel"),{isDrag:m}=i.useInjectDragContext(),{setEditorValue:f}=C.useMonaco(d),t=e.ref(!1),l=i.useInjectDesignContext(),{fields:r}=l;function _(){t.value=!t.value,f(l.getFormSchema())}function p(){}const{b:v,e:s,em:a}=N.useNamespace("panel");return(h,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(e.unref(v)())},[e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("toolbar"))},[e.createElementVNode("div",E,[e.createVNode(e.unref(n.Tooltip),{placement:"bottom"},{title:e.withCtx(()=>o[0]||(o[0]=[e.createElementVNode("span",null,"全部删除",-1)])),default:e.withCtx(()=>[e.createVNode(e.unref(u.default),{name:"delete1",class:e.normalizeClass(e.unref(a)("toolbar","icon")),size:18,onClick:p},null,8,["class"])]),_:1}),e.createVNode(e.unref(n.Tooltip),{placement:"bottom"},{title:e.withCtx(()=>o[1]||(o[1]=[e.createElementVNode("span",null,"查看JSON Schema",-1)])),default:e.withCtx(()=>[e.createVNode(e.unref(u.default),{name:"code",class:e.normalizeClass(e.unref(a)("toolbar","icon")),size:18,onClick:_},null,8,["class"])]),_:1}),e.createCommentVNode(` <FormIcon name="desktop" />
2
+ <FormIcon name="mobile" /> `)])],2),e.createCommentVNode(' ref="contentTelRef" '),e.createElementVNode("div",{class:e.normalizeClass(e.unref(s)("content"))},[e.withDirectives(e.createElementVNode("div",w,[!e.unref(m)&&e.unref(r).length===0?(e.openBlock(),e.createElementBlock("div",b," 👈 请在左侧选择控件并拖至此处 ")):e.createCommentVNode("v-if",!0),e.createVNode(e.unref(n.Form),{autocomplete:"off",class:"design-from","label-col":{style:{width:"100px"}},"label-align":"left"},{default:e.withCtx(()=>[e.createVNode(e.unref(V),{class:"drag-from",list:e.unref(r),group:"form",animation:300,sort:!0,"item-key":"id","chosen-class":"choose"},{item:e.withCtx(({element:c})=>[e.createElementVNode("div",q,[e.renderSlot(h.$slots,`panel-${c.key}`,{},()=>[e.createVNode(g.default,{field:c},null,8,["field"])])])]),_:3},8,["list"])]),_:3})],512),[[e.vShow,!t.value]]),e.withDirectives(e.createElementVNode("div",x,null,512),[[e.vShow,t.value]])],2)],2))}});exports.default=k;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./form-panel.vue.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),t=require("ant-design-vue");require("../internal.js");require("../hooks/index.js");require("./form-icon.vue.js");require("./base/collapse.vue.js");require("./props/index.js");const i=require("../context/design.js"),u=require("../hooks/use-namespace/index.js"),d=require("./base/collapse.vue2.js"),_=require("./props/base-props.vue.js"),p=require("./props/component-props.vue.js"),a=require("./form-icon.vue2.js"),f={class:"setting-aside"},v=e.defineComponent({name:"FormSetting",__name:"form-setting",setup(m){const{checkedField:l}=i.useInjectDesignContext(),{b:o}=u.useNamespace("setting"),{b:s}=u.useNamespace("setting-collapse"),r=e.ref(!0),c=e.computed(()=>[o(),!r.value&&s()]);return(k,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value)},[e.createVNode(d.default,null,{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("div",null,[e.createElementVNode("aside",f,[e.createVNode(e.unref(t.Tabs),{size:"small",centered:""},{default:e.withCtx(()=>[e.createVNode(e.unref(t.TabPane),{key:"1",tab:"组件配置"},{default:e.withCtx(()=>[Object.keys(e.unref(l)).length?(e.openBlock(),e.createBlock(e.unref(t.Collapse),{key:0},{default:e.withCtx(()=>[e.createVNode(e.unref(t.CollapsePanel),{header:"基础设置"},{default:e.withCtx(()=>[e.createVNode(e.unref(_.default))]),_:1}),e.createVNode(e.unref(t.CollapsePanel),{header:"属性设置"},{default:e.withCtx(()=>[e.createVNode(e.unref(p.default))]),_:1})]),_:1})):(e.openBlock(),e.createBlock(e.unref(t.Empty),{key:1,description:"暂无配置"}))]),_:1}),e.createVNode(e.unref(t.TabPane),{key:"2",tab:"表单配置"},{default:e.withCtx(()=>n[1]||(n[1]=[e.createTextVNode(" 表单配置 ")])),_:1,__:[1]})]),_:1})])],512),[[e.vShow,r.value]])]),_:1}),e.createElementVNode("div",{class:"setting-collapse",onClick:n[0]||(n[0]=g=>r.value=!r.value)},[r.value?(e.openBlock(),e.createBlock(a.default,{key:0,name:"double-left",size:18})):(e.openBlock(),e.createBlock(a.default,{key:1,name:"double-right",size:18}))])],2))}});exports.default=v;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./form-setting.vue.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";require("./form-material.vue2.js");require("./form-setting.vue2.js");require("./form-panel.vue2.js");require("./form-icon.vue.js");
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("ant-design-vue"),t={input:e.Input,textarea:e.Textarea,"input-number":e.InputNumber};exports.panels=t;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./panel-item.vue2.js");exports.default=e.default;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),m=require("ant-design-vue");require("../../internal.js");const p=require("../../context/design.js"),f=require("../../hooks/use-namespace/index.js"),k=e.defineComponent({__name:"panel-item",props:{field:{}},setup(a){const c=a,{b:l,e:o,m:r}=f.useNamespace("panel-item");console.log(r("active"));const{panelComponents:t,checkedField:s}=p.useInjectDesignContext();function u(n){s.value=n}const d=e.computed(()=>{var n;return((n=s.value)==null?void 0:n.id)===c.field.id?[l(),r("active")]:[l()]});return(n,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value),onClick:i[0]||(i[0]=v=>u(n.field))},[e.createVNode(e.unref(m.FormItem),{class:e.normalizeClass(e.unref(o)("form")),label:n.field.title},{default:e.withCtx(()=>[e.unref(t)[n.field.key]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(t)[n.field.key]),e.mergeProps({key:0,style:{width:"100%"},readonly:""},n.field["k-component-props"]),null,16)):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(e.unref(o)("error"))}," 未定义组件 ",2))]),_:1},8,["class","label"])],2))}});exports.default=k;