@blueking/bkui-form 1.0.2 → 1.0.3

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.
@@ -1,3 +1,5 @@
1
+ import { ISuggestionItem } from '../../@types';
2
+ import { PropType, h } from 'vue';
1
3
  declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
2
4
  modelValue: (StringConstructor | NumberConstructor)[];
3
5
  unit: {
@@ -8,11 +10,56 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
8
10
  type: NumberConstructor;
9
11
  default: number;
10
12
  };
11
- }>, {}, {}, {
13
+ suggestions: {
14
+ type: PropType<ISuggestionItem[]>;
15
+ default: () => never[];
16
+ };
17
+ suggestionsLoader: {
18
+ type: PropType<(keyword: string) => Promise<ISuggestionItem[]>>;
19
+ default: null;
20
+ };
21
+ triggerChar: {
22
+ type: StringConstructor;
23
+ default: string;
24
+ };
25
+ suggestionRender: {
26
+ type: PropType<(hFn: typeof h, item: ISuggestionItem) => any>;
27
+ default: null;
28
+ };
29
+ suggestionTemplate: {
30
+ type: StringConstructor;
31
+ default: string;
32
+ };
33
+ }>, {}, {
34
+ showPopover: boolean;
35
+ filterKeyword: string;
36
+ triggerIndex: number;
37
+ resolvedSuggestions: ISuggestionItem[];
38
+ }, {
12
39
  rows(): number;
40
+ hasSuggestions(): boolean;
41
+ filteredSuggestions(): ISuggestionItem[];
13
42
  }, {
14
43
  handleInput(v: any): void;
15
44
  handleBlur(e: any): void;
45
+ handleFocus(): void;
46
+ /**
47
+ * 检测输入值中的触发字符,决定是否显示 popover
48
+ */
49
+ detectTrigger(strValue: string): void;
50
+ /**
51
+ * 加载提示数据(兼容静态和动态)
52
+ */
53
+ loadSuggestions(): Promise<void>;
54
+ /**
55
+ * 选中提示项,将值插入输入框
56
+ */
57
+ handleSelectSuggestion(item: ISuggestionItem): void;
58
+ /**
59
+ * 渲染单个选项内容
60
+ * 优先级:suggestionRender 函数 > suggestionTemplate 模板 > 默认 label
61
+ */
62
+ renderSuggestionContent(item: ISuggestionItem): any;
16
63
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
17
64
  modelValue: (StringConstructor | NumberConstructor)[];
18
65
  unit: {
@@ -23,8 +70,33 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
23
70
  type: NumberConstructor;
24
71
  default: number;
25
72
  };
73
+ suggestions: {
74
+ type: PropType<ISuggestionItem[]>;
75
+ default: () => never[];
76
+ };
77
+ suggestionsLoader: {
78
+ type: PropType<(keyword: string) => Promise<ISuggestionItem[]>>;
79
+ default: null;
80
+ };
81
+ triggerChar: {
82
+ type: StringConstructor;
83
+ default: string;
84
+ };
85
+ suggestionRender: {
86
+ type: PropType<(hFn: typeof h, item: ISuggestionItem) => any>;
87
+ default: null;
88
+ };
89
+ suggestionTemplate: {
90
+ type: StringConstructor;
91
+ default: string;
92
+ };
26
93
  }>> & Readonly<{}>, {
27
94
  unit: string;
28
95
  maxRows: number;
96
+ suggestions: ISuggestionItem[];
97
+ suggestionsLoader: (keyword: string) => Promise<ISuggestionItem[]>;
98
+ triggerChar: string;
99
+ suggestionRender: (hFn: typeof h, item: ISuggestionItem) => any;
100
+ suggestionTemplate: string;
29
101
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
30
102
  export default _default;
@@ -1,2 +1,2 @@
1
- .bk-schema-form{font-size:12px}.bk-schema-form .mb10{margin-bottom:10px}.bk-schema-form .mb0{margin-bottom:0}.bk-schema-form .mt5{margin-top:5px}.bk-schema-form .mr24{margin-right:24px}.bk-schema-form .mr5{margin-right:5px}.bk-schema-form .pr20{padding-right:20px}.bk-schema-form .bk-form-item{margin-top:unset!important;margin-bottom:unset!important}.bk-schema-form .bk-schema-form-group.normal{padding:24px;position:relative}.bk-schema-form .bk-schema-form-group.card{background:#fff;border-radius:2px;padding:0 24px 24px}.bk-schema-form .bk-schema-form-group.hide-empty-row .bk-schema-form-group-content{row-gap:0!important}.bk-schema-form .bk-schema-form-group.hide-empty-row .bk-schema-form-group-content .bk-form-item{margin-bottom:20px}.bk-schema-form .bk-schema-form-group--error{border-color:#f5222d!important}.bk-schema-form .bk-schema-form-group__error-tips{width:10px;height:10px;display:block;position:relative}.bk-schema-form .bk-schema-form-group__error-tips-popover{z-index:1;color:#f5222d;background:#fff;border:1px solid #f5222d;border-radius:2px;max-height:50px;margin-left:10px;padding:5px 10px;font-size:12px;font-weight:400;position:absolute;top:-5px;left:0;overflow:hidden}.bk-schema-form .bk-schema-form-group__error-tips-popover:hover{max-height:unset}.bk-schema-form .bk-schema-form-group__error-tips-popover>p{white-space:nowrap;margin:0;padding:0}.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title{color:#63656e;font-size:14px;font-weight:600}.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.default{margin-bottom:10px;display:inline-block}.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.normal{background:#fff;padding:0 .5em;line-height:2em;position:absolute;top:-1em;left:10px}.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.card{align-items:center;height:50px;margin:0 -24px 8px;padding:0 24px;display:flex}.bk-schema-form .bk-schema-form-group-add{color:#3a84ff;cursor:pointer;align-items:center;font-size:14px;display:flex}.bk-schema-form .bk-schema-form-group-delete{cursor:pointer;color:#979ba5;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:6px;right:8px}.bk-schema-form .bk-schema-form-group-delete:hover{color:#3a84ff}.bk-schema-form .bk-schema-form-reset-default{cursor:pointer;color:#979ba5;justify-content:center;align-items:center;margin-left:8px;font-size:14px;display:inline-flex}.bk-schema-form .bk-schema-form-reset-default:hover{color:#3a84ff}.bk-schema-form .bk-schema-form-label-description{cursor:pointer;border-bottom:1px dashed #979ba5}.bk-schema-form .bk-schema-form-item__error-tips{color:#f5222d;margin:0;font-size:12px;line-height:1.5em}.bk-schema-form .bk-schema-form-item--error .bk-input,.bk-schema-form .bk-schema-form-item--error .bk-textarea-wrapper,.bk-schema-form .bk-schema-form-item--error .bk-select{box-shadow:none;border:1px solid #f5222d}.bk-schema-form .bk-schema-form-item-auto-height .bk-form-content{min-height:auto;line-height:1}.bk-schema-form .table-widget-actions .action-btn{cursor:pointer;margin-right:8px;font-size:14px}.bk-schema-form .table-widget-actions .action-btn:hover{color:#3a84ff}.bk-schema-form .is-disabled .action-btn{cursor:not-allowed;color:#dcdee5!important}.bk-schema-form .bk-schema-form-actions{border-top:1px solid #eaebf0;align-items:center;margin-top:24px;padding-top:16px;display:flex}@font-face{font-family:bk-form;src:url("data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%20%3e%3csvg%3e%3cmetadata%3e%20Created%20by%20font-carrier%20%3c/metadata%3e%3cdefs%3e%3cfont%20id='iconfont'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20%3e%3cfont-face%20font-family='iconfont'%20font-weight='400'%20font-stretch='normal'%20units-per-em='1024'%20ascent='812'%20descent='-212'%20/%3e%3cmissing-glyph%20/%3e%3cglyph%20glyph-name='x'%20unicode='&%23x78;'%20horiz-adv-x='100'%20d='M20%2020%20L50%2020%20L50%20-20%20Z'%20/%3e%3cglyph%20glyph-name='uniE102'%20unicode='&%23xE102;'%20d='M128%20364H896V236H128V364Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE104'%20unicode='&%23xE104;'%20d='M896%20364L576%20364%20576%20684%20448%20684%20448%20364%20128%20364%20128%20236%20448%20236%20448-84%20576-84%20576%20236%20896%20236Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE105'%20unicode='&%23xE105;'%20d='M512%20748C264%20748%2064%20548%2064%20300S264-148%20512-148%20960%2052%20960%20300%20760%20748%20512%20748ZM736%20268H544V76H480V268H288V332H480V524H544V332H736V268Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE106'%20unicode='&%23xE106;'%20d='M672%20588V652C672%20687.2%20643.2%20716%20608%20716H416C380.8%20716%20352%20687.2%20352%20652V588H96V524H208V-52C208-87.2%20236.8-116%20272-116H752C787.2-116%20816-87.2%20816-52V524H928V588H672ZM416%20636C416%20645.6%20422.4%20652%20432%20652H592C601.6%20652%20608%20645.6%20608%20636V588H416V636ZM448%2060H384V412H448V60ZM640%2060H576V412H640V60Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE107'%20unicode='&%23xE107;'%20d='M512%2044C505.6%2044%20498.56%2046.56%20493.44%2052.32L136.96%20436.32C128.64%20445.28%20126.08%20459.36%20129.92%20471.52S144%20492%20155.52%20492H868.48C880%20492%20889.6%20483.68%20894.08%20471.52S895.36%20445.28%20887.04%20436.32L530.56%2052.32C525.44%2046.56%20518.4%2044%20512%2044Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE108'%20unicode='&%23xE108;'%20d='M999.6664%20615.2059C980.5775%20622.5955%20959.5207%20611.8279%20952.8297%20591.3483L924.4915%20506.0519C891.2335%20586.4923%20838.6898%20657.2207%20771.7802%20710.2143%20559.0471%20879.118%20255.9861%20833.0917%2096.5838%20607.183%2019.441%20497.8179-13.2266%20363.1171%204.8783%20227.9942%2022.9833%2092.2378%2090.0896-27.895%20193.4059-110.0244%20279.9948-178.6415%20381.3431-212%20481.9043-212%20628.9086-212%20773.945-141.2716%20868.6024-7.2042%20910.5192%2052.1232%20939.0542%20118.4179%20953.8137%20190.202%20958.1431%20211.5261%20945.5484%20232.4279%20925.8691%20237.0727%20906.1898%20241.7176%20886.5105%20228.4164%20882.1811%20207.0923%20869.7831%20146.4981%20845.5776%2090.3376%20810.1549%2040.2999%20674.9581-151.1947%20417.7498-190.2536%20237.0939-46.6855%20149.5211%2022.7762%2092.8447%20124.3295%2077.4949%20239.184%2062.1451%20353.4052%2089.6961%20467.2041%20155.0313%20559.6788%20290.0312%20751.1734%20547.0428%20790.4435%20727.8954%20646.8754%20793.4275%20594.9375%20842.4289%20522.9423%20868.9959%20441.6574L742.8517%20494.4398C723.9596%20502.2516%20702.7059%20492.3285%20695.2278%20472.06%20687.7497%20451.7916%20697.1957%20428.9896%20716.0879%20420.9667L901.8604%20343.0598C906.1898%20341.1597%20910.716%20340.3151%20915.2423%20340.3151%20915.8327%20340.3151%20916.423%20340.5263%20917.0134%20340.5263%20918.391%20340.3151%20919.7685%20339.6818%20921.1461%20339.6818%20936.2991%20339.6818%20950.4682%20349.816%20955.7816%20365.8618L1021.904%20564.3237C1028.595%20585.2255%201018.7553%20607.8164%20999.6664%20615.2059Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3c/font%3e%3c/defs%3e%3c/svg%3e")format("svg"),url(data:font/ttf;base64,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)format("truetype"),url(data:font/woff;base64,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)format("woff"),url(data:application/vnd.ms-fontobject;base64,vAkAABQJAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAWboFHwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW70H3AAABfAAAAFZjbWFwxM9UTgAAAfQAAAHUZ2x5Zjmq6XMAAAPcAAACSGhlYWQuNKV+AAAA4AAAADZoaGVhB4UDMgAAALwAAAAkaG10eBxk//cAAAHUAAAAIGxvY2ECAgE2AAADyAAAABJtYXhwARYASgAAARgAAAAgbmFtZZAIaAsAAAYkAAAChXBvc3Qz9+vJAAAIrAAAAGcAAQAAAyz/LABcBAD/9//9BAMAAQAAAAAAAAAAAAAAAAAAAAgAAQAAAAEAAB8FullfDzz1AAsEAAAAAADljbEJAAAAAOWNsQn/9/8rBAMDRAAAAAgAAgAAAAAAAAABAAAACAA+AAQAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQONAZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjhCAMs/ywAXANEANUAAAABAAAAAAAABAAAAABkAAAEAAAABAAAAAQAAAAEAAAABAAAAAQA//cAAAAFAAAAAwAAACwAAAAEAAABcAABAAAAAABqAAMAAQAAACwAAwAKAAABcAAEAD4AAAAIAAgAAgAAAHjhAuEI//8AAAB44QLhBP//AAAAAAAAAAEACAAIAAgAAAABAAIAAwAEAAUABgAHAAABBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAABkAAAAAAAAAAcAAAB4AAAAeAAAAAEAAOECAADhAgAAAAIAAOEEAADhBAAAAAMAAOEFAADhBQAAAAQAAOEGAADhBgAAAAUAAOEHAADhBwAAAAYAAOEIAADhCAAAAAcAAAAAAAwAGgA0AFwAngDAASQAAAABAAD/7AAyABQAAgAANzMVFB4UKAAAAAABAAAAAAOAAWwAAwAAEyEVIYADAP0AAWyAAAAAAQAA/6wDgAKsAAsAAAEhESMRIRUhETMRIQOA/sCA/sABQIABQAFsAUD+wID+wAFAAAAAAAIAAP9sA8AC7AALABcAAAEOAQceARc+ATcuARMjFSM1IzUzNTMVMwIAv/wFBfy/v/wFBfwhwEDAwEDAAuwF/L+//AUF/L+//P4lwMBAwMAABAAA/4wDoALMABcAHwAjACcAAAE1LgEnIw4BBxUhFTMRHgEXIT4BNxEzNSU2NzMWFxUjEyMRMxMjETMCoAEkG8AbJAH/AHABJBsB4BskAXD+AAEPoA8BwCBAQMBAQAJMQBskAQEkG0BA/cAbJAEBJBsCQEAwDwEBDzD98AFg/qABYAAAAQAAAAADggHsABAAACUiJwEuAT4BMyEWFxYGBwEGAgAKCf6cBgQGDgkCyBMHAwQG/pwJLAgBgAcTEwsBEwoTB/6ACAAB//f/KwQDA0QAPQAAASYGDwEuAScmBAcOAR4BFx4BMzI2NzY3Ni4BBgcGBwYEJy4CNjc2JBceARcnJg4BFh8BFjM3FzI2PwE2JgPoDxsFHRlNMqf+gn46MBxhTUKTTHDKST8WAxAeGQQTNWv+vI5CUhcoMWsBRI4xSBR+DxsLDA66BgcCBAwTBEIFDQJnBQ0QVT1nKH46q1PCza0+MzNoZVlsERoHERBbTJAxajWSrqRGkDJrJ2k9NAYNHxwHTgMBAQ4MxhEcAAAAEgDeAAEAAAAAAAAAHQAAAAEAAAAAAAEACAAdAAEAAAAAAAIABwAlAAEAAAAAAAMACAAsAAEAAAAAAAQACAA0AAEAAAAAAAUACwA8AAEAAAAAAAYACABHAAEAAAAAAAoAKwBPAAEAAAAAAAsAEwB6AAMAAQQJAAAAOgCNAAMAAQQJAAEAEADHAAMAAQQJAAIADgDXAAMAAQQJAAMAEADlAAMAAQQJAAQAEAD1AAMAAQQJAAUAFgEFAAMAAQQJAAYAEAEbAAMAAQQJAAoAVgErAAMAAQQJAAsAJgGBCiAgQ3JlYXRlZCBieSBmb250LWNhcnJpZXIKICBpY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAIAAgAEMAcgBlAGEAdABlAGQAIABiAHkAIABmAG8AbgB0AC0AYwBhAHIAcgBpAGUAcgAKACAAIABpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQAaQBjAG8AbgBmAG8AbgB0AFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAECAQMBBAEFAQYBBwEIAQkAAXgHdW5pRTEwMgd1bmlFMTA0B3VuaUUxMDUHdW5pRTEwNgd1bmlFMTA3B3VuaUUxMDgAAAA=)format("embedded-opentype");font-weight:400;font-style:normal}.bk-form-icon{speak:none;font-variant:normal;text-transform:none;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;font-family:bk-form!important}.icon-minus-line:before{content:""}.icon-plus-line:before{content:""}.icon-plus-circle-shape:before{content:""}.icon-close3-shape:before{content:""}.icon-down-shape:before{content:""}.icon-reset:before{content:""}
1
+ .bk-schema-form{font-size:12px}.bk-schema-form .mb10{margin-bottom:10px}.bk-schema-form .mb0{margin-bottom:0}.bk-schema-form .mt5{margin-top:5px}.bk-schema-form .mr24{margin-right:24px}.bk-schema-form .mr5{margin-right:5px}.bk-schema-form .pr20{padding-right:20px}.bk-schema-form .bk-form-item{margin-top:unset!important;margin-bottom:unset!important}.bk-schema-form .bk-schema-form-group.normal{padding:24px;position:relative}.bk-schema-form .bk-schema-form-group.card{background:#fff;border-radius:2px;padding:0 24px 24px}.bk-schema-form .bk-schema-form-group.hide-empty-row .bk-schema-form-group-content{row-gap:0!important}.bk-schema-form .bk-schema-form-group.hide-empty-row .bk-schema-form-group-content .bk-form-item{margin-bottom:20px}.bk-schema-form .bk-schema-form-group--error{border-color:#f5222d!important}.bk-schema-form .bk-schema-form-group__error-tips{width:10px;height:10px;display:block;position:relative}.bk-schema-form .bk-schema-form-group__error-tips-popover{z-index:1;color:#f5222d;background:#fff;border:1px solid #f5222d;border-radius:2px;max-height:50px;margin-left:10px;padding:5px 10px;font-size:12px;font-weight:400;position:absolute;top:-5px;left:0;overflow:hidden}.bk-schema-form .bk-schema-form-group__error-tips-popover:hover{max-height:unset}.bk-schema-form .bk-schema-form-group__error-tips-popover>p{white-space:nowrap;margin:0;padding:0}.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title{color:#63656e;font-size:14px;font-weight:600}.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.default{margin-bottom:10px;display:inline-block}.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.normal{background:#fff;padding:0 .5em;line-height:2em;position:absolute;top:-1em;left:10px}.bk-schema-form .bk-schema-form-group .bk-schema-form-group-title.card{align-items:center;height:50px;margin:0 -24px 8px;padding:0 24px;display:flex}.bk-schema-form .bk-schema-form-group-add{color:#3a84ff;cursor:pointer;align-items:center;font-size:14px;display:flex}.bk-schema-form .bk-schema-form-group-delete{cursor:pointer;color:#979ba5;justify-content:center;align-items:center;font-size:14px;display:flex;position:absolute;top:6px;right:8px}.bk-schema-form .bk-schema-form-group-delete:hover{color:#3a84ff}.bk-schema-form .bk-schema-form-reset-default{cursor:pointer;color:#979ba5;justify-content:center;align-items:center;margin-left:8px;font-size:14px;display:inline-flex}.bk-schema-form .bk-schema-form-reset-default:hover{color:#3a84ff}.bk-schema-form .bk-schema-form-label-description{cursor:pointer;border-bottom:1px dashed #979ba5}.bk-schema-form .bk-schema-form-item__error-tips{color:#f5222d;margin:0;font-size:12px;line-height:1.5em}.bk-schema-form .bk-schema-form-item--error .bk-input,.bk-schema-form .bk-schema-form-item--error .bk-textarea-wrapper,.bk-schema-form .bk-schema-form-item--error .bk-select{box-shadow:none;border:1px solid #f5222d}.bk-schema-form .bk-schema-form-item-auto-height .bk-form-content{min-height:auto;line-height:1}.bk-schema-form .table-widget-actions .action-btn{cursor:pointer;margin-right:8px;font-size:14px}.bk-schema-form .table-widget-actions .action-btn:hover{color:#3a84ff}.bk-schema-form .is-disabled .action-btn{cursor:not-allowed;color:#dcdee5!important}.bk-schema-form .bk-schema-form-actions{border-top:1px solid #eaebf0;align-items:center;margin-top:24px;padding-top:16px;display:flex}.input-widget-suggestions{min-width:200px;max-height:200px;overflow-y:auto}.input-widget-suggestion-item{cursor:pointer;color:#63656e;border-bottom:1px solid #f0f1f5;padding:8px 12px;font-size:12px;line-height:22px}.input-widget-suggestion-item:hover{color:#3a84ff;background-color:#e1ecff}.input-widget-suggestion-item:last-child{border-bottom:none}.input-widget-suggestion-empty{color:#c4c6cc;text-align:center;padding:8px 12px;font-size:12px}.bk-popover.bk-pop2-content.bk-select-popover .bk-select-content-wrapper .bk-select-dropdown::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background-color:#dcdee5;border-radius:4px}::-webkit-scrollbar-thumb:hover{background-color:#979ba5}::-webkit-scrollbar-track{background-color:#0000}::-webkit-scrollbar-track:hover{background-color:#f0f1f5}@font-face{font-family:bk-form;src:url("data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%20%3e%3csvg%3e%3cmetadata%3e%20Created%20by%20font-carrier%20%3c/metadata%3e%3cdefs%3e%3cfont%20id='iconfont'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20%3e%3cfont-face%20font-family='iconfont'%20font-weight='400'%20font-stretch='normal'%20units-per-em='1024'%20ascent='812'%20descent='-212'%20/%3e%3cmissing-glyph%20/%3e%3cglyph%20glyph-name='x'%20unicode='&%23x78;'%20horiz-adv-x='100'%20d='M20%2020%20L50%2020%20L50%20-20%20Z'%20/%3e%3cglyph%20glyph-name='uniE102'%20unicode='&%23xE102;'%20d='M128%20364H896V236H128V364Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE104'%20unicode='&%23xE104;'%20d='M896%20364L576%20364%20576%20684%20448%20684%20448%20364%20128%20364%20128%20236%20448%20236%20448-84%20576-84%20576%20236%20896%20236Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE105'%20unicode='&%23xE105;'%20d='M512%20748C264%20748%2064%20548%2064%20300S264-148%20512-148%20960%2052%20960%20300%20760%20748%20512%20748ZM736%20268H544V76H480V268H288V332H480V524H544V332H736V268Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE106'%20unicode='&%23xE106;'%20d='M672%20588V652C672%20687.2%20643.2%20716%20608%20716H416C380.8%20716%20352%20687.2%20352%20652V588H96V524H208V-52C208-87.2%20236.8-116%20272-116H752C787.2-116%20816-87.2%20816-52V524H928V588H672ZM416%20636C416%20645.6%20422.4%20652%20432%20652H592C601.6%20652%20608%20645.6%20608%20636V588H416V636ZM448%2060H384V412H448V60ZM640%2060H576V412H640V60Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE107'%20unicode='&%23xE107;'%20d='M512%2044C505.6%2044%20498.56%2046.56%20493.44%2052.32L136.96%20436.32C128.64%20445.28%20126.08%20459.36%20129.92%20471.52S144%20492%20155.52%20492H868.48C880%20492%20889.6%20483.68%20894.08%20471.52S895.36%20445.28%20887.04%20436.32L530.56%2052.32C525.44%2046.56%20518.4%2044%20512%2044Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3cglyph%20glyph-name='uniE108'%20unicode='&%23xE108;'%20d='M999.6664%20615.2059C980.5775%20622.5955%20959.5207%20611.8279%20952.8297%20591.3483L924.4915%20506.0519C891.2335%20586.4923%20838.6898%20657.2207%20771.7802%20710.2143%20559.0471%20879.118%20255.9861%20833.0917%2096.5838%20607.183%2019.441%20497.8179-13.2266%20363.1171%204.8783%20227.9942%2022.9833%2092.2378%2090.0896-27.895%20193.4059-110.0244%20279.9948-178.6415%20381.3431-212%20481.9043-212%20628.9086-212%20773.945-141.2716%20868.6024-7.2042%20910.5192%2052.1232%20939.0542%20118.4179%20953.8137%20190.202%20958.1431%20211.5261%20945.5484%20232.4279%20925.8691%20237.0727%20906.1898%20241.7176%20886.5105%20228.4164%20882.1811%20207.0923%20869.7831%20146.4981%20845.5776%2090.3376%20810.1549%2040.2999%20674.9581-151.1947%20417.7498-190.2536%20237.0939-46.6855%20149.5211%2022.7762%2092.8447%20124.3295%2077.4949%20239.184%2062.1451%20353.4052%2089.6961%20467.2041%20155.0313%20559.6788%20290.0312%20751.1734%20547.0428%20790.4435%20727.8954%20646.8754%20793.4275%20594.9375%20842.4289%20522.9423%20868.9959%20441.6574L742.8517%20494.4398C723.9596%20502.2516%20702.7059%20492.3285%20695.2278%20472.06%20687.7497%20451.7916%20697.1957%20428.9896%20716.0879%20420.9667L901.8604%20343.0598C906.1898%20341.1597%20910.716%20340.3151%20915.2423%20340.3151%20915.8327%20340.3151%20916.423%20340.5263%20917.0134%20340.5263%20918.391%20340.3151%20919.7685%20339.6818%20921.1461%20339.6818%20936.2991%20339.6818%20950.4682%20349.816%20955.7816%20365.8618L1021.904%20564.3237C1028.595%20585.2255%201018.7553%20607.8164%20999.6664%20615.2059Z'%20horiz-adv-x='1024'%20vert-adv-y='1024'%20/%3e%3c/font%3e%3c/defs%3e%3c/svg%3e")format("svg"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW70H3AAABfAAAAFZjbWFwxM9UTgAAAfQAAAHUZ2x5Zjmq6XMAAAPcAAACSGhlYWQuNKV+AAAA4AAAADZoaGVhB4UDMgAAALwAAAAkaG10eBxk//cAAAHUAAAAIGxvY2ECAgE2AAADyAAAABJtYXhwARYASgAAARgAAAAgbmFtZZAIaAsAAAYkAAAChXBvc3Qz9+vJAAAIrAAAAGcAAQAAAyz/LABcBAD/9//9BAMAAQAAAAAAAAAAAAAAAAAAAAgAAQAAAAEAAB8FullfDzz1AAsEAAAAAADljbEJAAAAAOWNsQn/9/8rBAMDRAAAAAgAAgAAAAAAAAABAAAACAA+AAQAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQONAZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjhCAMs/ywAXANEANUAAAABAAAAAAAABAAAAABkAAAEAAAABAAAAAQAAAAEAAAABAAAAAQA//cAAAAFAAAAAwAAACwAAAAEAAABcAABAAAAAABqAAMAAQAAACwAAwAKAAABcAAEAD4AAAAIAAgAAgAAAHjhAuEI//8AAAB44QLhBP//AAAAAAAAAAEACAAIAAgAAAABAAIAAwAEAAUABgAHAAABBgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAABkAAAAAAAAAAcAAAB4AAAAeAAAAAEAAOECAADhAgAAAAIAAOEEAADhBAAAAAMAAOEFAADhBQAAAAQAAOEGAADhBgAAAAUAAOEHAADhBwAAAAYAAOEIAADhCAAAAAcAAAAAAAwAGgA0AFwAngDAASQAAAABAAD/7AAyABQAAgAANzMVFB4UKAAAAAABAAAAAAOAAWwAAwAAEyEVIYADAP0AAWyAAAAAAQAA/6wDgAKsAAsAAAEhESMRIRUhETMRIQOA/sCA/sABQIABQAFsAUD+wID+wAFAAAAAAAIAAP9sA8AC7AALABcAAAEOAQceARc+ATcuARMjFSM1IzUzNTMVMwIAv/wFBfy/v/wFBfwhwEDAwEDAAuwF/L+//AUF/L+//P4lwMBAwMAABAAA/4wDoALMABcAHwAjACcAAAE1LgEnIw4BBxUhFTMRHgEXIT4BNxEzNSU2NzMWFxUjEyMRMxMjETMCoAEkG8AbJAH/AHABJBsB4BskAXD+AAEPoA8BwCBAQMBAQAJMQBskAQEkG0BA/cAbJAEBJBsCQEAwDwEBDzD98AFg/qABYAAAAQAAAAADggHsABAAACUiJwEuAT4BMyEWFxYGBwEGAgAKCf6cBgQGDgkCyBMHAwQG/pwJLAgBgAcTEwsBEwoTB/6ACAAB//f/KwQDA0QAPQAAASYGDwEuAScmBAcOAR4BFx4BMzI2NzY3Ni4BBgcGBwYEJy4CNjc2JBceARcnJg4BFh8BFjM3FzI2PwE2JgPoDxsFHRlNMqf+gn46MBxhTUKTTHDKST8WAxAeGQQTNWv+vI5CUhcoMWsBRI4xSBR+DxsLDA66BgcCBAwTBEIFDQJnBQ0QVT1nKH46q1PCza0+MzNoZVlsERoHERBbTJAxajWSrqRGkDJrJ2k9NAYNHxwHTgMBAQ4MxhEcAAAAEgDeAAEAAAAAAAAAHQAAAAEAAAAAAAEACAAdAAEAAAAAAAIABwAlAAEAAAAAAAMACAAsAAEAAAAAAAQACAA0AAEAAAAAAAUACwA8AAEAAAAAAAYACABHAAEAAAAAAAoAKwBPAAEAAAAAAAsAEwB6AAMAAQQJAAAAOgCNAAMAAQQJAAEAEADHAAMAAQQJAAIADgDXAAMAAQQJAAMAEADlAAMAAQQJAAQAEAD1AAMAAQQJAAUAFgEFAAMAAQQJAAYAEAEbAAMAAQQJAAoAVgErAAMAAQQJAAsAJgGBCiAgQ3JlYXRlZCBieSBmb250LWNhcnJpZXIKICBpY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAIAAgAEMAcgBlAGEAdABlAGQAIABiAHkAIABmAG8AbgB0AC0AYwBhAHIAcgBpAGUAcgAKACAAIABpAGMAbwBuAGYAbwBuAHQAUgBlAGcAdQBsAGEAcgBpAGMAbwBuAGYAbwBuAHQAaQBjAG8AbgBmAG8AbgB0AFYAZQByAHMAaQBvAG4AIAAxAC4AMABpAGMAbwBuAGYAbwBuAHQARwBlAG4AZQByAGEAdABlAGQAIABiAHkAIABzAHYAZwAyAHQAdABmACAAZgByAG8AbQAgAEYAbwBuAHQAZQBsAGwAbwAgAHAAcgBvAGoAZQBjAHQALgBoAHQAdABwADoALwAvAGYAbwBuAHQAZQBsAGwAbwAuAGMAbwBtAAAAAAIAAAAAAAAACgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAECAQMBBAEFAQYBBwEIAQkAAXgHdW5pRTEwMgd1bmlFMTA0B3VuaUUxMDUHdW5pRTEwNgd1bmlFMTA3B3VuaUUxMDgAAAA=)format("truetype"),url(data:font/woff;base64,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)format("woff"),url(data:application/vnd.ms-fontobject;base64,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)format("embedded-opentype");font-weight:400;font-style:normal}.bk-form-icon{speak:none;font-variant:normal;text-transform:none;text-align:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:400;line-height:1;font-family:bk-form!important}.icon-minus-line:before{content:""}.icon-plus-line:before{content:""}.icon-plus-circle-shape:before{content:""}.icon-close3-shape:before{content:""}.icon-down-shape:before{content:""}.icon-reset:before{content:""}
2
2
  /*$vite$:1*/
package/dist/index.es.js CHANGED
@@ -216,16 +216,20 @@ var Registry = class e {
216
216
  };
217
217
  }
218
218
  static getDefaultWidget(t) {
219
- let n = this.getSchemaType(t), r = null;
219
+ let n = this.getSchemaType(t), r = null, i = t["ui:component"] || {};
220
+ if (i.suggestions || i.suggestionsLoader) {
221
+ let e = register_default.getComponent("bfInput");
222
+ if (e) return e;
223
+ }
220
224
  if (n === "string" && Array.isArray(t.enum) && (r = register_default.getComponent("select")), n === "array" && e.isMultiSelect(t) && (r = register_default.getComponent("checkbox")), typeof n != "object" && (t.oneOf?.length && t.oneOf?.every((e) => e.const) || t.anyOf?.length && t.anyOf?.every((e) => e.const)) && (r = register_default.getComponent("select")), r) return r;
221
- let i = {
225
+ let a = {
222
226
  string: "input",
223
227
  number: "input",
224
228
  integer: "input",
225
229
  boolean: "switcher",
226
230
  null: ""
227
231
  }[n];
228
- return register_default.getComponent(i) || register_default.getBaseWidget(i) || (console.warn(`未注册类型${n}对应的默认表单项`), null);
232
+ return register_default.getComponent(a) || register_default.getBaseWidget(a) || (console.warn(`未注册类型${n}对应的默认表单项`), null);
229
233
  }
230
234
  static isRequired(e, t) {
231
235
  return Array.isArray(e.required) && e.required.includes(t);
@@ -5616,7 +5620,11 @@ var VALIDATOR = "validator", OWN_RULE_PROPERTY = "ui:rules", DEBUG_PREFIX = "[bk
5616
5620
  }
5617
5621
  },
5618
5622
  render() {
5619
- let { name: e, ...t } = Schema.getUiComponent(this.widgetSchema), n = {
5623
+ let { name: e, ...t } = Schema.getUiComponent(this.widgetSchema);
5624
+ Object.keys(t).forEach((e) => {
5625
+ typeof t[e] == "string" && (t[e] = executeExpression(t[e], this));
5626
+ });
5627
+ let n = {
5620
5628
  ...this.$props,
5621
5629
  loading: this.loading,
5622
5630
  modelValue: this.modelValue
@@ -6545,31 +6553,128 @@ var ArrayWidget_default = defineComponent({
6545
6553
  maxRows: {
6546
6554
  type: Number,
6547
6555
  default: 0
6556
+ },
6557
+ suggestions: {
6558
+ type: Array,
6559
+ default: () => []
6560
+ },
6561
+ suggestionsLoader: {
6562
+ type: Function,
6563
+ default: null
6564
+ },
6565
+ triggerChar: {
6566
+ type: String,
6567
+ default: "{{"
6568
+ },
6569
+ suggestionRender: {
6570
+ type: Function,
6571
+ default: null
6572
+ },
6573
+ suggestionTemplate: {
6574
+ type: String,
6575
+ default: ""
6576
+ }
6577
+ },
6578
+ data() {
6579
+ return {
6580
+ showPopover: !1,
6581
+ filterKeyword: "",
6582
+ triggerIndex: -1,
6583
+ resolvedSuggestions: []
6584
+ };
6585
+ },
6586
+ computed: {
6587
+ rows() {
6588
+ let e = String(this.modelValue).split("\n").length;
6589
+ return e <= this.maxRows ? e : this.maxRows;
6590
+ },
6591
+ hasSuggestions() {
6592
+ return !!(Array.isArray(this.suggestions) && this.suggestions.length || this.suggestionsLoader);
6593
+ },
6594
+ filteredSuggestions() {
6595
+ let e = Array.isArray(this.resolvedSuggestions) ? this.resolvedSuggestions : [];
6596
+ if (!this.filterKeyword) return e;
6597
+ let t = this.filterKeyword.toLowerCase();
6598
+ return e.filter((e) => e.label.toLowerCase().includes(t) || e.value.toLowerCase().includes(t));
6548
6599
  }
6549
6600
  },
6550
- computed: { rows() {
6551
- let e = String(this.modelValue).split("\n").length;
6552
- return e <= this.maxRows ? e : this.maxRows;
6553
- } },
6554
6601
  methods: {
6555
6602
  handleInput(e) {
6556
- this.$attrs.type === "number" ? this.$emit("update:modelValue", isNaN(e) || e === "" ? e : Number(e)) : this.$emit("update:modelValue", e);
6603
+ this.$attrs.type === "number" ? this.$emit("update:modelValue", isNaN(e) || e === "" ? e : Number(e)) : this.$emit("update:modelValue", e), this.hasSuggestions && this.detectTrigger(String(e));
6557
6604
  },
6558
6605
  handleBlur(e) {
6559
6606
  let t = e?.target?.value;
6560
- this.$attrs.type === "number" && isNaN(t) && this.$emit("update:modelValue", this.$attrs.min || 0);
6607
+ this.$attrs.type === "number" && isNaN(t) && this.$emit("update:modelValue", this.$attrs.min || 0), this.hasSuggestions && setTimeout(() => {
6608
+ this.showPopover = !1;
6609
+ }, 200);
6610
+ },
6611
+ handleFocus() {
6612
+ if (!this.hasSuggestions) return;
6613
+ let e = String(this.modelValue || "");
6614
+ this.detectTrigger(e);
6615
+ },
6616
+ detectTrigger(e) {
6617
+ let t = e.lastIndexOf(this.triggerChar);
6618
+ if (t !== -1) {
6619
+ let n = e.substring(t + this.triggerChar.length);
6620
+ if (!n.includes("}}")) {
6621
+ this.triggerIndex = t, this.filterKeyword = n, this.showPopover = !0, this.loadSuggestions();
6622
+ return;
6623
+ }
6624
+ }
6625
+ this.showPopover = !1;
6626
+ },
6627
+ async loadSuggestions() {
6628
+ if (this.suggestionsLoader && typeof this.suggestionsLoader == "function") try {
6629
+ this.resolvedSuggestions = await this.suggestionsLoader(this.filterKeyword);
6630
+ } catch (e) {
6631
+ console.error("Failed to load suggestions:", e);
6632
+ }
6633
+ else this.resolvedSuggestions = Array.isArray(this.suggestions) ? this.suggestions : [];
6634
+ },
6635
+ handleSelectSuggestion(e) {
6636
+ this.$emit("update:modelValue", e.value), this.showPopover = !1, this.filterKeyword = "", this.triggerIndex = -1;
6637
+ },
6638
+ renderSuggestionContent(e) {
6639
+ return this.suggestionRender && typeof this.suggestionRender == "function" ? this.suggestionRender(h, e) : this.suggestionTemplate ? this.suggestionTemplate.replace(/\$\{(\w+)\}/g, (t, n) => e[n] ?? "") : e.label;
6561
6640
  }
6562
6641
  },
6563
6642
  render() {
6564
- return h(register_default.getBaseWidget("input"), {
6643
+ let e = h(register_default.getBaseWidget("input"), {
6565
6644
  suffix: this.unit,
6566
6645
  modelValue: this.modelValue,
6567
6646
  rows: this.rows,
6568
6647
  type: this.maxRows > 1 || Number(this.$attrs.rows) > 1 ? "textarea" : "text",
6569
6648
  onInput: this.handleInput,
6570
6649
  onBlur: this.handleBlur,
6650
+ onFocus: this.handleFocus,
6571
6651
  ...this.$attrs
6572
6652
  });
6653
+ if (!this.hasSuggestions) return e;
6654
+ let t = () => h("div", { class: "input-widget-suggestions" }, this.filteredSuggestions?.length ? this.filteredSuggestions?.map((e) => h("div", {
6655
+ class: "input-widget-suggestion-item",
6656
+ onMousedown: (t) => {
6657
+ t.preventDefault(), this.handleSelectSuggestion(e);
6658
+ }
6659
+ }, [this.renderSuggestionContent(e)])) : [h("div", { class: "input-widget-suggestion-empty" }, "无匹配项")]);
6660
+ return h("div", {
6661
+ ref: "wrapperRef",
6662
+ class: "input-widget-wrapper"
6663
+ }, [e, h(register_default.getBaseWidget("popover"), {
6664
+ isShow: this.showPopover,
6665
+ trigger: "manual",
6666
+ theme: "light",
6667
+ placement: "bottom-start",
6668
+ arrow: !1,
6669
+ target: this.$refs.wrapperRef,
6670
+ zIndex: 99999,
6671
+ "onAfter-hidden": () => {
6672
+ this.showPopover = !1;
6673
+ }
6674
+ }, {
6675
+ default: () => null,
6676
+ content: () => t()
6677
+ })]);
6573
6678
  }
6574
6679
  }), defaultOptions = {
6575
6680
  namespace: "bk",
package/dist/index.umd.js CHANGED
@@ -1,4 +1,4 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`),require(`bkui-vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`,`bkui-vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.bkSchemaForm={},e.Vue,e.bkuiVue))})(this,function(exports,vue,bkui_vue){Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__esmMin=(e,t)=>()=>(e&&(t=e(e=0)),t),__commonJSMin=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),__exportAll=(e,t)=>{let n={};for(var r in e)__defProp(n,r,{get:e[r],enumerable:!0});return t||__defProp(n,Symbol.toStringTag,{value:`Module`}),n},__copyProps=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=__getOwnPropNames(t),a=0,o=i.length,s;a<o;a++)s=i[a],!__hasOwnProp.call(e,s)&&s!==n&&__defProp(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=__getOwnPropDesc(t,s))||r.enumerable});return e},__toESM=(e,t,n)=>(n=e==null?{}:__create(__getProtoOf(e)),__copyProps(t||!e||!e.__esModule?__defProp(n,`default`,{value:e,enumerable:!0}):n,e)),__toCommonJS=e=>__hasOwnProp.call(e,`module.exports`)?e[`module.exports`]:__copyProps(__defProp({},`__esModule`,{value:!0}),e),isRegExp=e=>Function(`return ${e};`)()?.constructor===RegExp,isObj=e=>Object.prototype.toString.call(e)===`[object Object]`,globalThisPolyfill=function(){try{if(typeof self<`u`)return self}catch{}try{if(typeof window<`u`)return window}catch{}try{if(typeof global<`u`)return global}catch{}return Function(`return this`)()}(),hasOwnProperty=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),valueType=e=>Array.isArray(e)?`array`:typeof e==`string`?`string`:typeof e==`boolean`?`boolean`:isNaN(e)?e===null?`null`:typeof e==`object`?`object`:typeof e:`number`,merge=(e,t)=>isObj(t)?Object.keys(t).reduce((n,r)=>(n[r]=merge(e?.[r]||{},t[r]),n),JSON.parse(JSON.stringify(e))):Array.isArray(t)?(e=Array.isArray(e)?e:[],t.map((t,n)=>e[n]?merge(e[n],t):t)):t;function initializationValue(e,t={integer:void 0,number:void 0}){switch(e){case`any`:return;case`array`:return[];case`boolean`:return!1;case`integer`:return t.integer;case`null`:return null;case`number`:return t.number;case`object`:return{};case`string`:return``}}function isObject(e){return Object.prototype.toString.call(e)===`[object Object]`}function mergeObject(e,t){let n={...e};for(let[r,i]of Object.entries(t))isObject(i)&&r in e?n[r]=mergeObject(n[r],i):n[r]=i;return n}function mergeDeep(e,...t){return t.reduce(mergeObject,e)}function isArguments(e){return Object.prototype.toString.call(e)===`[object Arguments]`}function deepEquals(e,t,n=[],r=[]){if(e===t||typeof e==`function`||typeof t==`function`)return!0;if(typeof e!=`object`||typeof t!=`object`||e===null||t===null)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(isArguments(e)||isArguments(t)){if(!(isArguments(e)&&isArguments(t)))return!1;let{slice:i}=Array.prototype;return deepEquals(i.call(e),i.call(t),n,r)}if(e.constructor!==t.constructor)return!1;let i=Object.keys(e),a=Object.keys(t);if(i.length===0&&a.length===0)return!0;if(i.length!==a.length)return!1;let o=n.length;for(;o--;)if(n[o]===e)return r[o]===t;n.push(e),r.push(t),i.sort(),a.sort();for(let e=i.length-1;e>=0;e--)if(i[e]!==a[e])return!1;let s;for(let a=i.length-1;a>=0;a--)if(s=i[a],!deepEquals(e[s],t[s],n,r))return!1;return n.pop(),r.pop(),!0}function orderProperties(e,t){if(!Array.isArray(t)||!t.length)return e;let n=e=>e.reduce((e,t)=>(e[t]=!0,e),{}),r=e=>e.length>1?`properties '${e.join(`', '`)}'`:`property '${e[0]}'`,i=n(e),a=t.filter(e=>e===`*`||i[e]),o=n(a),s=e.filter(e=>!o[e]),c=a.indexOf(`*`);if(c===-1){if(s.length)throw Error(`uiSchema order list does not contain ${r(s)}`);return a}if(c!==a.lastIndexOf(`*`))throw Error(`uiSchema order list contains more than one wildcard item`);let l=[...a];return l.splice(c,1,...s),l}var getCookie=e=>{let t=document.cookie.split(`;`);for(let n=0;n<t.length;n++){let[r,i]=t[n].split(`=`);if(r.trim()===e)return i}return null};function capitalizeFirstLetter(e){return e.charAt(0).toUpperCase()+e.slice(1)}function deepClone(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(e=>deepClone(e));if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);let t={};for(let n of Object.keys(e))t[n]=deepClone(e[n]);return t}var Registry=class e{static namespace=`bk`;static context={};widgets=new Map;components=new Map;fields=new Map;addComponentsMap(e={}){this.addMap(`components`,e)}getComponent(e){return this.components.get(e)}addFieldsMap(e={}){this.addMap(`fields`,e)}getField(e){return this.fields.get(e)}addBaseWidgets(e={}){this.addMap(`widgets`,e)}getBaseWidget(t){if(!t){console.warn(`base widget name is empty`);return}return this.widgets.has(t)?this.widgets.get(t):t&&t.indexOf(e.namespace)!==0?(0,vue.resolveComponent)(`${e.namespace}-${t}`):(0,vue.resolveComponent)(t)}addMap(e,t){!e||!t||Object.entries(t).forEach(([t,n])=>{if(this[e].has(t)){console.warn(`repeat key`,t);return}typeof n==`string`?this[e].set(t,(0,vue.resolveComponent)(n)):this[e].set(t,n)})}},register_default=new Registry,Schema=class e{static rootSchema;static resolveRef(){}static resolveDependencies(){}static resolveAdditionalProperties(){}static resolveSchema(e){return isObj(e)?(hasOwnProperty(e,`allOf`),hasOwnProperty(e,`$ref`),e):{}}static getSchemaDefaultValue(e){let t=isObj(e)?e:{};switch(this.getSchemaType(t)){case`null`:return null;case`object`:return Object.keys(t.properties||{}).reduce((e,n)=>(e[n]=this.getSchemaDefaultValue(t.properties?.[n]),e),{});case`array`:return t.default&&Array.isArray(t.default)?t.default:Array.isArray(t.items)?t.items.map(e=>this.getSchemaDefaultValue(e)):[]}return t.default===void 0?initializationValue(t.type||`any`):t.default}static getSchemaType(e){let{type:t}=e;return!t&&e.const?valueType(e.const):!t&&e.enum?`string`:!t&&e.items?`array`:t}static getUiProps(e,t){return(!e||!e.startsWith(`ui:`))&&console.warn(`ui props must start with ui:`),t[e]||{}}static getSchemaField(e){let t=e[`ui:field`];if(t)return t;if(e.oneOf?.length)return{name:register_default.getField(`composition`),composition:`oneOf`};if(e.anyOf?.length)return{name:register_default.getField(`composition`),composition:`anyOf`};let n=register_default.getField(this.getSchemaType(e));return n?{name:n}:{name:null}}static isMultiSelect(e){return!e.uniqueItems||!e.items?!1:Array.isArray(e.items.enum)}static isTupleArray(e){return Array.isArray(e.items)&&e.items?.length>0&&e.items.every(e=>isObj(e))}static isCustomArrayWidget(e){let t=e[`ui:component`]?.name;return e.type===`array`&&t}static resolveFormComponent(e){return typeof e==`string`&&e?(0,vue.resolveComponent)(e):e}static getGroupWrap(e){let{name:t,...n}=e[`ui:group`]||{};return{...n,name:this.resolveFormComponent(register_default.getComponent(t)||t||register_default.getComponent(`group`))}}static getUiComponent(e){let{name:t,...n}=e[`ui:component`]||{};return{name:this.resolveFormComponent(register_default.getComponent(t)||t),...n}}static getDefaultWidget(t){let n=this.getSchemaType(t),r=null;if(n===`string`&&Array.isArray(t.enum)&&(r=register_default.getComponent(`select`)),n===`array`&&e.isMultiSelect(t)&&(r=register_default.getComponent(`checkbox`)),typeof n!=`object`&&(t.oneOf?.length&&t.oneOf?.every(e=>e.const)||t.anyOf?.length&&t.anyOf?.every(e=>e.const))&&(r=register_default.getComponent(`select`)),r)return r;let i={string:`input`,number:`input`,integer:`input`,boolean:`switcher`,null:``}[n];return register_default.getComponent(i)||register_default.getBaseWidget(i)||(console.warn(`未注册类型${n}对应的默认表单项`),null)}static isRequired(e,t){return Array.isArray(e.required)&&e.required.includes(t)}static getUiOptions(e){let t={showTitle:!0,label:e.title,desc:e.description,minLength:e.minLength,maxLength:e.maxLength,...e[`ui:props`]||{}};return{...t,description:t.desc||t.description,labelWidth:t.showTitle?t.labelWidth:.1}}static getDependencies(e,t){return Object.entries(e.dependencies||{}).find(e=>Array.isArray(e[1])&&e[1].includes(t))}static resolveDefaultDatasource(e){if(e[`ui:component`]?.datasource)return e[`ui:component`].datasource;if(Array.isArray(e.enum))return e.enum.map(e=>({value:e,label:e}));if(Array.isArray(e.items?.enum))return(e.items.enum||[]).map(e=>({value:e,label:e}));if(typeof e.type!=`object`&&e.oneOf&&e.oneOf.every(e=>e.const))return e.oneOf.map(e=>({value:e.const,label:e.title||e.const}));if(typeof e.type!=`object`&&e.anyOf&&e.anyOf.every(e=>e.const))return e.anyOf.map(e=>({value:e.const,label:e.title||e.const}))}constructor(t){e.rootSchema=t}},Layout=class{static findLayoutByProp(e,t){let n;return t.find(t=>(n=t.find(t=>t.prop===e),n)),n}layout;constructor(e=[]){Array.isArray(e)?this.layout=this.parseLayout({prop:``,group:e}):this.layout=this.parseLayout(e)}transformValueToPixel(e){return typeof e==`number`?`${e}px`:e}parseLayout(e){let t=this.getLayoutDimension(e.group),n=this.parseGridTemplate(t),r=(e.group||[]).map(e=>Array.isArray(e)?e.map(e=>typeof e==`string`||typeof e==`number`?{prop:e,item:{gridArea:e,overflow:`hidden`}}:typeof e==`object`&&Reflect.has(e,`group`)?this.parseLayout(e):e):(console.error(`layout ${JSON.stringify(e)} error, must be a array`),[])),i=this.parseGridTemplateAreas(t,r);return{prop:e.prop||``,item:{gridArea:e.prop,overflow:`hidden`,...e.item},container:{display:`grid`,gridTemplateAreas:i,gridGap:`24px`,...n,...e.container},group:r}}getLayoutDimension(e=[]){return e.reduce((e,t)=>(Array.isArray(t)||console.error(`layout ${JSON.stringify(t)} error, must be a array`),t&&(e.columns=Math.max(e.columns,t.length||0)),e.rows+=1,e),{columns:0,rows:0})}parseGridTemplate(e){return{gridTemplateColumns:this.repeatTemplate(e.columns,!1),gridTemplateRows:this.repeatTemplate(e.rows)}}parseGridTemplateAreas(e,t){return t.reduce((t,n)=>{let r=this.autoFillColumns(n,e.columns);return t.push(`"${r.join(` `)}"`),t},[]).join(`
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`vue`),require(`bkui-vue`)):typeof define==`function`&&define.amd?define([`exports`,`vue`,`bkui-vue`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.bkSchemaForm={},e.Vue,e.bkuiVue))})(this,function(exports,vue,bkui_vue){Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__esmMin=(e,t)=>()=>(e&&(t=e(e=0)),t),__commonJSMin=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),__exportAll=(e,t)=>{let n={};for(var r in e)__defProp(n,r,{get:e[r],enumerable:!0});return t||__defProp(n,Symbol.toStringTag,{value:`Module`}),n},__copyProps=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=__getOwnPropNames(t),a=0,o=i.length,s;a<o;a++)s=i[a],!__hasOwnProp.call(e,s)&&s!==n&&__defProp(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=__getOwnPropDesc(t,s))||r.enumerable});return e},__toESM=(e,t,n)=>(n=e==null?{}:__create(__getProtoOf(e)),__copyProps(t||!e||!e.__esModule?__defProp(n,`default`,{value:e,enumerable:!0}):n,e)),__toCommonJS=e=>__hasOwnProp.call(e,`module.exports`)?e[`module.exports`]:__copyProps(__defProp({},`__esModule`,{value:!0}),e),isRegExp=e=>Function(`return ${e};`)()?.constructor===RegExp,isObj=e=>Object.prototype.toString.call(e)===`[object Object]`,globalThisPolyfill=function(){try{if(typeof self<`u`)return self}catch{}try{if(typeof window<`u`)return window}catch{}try{if(typeof global<`u`)return global}catch{}return Function(`return this`)()}(),hasOwnProperty=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),valueType=e=>Array.isArray(e)?`array`:typeof e==`string`?`string`:typeof e==`boolean`?`boolean`:isNaN(e)?e===null?`null`:typeof e==`object`?`object`:typeof e:`number`,merge=(e,t)=>isObj(t)?Object.keys(t).reduce((n,r)=>(n[r]=merge(e?.[r]||{},t[r]),n),JSON.parse(JSON.stringify(e))):Array.isArray(t)?(e=Array.isArray(e)?e:[],t.map((t,n)=>e[n]?merge(e[n],t):t)):t;function initializationValue(e,t={integer:void 0,number:void 0}){switch(e){case`any`:return;case`array`:return[];case`boolean`:return!1;case`integer`:return t.integer;case`null`:return null;case`number`:return t.number;case`object`:return{};case`string`:return``}}function isObject(e){return Object.prototype.toString.call(e)===`[object Object]`}function mergeObject(e,t){let n={...e};for(let[r,i]of Object.entries(t))isObject(i)&&r in e?n[r]=mergeObject(n[r],i):n[r]=i;return n}function mergeDeep(e,...t){return t.reduce(mergeObject,e)}function isArguments(e){return Object.prototype.toString.call(e)===`[object Arguments]`}function deepEquals(e,t,n=[],r=[]){if(e===t||typeof e==`function`||typeof t==`function`)return!0;if(typeof e!=`object`||typeof t!=`object`||e===null||t===null)return!1;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(e instanceof RegExp&&t instanceof RegExp)return e.source===t.source&&e.global===t.global&&e.multiline===t.multiline&&e.lastIndex===t.lastIndex&&e.ignoreCase===t.ignoreCase;if(isArguments(e)||isArguments(t)){if(!(isArguments(e)&&isArguments(t)))return!1;let{slice:i}=Array.prototype;return deepEquals(i.call(e),i.call(t),n,r)}if(e.constructor!==t.constructor)return!1;let i=Object.keys(e),a=Object.keys(t);if(i.length===0&&a.length===0)return!0;if(i.length!==a.length)return!1;let o=n.length;for(;o--;)if(n[o]===e)return r[o]===t;n.push(e),r.push(t),i.sort(),a.sort();for(let e=i.length-1;e>=0;e--)if(i[e]!==a[e])return!1;let s;for(let a=i.length-1;a>=0;a--)if(s=i[a],!deepEquals(e[s],t[s],n,r))return!1;return n.pop(),r.pop(),!0}function orderProperties(e,t){if(!Array.isArray(t)||!t.length)return e;let n=e=>e.reduce((e,t)=>(e[t]=!0,e),{}),r=e=>e.length>1?`properties '${e.join(`', '`)}'`:`property '${e[0]}'`,i=n(e),a=t.filter(e=>e===`*`||i[e]),o=n(a),s=e.filter(e=>!o[e]),c=a.indexOf(`*`);if(c===-1){if(s.length)throw Error(`uiSchema order list does not contain ${r(s)}`);return a}if(c!==a.lastIndexOf(`*`))throw Error(`uiSchema order list contains more than one wildcard item`);let l=[...a];return l.splice(c,1,...s),l}var getCookie=e=>{let t=document.cookie.split(`;`);for(let n=0;n<t.length;n++){let[r,i]=t[n].split(`=`);if(r.trim()===e)return i}return null};function capitalizeFirstLetter(e){return e.charAt(0).toUpperCase()+e.slice(1)}function deepClone(e){if(typeof e!=`object`||!e)return e;if(Array.isArray(e))return e.map(e=>deepClone(e));if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);let t={};for(let n of Object.keys(e))t[n]=deepClone(e[n]);return t}var Registry=class e{static namespace=`bk`;static context={};widgets=new Map;components=new Map;fields=new Map;addComponentsMap(e={}){this.addMap(`components`,e)}getComponent(e){return this.components.get(e)}addFieldsMap(e={}){this.addMap(`fields`,e)}getField(e){return this.fields.get(e)}addBaseWidgets(e={}){this.addMap(`widgets`,e)}getBaseWidget(t){if(!t){console.warn(`base widget name is empty`);return}return this.widgets.has(t)?this.widgets.get(t):t&&t.indexOf(e.namespace)!==0?(0,vue.resolveComponent)(`${e.namespace}-${t}`):(0,vue.resolveComponent)(t)}addMap(e,t){!e||!t||Object.entries(t).forEach(([t,n])=>{if(this[e].has(t)){console.warn(`repeat key`,t);return}typeof n==`string`?this[e].set(t,(0,vue.resolveComponent)(n)):this[e].set(t,n)})}},register_default=new Registry,Schema=class e{static rootSchema;static resolveRef(){}static resolveDependencies(){}static resolveAdditionalProperties(){}static resolveSchema(e){return isObj(e)?(hasOwnProperty(e,`allOf`),hasOwnProperty(e,`$ref`),e):{}}static getSchemaDefaultValue(e){let t=isObj(e)?e:{};switch(this.getSchemaType(t)){case`null`:return null;case`object`:return Object.keys(t.properties||{}).reduce((e,n)=>(e[n]=this.getSchemaDefaultValue(t.properties?.[n]),e),{});case`array`:return t.default&&Array.isArray(t.default)?t.default:Array.isArray(t.items)?t.items.map(e=>this.getSchemaDefaultValue(e)):[]}return t.default===void 0?initializationValue(t.type||`any`):t.default}static getSchemaType(e){let{type:t}=e;return!t&&e.const?valueType(e.const):!t&&e.enum?`string`:!t&&e.items?`array`:t}static getUiProps(e,t){return(!e||!e.startsWith(`ui:`))&&console.warn(`ui props must start with ui:`),t[e]||{}}static getSchemaField(e){let t=e[`ui:field`];if(t)return t;if(e.oneOf?.length)return{name:register_default.getField(`composition`),composition:`oneOf`};if(e.anyOf?.length)return{name:register_default.getField(`composition`),composition:`anyOf`};let n=register_default.getField(this.getSchemaType(e));return n?{name:n}:{name:null}}static isMultiSelect(e){return!e.uniqueItems||!e.items?!1:Array.isArray(e.items.enum)}static isTupleArray(e){return Array.isArray(e.items)&&e.items?.length>0&&e.items.every(e=>isObj(e))}static isCustomArrayWidget(e){let t=e[`ui:component`]?.name;return e.type===`array`&&t}static resolveFormComponent(e){return typeof e==`string`&&e?(0,vue.resolveComponent)(e):e}static getGroupWrap(e){let{name:t,...n}=e[`ui:group`]||{};return{...n,name:this.resolveFormComponent(register_default.getComponent(t)||t||register_default.getComponent(`group`))}}static getUiComponent(e){let{name:t,...n}=e[`ui:component`]||{};return{name:this.resolveFormComponent(register_default.getComponent(t)||t),...n}}static getDefaultWidget(t){let n=this.getSchemaType(t),r=null,i=t[`ui:component`]||{};if(i.suggestions||i.suggestionsLoader){let e=register_default.getComponent(`bfInput`);if(e)return e}if(n===`string`&&Array.isArray(t.enum)&&(r=register_default.getComponent(`select`)),n===`array`&&e.isMultiSelect(t)&&(r=register_default.getComponent(`checkbox`)),typeof n!=`object`&&(t.oneOf?.length&&t.oneOf?.every(e=>e.const)||t.anyOf?.length&&t.anyOf?.every(e=>e.const))&&(r=register_default.getComponent(`select`)),r)return r;let a={string:`input`,number:`input`,integer:`input`,boolean:`switcher`,null:``}[n];return register_default.getComponent(a)||register_default.getBaseWidget(a)||(console.warn(`未注册类型${n}对应的默认表单项`),null)}static isRequired(e,t){return Array.isArray(e.required)&&e.required.includes(t)}static getUiOptions(e){let t={showTitle:!0,label:e.title,desc:e.description,minLength:e.minLength,maxLength:e.maxLength,...e[`ui:props`]||{}};return{...t,description:t.desc||t.description,labelWidth:t.showTitle?t.labelWidth:.1}}static getDependencies(e,t){return Object.entries(e.dependencies||{}).find(e=>Array.isArray(e[1])&&e[1].includes(t))}static resolveDefaultDatasource(e){if(e[`ui:component`]?.datasource)return e[`ui:component`].datasource;if(Array.isArray(e.enum))return e.enum.map(e=>({value:e,label:e}));if(Array.isArray(e.items?.enum))return(e.items.enum||[]).map(e=>({value:e,label:e}));if(typeof e.type!=`object`&&e.oneOf&&e.oneOf.every(e=>e.const))return e.oneOf.map(e=>({value:e.const,label:e.title||e.const}));if(typeof e.type!=`object`&&e.anyOf&&e.anyOf.every(e=>e.const))return e.anyOf.map(e=>({value:e.const,label:e.title||e.const}))}constructor(t){e.rootSchema=t}},Layout=class{static findLayoutByProp(e,t){let n;return t.find(t=>(n=t.find(t=>t.prop===e),n)),n}layout;constructor(e=[]){Array.isArray(e)?this.layout=this.parseLayout({prop:``,group:e}):this.layout=this.parseLayout(e)}transformValueToPixel(e){return typeof e==`number`?`${e}px`:e}parseLayout(e){let t=this.getLayoutDimension(e.group),n=this.parseGridTemplate(t),r=(e.group||[]).map(e=>Array.isArray(e)?e.map(e=>typeof e==`string`||typeof e==`number`?{prop:e,item:{gridArea:e,overflow:`hidden`}}:typeof e==`object`&&Reflect.has(e,`group`)?this.parseLayout(e):e):(console.error(`layout ${JSON.stringify(e)} error, must be a array`),[])),i=this.parseGridTemplateAreas(t,r);return{prop:e.prop||``,item:{gridArea:e.prop,overflow:`hidden`,...e.item},container:{display:`grid`,gridTemplateAreas:i,gridGap:`24px`,...n,...e.container},group:r}}getLayoutDimension(e=[]){return e.reduce((e,t)=>(Array.isArray(t)||console.error(`layout ${JSON.stringify(t)} error, must be a array`),t&&(e.columns=Math.max(e.columns,t.length||0)),e.rows+=1,e),{columns:0,rows:0})}parseGridTemplate(e){return{gridTemplateColumns:this.repeatTemplate(e.columns,!1),gridTemplateRows:this.repeatTemplate(e.rows)}}parseGridTemplateAreas(e,t){return t.reduce((t,n)=>{let r=this.autoFillColumns(n,e.columns);return t.push(`"${r.join(` `)}"`),t},[]).join(`
2
2
  `)}autoFillColumns(e,t){if(e.length===t)return e.map(e=>e.prop);let n=Math.floor((t-e.length)/e.length),r=e.reduce((e,t)=>{e.push(t.prop);let r=Array(n).fill(t.prop);return e.concat(r)},[]);if(r.length<t){let e=Array(t-r.length).fill(`.`);return r.concat(e)}return r}repeatTemplate(e,t=!0){return Array(e+1).join(t?`auto `:`1fr `).trim()}};function createProxy(e,t){return new Proxy(e,{get(e,n,r){return typeof e[n]==`function`?e[n].apply(t):Reflect.get(e,n,r)}})}var Path=class{static separator=`.`;static getCurPath(e,t){return e===``?t:[e,t].join(this.separator)}static getPathVal(e,t,n=0){if(!t)return e;let r=t.split(this.separator);for(let t=0;t<r.length-n;t+=1){if(e===void 0)return;e=r[t]===``?e:e[r[t]]}return e}static setPathValue(e={},t,n){let r=JSON.parse(JSON.stringify(e)),i=t.split(this.separator),a=i.pop()||``,o=r;return i.forEach(e=>{o[e]||(o[e]={}),o=o[e]}),o[a]=n,r}static getSubPath(e,t){return t.replace(`${e}.`,``)}static getPathLastProp(e){return e.split(this.separator).pop()}static getParentPath(e){let t=e.split(this.separator);return t.length<=1?``:t.slice(0,t.length-1).join(this.separator)}},methodsWithoutData=[`GET`,`HEAD`,`OPTIONS`,`DELETE`],defaultConfig={responseType:`json`,method:`GET`,params:{},headers:{},cache:`no-cache`},fetch_default=async(e,t={})=>{let{params:n,responseType:r=`json`,method:i=`GET`,headers:a={},responseParse:o,...s}=mergeDeep(defaultConfig,t),c,l=e;methodsWithoutData.includes(i.toUpperCase())?l=`${l}?${isObj(n)?new URLSearchParams(n):n||``}`:isObj(n)?(a[`Content-Type`]=`application/json;charset=utf-8`,c=JSON.stringify(n)):c=n;try{let e=await fetch(l,{...s,method:i.toLocaleUpperCase(),headers:a,body:c});if(e.ok){let t=await e[r]();if(o){if(typeof o==`function`)return Promise.resolve(o(t));if(isObj(o)){let{dataKey:e=`data`,labelKey:n,valueKey:r}=o,i=(t?.[e]||[]).map(e=>({...e,label:e?.[n],value:e?.[r]}));return Promise.resolve(i)}return Promise.resolve(t)}return Promise.resolve(t)}switch(e.status){case 400:break;case 401:break;case 403:case 500:break}}catch(e){console.error(`Request Failed`,e),Promise.reject(e)}},props_default={modelValue:{type:Object,default:()=>({})},rules:{type:Object,default:()=>({})},schema:{type:Object,default:()=>({})},width:{type:[String,Number],default:`100%`},layout:{type:[Array,Object],default:()=>[]},formType:{type:String,default:`default`},context:{type:Object,default:()=>({})},httpAdapter:{type:Object,default:()=>({request:fetch_default,responseParse:e=>e})},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonlyMode:{type:String,default:`value`,validator:e=>[`value`,`custom`].includes(e)},labelWidth:{type:Number,default:150},showResetButton:{type:Boolean,default:!1},resetButtonText:{type:String,default:`恢复默认值`},resetButtonProps:{type:Object,default:()=>({})}},FieldProps_default={schema:{type:Object,default:()=>({})},path:{type:String,default:``},required:{type:Boolean,default:!1},rootData:{type:Object,default:()=>({})},modelValue:{type:[String,Number,Array,Object,Boolean]},layout:{type:Object,default:()=>({})},context:{type:Object,default:()=>({})},removeable:{type:Boolean,default:!1},httpAdapter:{type:Object,default:()=>({request:fetch_default,responseParse:e=>e})},visible:{type:Boolean,default:!0},error:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},readonlyMode:{type:String,default:`value`,validator:e=>[`value`,`custom`].includes(e)},showResetDefault:{type:Boolean,default:!1}},SchemaField_default=(0,vue.defineComponent)({name:`SchemaField`,props:FieldProps_default,render(){let{schema:e,rootData:t,path:n}=this.$props,r=Schema.resolveSchema(e);if(!Object.keys(e).length)return null;let{name:i,...a}=Schema.getSchemaField(r);return i?(0,vue.h)(i,{...this.$attrs,...this.$props,...a,modelValue:Path.getPathVal(t,n),schema:r},this.$slots):null}}),getContext=e=>{let{context:t,loadDataSource:n,validate:r,schema:i,rootData:a,widgetNode:o}=e;return{$self:e,$context:t,$schema:i,$rules:i.rules,$loadDataSource:n,$validate:r,$rootData:a,$widgetNode:o}},executeExpression=(expression,instance,$dep=[])=>{const{$self,$context,$schema,$rules,$loadDataSource,$validate,$rootData,$widgetNode}=getContext(instance),context={$self,$context,$schema,$rules,$loadDataSource,$validate,$rootData,$widgetNode,$dep};if(typeof expression==`string`){if(!/^{{.+}}$/.test(expression.trim()))return expression;const expStr=expression.trim().replace(/(^{{)|(}}$)/g,``).trim(),innerFuncs=[`$loadDataSource`,`$validate`],func=function({$self,$context,$schema,$rules,$loadDataSource,$validate,$rootData,$widgetNode,$dep}){try{return innerFuncs.includes(expStr)?eval(`${expStr}()`):eval(expStr)}catch(e){console.error(`execute ${expStr} error, please check. \n`,e)}};return func(context)}if(isObj(expression))return Object.keys(expression).forEach(e=>{expression[e]=executeExpression(expression[e],instance)}),expression},parseStrTemplate=e=>{let t=Registry.context,n=e.trim().replace(/(^{{)|(}}$)/g,``).trim();try{return Function(`$context`,`return ${n}`)(t)}catch(t){console.error(`parse template ${e} error`,t)}},isExpression=e=>typeof e==`string`&&/{{.*}}/.test(e),WidgetNode=class{id;instance;parent;type;index;children;constructor(e){let{id:t,instance:n,parent:r,index:i,type:a,children:o=[]}=e;this.id=t,this.type=a,this.index=i,this.instance=n,this.parent=r,this.children=o}get value(){return this.instance?.value}get isChildrenVisible(){return this.type===`node`?this.instance?.state.visible:this.children.some(e=>e.isChildrenVisible)}get parents(){return this.parent?[...this.parent.parents,this.parent]:[]}get firstChild(){return this.children[0]||null}get lastChild(){return this.children[this.children.length-1]||null}getSibling(e){let t=RegExp(`${Path.getPathLastProp(this.id)||``}$`),n=this.id.replace(t,e);return this.parent?.children.find(e=>e.id===n)}getSiblings(){return this.parent?.children.filter(e=>e.instance!==this.instance)||[]}get isLeaf(){return!this.children.length}appendChild(e){let t=Array.isArray(e)?e:[e],n=e.index===void 0?this.children.length:e.index;return this.children.splice(n,0,...t),this.children.slice(n).forEach((e,t)=>{e.index=n+t}),t}removeChild(e){let t=Array.isArray(e)?e:[e],n=[];t.forEach(e=>{let{index:t}=e;n.push(t),this.children.splice(t,1)});let r=Math.min(...n);return this.children.slice(r).forEach((e,t)=>{e.index=r+t}),t}},WidgetTree=class{widgetMap={};addWidgetNode(e,t,n,r){if(e===``){let i=new WidgetNode({id:``,type:n,index:r,parent:null,instance:t,children:[]});this.widgetMap[e]=i}else{let i=Path.getParentPath(e),a=this.widgetMap[i],o=new WidgetNode({id:t?.path||e,type:n,index:r,parent:a,instance:t,children:[]});a?a.appendChild(o):console.warn(`Unexpected parent id, please check widget node`,o),this.widgetMap[e]=o}}removeWidgetNode(e,t){let n=this.widgetMap[e];if(n){if(n.parent){let{children:e}=n.parent,r=e.findIndex(e=>e.instance===t);r>-1&&(e.splice(r,1),e.slice(r).forEach((e,t)=>{e.index=r+t}))}n.instance===t&&delete this.widgetMap[e]}}},widgetTree_default=new WidgetTree,reactionsMap={},subscribe=(e,t,n)=>{if(reactionsMap[e]||(reactionsMap[e]={lifetime:{},effect:{},fns:[]}),t===`valChange`)reactionsMap[e].fns.push(n);else{let[r,i]=t.split(`/`);reactionsMap[e][r][i]?reactionsMap[e][r][i].push(n):reactionsMap[e][r][i]=[n]}},resolveReaction=(e,t,n)=>()=>{let{instance:r}=widgetTree_default.widgetMap[e]||{},{instance:i}=widgetTree_default.widgetMap[t]||{},a=!0,o=[];n.source&&(Array.isArray(n.source)?n.source:[n.source]).forEach(t=>{let{instance:n}=widgetTree_default.widgetMap[parsePath(t,e)];o.push(n)}),typeof n.if==`string`&&(a=executeExpression(n.if,r,o)),executeOperations(a?n.then:n.else,i,o)},executeOperations=(e,t,n)=>{e&&(e.state&&Object.keys(e.state).forEach(r=>{let i=e.state[r];typeof i==`string`&&/^{{.+}}$/.test(i.trim())&&(i=executeExpression(i,t,n)),t.setState(r,i)}),Array.isArray(e.actions)&&e.actions.forEach(e=>{executeExpression(e,t,n)}))},parsePath=(e,t)=>isExpression(e)?executeExpression(e,t):e,reactionRegister=(e,t=[])=>{let{instance:n}=widgetTree_default.widgetMap[e]||{};t&&Array.isArray(t)&&t.forEach(t=>{let r=t.source?Array.isArray(t.source)?t.source:[t.source]:[e],i=parsePath(typeof t.target==`string`?t.target:e,n);r.forEach(r=>{let a=parsePath(r,n);typeof t.lifetime==`string`&&subscribe(a,`lifetime/${t.lifetime}`,resolveReaction(e,i,t)),typeof t.effect==`string`&&subscribe(a,`effect/${t.effect}`,resolveReaction(e,i,t)),!t.lifetime&&!t.effect&&subscribe(a,`valChange`,resolveReaction(e,i,t))})})},reactionUnRegister=e=>{delete reactionsMap[e]},reactionDispatch=(e,t)=>{let[n=``,r=``]=t.split(`/`),i=[];reactionsMap[e]&&(n===`valChange`?i=reactionsMap[e].fns:reactionsMap[e]?.[n]?.[r]&&(i=reactionsMap[e][n][r]),i.forEach(e=>{e()}))},require_code$1=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.regexpCode=e.getEsmExportName=e.getProperty=e.safeStringify=e.stringify=e.strConcat=e.addCodeArg=e.str=e._=e.nil=e._Code=e.Name=e.IDENTIFIER=e._CodeOrName=void 0;var t=class{};e._CodeOrName=t,e.IDENTIFIER=/^[a-z$_][a-z$_0-9]*$/i;var n=class extends t{constructor(t){if(super(),!e.IDENTIFIER.test(t))throw Error(`CodeGen: name must be a valid identifier`);this.str=t}toString(){return this.str}emptyStr(){return!1}get names(){return{[this.str]:1}}};e.Name=n;var r=class extends t{constructor(e){super(),this._items=typeof e==`string`?[e]:e}toString(){return this.str}emptyStr(){if(this._items.length>1)return!1;let e=this._items[0];return e===``||e===`""`}get str(){var e;return this._str??=this._items.reduce((e,t)=>`${e}${t}`,``)}get names(){var e;return this._names??=this._items.reduce((e,t)=>(t instanceof n&&(e[t.str]=(e[t.str]||0)+1),e),{})}};e._Code=r,e.nil=new r(``);function i(e,...t){let n=[e[0]],i=0;for(;i<t.length;)s(n,t[i]),n.push(e[++i]);return new r(n)}e._=i;var a=new r(`+`);function o(e,...t){let n=[p(e[0])],i=0;for(;i<t.length;)n.push(a),s(n,t[i]),n.push(a,p(e[++i]));return c(n),new r(n)}e.str=o;function s(e,t){t instanceof r?e.push(...t._items):t instanceof n?e.push(t):e.push(d(t))}e.addCodeArg=s;function c(e){let t=1;for(;t<e.length-1;){if(e[t]===a){let n=l(e[t-1],e[t+1]);if(n!==void 0){e.splice(t-1,3,n);continue}e[t++]=`+`}t++}}function l(e,t){if(t===`""`)return e;if(e===`""`)return t;if(typeof e==`string`)return t instanceof n||e[e.length-1]!==`"`?void 0:typeof t==`string`?t[0]===`"`?e.slice(0,-1)+t.slice(1):void 0:`${e.slice(0,-1)}${t}"`;if(typeof t==`string`&&t[0]===`"`&&!(e instanceof n))return`"${e}${t.slice(1)}`}function u(e,t){return t.emptyStr()?e:e.emptyStr()?t:o`${e}${t}`}e.strConcat=u;function d(e){return typeof e==`number`||typeof e==`boolean`||e===null?e:p(Array.isArray(e)?e.join(`,`):e)}function f(e){return new r(p(e))}e.stringify=f;function p(e){return JSON.stringify(e).replace(/\u2028/g,`\\u2028`).replace(/\u2029/g,`\\u2029`)}e.safeStringify=p;function m(t){return typeof t==`string`&&e.IDENTIFIER.test(t)?new r(`.${t}`):i`[${t}]`}e.getProperty=m;function h(t){if(typeof t==`string`&&e.IDENTIFIER.test(t))return new r(`${t}`);throw Error(`CodeGen: invalid export name: ${t}, use explicit $id name mapping`)}e.getEsmExportName=h;function g(e){return new r(e.toString())}e.regexpCode=g})),require_scope=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.ValueScope=e.ValueScopeName=e.Scope=e.varKinds=e.UsedValueState=void 0;var t=require_code$1(),n=class extends Error{constructor(e){super(`CodeGen: "code" for ${e} not defined`),this.value=e.value}},r;(function(e){e[e.Started=0]=`Started`,e[e.Completed=1]=`Completed`})(r||(e.UsedValueState=r={})),e.varKinds={const:new t.Name(`const`),let:new t.Name(`let`),var:new t.Name(`var`)};var i=class{constructor({prefixes:e,parent:t}={}){this._names={},this._prefixes=e,this._parent=t}toName(e){return e instanceof t.Name?e:this.name(e)}name(e){return new t.Name(this._newName(e))}_newName(e){let t=this._names[e]||this._nameGroup(e);return`${e}${t.index++}`}_nameGroup(e){var t,n;if((this._parent?._prefixes)?.has(e)||this._prefixes&&!this._prefixes.has(e))throw Error(`CodeGen: prefix "${e}" is not allowed in this scope`);return this._names[e]={prefix:e,index:0}}};e.Scope=i;var a=class extends t.Name{constructor(e,t){super(t),this.prefix=e}setValue(e,{property:n,itemIndex:r}){this.value=e,this.scopePath=(0,t._)`.${new t.Name(n)}[${r}]`}};e.ValueScopeName=a;var o=(0,t._)`\n`;e.ValueScope=class extends i{constructor(e){super(e),this._values={},this._scope=e.scope,this.opts={...e,_n:e.lines?o:t.nil}}get(){return this._scope}name(e){return new a(e,this._newName(e))}value(e,t){var n;if(t.ref===void 0)throw Error(`CodeGen: ref must be passed in value`);let r=this.toName(e),{prefix:i}=r,a=t.key??t.ref,o=this._values[i];if(o){let e=o.get(a);if(e)return e}else o=this._values[i]=new Map;o.set(a,r);let s=this._scope[i]||(this._scope[i]=[]),c=s.length;return s[c]=t.ref,r.setValue(t,{property:i,itemIndex:c}),r}getValue(e,t){let n=this._values[e];if(n)return n.get(t)}scopeRefs(e,n=this._values){return this._reduceValues(n,n=>{if(n.scopePath===void 0)throw Error(`CodeGen: name "${n}" has no value`);return(0,t._)`${e}${n.scopePath}`})}scopeCode(e=this._values,t,n){return this._reduceValues(e,e=>{if(e.value===void 0)throw Error(`CodeGen: name "${e}" has no value`);return e.value.code},t,n)}_reduceValues(i,a,o={},s){let c=t.nil;for(let l in i){let u=i[l];if(!u)continue;let d=o[l]=o[l]||new Map;u.forEach(i=>{if(d.has(i))return;d.set(i,r.Started);let o=a(i);if(o){let n=this.opts.es5?e.varKinds.var:e.varKinds.const;c=(0,t._)`${c}${n} ${i} = ${o};${this.opts._n}`}else if(o=s?.(i))c=(0,t._)`${c}${o}${this.opts._n}`;else throw new n(i);d.set(i,r.Completed)})}return c}}})),require_codegen=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.or=e.and=e.not=e.CodeGen=e.operators=e.varKinds=e.ValueScopeName=e.ValueScope=e.Scope=e.Name=e.regexpCode=e.stringify=e.getProperty=e.nil=e.strConcat=e.str=e._=void 0;var t=require_code$1(),n=require_scope(),r=require_code$1();Object.defineProperty(e,`_`,{enumerable:!0,get:function(){return r._}}),Object.defineProperty(e,`str`,{enumerable:!0,get:function(){return r.str}}),Object.defineProperty(e,`strConcat`,{enumerable:!0,get:function(){return r.strConcat}}),Object.defineProperty(e,`nil`,{enumerable:!0,get:function(){return r.nil}}),Object.defineProperty(e,`getProperty`,{enumerable:!0,get:function(){return r.getProperty}}),Object.defineProperty(e,`stringify`,{enumerable:!0,get:function(){return r.stringify}}),Object.defineProperty(e,`regexpCode`,{enumerable:!0,get:function(){return r.regexpCode}}),Object.defineProperty(e,`Name`,{enumerable:!0,get:function(){return r.Name}});var i=require_scope();Object.defineProperty(e,`Scope`,{enumerable:!0,get:function(){return i.Scope}}),Object.defineProperty(e,`ValueScope`,{enumerable:!0,get:function(){return i.ValueScope}}),Object.defineProperty(e,`ValueScopeName`,{enumerable:!0,get:function(){return i.ValueScopeName}}),Object.defineProperty(e,`varKinds`,{enumerable:!0,get:function(){return i.varKinds}}),e.operators={GT:new t._Code(`>`),GTE:new t._Code(`>=`),LT:new t._Code(`<`),LTE:new t._Code(`<=`),EQ:new t._Code(`===`),NEQ:new t._Code(`!==`),NOT:new t._Code(`!`),OR:new t._Code(`||`),AND:new t._Code(`&&`),ADD:new t._Code(`+`)};var a=class{optimizeNodes(){return this}optimizeNames(e,t){return this}},o=class extends a{constructor(e,t,n){super(),this.varKind=e,this.name=t,this.rhs=n}render({es5:e,_n:t}){let r=e?n.varKinds.var:this.varKind,i=this.rhs===void 0?``:` = ${this.rhs}`;return`${r} ${this.name}${i};`+t}optimizeNames(e,t){if(e[this.name.str])return this.rhs&&=k(this.rhs,e,t),this}get names(){return this.rhs instanceof t._CodeOrName?this.rhs.names:{}}},s=class extends a{constructor(e,t,n){super(),this.lhs=e,this.rhs=t,this.sideEffects=n}render({_n:e}){return`${this.lhs} = ${this.rhs};`+e}optimizeNames(e,n){if(!(this.lhs instanceof t.Name&&!e[this.lhs.str]&&!this.sideEffects))return this.rhs=k(this.rhs,e,n),this}get names(){return O(this.lhs instanceof t.Name?{}:{...this.lhs.names},this.rhs)}},c=class extends s{constructor(e,t,n,r){super(e,n,r),this.op=t}render({_n:e}){return`${this.lhs} ${this.op}= ${this.rhs};`+e}},l=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`${this.label}:`+e}},u=class extends a{constructor(e){super(),this.label=e,this.names={}}render({_n:e}){return`break${this.label?` ${this.label}`:``};`+e}},d=class extends a{constructor(e){super(),this.error=e}render({_n:e}){return`throw ${this.error};`+e}get names(){return this.error.names}},f=class extends a{constructor(e){super(),this.code=e}render({_n:e}){return`${this.code};`+e}optimizeNodes(){return`${this.code}`?this:void 0}optimizeNames(e,t){return this.code=k(this.code,e,t),this}get names(){return this.code instanceof t._CodeOrName?this.code.names:{}}},p=class extends a{constructor(e=[]){super(),this.nodes=e}render(e){return this.nodes.reduce((t,n)=>t+n.render(e),``)}optimizeNodes(){let{nodes:e}=this,t=e.length;for(;t--;){let n=e[t].optimizeNodes();Array.isArray(n)?e.splice(t,1,...n):n?e[t]=n:e.splice(t,1)}return e.length>0?this:void 0}optimizeNames(e,t){let{nodes:n}=this,r=n.length;for(;r--;){let i=n[r];i.optimizeNames(e,t)||(A(e,i.names),n.splice(r,1))}return n.length>0?this:void 0}get names(){return this.nodes.reduce((e,t)=>D(e,t.names),{})}},m=class extends p{render(e){return`{`+e._n+super.render(e)+`}`+e._n}},h=class extends p{},g=class extends m{};g.kind=`else`;var _=class e extends m{constructor(e,t){super(t),this.condition=e}render(e){let t=`if(${this.condition})`+super.render(e);return this.else&&(t+=`else `+this.else.render(e)),t}optimizeNodes(){super.optimizeNodes();let t=this.condition;if(t===!0)return this.nodes;let n=this.else;if(n){let e=n.optimizeNodes();n=this.else=Array.isArray(e)?new g(e):e}if(n)return t===!1?n instanceof e?n:n.nodes:this.nodes.length?this:new e(j(t),n instanceof e?[n]:n.nodes);if(!(t===!1||!this.nodes.length))return this}optimizeNames(e,t){var n;if(this.else=this.else?.optimizeNames(e,t),super.optimizeNames(e,t)||this.else)return this.condition=k(this.condition,e,t),this}get names(){let e=super.names;return O(e,this.condition),this.else&&D(e,this.else.names),e}};_.kind=`if`;var v=class extends m{};v.kind=`for`;var y=class extends v{constructor(e){super(),this.iteration=e}render(e){return`for(${this.iteration})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iteration=k(this.iteration,e,t),this}get names(){return D(super.names,this.iteration.names)}},b=class extends v{constructor(e,t,n,r){super(),this.varKind=e,this.name=t,this.from=n,this.to=r}render(e){let t=e.es5?n.varKinds.var:this.varKind,{name:r,from:i,to:a}=this;return`for(${t} ${r}=${i}; ${r}<${a}; ${r}++)`+super.render(e)}get names(){return O(O(super.names,this.from),this.to)}},x=class extends v{constructor(e,t,n,r){super(),this.loop=e,this.varKind=t,this.name=n,this.iterable=r}render(e){return`for(${this.varKind} ${this.name} ${this.loop} ${this.iterable})`+super.render(e)}optimizeNames(e,t){if(super.optimizeNames(e,t))return this.iterable=k(this.iterable,e,t),this}get names(){return D(super.names,this.iterable.names)}},S=class extends m{constructor(e,t,n){super(),this.name=e,this.args=t,this.async=n}render(e){return`${this.async?`async `:``}function ${this.name}(${this.args})`+super.render(e)}};S.kind=`func`;var C=class extends p{render(e){return`return `+super.render(e)}};C.kind=`return`;var w=class extends m{render(e){let t=`try`+super.render(e);return this.catch&&(t+=this.catch.render(e)),this.finally&&(t+=this.finally.render(e)),t}optimizeNodes(){var e,t;return super.optimizeNodes(),(e=this.catch)==null||e.optimizeNodes(),(t=this.finally)==null||t.optimizeNodes(),this}optimizeNames(e,t){var n,r;return super.optimizeNames(e,t),(n=this.catch)==null||n.optimizeNames(e,t),(r=this.finally)==null||r.optimizeNames(e,t),this}get names(){let e=super.names;return this.catch&&D(e,this.catch.names),this.finally&&D(e,this.finally.names),e}},T=class extends m{constructor(e){super(),this.error=e}render(e){return`catch(${this.error})`+super.render(e)}};T.kind=`catch`;var E=class extends m{render(e){return`finally`+super.render(e)}};E.kind=`finally`,e.CodeGen=class{constructor(e,t={}){this._values={},this._blockStarts=[],this._constants={},this.opts={...t,_n:t.lines?`
3
3
  `:``},this._extScope=e,this._scope=new n.Scope({parent:e}),this._nodes=[new h]}toString(){return this._root.render(this.opts)}name(e){return this._scope.name(e)}scopeName(e){return this._extScope.name(e)}scopeValue(e,t){let n=this._extScope.value(e,t);return(this._values[n.prefix]||(this._values[n.prefix]=new Set)).add(n),n}getScopeValue(e,t){return this._extScope.getValue(e,t)}scopeRefs(e){return this._extScope.scopeRefs(e,this._values)}scopeCode(){return this._extScope.scopeCode(this._values)}_def(e,t,n,r){let i=this._scope.toName(t);return n!==void 0&&r&&(this._constants[i.str]=n),this._leafNode(new o(e,i,n)),i}const(e,t,r){return this._def(n.varKinds.const,e,t,r)}let(e,t,r){return this._def(n.varKinds.let,e,t,r)}var(e,t,r){return this._def(n.varKinds.var,e,t,r)}assign(e,t,n){return this._leafNode(new s(e,t,n))}add(t,n){return this._leafNode(new c(t,e.operators.ADD,n))}code(e){return typeof e==`function`?e():e!==t.nil&&this._leafNode(new f(e)),this}object(...e){let n=[`{`];for(let[r,i]of e)n.length>1&&n.push(`,`),n.push(r),(r!==i||this.opts.es5)&&(n.push(`:`),(0,t.addCodeArg)(n,i));return n.push(`}`),new t._Code(n)}if(e,t,n){if(this._blockNode(new _(e)),t&&n)this.code(t).else().code(n).endIf();else if(t)this.code(t).endIf();else if(n)throw Error(`CodeGen: "else" body without "then" body`);return this}elseIf(e){return this._elseNode(new _(e))}else(){return this._elseNode(new g)}endIf(){return this._endBlockNode(_,g)}_for(e,t){return this._blockNode(e),t&&this.code(t).endFor(),this}for(e,t){return this._for(new y(e),t)}forRange(e,t,r,i,a=this.opts.es5?n.varKinds.var:n.varKinds.let){let o=this._scope.toName(e);return this._for(new b(a,o,t,r),()=>i(o))}forOf(e,r,i,a=n.varKinds.const){let o=this._scope.toName(e);if(this.opts.es5){let e=r instanceof t.Name?r:this.var(`_arr`,r);return this.forRange(`_i`,0,(0,t._)`${e}.length`,n=>{this.var(o,(0,t._)`${e}[${n}]`),i(o)})}return this._for(new x(`of`,a,o,r),()=>i(o))}forIn(e,r,i,a=this.opts.es5?n.varKinds.var:n.varKinds.const){if(this.opts.ownProperties)return this.forOf(e,(0,t._)`Object.keys(${r})`,i);let o=this._scope.toName(e);return this._for(new x(`in`,a,o,r),()=>i(o))}endFor(){return this._endBlockNode(v)}label(e){return this._leafNode(new l(e))}break(e){return this._leafNode(new u(e))}return(e){let t=new C;if(this._blockNode(t),this.code(e),t.nodes.length!==1)throw Error(`CodeGen: "return" should have one node`);return this._endBlockNode(C)}try(e,t,n){if(!t&&!n)throw Error(`CodeGen: "try" without "catch" and "finally"`);let r=new w;if(this._blockNode(r),this.code(e),t){let e=this.name(`e`);this._currNode=r.catch=new T(e),t(e)}return n&&(this._currNode=r.finally=new E,this.code(n)),this._endBlockNode(T,E)}throw(e){return this._leafNode(new d(e))}block(e,t){return this._blockStarts.push(this._nodes.length),e&&this.code(e).endBlock(t),this}endBlock(e){let t=this._blockStarts.pop();if(t===void 0)throw Error(`CodeGen: not in self-balancing block`);let n=this._nodes.length-t;if(n<0||e!==void 0&&n!==e)throw Error(`CodeGen: wrong number of nodes: ${n} vs ${e} expected`);return this._nodes.length=t,this}func(e,n=t.nil,r,i){return this._blockNode(new S(e,n,r)),i&&this.code(i).endFunc(),this}endFunc(){return this._endBlockNode(S)}optimize(e=1){for(;e-- >0;)this._root.optimizeNodes(),this._root.optimizeNames(this._root.names,this._constants)}_leafNode(e){return this._currNode.nodes.push(e),this}_blockNode(e){this._currNode.nodes.push(e),this._nodes.push(e)}_endBlockNode(e,t){let n=this._currNode;if(n instanceof e||t&&n instanceof t)return this._nodes.pop(),this;throw Error(`CodeGen: not in block "${t?`${e.kind}/${t.kind}`:e.kind}"`)}_elseNode(e){let t=this._currNode;if(!(t instanceof _))throw Error(`CodeGen: "else" without "if"`);return this._currNode=t.else=e,this}get _root(){return this._nodes[0]}get _currNode(){let e=this._nodes;return e[e.length-1]}set _currNode(e){let t=this._nodes;t[t.length-1]=e}};function D(e,t){for(let n in t)e[n]=(e[n]||0)+(t[n]||0);return e}function O(e,n){return n instanceof t._CodeOrName?D(e,n.names):e}function k(e,n,r){if(e instanceof t.Name)return i(e);if(!a(e))return e;return new t._Code(e._items.reduce((e,n)=>(n instanceof t.Name&&(n=i(n)),n instanceof t._Code?e.push(...n._items):e.push(n),e),[]));function i(e){let t=r[e.str];return t===void 0||n[e.str]!==1?e:(delete n[e.str],t)}function a(e){return e instanceof t._Code&&e._items.some(e=>e instanceof t.Name&&n[e.str]===1&&r[e.str]!==void 0)}}function A(e,t){for(let n in t)e[n]=(e[n]||0)-(t[n]||0)}function j(e){return typeof e==`boolean`||typeof e==`number`||e===null?!e:(0,t._)`!${L(e)}`}e.not=j;var M=I(e.operators.AND);function N(...e){return e.reduce(M)}e.and=N;var P=I(e.operators.OR);function F(...e){return e.reduce(P)}e.or=F;function I(e){return(n,r)=>n===t.nil?r:r===t.nil?n:(0,t._)`${L(n)} ${e} ${L(r)}`}function L(e){return e instanceof t.Name?e:(0,t._)`(${e})`}})),require_util=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.checkStrictMode=e.getErrorPath=e.Type=e.useFunc=e.setEvaluated=e.evaluatedPropsToName=e.mergeEvaluated=e.eachItem=e.unescapeJsonPointer=e.escapeJsonPointer=e.escapeFragment=e.unescapeFragment=e.schemaRefOrVal=e.schemaHasRulesButRef=e.schemaHasRules=e.checkUnknownRules=e.alwaysValidSchema=e.toHash=void 0;var t=require_codegen(),n=require_code$1();function r(e){let t={};for(let n of e)t[n]=!0;return t}e.toHash=r;function i(e,t){return typeof t==`boolean`?t:Object.keys(t).length===0?!0:(a(e,t),!o(t,e.self.RULES.all))}e.alwaysValidSchema=i;function a(e,t=e.schema){let{opts:n,self:r}=e;if(!n.strictSchema||typeof t==`boolean`)return;let i=r.RULES.keywords;for(let n in t)i[n]||x(e,`unknown keyword: "${n}"`)}e.checkUnknownRules=a;function o(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(t[n])return!0;return!1}e.schemaHasRules=o;function s(e,t){if(typeof e==`boolean`)return!e;for(let n in e)if(n!==`$ref`&&t.all[n])return!0;return!1}e.schemaHasRulesButRef=s;function c({topSchemaRef:e,schemaPath:n},r,i,a){if(!a){if(typeof r==`number`||typeof r==`boolean`)return r;if(typeof r==`string`)return(0,t._)`${r}`}return(0,t._)`${e}${n}${(0,t.getProperty)(i)}`}e.schemaRefOrVal=c;function l(e){return f(decodeURIComponent(e))}e.unescapeFragment=l;function u(e){return encodeURIComponent(d(e))}e.escapeFragment=u;function d(e){return typeof e==`number`?`${e}`:e.replace(/~/g,`~0`).replace(/\//g,`~1`)}e.escapeJsonPointer=d;function f(e){return e.replace(/~1/g,`/`).replace(/~0/g,`~`)}e.unescapeJsonPointer=f;function p(e,t){if(Array.isArray(e))for(let n of e)t(n);else t(e)}e.eachItem=p;function m({mergeNames:e,mergeToName:n,mergeValues:r,resultToName:i}){return(a,o,s,c)=>{let l=s===void 0?o:s instanceof t.Name?(o instanceof t.Name?e(a,o,s):n(a,o,s),s):o instanceof t.Name?(n(a,s,o),o):r(o,s);return c===t.Name&&!(l instanceof t.Name)?i(a,l):l}}e.mergeEvaluated={props:m({mergeNames:(e,n,r)=>e.if((0,t._)`${r} !== true && ${n} !== undefined`,()=>{e.if((0,t._)`${n} === true`,()=>e.assign(r,!0),()=>e.assign(r,(0,t._)`${r} || {}`).code((0,t._)`Object.assign(${r}, ${n})`))}),mergeToName:(e,n,r)=>e.if((0,t._)`${r} !== true`,()=>{n===!0?e.assign(r,!0):(e.assign(r,(0,t._)`${r} || {}`),g(e,r,n))}),mergeValues:(e,t)=>e===!0?!0:{...e,...t},resultToName:h}),items:m({mergeNames:(e,n,r)=>e.if((0,t._)`${r} !== true && ${n} !== undefined`,()=>e.assign(r,(0,t._)`${n} === true ? true : ${r} > ${n} ? ${r} : ${n}`)),mergeToName:(e,n,r)=>e.if((0,t._)`${r} !== true`,()=>e.assign(r,n===!0?!0:(0,t._)`${r} > ${n} ? ${r} : ${n}`)),mergeValues:(e,t)=>e===!0?!0:Math.max(e,t),resultToName:(e,t)=>e.var(`items`,t)})};function h(e,n){if(n===!0)return e.var(`props`,!0);let r=e.var(`props`,(0,t._)`{}`);return n!==void 0&&g(e,r,n),r}e.evaluatedPropsToName=h;function g(e,n,r){Object.keys(r).forEach(r=>e.assign((0,t._)`${n}${(0,t.getProperty)(r)}`,!0))}e.setEvaluated=g;var _={};function v(e,t){return e.scopeValue(`func`,{ref:t,code:_[t.code]||(_[t.code]=new n._Code(t.code))})}e.useFunc=v;var y;(function(e){e[e.Num=0]=`Num`,e[e.Str=1]=`Str`})(y||(e.Type=y={}));function b(e,n,r){if(e instanceof t.Name){let i=n===y.Num;return r?i?(0,t._)`"[" + ${e} + "]"`:(0,t._)`"['" + ${e} + "']"`:i?(0,t._)`"/" + ${e}`:(0,t._)`"/" + ${e}.replace(/~/g, "~0").replace(/\\//g, "~1")`}return r?(0,t.getProperty)(e).toString():`/`+d(e)}e.getErrorPath=b;function x(e,t,n=e.opts.strictSchema){if(n){if(t=`strict mode: ${t}`,n===!0)throw Error(t);e.self.logger.warn(t)}}e.checkStrictMode=x})),require_names=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen();e.default={data:new t.Name(`data`),valCxt:new t.Name(`valCxt`),instancePath:new t.Name(`instancePath`),parentData:new t.Name(`parentData`),parentDataProperty:new t.Name(`parentDataProperty`),rootData:new t.Name(`rootData`),dynamicAnchors:new t.Name(`dynamicAnchors`),vErrors:new t.Name(`vErrors`),errors:new t.Name(`errors`),this:new t.Name(`this`),self:new t.Name(`self`),scope:new t.Name(`scope`),json:new t.Name(`json`),jsonPos:new t.Name(`jsonPos`),jsonLen:new t.Name(`jsonLen`),jsonPart:new t.Name(`jsonPart`)}})),require_errors=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.extendErrors=e.resetErrorsCount=e.reportExtraError=e.reportError=e.keyword$DataError=e.keywordError=void 0;var t=require_codegen(),n=require_util(),r=require_names();e.keywordError={message:({keyword:e})=>(0,t.str)`must pass "${e}" keyword validation`},e.keyword$DataError={message:({keyword:e,schemaType:n})=>n?(0,t.str)`"${e}" keyword must be ${n} ($data)`:(0,t.str)`"${e}" keyword is invalid ($data)`};function i(n,r=e.keywordError,i,a){let{it:o}=n,{gen:s,compositeRule:u,allErrors:f}=o,p=d(n,r,i);a??(u||f)?c(s,p):l(o,(0,t._)`[${p}]`)}e.reportError=i;function a(t,n=e.keywordError,i){let{it:a}=t,{gen:o,compositeRule:s,allErrors:u}=a;c(o,d(t,n,i)),s||u||l(a,r.default.vErrors)}e.reportExtraError=a;function o(e,n){e.assign(r.default.errors,n),e.if((0,t._)`${r.default.vErrors} !== null`,()=>e.if(n,()=>e.assign((0,t._)`${r.default.vErrors}.length`,n),()=>e.assign(r.default.vErrors,null)))}e.resetErrorsCount=o;function s({gen:e,keyword:n,schemaValue:i,data:a,errsCount:o,it:s}){if(o===void 0)throw Error(`ajv implementation error`);let c=e.name(`err`);e.forRange(`i`,o,r.default.errors,o=>{e.const(c,(0,t._)`${r.default.vErrors}[${o}]`),e.if((0,t._)`${c}.instancePath === undefined`,()=>e.assign((0,t._)`${c}.instancePath`,(0,t.strConcat)(r.default.instancePath,s.errorPath))),e.assign((0,t._)`${c}.schemaPath`,(0,t.str)`${s.errSchemaPath}/${n}`),s.opts.verbose&&(e.assign((0,t._)`${c}.schema`,i),e.assign((0,t._)`${c}.data`,a))})}e.extendErrors=s;function c(e,n){let i=e.const(`err`,n);e.if((0,t._)`${r.default.vErrors} === null`,()=>e.assign(r.default.vErrors,(0,t._)`[${i}]`),(0,t._)`${r.default.vErrors}.push(${i})`),e.code((0,t._)`${r.default.errors}++`)}function l(e,n){let{gen:r,validateName:i,schemaEnv:a}=e;a.$async?r.throw((0,t._)`new ${e.ValidationError}(${n})`):(r.assign((0,t._)`${i}.errors`,n),r.return(!1))}var u={keyword:new t.Name(`keyword`),schemaPath:new t.Name(`schemaPath`),params:new t.Name(`params`),propertyName:new t.Name(`propertyName`),message:new t.Name(`message`),schema:new t.Name(`schema`),parentSchema:new t.Name(`parentSchema`)};function d(e,n,r){let{createErrors:i}=e.it;return i===!1?(0,t._)`{}`:f(e,n,r)}function f(e,t,n={}){let{gen:r,it:i}=e,a=[p(i,n),m(e,n)];return h(e,t,a),r.object(...a)}function p({errorPath:e},{instancePath:i}){let a=i?(0,t.str)`${e}${(0,n.getErrorPath)(i,n.Type.Str)}`:e;return[r.default.instancePath,(0,t.strConcat)(r.default.instancePath,a)]}function m({keyword:e,it:{errSchemaPath:r}},{schemaPath:i,parentSchema:a}){let o=a?r:(0,t.str)`${r}/${e}`;return i&&(o=(0,t.str)`${o}${(0,n.getErrorPath)(i,n.Type.Str)}`),[u.schemaPath,o]}function h(e,{params:n,message:i},a){let{keyword:o,data:s,schemaValue:c,it:l}=e,{opts:d,propertyName:f,topSchemaRef:p,schemaPath:m}=l;a.push([u.keyword,o],[u.params,typeof n==`function`?n(e):n||(0,t._)`{}`]),d.messages&&a.push([u.message,typeof i==`function`?i(e):i]),d.verbose&&a.push([u.schema,c],[u.parentSchema,(0,t._)`${p}${m}`],[r.default.data,s]),f&&a.push([u.propertyName,f])}})),require_boolSchema=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.boolOrEmptySchema=e.topBoolOrEmptySchema=void 0;var t=require_errors(),n=require_codegen(),r=require_names(),i={message:`boolean schema is false`};function a(e){let{gen:t,schema:i,validateName:a}=e;i===!1?s(e,!1):typeof i==`object`&&i.$async===!0?t.return(r.default.data):(t.assign((0,n._)`${a}.errors`,null),t.return(!0))}e.topBoolOrEmptySchema=a;function o(e,t){let{gen:n,schema:r}=e;r===!1?(n.var(t,!1),s(e)):n.var(t,!0)}e.boolOrEmptySchema=o;function s(e,n){let{gen:r,data:a}=e,o={gen:r,keyword:`false schema`,data:a,schema:!1,schemaCode:!1,schemaValue:!1,params:{},it:e};(0,t.reportError)(o,i,void 0,n)}})),require_rules=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.getRules=e.isJSONType=void 0;var t=new Set([`string`,`number`,`integer`,`boolean`,`null`,`object`,`array`]);function n(e){return typeof e==`string`&&t.has(e)}e.isJSONType=n;function r(){let e={number:{type:`number`,rules:[]},string:{type:`string`,rules:[]},array:{type:`array`,rules:[]},object:{type:`object`,rules:[]}};return{types:{...e,integer:!0,boolean:!0,null:!0},rules:[{rules:[]},e.number,e.string,e.array,e.object],post:{rules:[]},all:{},keywords:{}}}e.getRules=r})),require_applicability=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.shouldUseRule=e.shouldUseGroup=e.schemaHasRulesForType=void 0;function t({schema:e,self:t},r){let i=t.RULES.types[r];return i&&i!==!0&&n(e,i)}e.schemaHasRulesForType=t;function n(e,t){return t.rules.some(t=>r(e,t))}e.shouldUseGroup=n;function r(e,t){var n;return e[t.keyword]!==void 0||t.definition.implements?.some(t=>e[t]!==void 0)}e.shouldUseRule=r})),require_dataType=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.reportTypeError=e.checkDataTypes=e.checkDataType=e.coerceAndCheckDataType=e.getJSONTypes=e.getSchemaTypes=e.DataType=void 0;var t=require_rules(),n=require_applicability(),r=require_errors(),i=require_codegen(),a=require_util(),o;(function(e){e[e.Correct=0]=`Correct`,e[e.Wrong=1]=`Wrong`})(o||(e.DataType=o={}));function s(e){let t=c(e.type);if(t.includes(`null`)){if(e.nullable===!1)throw Error(`type: null contradicts nullable: false`)}else{if(!t.length&&e.nullable!==void 0)throw Error(`"nullable" cannot be used without "type"`);e.nullable===!0&&t.push(`null`)}return t}e.getSchemaTypes=s;function c(e){let n=Array.isArray(e)?e:e?[e]:[];if(n.every(t.isJSONType))return n;throw Error(`type must be JSONType or JSONType[]: `+n.join(`,`))}e.getJSONTypes=c;function l(e,t){let{gen:r,data:i,opts:a}=e,s=d(t,a.coerceTypes),c=t.length>0&&!(s.length===0&&t.length===1&&(0,n.schemaHasRulesForType)(e,t[0]));if(c){let n=h(t,i,a.strictNumbers,o.Wrong);r.if(n,()=>{s.length?f(e,t,s):_(e)})}return c}e.coerceAndCheckDataType=l;var u=new Set([`string`,`number`,`integer`,`boolean`,`null`]);function d(e,t){return t?e.filter(e=>u.has(e)||t===`array`&&e===`array`):[]}function f(e,t,n){let{gen:r,data:a,opts:o}=e,s=r.let(`dataType`,(0,i._)`typeof ${a}`),c=r.let(`coerced`,(0,i._)`undefined`);o.coerceTypes===`array`&&r.if((0,i._)`${s} == 'object' && Array.isArray(${a}) && ${a}.length == 1`,()=>r.assign(a,(0,i._)`${a}[0]`).assign(s,(0,i._)`typeof ${a}`).if(h(t,a,o.strictNumbers),()=>r.assign(c,a))),r.if((0,i._)`${c} !== undefined`);for(let e of n)(u.has(e)||e===`array`&&o.coerceTypes===`array`)&&l(e);r.else(),_(e),r.endIf(),r.if((0,i._)`${c} !== undefined`,()=>{r.assign(a,c),p(e,c)});function l(e){switch(e){case`string`:r.elseIf((0,i._)`${s} == "number" || ${s} == "boolean"`).assign(c,(0,i._)`"" + ${a}`).elseIf((0,i._)`${a} === null`).assign(c,(0,i._)`""`);return;case`number`:r.elseIf((0,i._)`${s} == "boolean" || ${a} === null
4
4
  || (${s} == "string" && ${a} && ${a} == +${a})`).assign(c,(0,i._)`+${a}`);return;case`integer`:r.elseIf((0,i._)`${s} === "boolean" || ${a} === null
@@ -7,5 +7,5 @@
7
7
  missingProperty: ${i},
8
8
  depsCount: ${n},
9
9
  deps: ${r}}`};var i={keyword:`dependencies`,type:`object`,schemaType:`object`,error:e.error,code(e){let[t,n]=a(e);o(e,t),s(e,n)}};function a({schema:e}){let t={},n={};for(let r in e){if(r===`__proto__`)continue;let i=Array.isArray(e[r])?t:n;i[r]=e[r]}return[t,n]}function o(e,n=e.schema){let{gen:i,data:a,it:o}=e;if(Object.keys(n).length===0)return;let s=i.let(`missing`);for(let c in n){let l=n[c];if(l.length===0)continue;let u=(0,r.propertyInData)(i,a,c,o.opts.ownProperties);e.setParams({property:c,depsCount:l.length,deps:l.join(`, `)}),o.allErrors?i.if(u,()=>{for(let t of l)(0,r.checkReportMissingProp)(e,t)}):(i.if((0,t._)`${u} && (${(0,r.checkMissingProp)(e,l,s)})`),(0,r.reportMissingProp)(e,s),i.else())}}e.validatePropertyDeps=o;function s(e,t=e.schema){let{gen:i,data:a,keyword:o,it:s}=e,c=i.name(`valid`);for(let l in t)(0,n.alwaysValidSchema)(s,t[l])||(i.if((0,r.propertyInData)(i,a,l,s.opts.ownProperties),()=>{let t=e.subschema({keyword:o,schemaProp:l},c);e.mergeValidEvaluated(t,c)},()=>i.var(c,!0)),e.ok(c))}e.validateSchemaDeps=s,e.default=i})),require_propertyNames=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util();e.default={keyword:`propertyNames`,type:`object`,schemaType:[`object`,`boolean`],error:{message:`property name must be valid`,params:({params:e})=>(0,t._)`{propertyName: ${e.propertyName}}`},code(e){let{gen:r,schema:i,data:a,it:o}=e;if((0,n.alwaysValidSchema)(o,i))return;let s=r.name(`valid`);r.forIn(`key`,a,n=>{e.setParams({propertyName:n}),e.subschema({keyword:`propertyNames`,data:n,dataTypes:[`string`],propertyName:n,compositeRule:!0},s),r.if((0,t.not)(s),()=>{e.error(!0),o.allErrors||r.break()})}),e.ok(s)}}})),require_additionalProperties=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_code(),n=require_codegen(),r=require_names(),i=require_util();e.default={keyword:`additionalProperties`,type:[`object`],schemaType:[`boolean`,`object`],allowUndefined:!0,trackErrors:!0,error:{message:`must NOT have additional properties`,params:({params:e})=>(0,n._)`{additionalProperty: ${e.additionalProperty}}`},code(e){let{gen:a,schema:o,parentSchema:s,data:c,errsCount:l,it:u}=e;if(!l)throw Error(`ajv implementation error`);let{allErrors:d,opts:f}=u;if(u.props=!0,f.removeAdditional!==`all`&&(0,i.alwaysValidSchema)(u,o))return;let p=(0,t.allSchemaProperties)(s.properties),m=(0,t.allSchemaProperties)(s.patternProperties);h(),e.ok((0,n._)`${l} === ${r.default.errors}`);function h(){a.forIn(`key`,c,e=>{!p.length&&!m.length?v(e):a.if(g(e),()=>v(e))})}function g(r){let o;if(p.length>8){let e=(0,i.schemaRefOrVal)(u,s.properties,`properties`);o=(0,t.isOwnProperty)(a,e,r)}else o=p.length?(0,n.or)(...p.map(e=>(0,n._)`${r} === ${e}`)):n.nil;return m.length&&(o=(0,n.or)(o,...m.map(i=>(0,n._)`${(0,t.usePattern)(e,i)}.test(${r})`))),(0,n.not)(o)}function _(e){a.code((0,n._)`delete ${c}[${e}]`)}function v(t){if(f.removeAdditional===`all`||f.removeAdditional&&o===!1){_(t);return}if(o===!1){e.setParams({additionalProperty:t}),e.error(),d||a.break();return}if(typeof o==`object`&&!(0,i.alwaysValidSchema)(u,o)){let r=a.name(`valid`);f.removeAdditional===`failing`?(y(t,r,!1),a.if((0,n.not)(r),()=>{e.reset(),_(t)})):(y(t,r),d||a.if((0,n.not)(r),()=>a.break()))}}function y(t,n,r){let a={keyword:`additionalProperties`,dataProp:t,dataPropType:i.Type.Str};r===!1&&Object.assign(a,{compositeRule:!0,createErrors:!1,allErrors:!1}),e.subschema(a,n)}}}})),require_properties=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_validate(),n=require_code(),r=require_util(),i=require_additionalProperties();e.default={keyword:`properties`,type:`object`,schemaType:`object`,code(e){let{gen:a,schema:o,parentSchema:s,data:c,it:l}=e;l.opts.removeAdditional===`all`&&s.additionalProperties===void 0&&i.default.code(new t.KeywordCxt(l,i.default,`additionalProperties`));let u=(0,n.allSchemaProperties)(o);for(let e of u)l.definedProperties.add(e);l.opts.unevaluated&&u.length&&l.props!==!0&&(l.props=r.mergeEvaluated.props(a,(0,r.toHash)(u),l.props));let d=u.filter(e=>!(0,r.alwaysValidSchema)(l,o[e]));if(d.length===0)return;let f=a.name(`valid`);for(let t of d)p(t)?m(t):(a.if((0,n.propertyInData)(a,c,t,l.opts.ownProperties)),m(t),l.allErrors||a.else().var(f,!0),a.endIf()),e.it.definedProperties.add(t),e.ok(f);function p(e){return l.opts.useDefaults&&!l.compositeRule&&o[e].default!==void 0}function m(t){e.subschema({keyword:`properties`,schemaProp:t,dataProp:t},f)}}}})),require_patternProperties=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_code(),n=require_codegen(),r=require_util(),i=require_util();e.default={keyword:`patternProperties`,type:`object`,schemaType:`object`,code(e){let{gen:a,schema:o,data:s,parentSchema:c,it:l}=e,{opts:u}=l,d=(0,t.allSchemaProperties)(o),f=d.filter(e=>(0,r.alwaysValidSchema)(l,o[e]));if(d.length===0||f.length===d.length&&(!l.opts.unevaluated||l.props===!0))return;let p=u.strictSchema&&!u.allowMatchingProperties&&c.properties,m=a.name(`valid`);l.props!==!0&&!(l.props instanceof n.Name)&&(l.props=(0,i.evaluatedPropsToName)(a,l.props));let{props:h}=l;g();function g(){for(let e of d)p&&_(e),l.allErrors?v(e):(a.var(m,!0),v(e),a.if(m))}function _(e){for(let t in p)new RegExp(e).test(t)&&(0,r.checkStrictMode)(l,`property ${t} matches pattern ${e} (use allowMatchingProperties)`)}function v(r){a.forIn(`key`,s,o=>{a.if((0,n._)`${(0,t.usePattern)(e,r)}.test(${o})`,()=>{let t=f.includes(r);t||e.subschema({keyword:`patternProperties`,schemaProp:r,dataProp:o,dataPropType:i.Type.Str},m),l.opts.unevaluated&&h!==!0?a.assign((0,n._)`${h}[${o}]`,!0):!t&&!l.allErrors&&a.if((0,n.not)(m),()=>a.break())})})}}}})),require_not=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_util();e.default={keyword:`not`,schemaType:[`object`,`boolean`],trackErrors:!0,code(e){let{gen:n,schema:r,it:i}=e;if((0,t.alwaysValidSchema)(i,r)){e.fail();return}let a=n.name(`valid`);e.subschema({keyword:`not`,compositeRule:!0,createErrors:!1,allErrors:!1},a),e.failResult(a,()=>e.reset(),()=>e.error())},error:{message:`must NOT be valid`}}})),require_anyOf=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default={keyword:`anyOf`,schemaType:`array`,trackErrors:!0,code:require_code().validateUnion,error:{message:`must match a schema in anyOf`}}})),require_oneOf=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util();e.default={keyword:`oneOf`,schemaType:`array`,trackErrors:!0,error:{message:`must match exactly one schema in oneOf`,params:({params:e})=>(0,t._)`{passingSchemas: ${e.passing}}`},code(e){let{gen:r,schema:i,parentSchema:a,it:o}=e;if(!Array.isArray(i))throw Error(`ajv implementation error`);if(o.opts.discriminator&&a.discriminator)return;let s=i,c=r.let(`valid`,!1),l=r.let(`passing`,null),u=r.name(`_valid`);e.setParams({passing:l}),r.block(d),e.result(c,()=>e.reset(),()=>e.error(!0));function d(){s.forEach((i,a)=>{let s;(0,n.alwaysValidSchema)(o,i)?r.var(u,!0):s=e.subschema({keyword:`oneOf`,schemaProp:a,compositeRule:!0},u),a>0&&r.if((0,t._)`${u} && ${c}`).assign(c,!1).assign(l,(0,t._)`[${l}, ${a}]`).else(),r.if(u,()=>{r.assign(c,!0),r.assign(l,a),s&&e.mergeEvaluated(s,t.Name)})})}}}})),require_allOf=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_util();e.default={keyword:`allOf`,schemaType:`array`,code(e){let{gen:n,schema:r,it:i}=e;if(!Array.isArray(r))throw Error(`ajv implementation error`);let a=n.name(`valid`);r.forEach((n,r)=>{if((0,t.alwaysValidSchema)(i,n))return;let o=e.subschema({keyword:`allOf`,schemaProp:r},a);e.ok(a),e.mergeEvaluated(o)})}}})),require_if=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_util(),r={keyword:`if`,schemaType:[`object`,`boolean`],trackErrors:!0,error:{message:({params:e})=>(0,t.str)`must match "${e.ifClause}" schema`,params:({params:e})=>(0,t._)`{failingKeyword: ${e.ifClause}}`},code(e){let{gen:r,parentSchema:a,it:o}=e;a.then===void 0&&a.else===void 0&&(0,n.checkStrictMode)(o,`"if" without "then" and "else" is ignored`);let s=i(o,`then`),c=i(o,`else`);if(!s&&!c)return;let l=r.let(`valid`,!0),u=r.name(`_valid`);if(d(),e.reset(),s&&c){let t=r.let(`ifClause`);e.setParams({ifClause:t}),r.if(u,f(`then`,t),f(`else`,t))}else s?r.if(u,f(`then`)):r.if((0,t.not)(u),f(`else`));e.pass(l,()=>e.error(!0));function d(){let t=e.subschema({keyword:`if`,compositeRule:!0,createErrors:!1,allErrors:!1},u);e.mergeEvaluated(t)}function f(n,i){return()=>{let a=e.subschema({keyword:n},u);r.assign(l,u),e.mergeValidEvaluated(a,l),i?r.assign(i,(0,t._)`${n}`):e.setParams({ifClause:n})}}}};function i(e,t){let r=e.schema[t];return r!==void 0&&!(0,n.alwaysValidSchema)(e,r)}e.default=r})),require_thenElse=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_util();e.default={keyword:[`then`,`else`],schemaType:[`object`,`boolean`],code({keyword:e,parentSchema:n,it:r}){n.if===void 0&&(0,t.checkStrictMode)(r,`"${e}" without "if" is ignored`)}}})),require_applicator=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_additionalItems(),n=require_prefixItems(),r=require_items(),i=require_items2020(),a=require_contains(),o=require_dependencies(),s=require_propertyNames(),c=require_additionalProperties(),l=require_properties(),u=require_patternProperties(),d=require_not(),f=require_anyOf(),p=require_oneOf(),m=require_allOf(),h=require_if(),g=require_thenElse();function _(e=!1){let _=[d.default,f.default,p.default,m.default,h.default,g.default,s.default,c.default,o.default,l.default,u.default];return e?_.push(n.default,i.default):_.push(t.default,r.default),_.push(a.default),_}e.default=_})),require_format$1=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen();e.default={keyword:`format`,type:[`number`,`string`],schemaType:`string`,$data:!0,error:{message:({schemaCode:e})=>(0,t.str)`must match format "${e}"`,params:({schemaCode:e})=>(0,t._)`{format: ${e}}`},code(e,n){let{gen:r,data:i,$data:a,schema:o,schemaCode:s,it:c}=e,{opts:l,errSchemaPath:u,schemaEnv:d,self:f}=c;if(!l.validateFormats)return;a?p():m();function p(){let a=r.scopeValue(`formats`,{ref:f.formats,code:l.code.formats}),o=r.const(`fDef`,(0,t._)`${a}[${s}]`),c=r.let(`fType`),u=r.let(`format`);r.if((0,t._)`typeof ${o} == "object" && !(${o} instanceof RegExp)`,()=>r.assign(c,(0,t._)`${o}.type || "string"`).assign(u,(0,t._)`${o}.validate`),()=>r.assign(c,(0,t._)`"string"`).assign(u,o)),e.fail$data((0,t.or)(p(),m()));function p(){return l.strictSchema===!1?t.nil:(0,t._)`${s} && !${u}`}function m(){let e=d.$async?(0,t._)`(${o}.async ? await ${u}(${i}) : ${u}(${i}))`:(0,t._)`${u}(${i})`,r=(0,t._)`(typeof ${u} == "function" ? ${e} : ${u}.test(${i}))`;return(0,t._)`${u} && ${u} !== true && ${c} === ${n} && !${r}`}}function m(){let a=f.formats[o];if(!a){m();return}if(a===!0)return;let[s,c,p]=h(a);s===n&&e.pass(g());function m(){if(l.strictSchema===!1){f.logger.warn(e());return}throw Error(e());function e(){return`unknown format "${o}" ignored in schema at path "${u}"`}}function h(e){let n=e instanceof RegExp?(0,t.regexpCode)(e):l.code.formats?(0,t._)`${l.code.formats}${(0,t.getProperty)(o)}`:void 0,i=r.scopeValue(`formats`,{key:o,ref:e,code:n});return typeof e==`object`&&!(e instanceof RegExp)?[e.type||`string`,e.validate,(0,t._)`${i}.validate`]:[`string`,e,i]}function g(){if(typeof a==`object`&&!(a instanceof RegExp)&&a.async){if(!d.$async)throw Error(`async format in sync schema`);return(0,t._)`await ${p}(${i})`}return typeof c==`function`?(0,t._)`${p}(${i})`:(0,t._)`${p}.test(${i})`}}}}})),require_format=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.default=[require_format$1().default]})),require_metadata=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.contentVocabulary=e.metadataVocabulary=void 0,e.metadataVocabulary=[`title`,`description`,`default`,`deprecated`,`readOnly`,`writeOnly`,`examples`],e.contentVocabulary=[`contentMediaType`,`contentEncoding`,`contentSchema`]})),require_draft7=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_core(),n=require_validation(),r=require_applicator(),i=require_format(),a=require_metadata();e.default=[t.default,n.default,(0,r.default)(),i.default,a.metadataVocabulary,a.contentVocabulary]})),require_types=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.DiscrError=void 0;var t;(function(e){e.Tag=`tag`,e.Mapping=`mapping`})(t||(e.DiscrError=t={}))})),require_discriminator=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t=require_codegen(),n=require_types(),r=require_compile(),i=require_ref_error(),a=require_util();e.default={keyword:`discriminator`,type:`object`,schemaType:`object`,error:{message:({params:{discrError:e,tagName:t}})=>e===n.DiscrError.Tag?`tag "${t}" must be string`:`value of tag "${t}" must be in oneOf`,params:({params:{discrError:e,tag:n,tagName:r}})=>(0,t._)`{error: ${e}, tag: ${r}, tagValue: ${n}}`},code(e){let{gen:o,data:s,schema:c,parentSchema:l,it:u}=e,{oneOf:d}=l;if(!u.opts.discriminator)throw Error(`discriminator: requires discriminator option`);let f=c.propertyName;if(typeof f!=`string`)throw Error(`discriminator: requires propertyName`);if(c.mapping)throw Error(`discriminator: mapping is not supported`);if(!d)throw Error(`discriminator: requires oneOf keyword`);let p=o.let(`valid`,!1),m=o.const(`tag`,(0,t._)`${s}${(0,t.getProperty)(f)}`);o.if((0,t._)`typeof ${m} == "string"`,()=>h(),()=>e.error(!1,{discrError:n.DiscrError.Tag,tag:m,tagName:f})),e.ok(p);function h(){let r=_();o.if(!1);for(let e in r)o.elseIf((0,t._)`${m} === ${e}`),o.assign(p,g(r[e]));o.else(),e.error(!1,{discrError:n.DiscrError.Mapping,tag:m,tagName:f}),o.endIf()}function g(n){let r=o.name(`valid`),i=e.subschema({keyword:`oneOf`,schemaProp:n},r);return e.mergeEvaluated(i,t.Name),r}function _(){var e;let t={},n=s(l),o=!0;for(let e=0;e<d.length;e++){let t=d[e];if(t?.$ref&&!(0,a.schemaHasRulesButRef)(t,u.self.RULES)){let e=t.$ref;if(t=r.resolveRef.call(u.self,u.schemaEnv.root,u.baseId,e),t instanceof r.SchemaEnv&&(t=t.schema),t===void 0)throw new i.default(u.opts.uriResolver,u.baseId,e)}let l=t?.properties?.[f];if(typeof l!=`object`)throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${f}"`);o&&=n||s(t),c(l,e)}if(!o)throw Error(`discriminator: "${f}" must be required`);return t;function s({required:e}){return Array.isArray(e)&&e.includes(f)}function c(e,t){if(e.const)p(e.const,t);else if(e.enum)for(let n of e.enum)p(n,t);else throw Error(`discriminator: "properties/${f}" must have "const" or "enum"`)}function p(e,n){if(typeof e!=`string`||e in t)throw Error(`discriminator: "${f}" values must be unique strings`);t[e]=n}}}}})),json_schema_draft_07_exports=__exportAll({$id:()=>$id,$schema:()=>$schema,default:()=>json_schema_draft_07_default,definitions:()=>definitions,properties:()=>properties,title:()=>title,type:()=>type}),$schema,$id,title,definitions,type,properties,json_schema_draft_07_default,init_json_schema_draft_07=__esmMin((()=>{$schema=`http://json-schema.org/draft-07/schema#`,$id=`http://json-schema.org/draft-07/schema#`,title=`Core schema meta-schema`,definitions={schemaArray:{type:`array`,minItems:1,items:{$ref:`#`}},nonNegativeInteger:{type:`integer`,minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:`#/definitions/nonNegativeInteger`},{default:0}]},simpleTypes:{enum:[`array`,`boolean`,`integer`,`null`,`number`,`object`,`string`]},stringArray:{type:`array`,items:{type:`string`},uniqueItems:!0,default:[]}},type=[`object`,`boolean`],properties={$id:{type:`string`,format:`uri-reference`},$schema:{type:`string`,format:`uri`},$ref:{type:`string`,format:`uri-reference`},$comment:{type:`string`},title:{type:`string`},description:{type:`string`},default:!0,readOnly:{type:`boolean`,default:!1},examples:{type:`array`,items:!0},multipleOf:{type:`number`,exclusiveMinimum:0},maximum:{type:`number`},exclusiveMaximum:{type:`number`},minimum:{type:`number`},exclusiveMinimum:{type:`number`},maxLength:{$ref:`#/definitions/nonNegativeInteger`},minLength:{$ref:`#/definitions/nonNegativeIntegerDefault0`},pattern:{type:`string`,format:`regex`},additionalItems:{$ref:`#`},items:{anyOf:[{$ref:`#`},{$ref:`#/definitions/schemaArray`}],default:!0},maxItems:{$ref:`#/definitions/nonNegativeInteger`},minItems:{$ref:`#/definitions/nonNegativeIntegerDefault0`},uniqueItems:{type:`boolean`,default:!1},contains:{$ref:`#`},maxProperties:{$ref:`#/definitions/nonNegativeInteger`},minProperties:{$ref:`#/definitions/nonNegativeIntegerDefault0`},required:{$ref:`#/definitions/stringArray`},additionalProperties:{$ref:`#`},definitions:{type:`object`,additionalProperties:{$ref:`#`},default:{}},properties:{type:`object`,additionalProperties:{$ref:`#`},default:{}},patternProperties:{type:`object`,additionalProperties:{$ref:`#`},propertyNames:{format:`regex`},default:{}},dependencies:{type:`object`,additionalProperties:{anyOf:[{$ref:`#`},{$ref:`#/definitions/stringArray`}]}},propertyNames:{$ref:`#`},const:!0,enum:{type:`array`,items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:`#/definitions/simpleTypes`},{type:`array`,items:{$ref:`#/definitions/simpleTypes`},minItems:1,uniqueItems:!0}]},format:{type:`string`},contentMediaType:{type:`string`},contentEncoding:{type:`string`},if:{$ref:`#`},then:{$ref:`#`},else:{$ref:`#`},allOf:{$ref:`#/definitions/schemaArray`},anyOf:{$ref:`#/definitions/schemaArray`},oneOf:{$ref:`#/definitions/schemaArray`},not:{$ref:`#`}},json_schema_draft_07_default={$schema,$id,title,definitions,type,properties,default:!0}})),require_ajv=__commonJSMin(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.MissingRefError=e.ValidationError=e.CodeGen=e.Name=e.nil=e.stringify=e.str=e._=e.KeywordCxt=e.Ajv=void 0;var n=require_core$1(),r=require_draft7(),i=require_discriminator(),a=(init_json_schema_draft_07(),__toCommonJS(json_schema_draft_07_exports).default),o=[`/properties`],s=`http://json-schema.org/draft-07/schema`,c=class extends n.default{_addVocabularies(){super._addVocabularies(),r.default.forEach(e=>this.addVocabulary(e)),this.opts.discriminator&&this.addKeyword(i.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let e=this.opts.$data?this.$dataMetaSchema(a,o):a;this.addMetaSchema(e,s,!1),this.refs[`http://json-schema.org/schema`]=s}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(s)?s:void 0)}};e.Ajv=c,t.exports=e=c,t.exports.Ajv=c,Object.defineProperty(e,`__esModule`,{value:!0}),e.default=c;var l=require_validate();Object.defineProperty(e,`KeywordCxt`,{enumerable:!0,get:function(){return l.KeywordCxt}});var u=require_codegen();Object.defineProperty(e,`_`,{enumerable:!0,get:function(){return u._}}),Object.defineProperty(e,`str`,{enumerable:!0,get:function(){return u.str}}),Object.defineProperty(e,`stringify`,{enumerable:!0,get:function(){return u.stringify}}),Object.defineProperty(e,`nil`,{enumerable:!0,get:function(){return u.nil}}),Object.defineProperty(e,`Name`,{enumerable:!0,get:function(){return u.Name}}),Object.defineProperty(e,`CodeGen`,{enumerable:!0,get:function(){return u.CodeGen}});var d=require_validation_error();Object.defineProperty(e,`ValidationError`,{enumerable:!0,get:function(){return d.default}});var f=require_ref_error();Object.defineProperty(e,`MissingRefError`,{enumerable:!0,get:function(){return f.default}})})),require_formats=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatNames=e.fastFormats=e.fullFormats=void 0;function t(e,t){return{validate:e,compare:t}}e.fullFormats={date:t(a,o),time:t(c,l),"date-time":t(d,f),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:h,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:w,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:_,int32:{type:`number`,validate:b},int64:{type:`number`,validate:x},float:{type:`number`,validate:S},double:{type:`number`,validate:S},password:!0,binary:!0},e.fastFormats={...e.fullFormats,date:t(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,o),time:t(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,l),"date-time":t(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,f),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i},e.formatNames=Object.keys(e.fullFormats);function n(e){return e%4==0&&(e%100!=0||e%400==0)}var r=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,i=[0,31,28,31,30,31,30,31,31,30,31,30,31];function a(e){let t=r.exec(e);if(!t)return!1;let a=+t[1],o=+t[2],s=+t[3];return o>=1&&o<=12&&s>=1&&s<=(o===2&&n(a)?29:i[o])}function o(e,t){if(e&&t)return e>t?1:e<t?-1:0}var s=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i;function c(e,t){let n=s.exec(e);if(!n)return!1;let r=+n[1],i=+n[2],a=+n[3],o=n[5];return(r<=23&&i<=59&&a<=59||r===23&&i===59&&a===60)&&(!t||o!==``)}function l(e,t){if(!(e&&t))return;let n=s.exec(e),r=s.exec(t);if(n&&r)return e=n[1]+n[2]+n[3]+(n[4]||``),t=r[1]+r[2]+r[3]+(r[4]||``),e>t?1:e<t?-1:0}var u=/t|\s/i;function d(e){let t=e.split(u);return t.length===2&&a(t[0])&&c(t[1],!0)}function f(e,t){if(!(e&&t))return;let[n,r]=e.split(u),[i,a]=t.split(u),s=o(n,i);if(s!==void 0)return s||l(r,a)}var p=/\/|:/,m=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function h(e){return p.test(e)&&m.test(e)}var g=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function _(e){return g.lastIndex=0,g.test(e)}var v=-(2**31),y=2**31-1;function b(e){return Number.isInteger(e)&&e<=y&&e>=v}function x(e){return Number.isInteger(e)}function S(){return!0}var C=/[^\\]\\Z/;function w(e){if(C.test(e))return!1;try{return new RegExp(e),!0}catch{return!1}}})),require_limit=__commonJSMin((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.formatLimitDefinition=void 0;var t=require_ajv(),n=require_codegen(),r=n.operators,i={formatMaximum:{okStr:`<=`,ok:r.LTE,fail:r.GT},formatMinimum:{okStr:`>=`,ok:r.GTE,fail:r.LT},formatExclusiveMaximum:{okStr:`<`,ok:r.LT,fail:r.GTE},formatExclusiveMinimum:{okStr:`>`,ok:r.GT,fail:r.LTE}};e.formatLimitDefinition={keyword:Object.keys(i),type:`string`,schemaType:`string`,$data:!0,error:{message:({keyword:e,schemaCode:t})=>n.str`should be ${i[e].okStr} ${t}`,params:({keyword:e,schemaCode:t})=>n._`{comparison: ${i[e].okStr}, limit: ${t}}`},code(e){let{gen:r,data:a,schemaCode:o,keyword:s,it:c}=e,{opts:l,self:u}=c;if(!l.validateFormats)return;let d=new t.KeywordCxt(c,u.RULES.all.format.definition,`format`);d.$data?f():p();function f(){let t=r.scopeValue(`formats`,{ref:u.formats,code:l.code.formats}),i=r.const(`fmt`,n._`${t}[${d.schemaCode}]`);e.fail$data(n.or(n._`typeof ${i} != "object"`,n._`${i} instanceof RegExp`,n._`typeof ${i}.compare != "function"`,m(i)))}function p(){let t=d.schema,i=u.formats[t];if(!i||i===!0)return;if(typeof i!=`object`||i instanceof RegExp||typeof i.compare!=`function`)throw Error(`"${s}": format "${t}" does not define "compare" function`);let a=r.scopeValue(`formats`,{key:t,ref:i,code:l.code.formats?n._`${l.code.formats}${n.getProperty(t)}`:void 0});e.fail$data(m(a))}function m(e){return n._`${e}.compare(${a}, ${o}) ${i[s].fail} 0`}},dependencies:[`format`]},e.default=t=>(t.addKeyword(e.formatLimitDefinition),t)})),require_dist=__commonJSMin(((e,t)=>{Object.defineProperty(e,`__esModule`,{value:!0});var n=require_formats(),r=require_limit(),i=require_codegen(),a=new i.Name(`fullFormats`),o=new i.Name(`fastFormats`),s=(e,t={keywords:!0})=>{if(Array.isArray(t))return c(e,t,n.fullFormats,a),e;let[i,s]=t.mode===`fast`?[n.fastFormats,o]:[n.fullFormats,a];return c(e,t.formats||n.formatNames,i,s),t.keywords&&r.default(e),e};s.get=(e,t=`full`)=>{let r=(t===`fast`?n.fastFormats:n.fullFormats)[e];if(!r)throw Error(`Unknown format "${e}"`);return r};function c(e,t,n,r){var a,o;(o=e.opts.code).formats??(o.formats=i._`require("ajv-formats/dist/formats").${r}`);for(let r of t)e.addFormat(r,n[r])}t.exports=e=s,Object.defineProperty(e,`__esModule`,{value:!0}),e.default=s})),require_zh=__commonJSMin(((e,t)=>{t.exports=function(e){if(e&&e.length)for(let r of e){let e;switch(r.keyword){case`additionalItems`:case`items`:e=``;var t=r.params.limit;e+=`不允许超过`+t+`个元素`;break;case`additionalProperties`:e=`不允许有额外的属性`;break;case`anyOf`:e=`数据应为 anyOf 所指定的其中一个`;break;case`const`:e=`应当等于常量`;break;case`contains`:e=`应当包含一个有效项`;break;case`dependencies`:case`dependentRequired`:e=``;var t=r.params.depsCount;e+=`应当拥有属性`+r.params.property+`的依赖属性`+r.params.deps;break;case`discriminator`:switch(r.params.error){case`tag`:e=`标签 "`+r.params.tag+`" 的类型必须为字符串`;break;case`mapping`:e=`标签 "`+r.params.tag+`" 的值必须在 oneOf 之中`;break;default:e=`应当通过 "`+r.keyword+` 关键词校验"`}break;case`enum`:e=`应当是预设定的枚举值之一`;break;case`false schema`:e=`布尔模式出错`;break;case`format`:e=`应当匹配格式 "`+r.params.format+`"`;break;case`formatMaximum`:case`formatExclusiveMaximum`:e=``;var n=r.params.comparison+` `+r.params.limit;e+=`应当是 `+n;break;case`formatMinimum`:case`formatExclusiveMinimum`:e=``;var n=r.params.comparison+` `+r.params.limit;e+=`应当是 `+n;break;case`if`:e=`应当匹配模式 "`+r.params.failingKeyword+`" `;break;case`maximum`:case`exclusiveMaximum`:e=``;var n=r.params.comparison+` `+r.params.limit;e+=`应当为 `+n;break;case`maxItems`:e=``;var t=r.params.limit;e+=`不应多于 `+t+` 个项`;break;case`maxLength`:e=``;var t=r.params.limit;e+=`不应多于 `+t+` 个字符`;break;case`maxProperties`:e=``;var t=r.params.limit;e+=`不应有多于 `+t+` 个属性`;break;case`minimum`:case`exclusiveMinimum`:e=``;var n=r.params.comparison+` `+r.params.limit;e+=`应当为 `+n;break;case`minItems`:e=``;var t=r.params.limit;e+=`不应少于 `+t+` 个项`;break;case`minLength`:e=``;var t=r.params.limit;e+=`不应少于 `+t+` 个字符`;break;case`minProperties`:e=``;var t=r.params.limit;e+=`不应有少于 `+t+` 个属性`;break;case`multipleOf`:e=`应当是 `+r.params.multipleOf+` 的整数倍`;break;case`not`:e=`不应当匹配 "not" schema`;break;case`oneOf`:e=`只能匹配一个 "oneOf" 中的 schema`;break;case`pattern`:e=`应当匹配模式 "`+r.params.pattern+`"`;break;case`patternRequired`:e=`应当有属性匹配模式 `+r.params.missingPattern;break;case`propertyNames`:e=`属性名 无效`;break;case`required`:e=`应当有必需属性 `+r.params.missingProperty;break;case`type`:e=`应当是 `+r.params.type+` 类型`;break;case`unevaluatedItems`:e=``;var t=r.params.len;e+=` 不允许有超过 `+t+` 个元素`;break;case`unevaluatedProperties`:e=`不允许存在未求值的属性`;break;case`uniqueItems`:e=`不应当含有重复项 (第 `+r.params.j+` 项与第 `+r.params.i+` 项是重复的)`;break;default:e=`应当通过 "`+r.keyword+` 关键词校验"`}r.message=e}}})),import_ajv=__toESM(require_ajv()),import_dist=__toESM(require_dist()),import_zh=__toESM(require_zh()),ajv=new import_ajv.default({strict:!1});(0,import_dist.default)(ajv);var VALIDATOR=`validator`,OWN_RULE_PROPERTY=`ui:rules`,DEBUG_PREFIX=`[bk-schema-form-validator]`,DEFAULT_RULES={required:{message:`必填项`,validator:`{{ $self.value !== '' }}`}},throwErr=e=>{throw Error(`${DEBUG_PREFIX} ${e}`)},globalRules=new Map,registryGlobalRules=e=>{try{if(!e)return;e?.constructor!==Object&&throwErr(`global rules must be an object`),Object.keys(e).forEach(t=>{let n=e[t];hasOwnProperty(n,VALIDATOR)||throwErr(`'${t}' rule must have a validator property`);let r=n[VALIDATOR];isExpression(r)||isRegExp(r)||r?.constructor===Function||throwErr(`'${t}' must be one of expression or regexp or function`),globalRules.set(t,n)})}catch(e){throwErr(e)}},validate=(rule,instance)=>{let theRule=rule;typeof rule==`string`&&(theRule=globalRules.get(rule),theRule||throwErr(`'${rule} is not a valid global rule, you can registry it to global rules node or use form item own custom rules`));const{validator,message}=theRule;let valid=!0;return isExpression(validator)?valid=executeExpression(validator,instance):typeof validator==`function`?valid=validator(instance):eval(validator)instanceof RegExp&&(valid=new RegExp(eval(validator)).test(instance.value)),{valid,message}},setWidgetErrorTips=(e,t,n)=>{let r=widgetTree_default.widgetMap[e],{instance:i}=r;r.type===`node`&&(i?.setState(`error`,!0),i?.setErrorTips(n));let a=e.split(`.`),o=[];a.forEach((r,i)=>{let s=a.slice(0,a.length-i),c=s.join(`.`),l=widgetTree_default.widgetMap[c],u=l.instance.schema.type===`array`||!l.instance.schema.title;if(o.push(u?s.pop():l.instance.schema.title),l.instance?.verifiable&&l.type===`group`)if(t){let t=`${o.reverse().join(`-`)}: ${n}`;l.instance.setGroupErrorTips(e,t)}else l.instance.removeGroupErrorTips(e)})},validateFormItem=e=>{let t=widgetTree_default.widgetMap[e];if(!t)return{result:!0,message:``,path:``};let{instance:n}=t;if(t.type===`group`)n?.clearGroupErrorTips();else{n?.setState(`error`,!1),n?.setErrorTips(``);let t=e.split(`.`);t.forEach((n,r)=>{let i=t.slice(0,t.length-r).join(`.`),a=widgetTree_default.widgetMap[i];a.instance?.verifiable&&a.type===`group`&&a.instance.removeGroupErrorTips(e)})}let r=n.schema,i=ajv.compile(r);if(!i(n.value===void 0?initializationValue(r.type,{integer:0,number:0}):n.value)){(0,import_zh.default)(i.errors);let t=ajv.errorsText(i.errors,{separator:`
10
- `});return setWidgetErrorTips(e,!0,t),{result:!1,message:t,path:e}}let a=n.schema?.[OWN_RULE_PROPERTY]||[],o=a.some(e=>e===`required`);if(n.required&&!o){let t=validate({validator:`{{ $self.value !== '' }}`,message:`必填项`},n);if(!t.valid)return setWidgetErrorTips(e,!0,t.message),{result:!1,message:t.message,path:e}}let s=!1,c=``;for(let e of a){let t=validate(e,n);if(!t.valid){s=!0,c=t.message;break}}return s?(setWidgetErrorTips(e,!0,c),{result:!1,message:c,path:e}):{result:!0,message:c,path:e}},validateForm=()=>{let e=!0;return Object.keys(widgetTree_default.widgetMap).forEach(t=>{validateFormItem(t)?.result||(e=!1)}),e},validateFormWithResult=()=>new Promise((e,t)=>{let n=Object.keys(widgetTree_default.widgetMap).filter(e=>widgetTree_default.widgetMap[e]?.type===`node`).reduce((e,t)=>{let n=validateFormItem(t);return n?.result||e.push(n),e},[]);n.length?t(n):e([])}),validateSchema=async e=>{try{return await ajv.validateSchema(e,!0)}catch(e){return console.error(`Schema不符合规范, 请检查`,e),!1}},dispatchValidate=e=>validateFormItem(e),FormEvent=class{callbacks;constructor(){this.callbacks=Object.create(null)}on(e,t,n){return e in this.callbacks||(this.callbacks[e]={}),t in this.callbacks[e]||(this.callbacks[e][t]=[]),this.callbacks[e][t].push(n),this}off(e,t,n){if(!(e&&t))this.callbacks=Object.create(null);else if(e&&!t)delete this.callbacks[e];else if(e&&t&&!n)delete this.callbacks[e][t];else{let r=this.callbacks[e][t];for(let e in r)n===r[e]&&r.splice(Number(e),1)}return this}once(e,t,n){let r=this;function i(...a){n(...a),r.off(e,t,i)}return i.fn=n,this.on(e,t,i),this}emit(e,t,...n){if(this.callbacks[e]&&t in this.callbacks[e]){let r=[...this.callbacks[e][t]];for(let e of r)e(...n)}}},events_default=new FormEvent,Widget_default=(0,vue.defineComponent)({name:`Widget`,inheritAttrs:!1,props:FieldProps_default,data(){return{loading:!1,datasource:Schema.resolveDefaultDatasource(this.schema),formItemProps:{tips:``,label:``},state:{visible:this.visible,disabled:this.disabled,readonly:this.readonly,error:this.error},errorTips:``,privateSchema:{},key:``}},computed:{widgetMap(){return widgetTree_default.widgetMap},widgetNode(){return widgetTree_default.widgetMap[this.path]},parent(){return this.widgetNode?.parent},widgetSchema(){return mergeDeep({},this.schema,this.privateSchema)},value(){return this.modelValue}},watch:{modelValue:{handler(e,t){deepEquals(e,t)||setTimeout(()=>{reactionDispatch(this.path,`valChange`),dispatchValidate(this.path)},0)}},widgetSchema:{deep:!0,handler(e,t){deepEquals(e,t)||(this.resetDatasource(),this.key=new Date().getTime().toString())}}},created(){let e=Schema.getUiOptions(this.widgetSchema);this.formItemProps={...e,label:e.showTitle?e.label||Path.getPathLastProp(this.path):``,required:this.required};let t=Schema.getUiComponent(this.widgetSchema),n=Object.assign({},this.formItemProps,t||{});Object.keys(n).forEach(e=>{Reflect.has(this.state,e)&&this.setState(e,n[e])}),widgetTree_default.addWidgetNode(this.path,this,`node`)},mounted(){reactionRegister(this.path,this.widgetSchema[`ui:reactions`]),reactionDispatch(this.path,`valChange`),reactionDispatch(this.path,`lifetime/init`)},beforeUnmount(){widgetTree_default.removeWidgetNode(this.path,this),reactionUnRegister(this.path)},methods:{setState(e,t){Reflect.has(this.state,e)?this.state[e]=t:e===`value`?this.$emit(`update:modelValue`,{path:this.path,value:t}):console.warn(`Widget unsupported ${e} state, please check`)},async loadDataSource(){let e=this.widgetSchema?.[`ui:component`]?.remoteConfig;if(e){let{url:t,params:n,...r}=e,{request:i=fetch_default,responseParse:a}=this.httpAdapter;try{this.loading=!0;let e=executeExpression(t,this),o=isObj(n)?executeExpression(n,this):n;this.datasource=await i(e,{...r,params:o,responseParse:a}),this.loading=!1}catch(e){this.loading=!1,console.error(e)}}},setErrorTips(e){this.errorTips=e},getValue(e){return Path.getPathVal(this.rootData,e)},getReadonlyValue(){let e=this.modelValue;if(this.widgetSchema[`ui:component`]?.type===`password`)e=`******`;else if(this.datasource){let t=this.datasource?.find(e=>e.value===this.modelValue);t&&(e=t.label)}let t=e===``?`--`:e;return t=Object.prototype.toString.call(t)===`[Object Object]`?JSON.stringify(t):Array.isArray(t)?t.some(e=>e&&typeof e==`object`)?JSON.stringify(t):t.join(`,`):String(t),t},getSchema(){return this.widgetSchema},setSchema(e){try{this.privateSchema=JSON.parse(JSON.stringify(e))}catch(e){console.warn(e)}return this.widgetSchema},resetDatasource(){this.widgetSchema?.[`ui:component`]?.remoteConfig?this.loadDataSource():this.datasource=Schema.resolveDefaultDatasource(this.widgetSchema)},getDefaultValue(){return Schema.getSchemaDefaultValue(this.widgetSchema)},resetToDefault(){let e=this.getDefaultValue();this.$emit(`update:modelValue`,{path:this.path,value:e})},isDefaultValue(){let e=this.getDefaultValue();return deepEquals(this.modelValue,e)}},render(){let{name:e,...t}=Schema.getUiComponent(this.widgetSchema),n={...this.$props,loading:this.loading,modelValue:this.modelValue},r=this,i=register_default.getComponent(e)||e||Schema.getDefaultWidget(this.widgetSchema),a=events_default.callbacks?.[this.path]||{},o=()=>this.state.readonly&&this.readonlyMode===`value`&&this.widgetSchema[`ui:component`]?.name!==`table`?l:s,s=this.$slots.default?.({path:this.path})??(0,vue.h)(i,mergeDeep({...n,...t||{},...Object.keys(a).reduce((e,t)=>(e[`on${capitalizeFirstLetter(t)}`]=a[t],e),{}),schema:this.widgetSchema,onClick(){reactionDispatch(r.path,`effect/click`),a.click?.forEach(e=>e())},"onUpdate:modelValue":e=>{r.$emit(`update:modelValue`,{path:r.path,value:e}),a[`update:modelValue`]?.forEach(e=>e())}},t,{...this.state,datasource:this.datasource,readonly:this.readonly,readonlyMode:this.readonlyMode})),c=()=>this.$slots.suffix?.({path:this.path,schema:this.widgetSchema}),l=(0,vue.h)(`div`,{},{default:()=>this.getReadonlyValue()}),u=()=>this.removeable?(0,vue.h)(`span`,{class:[`bk-schema-form-group-delete`],onClick:()=>{r.$emit(`remove`,r.path)}},[(0,vue.h)(`i`,{class:[`bk-form-icon icon-close3-shape`]})]):null,d=()=>{let e=this.widgetSchema[`ui:props`]?.showResetDefault;return!(e===void 0?this.showResetDefault:e)||this.isDefaultValue()||this.state.readonly||this.state.disabled?null:(0,vue.withDirectives)((0,vue.h)(`span`,{class:[`bk-schema-form-reset-default`,`bk-form-icon icon-reset`],onClick:()=>{r.resetToDefault()}}),[[bkui_vue.bkTooltips,{content:`恢复默认值`}]])},f=()=>this.state.error?(0,vue.h)(`p`,{class:`bk-schema-form-item__error-tips`},{default:()=>this.errorTips}):null,p=()=>this.formItemProps.tips?(0,vue.h)(`p`,{class:[`mt5`,`mb0`,`f12`],style:{color:`#5e6d82`,lineHeight:`1.5em`}},{default:()=>this.formItemProps.tips}):null,m=()=>{let e=this.formItemProps.label,{description:t}=this.widgetSchema;return t?[(0,vue.withDirectives)((0,vue.h)(`span`,{class:{"bk-schema-form-label-description":t}},e),[[bkui_vue.bkTooltips,{content:t,disabled:!t}]]),d()]:[e,d()]};return(0,vue.h)(register_default.getBaseWidget(`form-item`),{key:this.key,...this.formItemProps,style:{...this.layout.item||{},...this.layout.container||{},display:this.state.visible?``:`none`},class:{"bk-schema-form-item--error":this.state.error}},{label:m,default:()=>[o(),c(),u(),f(),p()]})}}),ObjectField_default=(0,vue.defineComponent)({name:`ObjectField`,props:FieldProps_default,render(){let{schema:e,path:t,layout:n,rootData:r}=this.$props,i=orderProperties(Object.keys(e.properties||{}),e[`ui:order`]),a=[];i.length?a=i.map(i=>{let a=Path.getCurPath(t,i),o=a.split(`.`).pop(),s=Layout.findLayoutByProp(o,n.group||[])||{};return(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:a,modelValue:Path.getPathVal(r,a),schema:e.properties?.[i],required:Schema.isRequired(e,i),path:a,layout:s,removeable:!1},this.$slots)}):Schema.getUiComponent(e)&&(a=[(0,vue.h)(Widget_default,{...this.$props,...this.$attrs},this.$slots)]);let{name:o,...s}=Schema.getGroupWrap(e);return(0,vue.h)(o,mergeDeep({...this.$props,...this.$attrs,modelValue:Path.getPathVal(r,t),path:t},s),{default:()=>[...a]})}}),StringField=(e,t)=>(0,vue.h)(Widget_default,{...e,...t.attrs},t.slots),NumberField_default=(0,vue.defineComponent)({name:`NumberField`,props:FieldProps_default,render(){return(0,vue.h)(StringField,{...this.$props,...this.$attrs,schema:mergeDeep({"ui:component":{type:`number`,min:this.$props.schema?.type===`integer`?0:-1/0}},this.$props.schema)},this.$slots)}}),messages={"zh-CN":{add:`添加`},"en-US":{add:`Add`}};function locale(e){let t=getCookie(`blueking_language`)||`zh-CN`;return t=[`en-US`,`enUS`,`enus`,`en-us`,`en`].includes(t)?`en-US`:`zh-CN`,messages[t]?.[e]||``}var ArrayWidget_default=(0,vue.defineComponent)({name:`ArrayWidget`,props:{...FieldProps_default,modelValue:{type:Array,default:()=>[]}},mounted(){this.handleFillItem()},methods:{handleFillItem(){let{minItems:e=0}=this.schema,t=this.modelValue?this.modelValue.length:0;if(t<e){let n=Schema.getSchemaDefaultValue(this.schema.items),r=Array(e-t).fill(n);this.$emit(`update:modelValue`,{path:this.path,value:[...this.modelValue||[],...r]})}},handleAddItem(){let e=Schema.getSchemaDefaultValue(this.schema.items),t=JSON.parse(JSON.stringify(this.modelValue||[]));t.push(e),this.$emit(`update:modelValue`,{path:this.path,value:t})},handleDeleteItem(e){let t=Number(Path.getPathLastProp(e)),n=JSON.parse(JSON.stringify(this.modelValue||[]));n.splice(t,1),this.$emit(`update:modelValue`,{path:this.path,value:n})}},render(){let e=this,t=(Array.isArray(this.modelValue)?this.modelValue:[]).map((t,n)=>{let r=Path.getCurPath(this.path,n);return(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:`${r}-${this.modelValue.length}`,schema:this.schema.items,path:r,layout:{...this.layout,item:{}},removeable:!0,onRemove(t){e.handleDeleteItem(t)}})}),{name:n,...r}=Schema.getGroupWrap(this.schema);return(0,vue.h)(n,mergeDeep({...this.$props,layout:{},showTitle:!0,style:{...this.layout.item||{}},"onUpdate:modelValue":t=>{e.$emit(`update:modelValue`,t)}},r),{default:()=>[...t,this.readonly?void 0:(0,vue.h)(register_default.getBaseWidget(`form-item`),{labelWidth:0,class:{"bk-schema-form-item-auto-height":!0}},{default:()=>[(0,vue.h)(`span`,{class:[`bk-schema-form-group-add`],onClick(){e.handleAddItem()}},[(0,vue.h)(`i`,{class:[`bk-form-icon icon-plus-circle-shape mr5`]}),locale(`add`)])]})]})}}),ArrayField_default=(0,vue.defineComponent)({name:`ArrayField`,props:FieldProps_default,render(){let{schema:e,path:t}=this.$props;if(Schema.isMultiSelect(e)||Schema.isCustomArrayWidget(e))return(0,vue.h)(Widget_default,{...this.$props,...this.$attrs,key:t,schema:mergeDeep({"ui:component":{multiple:!0}},this.$props.schema)},this.$slots);if(Schema.isTupleArray(e)){let{name:n,...r}=Schema.getGroupWrap(e),i=e.items.map((e,n)=>(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:Path.getCurPath(t,n),schema:e,path:Path.getCurPath(t,n)},this.$slots));return(0,vue.h)(n,mergeDeep({...this.$props,path:t,showTitle:!0},r),{default:()=>[...i]})}return(0,vue.h)(ArrayWidget_default,{...this.$attrs,...this.$props},this.$slots)}}),BooleanField_default=(0,vue.defineComponent)({name:`BooleanField`,props:FieldProps_default,render(){let{name:e}=this.$props.schema[`ui:component`]||{},t={};return[`radio`,`select`].includes(e)?t={datasource:[{label:`False`,value:!1},{label:`True`,value:!0}]}:e===`checkbox`&&(t={label:this.$props.schema?.title}),(0,vue.h)(Widget_default,{...this.$props,...this.$attrs,schema:mergeDeep({"ui:component":{...t}},this.$props.schema)},this.$slots)}}),CompositionField_default=(0,vue.defineComponent)({name:`CompositionField`,props:{...FieldProps_default},data(){return{activeIndex:-1}},computed:{composition(){return this.schema.anyOf?.length?`anyOf`:this.schema.oneOf?.length?`oneOf`:``}},created(){let e=(this.schema[this.composition]||[]).findIndex(e=>ajv.validate(e,this.modelValue));this.activeIndex=e>-1?e:0},render(){let e=this.schema[this.composition]||[],t=e.map(e=>{let t=mergeDeep({},this.schema,e);return delete t[this.composition],t}),{name:n=`radio`,...r}=Schema.getUiProps(`ui:${this.composition}`,this.schema);if(typeof this.schema.type!=`object`&&t.every(e=>e.const))return(0,vue.h)(Widget_default,{...this.$props,...this.$attrs},this.$slots);let{...i}=Schema.getUiProps(`ui:composition`,this.schema);return(0,vue.h)(register_default.getComponent(`group`),mergeDeep({...this.$props,rootData:this.rootData,schema:this.schema,modelValue:Path.getPathVal(this.rootData,this.path),path:this.path,onRemove(){this.$emit(`remove`,this.path)}},i),{default:()=>[(0,vue.h)(register_default.getBaseWidget(`form-item`),{label:r?.title},{default:()=>(0,vue.h)(register_default.getComponent(n),mergeDeep({modelValue:this.activeIndex,datasource:t.map((e,t)=>({label:e.title||``,value:t})),clearable:!1,"onUpdate:modelValue":t=>{if(this.activeIndex=t,isObj(this.modelValue)){let t=JSON.parse(JSON.stringify(this.modelValue));e.filter((e,t)=>t!==this.activeIndex).reduce((e,t)=>{let{properties:n={}}=t;return e.push(...Object.keys(n)),e},[]).forEach(e=>{delete t[e]}),this.$emit(`update:modelValue`,{path:this.path,value:t})}}},r||{}))}),(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:this.activeIndex,removeable:!1,schema:t[this.activeIndex]},this.$slots)]})}}),CheckboxWidget_default=(0,vue.defineComponent)({name:`CheckboxWidget`,props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[Array,Boolean],default:()=>[]},label:{type:String,default:``}},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return Array.isArray(this.modelValue)?(0,vue.h)(register_default.getBaseWidget(`checkbox-group`),{modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.datasource.map(e=>(0,vue.h)(register_default.getBaseWidget(`checkbox`),{...this.$attrs,key:e.value,class:[`mr24`],label:e.value},{default:()=>e.label}))}):(0,vue.h)(register_default.getBaseWidget(`checkbox`),{modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.label})}}),SelectWidget_default=(0,vue.defineComponent)({name:`SelectWidget`,props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[Array,String,Number,Boolean],default:``},loading:{type:Boolean,default:!1}},methods:{handleSelectChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`select`),{...this.$attrs,loading:this.loading,modelValue:this.modelValue,onChange:this.handleSelectChange},{default:()=>this.datasource?.map(e=>(0,vue.withDirectives)((0,vue.h)(register_default.getBaseWidget(`option`),{key:e.value,name:e.label,id:e.value,disabled:e.disabled}),[]))})}}),RadioWidget_default=(0,vue.defineComponent)({name:`RadioWidget`,props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[String,Number,Boolean],default:``},disabled:{type:Boolean,default:!1}},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`radio-group`),{...this.$attrs,modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.datasource.map(e=>(0,vue.h)(register_default.getBaseWidget(`radio`),{key:e.value,class:[`mr24`],modelValue:e.value,label:e.value,disabled:e.disabled||this.disabled},{default:()=>e.label}))})}}),ButtonWidget_default=(0,vue.defineComponent)({name:`ButtonWidget`,props:{word:{type:String,default:``}},methods:{handleClick(){this.$emit(`click`)}},render(){let e=this;return(0,vue.h)(register_default.getBaseWidget(`button`),{...this.$attrs,onClick:e.handleClick()},{default:()=>this.word})}}),getRowDefaultData=(e={})=>{let t=Object.keys(e),n={};return t.forEach(t=>{n[t]=Schema.getSchemaDefaultValue(e[t])}),[n]},TableWidget_default=(0,vue.defineComponent)({name:`TableWidget`,props:{...FieldProps_default,modelValue:{type:Array}},watch:{modelValue:{immediate:!0,handler(){this.modelValue?.forEach((e,t)=>{let n=`${this.path}.${t}`;widgetTree_default.removeWidgetNode(n,null),widgetTree_default.addWidgetNode(n,null,`group`)})}}},methods:{handleCellValChange({path:e,value:t}){let n=Path.getSubPath(this.path,e),r=Path.setPathValue(this.modelValue,n,t);this.$emit(`update:modelValue`,r)},handleAddRow(e){if(this.schema[`ui:props`]?.disabled)return;let t=this.modelValue?.slice(0)||[];t.splice(e+1,0,...getRowDefaultData(this.$props.schema.items?.properties)),this.$emit(`update:modelValue`,t)},handleDelRow(e){if(this.schema[`ui:props`]?.disabled)return;let t=this.modelValue?.slice(0)||[];t.splice(e,1),this.$emit(`update:modelValue`,t)}},render(){let e=this,{schema:t,path:n,modelValue:r}=this,i=t.items,a={};i?.properties?a=i?.properties:console.warn(`The current schema type is not supported table component`,i);let o=Schema.getUiOptions(t),s=()=>{let r=Object.keys(a).map(t=>{let r=a[t];return{...r[`ui:props`]||{},label:r?.title,field:t,render:({row:i,index:a})=>(0,vue.h)(SchemaField_default,{...this.$props,schema:mergeDeep(r,{"ui:props":{showTitle:!1,labelWidth:.1}}),path:Path.getCurPath(n,`${a}.${t}`),modelValue:i[t],"onUpdate:modelValue"(t){e.handleCellValChange(t)}})}});return!this.readonly&&o.modifyRows!==!1&&r.push({label:`操作`,width:100,fixed:`right`,render:({index:n})=>(0,vue.h)(`div`,{class:{"table-widget-actions":!0,"is-disabled":t[`ui:props`]?.disabled}},{default:()=>[(0,vue.h)(`i`,{class:`bk-form-icon icon-plus-line action-btn`,onClick(){e.handleAddRow(n)}}),(0,vue.h)(`i`,{class:`bk-form-icon icon-minus-line action-btn`,onClick(){e.handleDelRow(n)}})]})}),r};return(0,vue.h)(register_default.getBaseWidget(`table`),{...t[`ui:component`]||{},data:r,columns:s()},{empty:()=>this.readonly||o.modifyRows===!1?null:(0,vue.h)(`div`,{style:{color:`#3a84ff`,cursor:`pointer`},onClick:()=>{e.handleAddRow(0)}},`点击添加数据`)})}}),FieldGroupWrap_default=(0,vue.defineComponent)({name:`FieldGroupWrap`,props:{...FieldProps_default,type:{type:String,default:`default`,validator:e=>[`default`,`normal`,`card`].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},verifiable:{type:Boolean,default:!1},hideEmptyRow:{type:Boolean,default:!1},showResetDefault:{type:Boolean,default:!1}},data(){return{groupErrorTips:{},state:{visible:!0}}},computed:{value(){return this.modelValue}},created(){widgetTree_default.addWidgetNode(this.path,this,`group`)},mounted(){this.$forceUpdate()},beforeUnmount(){widgetTree_default.removeWidgetNode(this.path,this)},methods:{setState(e,t){Reflect.has(this.state,e)?this.state[e]=t:console.warn(`Group unsupported ${e} state, please check`)},setGroupErrorTips(e,t){this.groupErrorTips[e]=t},removeGroupErrorTips(e){delete this.groupErrorTips[e]},clearGroupErrorTips(){this.groupErrorTips={}},getDefaultValue(){return Schema.getSchemaDefaultValue(this.schema)},resetToDefault(){let e=this.getDefaultValue();this.$emit(`update:modelValue`,{path:this.path,value:e})},isDefaultValue(){let e=this.getDefaultValue();return deepEquals(this.modelValue,e)}},render(){let e={position:`relative`,border:this.border?`1px solid #dcdee5`:`none`,display:this.state.visible?``:`none`,...this.layout?.item||{}},t={...this.layout?.container||{display:`grid`,gridGap:`24px`}},n=this,r=()=>(0,vue.h)(`span`,{class:[`bk-schema-form-group-delete`],onClick(){n.$emit(`remove`,n.path)}},[(0,vue.h)(`i`,{class:[`bk-form-icon icon-close3-shape`]})]),i=this.schema?.title||this.layout?.prop,a=Object.keys(this.groupErrorTips).map(e=>(0,vue.createVNode)(`p`,null,[this.groupErrorTips[e]])),o=JSON.stringify(this.groupErrorTips)!==`{}`,s=()=>!this.showResetDefault||this.isDefaultValue()||this.readonly||this.disabled?null:(0,vue.withDirectives)((0,vue.h)(`span`,{class:[`bk-schema-form-reset-default`,`bk-form-icon icon-reset`],onClick:()=>{n.resetToDefault()}}),[[bkui_vue.bkTooltips,{content:`恢复默认值`}]]);return(0,vue.createVNode)(`div`,{class:[`bk-schema-form-group`,this.type,{"hide-empty-row":this.hideEmptyRow},{"bk-schema-form-group--error":o}],style:e},[i&&this.showTitle?(0,vue.createVNode)(`span`,{class:[`bk-schema-form-group-title`,this.type]},[i,s(),o?(0,vue.createVNode)(`span`,{class:`bk-schema-form-group__error-tips`},[(0,vue.createVNode)(`span`,{class:`bk-schema-form-group__error-tips-popover`},[a])]):null]):null,(0,vue.createVNode)(`div`,{style:t,class:`bk-schema-form-group-content`},[this.$slots?.default?.()]),this.removeable&&r()])}}),KeyValueArrayWidget_default=(0,vue.defineComponent)({name:`KeyValueArrayWidget`,props:{...FieldProps_default,modelValue:{type:Array,default:()=>[]}},mounted(){let{minItems:e=0}=this.schema;if(this.modelValue?.length<e){let t=Schema.getSchemaDefaultValue(this.schema.items),n=Array(e-this.modelValue.length).fill(t);this.$emit(`update:modelValue`,[...this.modelValue,...n])}},methods:{handleAddItem(){if(this.disabled)return;let e=Schema.getSchemaDefaultValue(this.schema.items);this.$emit(`update:modelValue`,[...this.modelValue,e])},handleRemoveItem(e){if(this.disabled)return;let t=JSON.parse(JSON.stringify(this.modelValue));t.splice(e,1),this.$emit(`update:modelValue`,t)},handleInput({path:e,value:t}){let n=Path.getSubPath(this.path,e),r=Path.setPathValue(this.modelValue,n,t);this.$emit(`update:modelValue`,r)}},render(){let e={"font-size":`16px`,color:`#979ba5`,cursor:this.disabled?`not-allowed`:`pointer`,display:`inline-block`},t=this.schema?.items?.properties,n=orderProperties(Object.keys(t||{}),this.schema?.items?.[`ui:order`]),r=Object.keys(t||{}).length,i=t?Array(r).fill(`1fr`).concat(`20px`).join(` `):`1fr 20px`,a={...this.layout.container||{display:`grid`,gridGap:`24px`,"grid-template-columns":i}},o=this,s=e=>mergeDeep({"ui:component":{placeholder:e.title},"ui:props":{showTitle:!1,labelWidth:.1}},e),c=e=>{let{path:t,schema:n,required:r,layout:i}=e;return(0,vue.h)(SchemaField_default,{...this.$props,key:t,schema:n,required:r,path:t,layout:i,style:{marginBottom:`10px`},"onUpdate:modelValue"(e){o.handleInput(e)}})};return(0,vue.createVNode)(`div`,null,[this.modelValue?.map((t,r)=>{let i=Path.getCurPath(this.path,`${r}`);return(0,vue.createVNode)(FieldGroupWrap_default,(0,vue.mergeProps)({...this.$props,path:i,modelValue:Path.getPathVal(this.rootData,i),schema:this.schema.items,layout:{...this.layout,container:{...a}}},{class:`mb10`}),{default:()=>[n?.length?n.map(e=>{let t=this.schema?.items?.properties[e],n=Path.getCurPath(this.path,`${r}.${e}`),i=n.split(`.`).pop(),a=Layout.findLayoutByProp(i,this.layout.group||[])||{};return c({path:n,schema:s(t),layout:a,required:Schema.isRequired(t,e)})}):c({path:Path.getCurPath(this.path,r),schema:s(this.schema?.items||{}),layout:{},required:!1}),(0,vue.createVNode)(`span`,{style:e,onClick:()=>this.handleRemoveItem(r)},[(0,vue.createVNode)(`i`,{class:`bk-form-icon icon-minus-line`},null)])]})}),(0,vue.createVNode)(`span`,{onClick:this.handleAddItem,style:e},[(0,vue.createVNode)(`i`,{class:`bk-form-icon icon-plus-line`},null)])])}}),TabGroupWidget_default=(0,vue.defineComponent)({name:`TabWidget`,props:{...FieldProps_default,type:{type:String,default:`default`,validator:e=>[`default`,`normal`,`card`].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},verifiable:{type:Boolean,default:!1}},data(){return{active:``}},beforeMount(){this.active=orderProperties(Object.keys(this.schema?.properties||{}),this.schema[`ui:order`])?.[0]},render(){let e={...this.$props,layout:{...this.layout,container:{}},title:this.schema.title},t=this,n=orderProperties(Object.keys(this.schema?.properties||{}),this.schema[`ui:order`]);return(0,vue.h)(FieldGroupWrap_default,{...e,onRemove(e){t.$emit(`remove`,e)}},{default:()=>[(0,vue.h)(register_default.getBaseWidget(`tab`),{type:`border-card`,active:this.active,onChange:e=>{this.active=e}},{default:()=>n.map(e=>{let t=this.schema?.properties?.[e],n=Path.getCurPath(this.path,e),r=n.split(`.`).pop(),i=Layout.findLayoutByProp(r,this.layout.group||[])||{};return(0,vue.h)(register_default.getBaseWidget(`tab-panel`),{key:e,name:e,label:t?.title},{default:()=>(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:n,schema:t,required:Schema.isRequired(t,e),path:n,layout:i,removeable:!1})})})})]})}}),CollapseGroupWidget_default=(0,vue.defineComponent)({name:`CollapseWidget`,props:{...FieldProps_default,type:{type:String,default:`default`,validator:e=>[`default`,`normal`,`card`].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},defaultActiveName:{type:Array,default:()=>[]},verifiable:{type:Boolean,default:!1}},data(){return{activeName:this.defaultActiveName}},render(){let e={...this.$props,layout:{...this.layout,container:{}},title:this.schema.title},t=orderProperties(Object.keys(this.schema?.properties||{}),this.schema[`ui:order`]).map(e=>{let t=this.schema?.properties?.[e],n=Path.getCurPath(this.path,e),r=n.split(`.`).pop(),i=Layout.findLayoutByProp(r,this.layout.group||[])||{};return(0,vue.h)(register_default.getBaseWidget(`collapse-panel`),{key:e,name:e,title:t.title},{content:()=>(0,vue.h)(SchemaField_default,{key:n,...this.$props,...this.$attrs,schema:t,required:Schema.isRequired(t,e),path:n,layout:i,removeable:!1})})}),n=this;return(0,vue.h)(FieldGroupWrap_default,{...e},{default:()=>(0,vue.h)(register_default.getBaseWidget(`collapse`),{"use-card-theme":!0,modelValue:this.activeName,"onUpdate:modelValue"(e){n.activeName=e}},{default:()=>t})})}}),SwitchWidget_default=(0,vue.defineComponent)({name:`SwitchWidget`,props:{modelValue:Boolean},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`switcher`),{...this.$attrs,modelValue:this.modelValue,onChange:e=>{this.handleChange(e)}})}}),ColorPickerWidget_default=(0,vue.defineComponent)({name:`ColorPicker`,props:{modelValue:String},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`color-picker`),{...this.$attrs,modelValue:this.modelValue,onChange:this.handleChange})}}),InputWidget_default=(0,vue.defineComponent)({name:`InputWidget`,props:{modelValue:[String,Number],unit:{type:String,default:``},maxRows:{type:Number,default:0}},computed:{rows(){let e=String(this.modelValue).split(`
11
- `).length;return e<=this.maxRows?e:this.maxRows}},methods:{handleInput(e){this.$attrs.type===`number`?this.$emit(`update:modelValue`,isNaN(e)||e===``?e:Number(e)):this.$emit(`update:modelValue`,e)},handleBlur(e){let t=e?.target?.value;this.$attrs.type===`number`&&isNaN(t)&&this.$emit(`update:modelValue`,this.$attrs.min||0)}},render(){return(0,vue.h)(register_default.getBaseWidget(`input`),{suffix:this.unit,modelValue:this.modelValue,rows:this.rows,type:this.maxRows>1||Number(this.$attrs.rows)>1?`textarea`:`text`,onInput:this.handleInput,onBlur:this.handleBlur,...this.$attrs})}}),defaultOptions={namespace:`bk`,components:{button:ButtonWidget_default,select:SelectWidget_default,radio:RadioWidget_default,checkbox:CheckboxWidget_default,table:TableWidget_default,group:FieldGroupWrap_default,bfArray:KeyValueArrayWidget_default,tab:TabGroupWidget_default,collapse:CollapseGroupWidget_default,switcher:SwitchWidget_default,color:ColorPickerWidget_default,bfInput:InputWidget_default},fields:{object:ObjectField_default,string:StringField,any:``,array:ArrayField_default,boolean:BooleanField_default,null:``,integer:NumberField_default,number:NumberField_default,composition:CompositionField_default}};function createForm(e={}){let{namespace:t,components:n,fields:r,baseWidgets:i={}}=mergeDeep(defaultOptions,e);return Registry.namespace=t,register_default.addComponentsMap(n),register_default.addFieldsMap(r),register_default.addBaseWidgets(i),(0,vue.defineComponent)({name:`BkuiForm`,props:props_default,data(){return{rootData:{},formKey:`bk-ui-form`}},watch:{schema(e,t){JSON.stringify(e)!==JSON.stringify(t)&&(this.validateSchema(this.schema),this.initFormData(),this.formKey=`bk-ui-form-${new Date().getTime()}`)},context:{handler(e){Registry.context=e,hasOwnProperty(e,`rules`)&&registryGlobalRules(e.rules)},immediate:!0},rules:{immediate:!0,handler(e){registryGlobalRules(e)}},modelValue(){this.initFormData()}},beforeCreate(){registryGlobalRules(DEFAULT_RULES)},created(){this.validateSchema(this.schema),this.initFormData()},methods:{initFormData(){this.rootData=merge(Schema.getSchemaDefaultValue(createProxy(this.schema,this))||{},this.modelValue),this.emitFormValueChange(this.rootData,this.modelValue)},emitFormValueChange(e,t){deepEquals(e,t)||(this.rootData=e,this.$emit(`update:modelValue`,e),this.$emit(`change`,e,t))},resetToDefault(){let e=deepClone(Schema.getSchemaDefaultValue(createProxy(this.schema,this))||{});this.emitFormValueChange(e,this.modelValue),this.$emit(`reset`,e)},validateForm,validateFormItem,validate:validateFormWithResult,validateSchema},render(){let e=this,t=(0,vue.h)(SchemaField_default,{...this.$props,schema:createProxy(this.schema,this),rootData:this.rootData,modelValue:this.modelValue,layout:new Layout(this.layout).layout,"onUpdate:modelValue":({path:t=``,value:n})=>{if(!t)e.emitFormValueChange(n,e.modelValue);else{let r=Path.setPathValue(e.rootData,t,n);e.emitFormValueChange(r,e.modelValue)}}},this.$slots),n=this.showResetButton?(0,vue.h)(`div`,{class:`bk-schema-form-actions`},[(0,vue.h)(register_default.getBaseWidget(`button`),{...this.resetButtonProps,onClick:()=>e.resetToDefault()},{default:()=>this.resetButtonText})]):null;return(0,vue.h)(register_default.getBaseWidget(`form`),{ref:`bkui-form`,key:this.formKey,model:this.modelValue,formType:this.formType,labelWidth:this.labelWidth,class:{"bk-schema-form":!0},style:{width:typeof this.width==`number`?`${this.width}px`:this.width}},{default:()=>[t,n]})}})}var src_default=createForm;exports.Schema=Schema,exports.default=src_default,exports.events=events_default});
10
+ `});return setWidgetErrorTips(e,!0,t),{result:!1,message:t,path:e}}let a=n.schema?.[OWN_RULE_PROPERTY]||[],o=a.some(e=>e===`required`);if(n.required&&!o){let t=validate({validator:`{{ $self.value !== '' }}`,message:`必填项`},n);if(!t.valid)return setWidgetErrorTips(e,!0,t.message),{result:!1,message:t.message,path:e}}let s=!1,c=``;for(let e of a){let t=validate(e,n);if(!t.valid){s=!0,c=t.message;break}}return s?(setWidgetErrorTips(e,!0,c),{result:!1,message:c,path:e}):{result:!0,message:c,path:e}},validateForm=()=>{let e=!0;return Object.keys(widgetTree_default.widgetMap).forEach(t=>{validateFormItem(t)?.result||(e=!1)}),e},validateFormWithResult=()=>new Promise((e,t)=>{let n=Object.keys(widgetTree_default.widgetMap).filter(e=>widgetTree_default.widgetMap[e]?.type===`node`).reduce((e,t)=>{let n=validateFormItem(t);return n?.result||e.push(n),e},[]);n.length?t(n):e([])}),validateSchema=async e=>{try{return await ajv.validateSchema(e,!0)}catch(e){return console.error(`Schema不符合规范, 请检查`,e),!1}},dispatchValidate=e=>validateFormItem(e),FormEvent=class{callbacks;constructor(){this.callbacks=Object.create(null)}on(e,t,n){return e in this.callbacks||(this.callbacks[e]={}),t in this.callbacks[e]||(this.callbacks[e][t]=[]),this.callbacks[e][t].push(n),this}off(e,t,n){if(!(e&&t))this.callbacks=Object.create(null);else if(e&&!t)delete this.callbacks[e];else if(e&&t&&!n)delete this.callbacks[e][t];else{let r=this.callbacks[e][t];for(let e in r)n===r[e]&&r.splice(Number(e),1)}return this}once(e,t,n){let r=this;function i(...a){n(...a),r.off(e,t,i)}return i.fn=n,this.on(e,t,i),this}emit(e,t,...n){if(this.callbacks[e]&&t in this.callbacks[e]){let r=[...this.callbacks[e][t]];for(let e of r)e(...n)}}},events_default=new FormEvent,Widget_default=(0,vue.defineComponent)({name:`Widget`,inheritAttrs:!1,props:FieldProps_default,data(){return{loading:!1,datasource:Schema.resolveDefaultDatasource(this.schema),formItemProps:{tips:``,label:``},state:{visible:this.visible,disabled:this.disabled,readonly:this.readonly,error:this.error},errorTips:``,privateSchema:{},key:``}},computed:{widgetMap(){return widgetTree_default.widgetMap},widgetNode(){return widgetTree_default.widgetMap[this.path]},parent(){return this.widgetNode?.parent},widgetSchema(){return mergeDeep({},this.schema,this.privateSchema)},value(){return this.modelValue}},watch:{modelValue:{handler(e,t){deepEquals(e,t)||setTimeout(()=>{reactionDispatch(this.path,`valChange`),dispatchValidate(this.path)},0)}},widgetSchema:{deep:!0,handler(e,t){deepEquals(e,t)||(this.resetDatasource(),this.key=new Date().getTime().toString())}}},created(){let e=Schema.getUiOptions(this.widgetSchema);this.formItemProps={...e,label:e.showTitle?e.label||Path.getPathLastProp(this.path):``,required:this.required};let t=Schema.getUiComponent(this.widgetSchema),n=Object.assign({},this.formItemProps,t||{});Object.keys(n).forEach(e=>{Reflect.has(this.state,e)&&this.setState(e,n[e])}),widgetTree_default.addWidgetNode(this.path,this,`node`)},mounted(){reactionRegister(this.path,this.widgetSchema[`ui:reactions`]),reactionDispatch(this.path,`valChange`),reactionDispatch(this.path,`lifetime/init`)},beforeUnmount(){widgetTree_default.removeWidgetNode(this.path,this),reactionUnRegister(this.path)},methods:{setState(e,t){Reflect.has(this.state,e)?this.state[e]=t:e===`value`?this.$emit(`update:modelValue`,{path:this.path,value:t}):console.warn(`Widget unsupported ${e} state, please check`)},async loadDataSource(){let e=this.widgetSchema?.[`ui:component`]?.remoteConfig;if(e){let{url:t,params:n,...r}=e,{request:i=fetch_default,responseParse:a}=this.httpAdapter;try{this.loading=!0;let e=executeExpression(t,this),o=isObj(n)?executeExpression(n,this):n;this.datasource=await i(e,{...r,params:o,responseParse:a}),this.loading=!1}catch(e){this.loading=!1,console.error(e)}}},setErrorTips(e){this.errorTips=e},getValue(e){return Path.getPathVal(this.rootData,e)},getReadonlyValue(){let e=this.modelValue;if(this.widgetSchema[`ui:component`]?.type===`password`)e=`******`;else if(this.datasource){let t=this.datasource?.find(e=>e.value===this.modelValue);t&&(e=t.label)}let t=e===``?`--`:e;return t=Object.prototype.toString.call(t)===`[Object Object]`?JSON.stringify(t):Array.isArray(t)?t.some(e=>e&&typeof e==`object`)?JSON.stringify(t):t.join(`,`):String(t),t},getSchema(){return this.widgetSchema},setSchema(e){try{this.privateSchema=JSON.parse(JSON.stringify(e))}catch(e){console.warn(e)}return this.widgetSchema},resetDatasource(){this.widgetSchema?.[`ui:component`]?.remoteConfig?this.loadDataSource():this.datasource=Schema.resolveDefaultDatasource(this.widgetSchema)},getDefaultValue(){return Schema.getSchemaDefaultValue(this.widgetSchema)},resetToDefault(){let e=this.getDefaultValue();this.$emit(`update:modelValue`,{path:this.path,value:e})},isDefaultValue(){let e=this.getDefaultValue();return deepEquals(this.modelValue,e)}},render(){let{name:e,...t}=Schema.getUiComponent(this.widgetSchema);Object.keys(t).forEach(e=>{typeof t[e]==`string`&&(t[e]=executeExpression(t[e],this))});let n={...this.$props,loading:this.loading,modelValue:this.modelValue},r=this,i=register_default.getComponent(e)||e||Schema.getDefaultWidget(this.widgetSchema),a=events_default.callbacks?.[this.path]||{},o=()=>this.state.readonly&&this.readonlyMode===`value`&&this.widgetSchema[`ui:component`]?.name!==`table`?l:s,s=this.$slots.default?.({path:this.path})??(0,vue.h)(i,mergeDeep({...n,...t||{},...Object.keys(a).reduce((e,t)=>(e[`on${capitalizeFirstLetter(t)}`]=a[t],e),{}),schema:this.widgetSchema,onClick(){reactionDispatch(r.path,`effect/click`),a.click?.forEach(e=>e())},"onUpdate:modelValue":e=>{r.$emit(`update:modelValue`,{path:r.path,value:e}),a[`update:modelValue`]?.forEach(e=>e())}},t,{...this.state,datasource:this.datasource,readonly:this.readonly,readonlyMode:this.readonlyMode})),c=()=>this.$slots.suffix?.({path:this.path,schema:this.widgetSchema}),l=(0,vue.h)(`div`,{},{default:()=>this.getReadonlyValue()}),u=()=>this.removeable?(0,vue.h)(`span`,{class:[`bk-schema-form-group-delete`],onClick:()=>{r.$emit(`remove`,r.path)}},[(0,vue.h)(`i`,{class:[`bk-form-icon icon-close3-shape`]})]):null,d=()=>{let e=this.widgetSchema[`ui:props`]?.showResetDefault;return!(e===void 0?this.showResetDefault:e)||this.isDefaultValue()||this.state.readonly||this.state.disabled?null:(0,vue.withDirectives)((0,vue.h)(`span`,{class:[`bk-schema-form-reset-default`,`bk-form-icon icon-reset`],onClick:()=>{r.resetToDefault()}}),[[bkui_vue.bkTooltips,{content:`恢复默认值`}]])},f=()=>this.state.error?(0,vue.h)(`p`,{class:`bk-schema-form-item__error-tips`},{default:()=>this.errorTips}):null,p=()=>this.formItemProps.tips?(0,vue.h)(`p`,{class:[`mt5`,`mb0`,`f12`],style:{color:`#5e6d82`,lineHeight:`1.5em`}},{default:()=>this.formItemProps.tips}):null,m=()=>{let e=this.formItemProps.label,{description:t}=this.widgetSchema;return t?[(0,vue.withDirectives)((0,vue.h)(`span`,{class:{"bk-schema-form-label-description":t}},e),[[bkui_vue.bkTooltips,{content:t,disabled:!t}]]),d()]:[e,d()]};return(0,vue.h)(register_default.getBaseWidget(`form-item`),{key:this.key,...this.formItemProps,style:{...this.layout.item||{},...this.layout.container||{},display:this.state.visible?``:`none`},class:{"bk-schema-form-item--error":this.state.error}},{label:m,default:()=>[o(),c(),u(),f(),p()]})}}),ObjectField_default=(0,vue.defineComponent)({name:`ObjectField`,props:FieldProps_default,render(){let{schema:e,path:t,layout:n,rootData:r}=this.$props,i=orderProperties(Object.keys(e.properties||{}),e[`ui:order`]),a=[];i.length?a=i.map(i=>{let a=Path.getCurPath(t,i),o=a.split(`.`).pop(),s=Layout.findLayoutByProp(o,n.group||[])||{};return(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:a,modelValue:Path.getPathVal(r,a),schema:e.properties?.[i],required:Schema.isRequired(e,i),path:a,layout:s,removeable:!1},this.$slots)}):Schema.getUiComponent(e)&&(a=[(0,vue.h)(Widget_default,{...this.$props,...this.$attrs},this.$slots)]);let{name:o,...s}=Schema.getGroupWrap(e);return(0,vue.h)(o,mergeDeep({...this.$props,...this.$attrs,modelValue:Path.getPathVal(r,t),path:t},s),{default:()=>[...a]})}}),StringField=(e,t)=>(0,vue.h)(Widget_default,{...e,...t.attrs},t.slots),NumberField_default=(0,vue.defineComponent)({name:`NumberField`,props:FieldProps_default,render(){return(0,vue.h)(StringField,{...this.$props,...this.$attrs,schema:mergeDeep({"ui:component":{type:`number`,min:this.$props.schema?.type===`integer`?0:-1/0}},this.$props.schema)},this.$slots)}}),messages={"zh-CN":{add:`添加`},"en-US":{add:`Add`}};function locale(e){let t=getCookie(`blueking_language`)||`zh-CN`;return t=[`en-US`,`enUS`,`enus`,`en-us`,`en`].includes(t)?`en-US`:`zh-CN`,messages[t]?.[e]||``}var ArrayWidget_default=(0,vue.defineComponent)({name:`ArrayWidget`,props:{...FieldProps_default,modelValue:{type:Array,default:()=>[]}},mounted(){this.handleFillItem()},methods:{handleFillItem(){let{minItems:e=0}=this.schema,t=this.modelValue?this.modelValue.length:0;if(t<e){let n=Schema.getSchemaDefaultValue(this.schema.items),r=Array(e-t).fill(n);this.$emit(`update:modelValue`,{path:this.path,value:[...this.modelValue||[],...r]})}},handleAddItem(){let e=Schema.getSchemaDefaultValue(this.schema.items),t=JSON.parse(JSON.stringify(this.modelValue||[]));t.push(e),this.$emit(`update:modelValue`,{path:this.path,value:t})},handleDeleteItem(e){let t=Number(Path.getPathLastProp(e)),n=JSON.parse(JSON.stringify(this.modelValue||[]));n.splice(t,1),this.$emit(`update:modelValue`,{path:this.path,value:n})}},render(){let e=this,t=(Array.isArray(this.modelValue)?this.modelValue:[]).map((t,n)=>{let r=Path.getCurPath(this.path,n);return(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:`${r}-${this.modelValue.length}`,schema:this.schema.items,path:r,layout:{...this.layout,item:{}},removeable:!0,onRemove(t){e.handleDeleteItem(t)}})}),{name:n,...r}=Schema.getGroupWrap(this.schema);return(0,vue.h)(n,mergeDeep({...this.$props,layout:{},showTitle:!0,style:{...this.layout.item||{}},"onUpdate:modelValue":t=>{e.$emit(`update:modelValue`,t)}},r),{default:()=>[...t,this.readonly?void 0:(0,vue.h)(register_default.getBaseWidget(`form-item`),{labelWidth:0,class:{"bk-schema-form-item-auto-height":!0}},{default:()=>[(0,vue.h)(`span`,{class:[`bk-schema-form-group-add`],onClick(){e.handleAddItem()}},[(0,vue.h)(`i`,{class:[`bk-form-icon icon-plus-circle-shape mr5`]}),locale(`add`)])]})]})}}),ArrayField_default=(0,vue.defineComponent)({name:`ArrayField`,props:FieldProps_default,render(){let{schema:e,path:t}=this.$props;if(Schema.isMultiSelect(e)||Schema.isCustomArrayWidget(e))return(0,vue.h)(Widget_default,{...this.$props,...this.$attrs,key:t,schema:mergeDeep({"ui:component":{multiple:!0}},this.$props.schema)},this.$slots);if(Schema.isTupleArray(e)){let{name:n,...r}=Schema.getGroupWrap(e),i=e.items.map((e,n)=>(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:Path.getCurPath(t,n),schema:e,path:Path.getCurPath(t,n)},this.$slots));return(0,vue.h)(n,mergeDeep({...this.$props,path:t,showTitle:!0},r),{default:()=>[...i]})}return(0,vue.h)(ArrayWidget_default,{...this.$attrs,...this.$props},this.$slots)}}),BooleanField_default=(0,vue.defineComponent)({name:`BooleanField`,props:FieldProps_default,render(){let{name:e}=this.$props.schema[`ui:component`]||{},t={};return[`radio`,`select`].includes(e)?t={datasource:[{label:`False`,value:!1},{label:`True`,value:!0}]}:e===`checkbox`&&(t={label:this.$props.schema?.title}),(0,vue.h)(Widget_default,{...this.$props,...this.$attrs,schema:mergeDeep({"ui:component":{...t}},this.$props.schema)},this.$slots)}}),CompositionField_default=(0,vue.defineComponent)({name:`CompositionField`,props:{...FieldProps_default},data(){return{activeIndex:-1}},computed:{composition(){return this.schema.anyOf?.length?`anyOf`:this.schema.oneOf?.length?`oneOf`:``}},created(){let e=(this.schema[this.composition]||[]).findIndex(e=>ajv.validate(e,this.modelValue));this.activeIndex=e>-1?e:0},render(){let e=this.schema[this.composition]||[],t=e.map(e=>{let t=mergeDeep({},this.schema,e);return delete t[this.composition],t}),{name:n=`radio`,...r}=Schema.getUiProps(`ui:${this.composition}`,this.schema);if(typeof this.schema.type!=`object`&&t.every(e=>e.const))return(0,vue.h)(Widget_default,{...this.$props,...this.$attrs},this.$slots);let{...i}=Schema.getUiProps(`ui:composition`,this.schema);return(0,vue.h)(register_default.getComponent(`group`),mergeDeep({...this.$props,rootData:this.rootData,schema:this.schema,modelValue:Path.getPathVal(this.rootData,this.path),path:this.path,onRemove(){this.$emit(`remove`,this.path)}},i),{default:()=>[(0,vue.h)(register_default.getBaseWidget(`form-item`),{label:r?.title},{default:()=>(0,vue.h)(register_default.getComponent(n),mergeDeep({modelValue:this.activeIndex,datasource:t.map((e,t)=>({label:e.title||``,value:t})),clearable:!1,"onUpdate:modelValue":t=>{if(this.activeIndex=t,isObj(this.modelValue)){let t=JSON.parse(JSON.stringify(this.modelValue));e.filter((e,t)=>t!==this.activeIndex).reduce((e,t)=>{let{properties:n={}}=t;return e.push(...Object.keys(n)),e},[]).forEach(e=>{delete t[e]}),this.$emit(`update:modelValue`,{path:this.path,value:t})}}},r||{}))}),(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:this.activeIndex,removeable:!1,schema:t[this.activeIndex]},this.$slots)]})}}),CheckboxWidget_default=(0,vue.defineComponent)({name:`CheckboxWidget`,props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[Array,Boolean],default:()=>[]},label:{type:String,default:``}},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return Array.isArray(this.modelValue)?(0,vue.h)(register_default.getBaseWidget(`checkbox-group`),{modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.datasource.map(e=>(0,vue.h)(register_default.getBaseWidget(`checkbox`),{...this.$attrs,key:e.value,class:[`mr24`],label:e.value},{default:()=>e.label}))}):(0,vue.h)(register_default.getBaseWidget(`checkbox`),{modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.label})}}),SelectWidget_default=(0,vue.defineComponent)({name:`SelectWidget`,props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[Array,String,Number,Boolean],default:``},loading:{type:Boolean,default:!1}},methods:{handleSelectChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`select`),{...this.$attrs,loading:this.loading,modelValue:this.modelValue,onChange:this.handleSelectChange},{default:()=>this.datasource?.map(e=>(0,vue.withDirectives)((0,vue.h)(register_default.getBaseWidget(`option`),{key:e.value,name:e.label,id:e.value,disabled:e.disabled}),[]))})}}),RadioWidget_default=(0,vue.defineComponent)({name:`RadioWidget`,props:{datasource:{type:Array,default:()=>[]},modelValue:{type:[String,Number,Boolean],default:``},disabled:{type:Boolean,default:!1}},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`radio-group`),{...this.$attrs,modelValue:this.modelValue,onChange:this.handleChange},{default:()=>this.datasource.map(e=>(0,vue.h)(register_default.getBaseWidget(`radio`),{key:e.value,class:[`mr24`],modelValue:e.value,label:e.value,disabled:e.disabled||this.disabled},{default:()=>e.label}))})}}),ButtonWidget_default=(0,vue.defineComponent)({name:`ButtonWidget`,props:{word:{type:String,default:``}},methods:{handleClick(){this.$emit(`click`)}},render(){let e=this;return(0,vue.h)(register_default.getBaseWidget(`button`),{...this.$attrs,onClick:e.handleClick()},{default:()=>this.word})}}),getRowDefaultData=(e={})=>{let t=Object.keys(e),n={};return t.forEach(t=>{n[t]=Schema.getSchemaDefaultValue(e[t])}),[n]},TableWidget_default=(0,vue.defineComponent)({name:`TableWidget`,props:{...FieldProps_default,modelValue:{type:Array}},watch:{modelValue:{immediate:!0,handler(){this.modelValue?.forEach((e,t)=>{let n=`${this.path}.${t}`;widgetTree_default.removeWidgetNode(n,null),widgetTree_default.addWidgetNode(n,null,`group`)})}}},methods:{handleCellValChange({path:e,value:t}){let n=Path.getSubPath(this.path,e),r=Path.setPathValue(this.modelValue,n,t);this.$emit(`update:modelValue`,r)},handleAddRow(e){if(this.schema[`ui:props`]?.disabled)return;let t=this.modelValue?.slice(0)||[];t.splice(e+1,0,...getRowDefaultData(this.$props.schema.items?.properties)),this.$emit(`update:modelValue`,t)},handleDelRow(e){if(this.schema[`ui:props`]?.disabled)return;let t=this.modelValue?.slice(0)||[];t.splice(e,1),this.$emit(`update:modelValue`,t)}},render(){let e=this,{schema:t,path:n,modelValue:r}=this,i=t.items,a={};i?.properties?a=i?.properties:console.warn(`The current schema type is not supported table component`,i);let o=Schema.getUiOptions(t),s=()=>{let r=Object.keys(a).map(t=>{let r=a[t];return{...r[`ui:props`]||{},label:r?.title,field:t,render:({row:i,index:a})=>(0,vue.h)(SchemaField_default,{...this.$props,schema:mergeDeep(r,{"ui:props":{showTitle:!1,labelWidth:.1}}),path:Path.getCurPath(n,`${a}.${t}`),modelValue:i[t],"onUpdate:modelValue"(t){e.handleCellValChange(t)}})}});return!this.readonly&&o.modifyRows!==!1&&r.push({label:`操作`,width:100,fixed:`right`,render:({index:n})=>(0,vue.h)(`div`,{class:{"table-widget-actions":!0,"is-disabled":t[`ui:props`]?.disabled}},{default:()=>[(0,vue.h)(`i`,{class:`bk-form-icon icon-plus-line action-btn`,onClick(){e.handleAddRow(n)}}),(0,vue.h)(`i`,{class:`bk-form-icon icon-minus-line action-btn`,onClick(){e.handleDelRow(n)}})]})}),r};return(0,vue.h)(register_default.getBaseWidget(`table`),{...t[`ui:component`]||{},data:r,columns:s()},{empty:()=>this.readonly||o.modifyRows===!1?null:(0,vue.h)(`div`,{style:{color:`#3a84ff`,cursor:`pointer`},onClick:()=>{e.handleAddRow(0)}},`点击添加数据`)})}}),FieldGroupWrap_default=(0,vue.defineComponent)({name:`FieldGroupWrap`,props:{...FieldProps_default,type:{type:String,default:`default`,validator:e=>[`default`,`normal`,`card`].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},verifiable:{type:Boolean,default:!1},hideEmptyRow:{type:Boolean,default:!1},showResetDefault:{type:Boolean,default:!1}},data(){return{groupErrorTips:{},state:{visible:!0}}},computed:{value(){return this.modelValue}},created(){widgetTree_default.addWidgetNode(this.path,this,`group`)},mounted(){this.$forceUpdate()},beforeUnmount(){widgetTree_default.removeWidgetNode(this.path,this)},methods:{setState(e,t){Reflect.has(this.state,e)?this.state[e]=t:console.warn(`Group unsupported ${e} state, please check`)},setGroupErrorTips(e,t){this.groupErrorTips[e]=t},removeGroupErrorTips(e){delete this.groupErrorTips[e]},clearGroupErrorTips(){this.groupErrorTips={}},getDefaultValue(){return Schema.getSchemaDefaultValue(this.schema)},resetToDefault(){let e=this.getDefaultValue();this.$emit(`update:modelValue`,{path:this.path,value:e})},isDefaultValue(){let e=this.getDefaultValue();return deepEquals(this.modelValue,e)}},render(){let e={position:`relative`,border:this.border?`1px solid #dcdee5`:`none`,display:this.state.visible?``:`none`,...this.layout?.item||{}},t={...this.layout?.container||{display:`grid`,gridGap:`24px`}},n=this,r=()=>(0,vue.h)(`span`,{class:[`bk-schema-form-group-delete`],onClick(){n.$emit(`remove`,n.path)}},[(0,vue.h)(`i`,{class:[`bk-form-icon icon-close3-shape`]})]),i=this.schema?.title||this.layout?.prop,a=Object.keys(this.groupErrorTips).map(e=>(0,vue.createVNode)(`p`,null,[this.groupErrorTips[e]])),o=JSON.stringify(this.groupErrorTips)!==`{}`,s=()=>!this.showResetDefault||this.isDefaultValue()||this.readonly||this.disabled?null:(0,vue.withDirectives)((0,vue.h)(`span`,{class:[`bk-schema-form-reset-default`,`bk-form-icon icon-reset`],onClick:()=>{n.resetToDefault()}}),[[bkui_vue.bkTooltips,{content:`恢复默认值`}]]);return(0,vue.createVNode)(`div`,{class:[`bk-schema-form-group`,this.type,{"hide-empty-row":this.hideEmptyRow},{"bk-schema-form-group--error":o}],style:e},[i&&this.showTitle?(0,vue.createVNode)(`span`,{class:[`bk-schema-form-group-title`,this.type]},[i,s(),o?(0,vue.createVNode)(`span`,{class:`bk-schema-form-group__error-tips`},[(0,vue.createVNode)(`span`,{class:`bk-schema-form-group__error-tips-popover`},[a])]):null]):null,(0,vue.createVNode)(`div`,{style:t,class:`bk-schema-form-group-content`},[this.$slots?.default?.()]),this.removeable&&r()])}}),KeyValueArrayWidget_default=(0,vue.defineComponent)({name:`KeyValueArrayWidget`,props:{...FieldProps_default,modelValue:{type:Array,default:()=>[]}},mounted(){let{minItems:e=0}=this.schema;if(this.modelValue?.length<e){let t=Schema.getSchemaDefaultValue(this.schema.items),n=Array(e-this.modelValue.length).fill(t);this.$emit(`update:modelValue`,[...this.modelValue,...n])}},methods:{handleAddItem(){if(this.disabled)return;let e=Schema.getSchemaDefaultValue(this.schema.items);this.$emit(`update:modelValue`,[...this.modelValue,e])},handleRemoveItem(e){if(this.disabled)return;let t=JSON.parse(JSON.stringify(this.modelValue));t.splice(e,1),this.$emit(`update:modelValue`,t)},handleInput({path:e,value:t}){let n=Path.getSubPath(this.path,e),r=Path.setPathValue(this.modelValue,n,t);this.$emit(`update:modelValue`,r)}},render(){let e={"font-size":`16px`,color:`#979ba5`,cursor:this.disabled?`not-allowed`:`pointer`,display:`inline-block`},t=this.schema?.items?.properties,n=orderProperties(Object.keys(t||{}),this.schema?.items?.[`ui:order`]),r=Object.keys(t||{}).length,i=t?Array(r).fill(`1fr`).concat(`20px`).join(` `):`1fr 20px`,a={...this.layout.container||{display:`grid`,gridGap:`24px`,"grid-template-columns":i}},o=this,s=e=>mergeDeep({"ui:component":{placeholder:e.title},"ui:props":{showTitle:!1,labelWidth:.1}},e),c=e=>{let{path:t,schema:n,required:r,layout:i}=e;return(0,vue.h)(SchemaField_default,{...this.$props,key:t,schema:n,required:r,path:t,layout:i,style:{marginBottom:`10px`},"onUpdate:modelValue"(e){o.handleInput(e)}})};return(0,vue.createVNode)(`div`,null,[this.modelValue?.map((t,r)=>{let i=Path.getCurPath(this.path,`${r}`);return(0,vue.createVNode)(FieldGroupWrap_default,(0,vue.mergeProps)({...this.$props,path:i,modelValue:Path.getPathVal(this.rootData,i),schema:this.schema.items,layout:{...this.layout,container:{...a}}},{class:`mb10`}),{default:()=>[n?.length?n.map(e=>{let t=this.schema?.items?.properties[e],n=Path.getCurPath(this.path,`${r}.${e}`),i=n.split(`.`).pop(),a=Layout.findLayoutByProp(i,this.layout.group||[])||{};return c({path:n,schema:s(t),layout:a,required:Schema.isRequired(t,e)})}):c({path:Path.getCurPath(this.path,r),schema:s(this.schema?.items||{}),layout:{},required:!1}),(0,vue.createVNode)(`span`,{style:e,onClick:()=>this.handleRemoveItem(r)},[(0,vue.createVNode)(`i`,{class:`bk-form-icon icon-minus-line`},null)])]})}),(0,vue.createVNode)(`span`,{onClick:this.handleAddItem,style:e},[(0,vue.createVNode)(`i`,{class:`bk-form-icon icon-plus-line`},null)])])}}),TabGroupWidget_default=(0,vue.defineComponent)({name:`TabWidget`,props:{...FieldProps_default,type:{type:String,default:`default`,validator:e=>[`default`,`normal`,`card`].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},verifiable:{type:Boolean,default:!1}},data(){return{active:``}},beforeMount(){this.active=orderProperties(Object.keys(this.schema?.properties||{}),this.schema[`ui:order`])?.[0]},render(){let e={...this.$props,layout:{...this.layout,container:{}},title:this.schema.title},t=this,n=orderProperties(Object.keys(this.schema?.properties||{}),this.schema[`ui:order`]);return(0,vue.h)(FieldGroupWrap_default,{...e,onRemove(e){t.$emit(`remove`,e)}},{default:()=>[(0,vue.h)(register_default.getBaseWidget(`tab`),{type:`border-card`,active:this.active,onChange:e=>{this.active=e}},{default:()=>n.map(e=>{let t=this.schema?.properties?.[e],n=Path.getCurPath(this.path,e),r=n.split(`.`).pop(),i=Layout.findLayoutByProp(r,this.layout.group||[])||{};return(0,vue.h)(register_default.getBaseWidget(`tab-panel`),{key:e,name:e,label:t?.title},{default:()=>(0,vue.h)(SchemaField_default,{...this.$props,...this.$attrs,key:n,schema:t,required:Schema.isRequired(t,e),path:n,layout:i,removeable:!1})})})})]})}}),CollapseGroupWidget_default=(0,vue.defineComponent)({name:`CollapseWidget`,props:{...FieldProps_default,type:{type:String,default:`default`,validator:e=>[`default`,`normal`,`card`].includes(e)},showTitle:{type:Boolean,default:!1},border:{type:Boolean,default:!1},defaultActiveName:{type:Array,default:()=>[]},verifiable:{type:Boolean,default:!1}},data(){return{activeName:this.defaultActiveName}},render(){let e={...this.$props,layout:{...this.layout,container:{}},title:this.schema.title},t=orderProperties(Object.keys(this.schema?.properties||{}),this.schema[`ui:order`]).map(e=>{let t=this.schema?.properties?.[e],n=Path.getCurPath(this.path,e),r=n.split(`.`).pop(),i=Layout.findLayoutByProp(r,this.layout.group||[])||{};return(0,vue.h)(register_default.getBaseWidget(`collapse-panel`),{key:e,name:e,title:t.title},{content:()=>(0,vue.h)(SchemaField_default,{key:n,...this.$props,...this.$attrs,schema:t,required:Schema.isRequired(t,e),path:n,layout:i,removeable:!1})})}),n=this;return(0,vue.h)(FieldGroupWrap_default,{...e},{default:()=>(0,vue.h)(register_default.getBaseWidget(`collapse`),{"use-card-theme":!0,modelValue:this.activeName,"onUpdate:modelValue"(e){n.activeName=e}},{default:()=>t})})}}),SwitchWidget_default=(0,vue.defineComponent)({name:`SwitchWidget`,props:{modelValue:Boolean},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`switcher`),{...this.$attrs,modelValue:this.modelValue,onChange:e=>{this.handleChange(e)}})}}),ColorPickerWidget_default=(0,vue.defineComponent)({name:`ColorPicker`,props:{modelValue:String},methods:{handleChange(e){this.$emit(`update:modelValue`,e)}},render(){return(0,vue.h)(register_default.getBaseWidget(`color-picker`),{...this.$attrs,modelValue:this.modelValue,onChange:this.handleChange})}}),InputWidget_default=(0,vue.defineComponent)({name:`InputWidget`,props:{modelValue:[String,Number],unit:{type:String,default:``},maxRows:{type:Number,default:0},suggestions:{type:Array,default:()=>[]},suggestionsLoader:{type:Function,default:null},triggerChar:{type:String,default:`{{`},suggestionRender:{type:Function,default:null},suggestionTemplate:{type:String,default:``}},data(){return{showPopover:!1,filterKeyword:``,triggerIndex:-1,resolvedSuggestions:[]}},computed:{rows(){let e=String(this.modelValue).split(`
11
+ `).length;return e<=this.maxRows?e:this.maxRows},hasSuggestions(){return!!(Array.isArray(this.suggestions)&&this.suggestions.length||this.suggestionsLoader)},filteredSuggestions(){let e=Array.isArray(this.resolvedSuggestions)?this.resolvedSuggestions:[];if(!this.filterKeyword)return e;let t=this.filterKeyword.toLowerCase();return e.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t))}},methods:{handleInput(e){this.$attrs.type===`number`?this.$emit(`update:modelValue`,isNaN(e)||e===``?e:Number(e)):this.$emit(`update:modelValue`,e),this.hasSuggestions&&this.detectTrigger(String(e))},handleBlur(e){let t=e?.target?.value;this.$attrs.type===`number`&&isNaN(t)&&this.$emit(`update:modelValue`,this.$attrs.min||0),this.hasSuggestions&&setTimeout(()=>{this.showPopover=!1},200)},handleFocus(){if(!this.hasSuggestions)return;let e=String(this.modelValue||``);this.detectTrigger(e)},detectTrigger(e){let t=e.lastIndexOf(this.triggerChar);if(t!==-1){let n=e.substring(t+this.triggerChar.length);if(!n.includes(`}}`)){this.triggerIndex=t,this.filterKeyword=n,this.showPopover=!0,this.loadSuggestions();return}}this.showPopover=!1},async loadSuggestions(){if(this.suggestionsLoader&&typeof this.suggestionsLoader==`function`)try{this.resolvedSuggestions=await this.suggestionsLoader(this.filterKeyword)}catch(e){console.error(`Failed to load suggestions:`,e)}else this.resolvedSuggestions=Array.isArray(this.suggestions)?this.suggestions:[]},handleSelectSuggestion(e){this.$emit(`update:modelValue`,e.value),this.showPopover=!1,this.filterKeyword=``,this.triggerIndex=-1},renderSuggestionContent(e){return this.suggestionRender&&typeof this.suggestionRender==`function`?this.suggestionRender(vue.h,e):this.suggestionTemplate?this.suggestionTemplate.replace(/\$\{(\w+)\}/g,(t,n)=>e[n]??``):e.label}},render(){let e=(0,vue.h)(register_default.getBaseWidget(`input`),{suffix:this.unit,modelValue:this.modelValue,rows:this.rows,type:this.maxRows>1||Number(this.$attrs.rows)>1?`textarea`:`text`,onInput:this.handleInput,onBlur:this.handleBlur,onFocus:this.handleFocus,...this.$attrs});if(!this.hasSuggestions)return e;let t=()=>(0,vue.h)(`div`,{class:`input-widget-suggestions`},this.filteredSuggestions?.length?this.filteredSuggestions?.map(e=>(0,vue.h)(`div`,{class:`input-widget-suggestion-item`,onMousedown:t=>{t.preventDefault(),this.handleSelectSuggestion(e)}},[this.renderSuggestionContent(e)])):[(0,vue.h)(`div`,{class:`input-widget-suggestion-empty`},`无匹配项`)]);return(0,vue.h)(`div`,{ref:`wrapperRef`,class:`input-widget-wrapper`},[e,(0,vue.h)(register_default.getBaseWidget(`popover`),{isShow:this.showPopover,trigger:`manual`,theme:`light`,placement:`bottom-start`,arrow:!1,target:this.$refs.wrapperRef,zIndex:99999,"onAfter-hidden":()=>{this.showPopover=!1}},{default:()=>null,content:()=>t()})])}}),defaultOptions={namespace:`bk`,components:{button:ButtonWidget_default,select:SelectWidget_default,radio:RadioWidget_default,checkbox:CheckboxWidget_default,table:TableWidget_default,group:FieldGroupWrap_default,bfArray:KeyValueArrayWidget_default,tab:TabGroupWidget_default,collapse:CollapseGroupWidget_default,switcher:SwitchWidget_default,color:ColorPickerWidget_default,bfInput:InputWidget_default},fields:{object:ObjectField_default,string:StringField,any:``,array:ArrayField_default,boolean:BooleanField_default,null:``,integer:NumberField_default,number:NumberField_default,composition:CompositionField_default}};function createForm(e={}){let{namespace:t,components:n,fields:r,baseWidgets:i={}}=mergeDeep(defaultOptions,e);return Registry.namespace=t,register_default.addComponentsMap(n),register_default.addFieldsMap(r),register_default.addBaseWidgets(i),(0,vue.defineComponent)({name:`BkuiForm`,props:props_default,data(){return{rootData:{},formKey:`bk-ui-form`}},watch:{schema(e,t){JSON.stringify(e)!==JSON.stringify(t)&&(this.validateSchema(this.schema),this.initFormData(),this.formKey=`bk-ui-form-${new Date().getTime()}`)},context:{handler(e){Registry.context=e,hasOwnProperty(e,`rules`)&&registryGlobalRules(e.rules)},immediate:!0},rules:{immediate:!0,handler(e){registryGlobalRules(e)}},modelValue(){this.initFormData()}},beforeCreate(){registryGlobalRules(DEFAULT_RULES)},created(){this.validateSchema(this.schema),this.initFormData()},methods:{initFormData(){this.rootData=merge(Schema.getSchemaDefaultValue(createProxy(this.schema,this))||{},this.modelValue),this.emitFormValueChange(this.rootData,this.modelValue)},emitFormValueChange(e,t){deepEquals(e,t)||(this.rootData=e,this.$emit(`update:modelValue`,e),this.$emit(`change`,e,t))},resetToDefault(){let e=deepClone(Schema.getSchemaDefaultValue(createProxy(this.schema,this))||{});this.emitFormValueChange(e,this.modelValue),this.$emit(`reset`,e)},validateForm,validateFormItem,validate:validateFormWithResult,validateSchema},render(){let e=this,t=(0,vue.h)(SchemaField_default,{...this.$props,schema:createProxy(this.schema,this),rootData:this.rootData,modelValue:this.modelValue,layout:new Layout(this.layout).layout,"onUpdate:modelValue":({path:t=``,value:n})=>{if(!t)e.emitFormValueChange(n,e.modelValue);else{let r=Path.setPathValue(e.rootData,t,n);e.emitFormValueChange(r,e.modelValue)}}},this.$slots),n=this.showResetButton?(0,vue.h)(`div`,{class:`bk-schema-form-actions`},[(0,vue.h)(register_default.getBaseWidget(`button`),{...this.resetButtonProps,onClick:()=>e.resetToDefault()},{default:()=>this.resetButtonText})]):null;return(0,vue.h)(register_default.getBaseWidget(`form`),{ref:`bkui-form`,key:this.formKey,model:this.modelValue,formType:this.formType,labelWidth:this.labelWidth,class:{"bk-schema-form":!0},style:{width:typeof this.width==`number`?`${this.width}px`:this.width}},{default:()=>[t,n]})}})}var src_default=createForm;exports.Schema=Schema,exports.default=src_default,exports.events=events_default});
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.0.2",
2
+ "version": "1.0.3",
3
3
  "name": "@blueking/bkui-form",
4
4
  "main": "dist/index.umd.js",
5
5
  "module": "dist/index.es.js",