ll-plus 2.2.19 → 2.2.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/es/components/checkbox/index.d.ts +4 -0
  2. package/es/components/checkbox/src/checkbox-group.vue.d.ts +4 -0
  3. package/es/components/checkbox/src/checkbox-group.vue2.mjs +1 -1
  4. package/es/components/checkbox/src/checkbox-group.vue2.mjs.map +1 -1
  5. package/es/components/checkbox/src/checkbox.d.ts +1 -0
  6. package/es/components/checkbox/src/checkbox.mjs +4 -0
  7. package/es/components/checkbox/src/checkbox.mjs.map +1 -1
  8. package/es/components/key-value/src/components/key-value-item.vue2.mjs +11 -6
  9. package/es/components/key-value/src/components/key-value-item.vue2.mjs.map +1 -1
  10. package/es/components/key-value/src/key-value.vue2.mjs +8 -6
  11. package/es/components/key-value/src/key-value.vue2.mjs.map +1 -1
  12. package/es/components/uri-input/index.d.ts +4 -4
  13. package/es/components/uri-input/src/uri-input.d.ts +1 -1
  14. package/es/components/uri-input/src/uri-input.mjs +3 -3
  15. package/es/components/uri-input/src/uri-input.mjs.map +1 -1
  16. package/es/components/uri-input/src/uri-input.vue.d.ts +4 -4
  17. package/es/components/uri-input/src/uri-input.vue2.mjs +1 -1
  18. package/es/components/uri-input/src/uri-input.vue2.mjs.map +1 -1
  19. package/index.full.js +27 -16
  20. package/index.full.min.js +3 -3
  21. package/index.full.min.js.map +1 -1
  22. package/index.full.min.mjs +9 -9
  23. package/index.full.min.mjs.map +1 -1
  24. package/index.full.mjs +27 -16
  25. package/lib/components/checkbox/index.d.ts +4 -0
  26. package/lib/components/checkbox/src/checkbox-group.vue.d.ts +4 -0
  27. package/lib/components/checkbox/src/checkbox-group.vue2.js +1 -1
  28. package/lib/components/checkbox/src/checkbox-group.vue2.js.map +1 -1
  29. package/lib/components/checkbox/src/checkbox.d.ts +1 -0
  30. package/lib/components/checkbox/src/checkbox.js +4 -0
  31. package/lib/components/checkbox/src/checkbox.js.map +1 -1
  32. package/lib/components/key-value/src/components/key-value-item.vue2.js +10 -5
  33. package/lib/components/key-value/src/components/key-value-item.vue2.js.map +1 -1
  34. package/lib/components/key-value/src/key-value.vue2.js +8 -6
  35. package/lib/components/key-value/src/key-value.vue2.js.map +1 -1
  36. package/lib/components/uri-input/index.d.ts +4 -4
  37. package/lib/components/uri-input/src/uri-input.d.ts +1 -1
  38. package/lib/components/uri-input/src/uri-input.js +3 -3
  39. package/lib/components/uri-input/src/uri-input.js.map +1 -1
  40. package/lib/components/uri-input/src/uri-input.vue.d.ts +4 -4
  41. package/lib/components/uri-input/src/uri-input.vue2.js +1 -1
  42. package/lib/components/uri-input/src/uri-input.vue2.js.map +1 -1
  43. package/package.json +1 -1
  44. package/types/packages/components/checkbox/index.d.ts +4 -0
  45. package/types/packages/components/checkbox/src/checkbox-group.vue.d.ts +4 -0
  46. package/types/packages/components/checkbox/src/checkbox.d.ts +1 -0
  47. package/types/packages/components/uri-input/index.d.ts +4 -4
  48. package/types/packages/components/uri-input/src/uri-input.d.ts +1 -1
  49. package/types/packages/components/uri-input/src/uri-input.vue.d.ts +4 -4
@@ -665,6 +665,7 @@ export declare const LlCheckboxGroup: import("ll-plus/es/utils").SFCWithInstall<
665
665
  default: any;
666
666
  };
667
667
  }>>))[], unknown, unknown, () => void, boolean>;
668
+ readonly allSpan: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 24, boolean>;
668
669
  }, {
669
670
  props: import("@vue/shared").LooseRequired<{
670
671
  readonly options: (import("ant-design-vue").CheckboxOptionType & {
@@ -751,6 +752,7 @@ export declare const LlCheckboxGroup: import("ll-plus/es/utils").SFCWithInstall<
751
752
  default: any;
752
753
  };
753
754
  }>>;
755
+ readonly allSpan: number;
754
756
  } & {}>;
755
757
  bem: {
756
758
  b: (blockSuffix?: string) => string;
@@ -1904,6 +1906,7 @@ export declare const LlCheckboxGroup: import("ll-plus/es/utils").SFCWithInstall<
1904
1906
  default: any;
1905
1907
  };
1906
1908
  }>>))[], unknown, unknown, () => void, boolean>;
1909
+ readonly allSpan: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 24, boolean>;
1907
1910
  }>>, {
1908
1911
  readonly options: (import("ant-design-vue").CheckboxOptionType & {
1909
1912
  colOptions?: Partial<import("vue").ExtractPropTypes<{
@@ -1989,6 +1992,7 @@ export declare const LlCheckboxGroup: import("ll-plus/es/utils").SFCWithInstall<
1989
1992
  default: any;
1990
1993
  };
1991
1994
  }>>;
1995
+ readonly allSpan: number;
1992
1996
  }, {}>>;
1993
1997
  export * from './src/checkbox';
1994
1998
  declare module 'vue' {
@@ -329,6 +329,7 @@ declare const _default: import("vue").DefineComponent<{
329
329
  default: any;
330
330
  };
331
331
  }>>))[], unknown, unknown, () => void, boolean>;
332
+ readonly allSpan: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 24, boolean>;
332
333
  }, {
333
334
  props: import("@vue/shared").LooseRequired<{
334
335
  readonly options: (import("ant-design-vue").CheckboxOptionType & {
@@ -415,6 +416,7 @@ declare const _default: import("vue").DefineComponent<{
415
416
  default: any;
416
417
  };
417
418
  }>>;
419
+ readonly allSpan: number;
418
420
  } & {}>;
419
421
  bem: {
420
422
  b: (blockSuffix?: string) => string;
@@ -1568,6 +1570,7 @@ declare const _default: import("vue").DefineComponent<{
1568
1570
  default: any;
1569
1571
  };
1570
1572
  }>>))[], unknown, unknown, () => void, boolean>;
1573
+ readonly allSpan: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 24, boolean>;
1571
1574
  }>>, {
1572
1575
  readonly options: (import("ant-design-vue").CheckboxOptionType & {
1573
1576
  colOptions?: Partial<import("vue").ExtractPropTypes<{
@@ -1653,5 +1656,6 @@ declare const _default: import("vue").DefineComponent<{
1653
1656
  default: any;
1654
1657
  };
1655
1658
  }>>;
1659
+ readonly allSpan: number;
1656
1660
  }, {}>;
1657
1661
  export default _default;
@@ -30,7 +30,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
30
30
  renderList(props.options, (item, idx) => {
31
31
  return openBlock(), createBlock(unref(Col), mergeProps({ ref_for: true }, item.colOptions, {
32
32
  key: idx,
33
- span: item.span || 24,
33
+ span: item.span || props.allSpan,
34
34
  class: unref(bem).e("item")
35
35
  }), {
36
36
  default: withCtx(() => [
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox-group.vue2.mjs","sources":["../../../../../packages/components/checkbox/src/checkbox-group.vue"],"sourcesContent":["<template>\n <CheckboxGroup :class=\"bem.b()\" v-bind=\"attrs\">\n <Row v-bind=\"props.rowOptions\">\n <Col\n v-for=\"(item, idx) in props.options\"\n v-bind=\"item.colOptions\"\n :key=\"idx\"\n :span=\"item.span || 24\"\n :class=\"bem.e('item')\"\n >\n <checkbox v-bind=\"item\">\n <slot v-bind=\"item\">\n {{ item.label }}\n </slot>\n </checkbox>\n </Col>\n </Row>\n </CheckboxGroup>\n</template>\n\n<script setup lang=\"ts\">\nimport { useAttrs } from 'vue'\nimport { Row, Col, CheckboxGroup } from 'ant-design-vue'\nimport { checkboxGroupProps } from './checkbox'\nimport Checkbox from './checkbox.vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\ndefineOptions({ name: 'LlCheckboxGroup' })\n\nconst props = defineProps(checkboxGroupProps)\n\nconst bem = createNamespace('checkbox-group')\n\nconst attrs = useAttrs()\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;AA8BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,GAAA,GAAM,gBAAgB,gBAAgB,CAAA,CAAA;AAE5C,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"checkbox-group.vue2.mjs","sources":["../../../../../packages/components/checkbox/src/checkbox-group.vue"],"sourcesContent":["<template>\n <CheckboxGroup :class=\"bem.b()\" v-bind=\"attrs\">\n <Row v-bind=\"props.rowOptions\">\n <Col\n v-for=\"(item, idx) in props.options\"\n v-bind=\"item.colOptions\"\n :key=\"idx\"\n :span=\"item.span || props.allSpan\"\n :class=\"bem.e('item')\"\n >\n <checkbox v-bind=\"item\">\n <slot v-bind=\"item\">\n {{ item.label }}\n </slot>\n </checkbox>\n </Col>\n </Row>\n </CheckboxGroup>\n</template>\n\n<script setup lang=\"ts\">\nimport { useAttrs } from 'vue'\nimport { Row, Col, CheckboxGroup } from 'ant-design-vue'\nimport { checkboxGroupProps } from './checkbox'\nimport Checkbox from './checkbox.vue'\n\nimport { createNamespace } from '@ll-plus/utils'\n\ndefineOptions({ name: 'LlCheckboxGroup' })\n\nconst props = defineProps(checkboxGroupProps)\n\nconst bem = createNamespace('checkbox-group')\n\nconst attrs = useAttrs()\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;AA8BA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAEd,IAAM,MAAA,GAAA,GAAM,gBAAgB,gBAAgB,CAAA,CAAA;AAE5C,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -197,6 +197,7 @@ export declare const checkboxGroupProps: {
197
197
  default: any;
198
198
  };
199
199
  }>>))[], unknown, unknown, () => void, boolean>;
200
+ readonly allSpan: import("ll-plus/es/utils").EpPropFinalized<NumberConstructor, unknown, unknown, 24, boolean>;
200
201
  };
201
202
  export type CheckboxProps = ExtractPropTypes<typeof checkboxProps>;
202
203
  export type CheckboxGroupProps = ExtractPropTypes<typeof checkboxGroupProps>;
@@ -17,6 +17,10 @@ const checkboxGroupProps = buildProps({
17
17
  type: definePropType(Object),
18
18
  default: () => {
19
19
  }
20
+ },
21
+ allSpan: {
22
+ type: Number,
23
+ default: 24
20
24
  }
21
25
  });
22
26
 
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.mjs","sources":["../../../../../packages/components/checkbox/src/checkbox.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type { RowProps, ColProps, CheckboxOptionType } from 'ant-design-vue'\n\nimport type Checkbox from './checkbox.vue'\n\nimport type CheckboxGroup from './checkbox-group.vue'\n\ntype option = CheckboxOptionType & {\n colOptions?: ColProps\n label: string\n span?: number\n}\nexport const checkboxProps = buildProps({\n checkboxLabel: {\n type: String,\n default: ''\n }\n} as const)\n\nexport const checkboxGroupProps = buildProps({\n options: {\n type: definePropType<option[]>(Array),\n default: () => []\n },\n rowOptions: {\n type: definePropType<RowProps>(Object),\n default: () => {}\n }\n} as const)\n\n// props\nexport type CheckboxProps = ExtractPropTypes<typeof checkboxProps>\nexport type CheckboxGroupProps = ExtractPropTypes<typeof checkboxGroupProps>\n\n// instance\nexport type CheckboxInstance = InstanceType<typeof Checkbox>\nexport type CheckboxGroupInstance = InstanceType<typeof CheckboxGroup>\n"],"names":[],"mappings":";;;;AAeO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,qBAAqB,UAAW,CAAA;AAAA,EAC3C,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,eAAyB,MAAM,CAAA;AAAA,IACrC,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB;AACF,CAAU;;;;"}
1
+ {"version":3,"file":"checkbox.mjs","sources":["../../../../../packages/components/checkbox/src/checkbox.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type { RowProps, ColProps, CheckboxOptionType } from 'ant-design-vue'\n\nimport type Checkbox from './checkbox.vue'\n\nimport type CheckboxGroup from './checkbox-group.vue'\n\ntype option = CheckboxOptionType & {\n colOptions?: ColProps\n label: string\n span?: number\n}\nexport const checkboxProps = buildProps({\n checkboxLabel: {\n type: String,\n default: ''\n }\n} as const)\n\nexport const checkboxGroupProps = buildProps({\n options: {\n type: definePropType<option[]>(Array),\n default: () => []\n },\n rowOptions: {\n type: definePropType<RowProps>(Object),\n default: () => {}\n },\n allSpan: {\n type: Number,\n default: 24\n }\n} as const)\n\n// props\nexport type CheckboxProps = ExtractPropTypes<typeof checkboxProps>\nexport type CheckboxGroupProps = ExtractPropTypes<typeof checkboxGroupProps>\n\n// instance\nexport type CheckboxInstance = InstanceType<typeof Checkbox>\nexport type CheckboxGroupInstance = InstanceType<typeof CheckboxGroup>\n"],"names":[],"mappings":";;;;AAeO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,aAAe,EAAA;AAAA,IACb,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,qBAAqB,UAAW,CAAA;AAAA,EAC3C,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAAyB,KAAK,CAAA;AAAA,IACpC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAA,EAAM,eAAyB,MAAM,CAAA;AAAA,IACrC,SAAS,MAAM;AAAA,KAAC;AAAA,GAClB;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AACF,CAAU;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, useAttrs, ref, computed, watch, resolveComponent, openBlock, createBlock, unref, withCtx, createElementBlock, normalizeClass, createVNode, renderSlot, resolveDynamicComponent, mergeProps, createSlots, renderList, createCommentVNode, normalizeStyle, createTextVNode, createElementVNode, normalizeProps, guardReactiveProps } from 'vue';
1
+ import { defineComponent, useAttrs, ref, computed, watch, nextTick, resolveComponent, openBlock, createBlock, unref, withCtx, createElementBlock, normalizeClass, createVNode, renderSlot, resolveDynamicComponent, mergeProps, createSlots, renderList, createCommentVNode, normalizeStyle, createTextVNode, createElementVNode, normalizeProps, guardReactiveProps } from 'vue';
2
2
  import { isEmpty } from 'lodash-es';
3
3
  import '../../../../utils/index.mjs';
4
4
  import '../config/index.mjs';
@@ -55,9 +55,15 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
55
55
  };
56
56
  watch(
57
57
  innerValue,
58
- (val) => {
59
- emits("update:value", val);
60
- emits("change");
58
+ async (val) => {
59
+ await nextTick().then(() => {
60
+ try {
61
+ emits("update:value", val);
62
+ emits("change");
63
+ } catch (error) {
64
+ console.error(error);
65
+ }
66
+ });
61
67
  },
62
68
  {
63
69
  deep: true
@@ -116,8 +122,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
116
122
  "onUpdate:value": _cache[1] || (_cache[1] = ($event) => innerValue.value["key"] = $event)
117
123
  }, getKeyType.value, {
118
124
  disabled: getKeyDisabled.value,
119
- style: { "width": "100%" },
120
- onChange: handleChange
125
+ style: { "width": "100%" }
121
126
  }), createSlots({
122
127
  _: 2
123
128
  /* DYNAMIC */
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-item.vue2.mjs","sources":["../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div\n v-if=\"attrs['key-value-type'] !== 'single'\"\n :class=\"bem.m('left')\"\n >\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.role\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(attrs['key-types'])\"\n v-model:value=\"innerValue['key']\"\n :options=\"attrs['key-types']\"\n :disabled=\"getKeyDisabled\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n @change=\"handleChange\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"attrs['key-value-type'] !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rule=\"getValueType.rule || {}\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <a-popconfirm\n title=\"你确定要移除?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n @confirm=\"handleDelete\"\n >\n <div\n v-if=\"props.showDelete\"\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n typeRules,\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = attrs['key-type'] || {\n type: 'input',\n placeholder: '请输入',\n rule: typeRules || []\n }\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = attrs['value-type'] || {\n type: 'input',\n placeholder: '请输入',\n rule: []\n }\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return props.disabledDelete?.includes(props.idx) || props.disabled\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = () => {\n innerValue.value['value'] = ''\n}\n\nwatch(\n innerValue,\n val => {\n emits('update:value', val)\n emits('change')\n },\n {\n deep: true\n }\n)\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAqJA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AACvC,IAAM,MAAA,UAAA,GAAa,GAAI,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAElC,IAAM,MAAA,UAAA,GAAa,SAAqB,MAAM;AAC5C,MAAM,MAAA,MAAA,GAAS,KAAM,CAAA,UAAU,CAAK,IAAA;AAAA,QAClC,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,oBAAA;AAAA,QACb,IAAA,EAAM,aAAa,EAAC;AAAA,OACtB,CAAA;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAM,MAAA,YAAA,GAAe,SAAqB,MAAM;AAC9C,MAAI,IAAA,MAAA,GAAS,KAAM,CAAA,YAAY,CAAK,IAAA;AAAA,QAClC,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,oBAAA;AAAA,QACb,MAAM,EAAC;AAAA,OACT,CAAA;AACA,MAAI,IAAA,UAAA,CAAW,MAAM,KAAK,CAAA,IAAK,CAAC,OAAQ,CAAA,KAAA,CAAM,gBAAgB,CAAG,EAAA;AAC/D,QAAA,MAAA,GAAS,KAAM,CAAA,gBAAA,CAAiB,UAAW,CAAA,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,OACzD;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,cAAA,GAAiB,SAAS,MAAM;AACpC,MACE,OAAA,KAAA,CAAM,aAAa,QAAS,CAAA,KAAA,CAAM,GAAG,CACrC,IAAA,KAAA,CAAM,QACN,IAAA,UAAA,CAAW,KAAO,EAAA,QAAA,CAAA;AAAA,KAErB,CAAA,CAAA;AAED,IAAM,MAAA,gBAAA,GAAmB,SAAS,MAAM;AACtC,MACE,OAAA,KAAA,CAAM,eAAe,QAAS,CAAA,KAAA,CAAM,GAAG,CACvC,IAAA,KAAA,CAAM,QACN,IAAA,YAAA,CAAa,KAAO,EAAA,QAAA,CAAA;AAAA,KAEvB,CAAA,CAAA;AAED,IAAM,MAAA,iBAAA,GAAoB,SAAS,MAAM;AACvC,MAAA,OAAO,MAAM,cAAgB,EAAA,QAAA,CAAS,KAAM,CAAA,GAAG,KAAK,KAAM,CAAA,QAAA,CAAA;AAAA,KAC3D,CAAA,CAAA;AAED,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,KAChB,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAW,UAAA,CAAA,KAAA,CAAM,OAAO,CAAI,GAAA,EAAA,CAAA;AAAA,KAC9B,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,UAAA;AAAA,MACA,CAAO,GAAA,KAAA;AACL,QAAA,KAAA,CAAM,gBAAgB,GAAG,CAAA,CAAA;AACzB,QAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,OAChB;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"key-value-item.vue2.mjs","sources":["../../../../../../packages/components/key-value/src/components/key-value-item.vue"],"sourcesContent":["<template>\n <ll-form\n ref=\"form\"\n :form-columns=\"formColumns\"\n :form-data=\"props.value\"\n :form-options=\"formOptions\"\n >\n <template #formItem=\"{ item }\">\n <template v-if=\"item.key === 'other'\">\n <div :class=\"bem.e('item')\">\n <div\n v-if=\"attrs['key-value-type'] !== 'single'\"\n :class=\"bem.m('left')\"\n >\n <ll-form-item\n :label=\"attrs['key-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rules=\"getKeyType.role\"\n name=\"key\"\n >\n <slot name=\"key\">\n <ll-select\n v-if=\"!isEmpty(attrs['key-types'])\"\n v-model:value=\"innerValue['key']\"\n :options=\"attrs['key-types']\"\n :disabled=\"getKeyDisabled\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['key']\"\n v-bind=\"getKeyType\"\n :disabled=\"getKeyDisabled\"\n style=\"width: 100%\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"key\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <div\n v-if=\"attrs['key-value-type'] !== 'single'\"\n :class=\"bem.m('separator')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label'] ? '26px' : '0px'\n }\"\n >\n <slot name=\"separator\">~</slot>\n </div>\n\n <div :class=\"bem.m('right')\">\n <ll-form-item\n :label=\"attrs['value-label']\"\n :label-col=\"{\n span: 24\n }\"\n :rule=\"getValueType.rule || {}\"\n name=\"value\"\n >\n <slot name=\"value-warapper\" v-bind=\"getValueType\">\n <component\n :is=\"`ll-${getValueType.type}`\"\n v-model:value=\"innerValue['value']\"\n :disabled=\"getValueDisabled\"\n style=\"width: 100%\"\n v-bind=\"getValueType\"\n >\n <template\n v-for=\"_item in Object.keys($slots)\"\n :key=\"_item\"\n #[_item]=\"data\"\n >\n <slot\n :name=\"_item\"\n v-bind=\"data || {}\"\n content=\"value\"\n ></slot>\n </template>\n </component>\n </slot>\n </ll-form-item>\n </div>\n\n <a-popconfirm\n title=\"你确定要移除?\"\n ok-text=\"确认\"\n cancel-text=\"取消\"\n placement=\"topRight\"\n :overlay-class-name=\"bem.m('popconfirm')\"\n @confirm=\"handleDelete\"\n >\n <div\n v-if=\"props.showDelete\"\n :class=\"bem.m('delete')\"\n :style=\"{\n 'margin-top':\n !!attrs['key-label'] || !!attrs['value-label']\n ? '26px'\n : '0px'\n }\"\n >\n <ll-button type=\"link\" :disabled=\"getDeleteDisabled\">\n <slot name=\"delete-icon\">\n <ll-icon icon-name=\"icon-remove\" class=\"delete\" />\n </slot>\n </ll-button>\n </div>\n </a-popconfirm>\n </div>\n </template>\n </template>\n </ll-form>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, useAttrs, watch, nextTick } from 'vue'\nimport { isEmpty } from 'lodash-es'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n typeRules,\n keyValueItemProps,\n keyValueItemEmits,\n formColumns,\n formOptions\n} from '../config'\nimport { type FormColumn } from '@ll-plus/components'\n\ndefineOptions({\n name: 'LlKeyValueItem'\n})\n\nconst props = defineProps(keyValueItemProps)\nconst emits = defineEmits(keyValueItemEmits)\n\nconst attrs = useAttrs()\nconst bem = createNamespace('key-value')\nconst innerValue = ref(props.value)\n\nconst getKeyType = computed<FormColumn>(() => {\n const option = attrs['key-type'] || {\n type: 'input',\n placeholder: '请输入',\n rule: typeRules || []\n }\n return option\n})\nconst getValueType = computed<FormColumn>(() => {\n let option = attrs['value-type'] || {\n type: 'input',\n placeholder: '请输入',\n rule: []\n }\n if (innerValue.value['key'] && !isEmpty(props.keyValueTypeDict)) {\n option = props.keyValueTypeDict[innerValue.value['key']]\n }\n return option\n})\n\nconst getKeyDisabled = computed(() => {\n return (\n props.disabledKey?.includes(props.idx) ||\n props.disabled ||\n getKeyType.value?.disabled\n )\n})\n\nconst getValueDisabled = computed(() => {\n return (\n props.disabledValue?.includes(props.idx) ||\n props.disabled ||\n getValueType.value?.disabled\n )\n})\n\nconst getDeleteDisabled = computed(() => {\n return props.disabledDelete?.includes(props.idx) || props.disabled\n})\n\nconst handleDelete = () => {\n emits('delete')\n}\n\nconst handleChange = () => {\n innerValue.value['value'] = ''\n}\n\nwatch(\n innerValue,\n async val => {\n await nextTick().then(() => {\n try {\n emits('update:value', val)\n emits('change')\n } catch (error) {\n console.error(error)\n }\n })\n },\n {\n deep: true\n }\n)\n</script>\n\n<style scoped></style>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAoJA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AACvC,IAAM,MAAA,UAAA,GAAa,GAAI,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AAElC,IAAM,MAAA,UAAA,GAAa,SAAqB,MAAM;AAC5C,MAAM,MAAA,MAAA,GAAS,KAAM,CAAA,UAAU,CAAK,IAAA;AAAA,QAClC,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,oBAAA;AAAA,QACb,IAAA,EAAM,aAAa,EAAC;AAAA,OACtB,CAAA;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AACD,IAAM,MAAA,YAAA,GAAe,SAAqB,MAAM;AAC9C,MAAI,IAAA,MAAA,GAAS,KAAM,CAAA,YAAY,CAAK,IAAA;AAAA,QAClC,IAAM,EAAA,OAAA;AAAA,QACN,WAAa,EAAA,oBAAA;AAAA,QACb,MAAM,EAAC;AAAA,OACT,CAAA;AACA,MAAI,IAAA,UAAA,CAAW,MAAM,KAAK,CAAA,IAAK,CAAC,OAAQ,CAAA,KAAA,CAAM,gBAAgB,CAAG,EAAA;AAC/D,QAAA,MAAA,GAAS,KAAM,CAAA,gBAAA,CAAiB,UAAW,CAAA,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAAA,OACzD;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAM,MAAA,cAAA,GAAiB,SAAS,MAAM;AACpC,MACE,OAAA,KAAA,CAAM,aAAa,QAAS,CAAA,KAAA,CAAM,GAAG,CACrC,IAAA,KAAA,CAAM,QACN,IAAA,UAAA,CAAW,KAAO,EAAA,QAAA,CAAA;AAAA,KAErB,CAAA,CAAA;AAED,IAAM,MAAA,gBAAA,GAAmB,SAAS,MAAM;AACtC,MACE,OAAA,KAAA,CAAM,eAAe,QAAS,CAAA,KAAA,CAAM,GAAG,CACvC,IAAA,KAAA,CAAM,QACN,IAAA,YAAA,CAAa,KAAO,EAAA,QAAA,CAAA;AAAA,KAEvB,CAAA,CAAA;AAED,IAAM,MAAA,iBAAA,GAAoB,SAAS,MAAM;AACvC,MAAA,OAAO,MAAM,cAAgB,EAAA,QAAA,CAAS,KAAM,CAAA,GAAG,KAAK,KAAM,CAAA,QAAA,CAAA;AAAA,KAC3D,CAAA,CAAA;AAED,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,KAChB,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAW,UAAA,CAAA,KAAA,CAAM,OAAO,CAAI,GAAA,EAAA,CAAA;AAAA,KAC9B,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,UAAA;AAAA,MACA,OAAM,GAAO,KAAA;AACX,QAAM,MAAA,QAAA,EAAW,CAAA,IAAA,CAAK,MAAM;AAC1B,UAAI,IAAA;AACF,YAAA,KAAA,CAAM,gBAAgB,GAAG,CAAA,CAAA;AACzB,YAAA,KAAA,CAAM,QAAQ,CAAA,CAAA;AAAA,mBACP,KAAO,EAAA;AACd,YAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,WACrB;AAAA,SACD,CAAA,CAAA;AAAA,OACH;AAAA,MACA;AAAA,QACE,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -15,9 +15,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
15
15
  const props = __props;
16
16
  const emits = __emit;
17
17
  const bem = createNamespace("key-value");
18
- const innerValue = ref(
19
- props.value && props.value.length > 0 ? props.value : [{ key: null, value: null }]
20
- );
18
+ const innerValue = ref([]);
21
19
  const keyValueItems = ref([]);
22
20
  const keyValueTypeDict = computed(() => {
23
21
  const obj = {};
@@ -41,8 +39,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
41
39
  handleChange();
42
40
  };
43
41
  const handleChange = () => {
44
- emits("change", innerValue.value);
45
- emits("update:value", innerValue.value);
42
+ try {
43
+ emits("change", innerValue.value);
44
+ emits("update:value", innerValue.value);
45
+ } catch (error) {
46
+ console.error(error);
47
+ }
46
48
  };
47
49
  watch(
48
50
  () => props.value,
@@ -73,7 +75,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
73
75
  null,
74
76
  renderList(innerValue.value, (_item, idx) => {
75
77
  return openBlock(), createBlock(keyValueItem, {
76
- key: idx + +/* @__PURE__ */ new Date(),
78
+ key: _item,
77
79
  ref_for: true,
78
80
  ref: (el) => keyValueItems.value[idx] = el,
79
81
  value: innerValue.value[idx],
@@ -1 +1 @@
1
- {"version":3,"file":"key-value.vue2.mjs","sources":["../../../../../packages/components/key-value/src/key-value.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <key-value-item\n v-for=\"(_item, idx) in innerValue\"\n :key=\"idx + +new Date()\"\n :ref=\"el => (keyValueItems[idx] = el)\"\n v-model:value=\"innerValue[idx]\"\n :idx=\"idx\"\n :key-label=\"props.keyLabel\"\n :value-label=\"props.valueLabel\"\n :key-value-type-dict=\"keyValueTypeDict\"\n :show-delete=\"idx > 0\"\n :key-value-type=\"props.keyValueType\"\n :key-type=\"props.keyType\"\n :key-types=\"props.keyTypes\"\n :value-type=\"props.valueType\"\n :disabled=\"props.disabled\"\n :disabled-value=\"props.disabledValue\"\n :disabled-key=\"props.disabledKey\"\n :disabled-delete=\"props.disabledDelete\"\n @delete=\"handleDelete(idx)\"\n @change=\"handleChange\"\n >\n <template\n v-for=\"item in Object.keys($slots)\"\n :key=\"item\"\n #[item]=\"data\"\n >\n <slot :name=\"item\" v-bind=\"data || {}\" :index=\"idx\"></slot>\n </template>\n </key-value-item>\n <ll-button\n :class=\"bem.e('add')\"\n :loading=\"loading\"\n :disabled=\"props.disabled || props.disabledAdd\"\n @click=\"handleAddItem\"\n >\n <div :class=\"bem.e('plus')\">\n <ll-icon\n v-if=\"!loading\"\n icon-name=\"icon-add\"\n :class=\"bem.e('icon-add')\"\n />\n {{ props.addText }}\n </div>\n </ll-button>\n </a-spin>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch } from 'vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n keyValueProps,\n keyValueEmits,\n getKeyValueItem,\n type KeyValueItem\n} from './config'\nimport keyValueItem from './components/key-value-item.vue'\n\ndefineOptions({ name: 'LlKeyValue' })\n\nconst props = defineProps(keyValueProps)\nconst emits = defineEmits(keyValueEmits)\nconst bem = createNamespace('key-value')\n\nconst innerValue = ref<KeyValueItem[]>(\n props.value && props.value.length > 0\n ? props.value\n : [{ key: null, value: null }]\n)\n\nconst keyValueItems = ref<any[]>([])\n\nconst keyValueTypeDict = computed(() => {\n const obj = {}\n props.keyTypes.map(e => {\n obj[e.value] = e.option\n })\n return obj\n})\n\nconst handleAddItem = () => {\n innerValue.value.push(getKeyValueItem())\n emits('add', {\n index: innerValue.value.length - 1,\n item: innerValue.value[innerValue.value.length - 1],\n value: innerValue.value\n })\n handleChange()\n}\n\nconst handleDelete = (idx: number) => {\n innerValue.value.splice(idx, 1)\n emits('delete', idx)\n handleChange()\n}\n\nconst handleChange = () => {\n emits('change', innerValue.value)\n emits('update:value', innerValue.value)\n}\n\nwatch(\n () => props.value,\n n => {\n innerValue.value = n && n.length > 0 ? n : [{ key: null, value: null }]\n },\n {\n immediate: true,\n deep: true\n }\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgEA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AAEvC,IAAA,MAAM,UAAa,GAAA,GAAA;AAAA,MACjB,KAAM,CAAA,KAAA,IAAS,KAAM,CAAA,KAAA,CAAM,SAAS,CAChC,GAAA,KAAA,CAAM,KACN,GAAA,CAAC,EAAE,GAAA,EAAK,IAAM,EAAA,KAAA,EAAO,MAAM,CAAA;AAAA,KACjC,CAAA;AAEA,IAAM,MAAA,aAAA,GAAgB,GAAW,CAAA,EAAE,CAAA,CAAA;AAEnC,IAAM,MAAA,gBAAA,GAAmB,SAAS,MAAM;AACtC,MAAA,MAAM,MAAM,EAAC,CAAA;AACb,MAAM,KAAA,CAAA,QAAA,CAAS,IAAI,CAAK,CAAA,KAAA;AACtB,QAAI,GAAA,CAAA,CAAA,CAAE,KAAK,CAAA,GAAI,CAAE,CAAA,MAAA,CAAA;AAAA,OAClB,CAAA,CAAA;AACD,MAAO,OAAA,GAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAW,UAAA,CAAA,KAAA,CAAM,IAAK,CAAA,eAAA,EAAiB,CAAA,CAAA;AACvC,MAAA,KAAA,CAAM,KAAO,EAAA;AAAA,QACX,KAAA,EAAO,UAAW,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA;AAAA,QACjC,MAAM,UAAW,CAAA,KAAA,CAAM,UAAW,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA;AAAA,QAClD,OAAO,UAAW,CAAA,KAAA;AAAA,OACnB,CAAA,CAAA;AACD,MAAa,YAAA,EAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,GAAgB,KAAA;AACpC,MAAW,UAAA,CAAA,KAAA,CAAM,MAAO,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AAC9B,MAAA,KAAA,CAAM,UAAU,GAAG,CAAA,CAAA;AACnB,MAAa,YAAA,EAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAM,KAAA,CAAA,QAAA,EAAU,WAAW,KAAK,CAAA,CAAA;AAChC,MAAM,KAAA,CAAA,cAAA,EAAgB,WAAW,KAAK,CAAA,CAAA;AAAA,KACxC,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAK,CAAA,KAAA;AACH,QAAA,UAAA,CAAW,KAAQ,GAAA,CAAA,IAAK,CAAE,CAAA,MAAA,GAAS,CAAI,GAAA,CAAA,GAAI,CAAC,EAAE,GAAK,EAAA,IAAA,EAAM,KAAO,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,OACxE;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,QACX,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"key-value.vue2.mjs","sources":["../../../../../packages/components/key-value/src/key-value.vue"],"sourcesContent":["<template>\n <div :class=\"bem.b()\">\n <a-spin :spinning=\"props.loading\">\n <key-value-item\n v-for=\"(_item, idx) in innerValue\"\n :key=\"_item\"\n :ref=\"el => (keyValueItems[idx] = el)\"\n v-model:value=\"innerValue[idx]\"\n :idx=\"idx\"\n :key-label=\"props.keyLabel\"\n :value-label=\"props.valueLabel\"\n :key-value-type-dict=\"keyValueTypeDict\"\n :show-delete=\"idx > 0\"\n :key-value-type=\"props.keyValueType\"\n :key-type=\"props.keyType\"\n :key-types=\"props.keyTypes\"\n :value-type=\"props.valueType\"\n :disabled=\"props.disabled\"\n :disabled-value=\"props.disabledValue\"\n :disabled-key=\"props.disabledKey\"\n :disabled-delete=\"props.disabledDelete\"\n @delete=\"handleDelete(idx)\"\n @change=\"handleChange\"\n >\n <template\n v-for=\"item in Object.keys($slots)\"\n :key=\"item\"\n #[item]=\"data\"\n >\n <slot :name=\"item\" v-bind=\"data || {}\" :index=\"idx\"></slot>\n </template>\n </key-value-item>\n <ll-button\n :class=\"bem.e('add')\"\n :loading=\"loading\"\n :disabled=\"props.disabled || props.disabledAdd\"\n @click=\"handleAddItem\"\n >\n <div :class=\"bem.e('plus')\">\n <ll-icon\n v-if=\"!loading\"\n icon-name=\"icon-add\"\n :class=\"bem.e('icon-add')\"\n />\n {{ props.addText }}\n </div>\n </ll-button>\n </a-spin>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch } from 'vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport {\n keyValueProps,\n keyValueEmits,\n getKeyValueItem,\n type KeyValueItem\n} from './config'\nimport keyValueItem from './components/key-value-item.vue'\n\ndefineOptions({ name: 'LlKeyValue' })\n\nconst props = defineProps(keyValueProps)\nconst emits = defineEmits(keyValueEmits)\nconst bem = createNamespace('key-value')\n\nconst innerValue = ref<KeyValueItem[]>([])\n\nconst keyValueItems = ref<any[]>([])\n\nconst keyValueTypeDict = computed(() => {\n const obj = {}\n props.keyTypes.map(e => {\n obj[e.value] = e.option\n })\n return obj\n})\n\nconst handleAddItem = () => {\n innerValue.value.push(getKeyValueItem())\n emits('add', {\n index: innerValue.value.length - 1,\n item: innerValue.value[innerValue.value.length - 1],\n value: innerValue.value\n })\n handleChange()\n}\n\nconst handleDelete = (idx: number) => {\n innerValue.value.splice(idx, 1)\n emits('delete', idx)\n handleChange()\n}\n\nconst handleChange = () => {\n try {\n emits('change', innerValue.value)\n emits('update:value', innerValue.value)\n } catch (error) {\n console.error(error)\n }\n}\n\nwatch(\n () => props.value,\n n => {\n innerValue.value = n && n.length > 0 ? n : [{ key: null, value: null }]\n },\n {\n immediate: true,\n deep: true\n }\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAgEA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AAEvC,IAAM,MAAA,UAAA,GAAa,GAAoB,CAAA,EAAE,CAAA,CAAA;AAEzC,IAAM,MAAA,aAAA,GAAgB,GAAW,CAAA,EAAE,CAAA,CAAA;AAEnC,IAAM,MAAA,gBAAA,GAAmB,SAAS,MAAM;AACtC,MAAA,MAAM,MAAM,EAAC,CAAA;AACb,MAAM,KAAA,CAAA,QAAA,CAAS,IAAI,CAAK,CAAA,KAAA;AACtB,QAAI,GAAA,CAAA,CAAA,CAAE,KAAK,CAAA,GAAI,CAAE,CAAA,MAAA,CAAA;AAAA,OAClB,CAAA,CAAA;AACD,MAAO,OAAA,GAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAED,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAW,UAAA,CAAA,KAAA,CAAM,IAAK,CAAA,eAAA,EAAiB,CAAA,CAAA;AACvC,MAAA,KAAA,CAAM,KAAO,EAAA;AAAA,QACX,KAAA,EAAO,UAAW,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA;AAAA,QACjC,MAAM,UAAW,CAAA,KAAA,CAAM,UAAW,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA;AAAA,QAClD,OAAO,UAAW,CAAA,KAAA;AAAA,OACnB,CAAA,CAAA;AACD,MAAa,YAAA,EAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,GAAgB,KAAA;AACpC,MAAW,UAAA,CAAA,KAAA,CAAM,MAAO,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AAC9B,MAAA,KAAA,CAAM,UAAU,GAAG,CAAA,CAAA;AACnB,MAAa,YAAA,EAAA,CAAA;AAAA,KACf,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAI,IAAA;AACF,QAAM,KAAA,CAAA,QAAA,EAAU,WAAW,KAAK,CAAA,CAAA;AAChC,QAAM,KAAA,CAAA,cAAA,EAAgB,WAAW,KAAK,CAAA,CAAA;AAAA,eAC/B,KAAO,EAAA;AACd,QAAA,OAAA,CAAQ,MAAM,KAAK,CAAA,CAAA;AAAA,OACrB;AAAA,KACF,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAK,CAAA,KAAA;AACH,QAAA,UAAA,CAAW,KAAQ,GAAA,CAAA,IAAK,CAAE,CAAA,MAAA,GAAS,CAAI,GAAA,CAAA,GAAI,CAAC,EAAE,GAAK,EAAA,IAAA,EAAM,KAAO,EAAA,IAAA,EAAM,CAAA,CAAA;AAAA,OACxE;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,QACX,IAAM,EAAA,IAAA;AAAA,OACR;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,12 +2,12 @@
2
2
  * @file LlUriInput组件引出
3
3
  */
4
4
  export declare const LlUriInput: import("ll-plus/es/utils").SFCWithInstall<import("vue").DefineComponent<{
5
- readonly value: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
5
+ readonly value: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, null], unknown, unknown, "", boolean>;
6
6
  readonly suffix: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
7
7
  readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
8
8
  }, {
9
9
  props: import("@vue/shared").LooseRequired<{
10
- readonly value: string;
10
+ readonly value: any;
11
11
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
12
12
  readonly suffix: string;
13
13
  readonly onChange?: ((value: string) => any) | undefined;
@@ -31,14 +31,14 @@ export declare const LlUriInput: import("ll-plus/es/utils").SFCWithInstall<impor
31
31
  'update:value': (value: string) => boolean;
32
32
  change: (value: string) => boolean;
33
33
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
34
- readonly value: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
34
+ readonly value: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, null], unknown, unknown, "", boolean>;
35
35
  readonly suffix: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
36
36
  readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
37
37
  }>> & {
38
38
  onChange?: ((value: string) => any) | undefined;
39
39
  "onUpdate:value"?: ((value: string) => any) | undefined;
40
40
  }, {
41
- readonly value: string;
41
+ readonly value: any;
42
42
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
43
43
  readonly suffix: string;
44
44
  }, {}>>;
@@ -9,7 +9,7 @@ export declare const getHttpMethodUri: (uri: string) => {
9
9
  url: string;
10
10
  };
11
11
  export declare const uriInputProps: {
12
- readonly value: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
12
+ readonly value: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, null], unknown, unknown, "", boolean>;
13
13
  readonly suffix: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
14
14
  readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
15
15
  };
@@ -14,13 +14,13 @@ const httpUriOptions = [
14
14
  ];
15
15
  const getHttpMethodUri = (uri) => {
16
16
  let prefix = "http://";
17
- let url = uri;
17
+ let url = uri ? uri : "";
18
18
  try {
19
19
  const urlObject = new URL(uri);
20
20
  if (!prefix.includes(urlObject.protocol)) {
21
21
  prefix = "https://";
22
22
  }
23
- url = urlObject.host ? `${urlObject.host}${urlObject.pathname}` : urlObject.href;
23
+ url = uri.replace(prefix, "");
24
24
  } catch (error) {
25
25
  }
26
26
  return {
@@ -30,7 +30,7 @@ const getHttpMethodUri = (uri) => {
30
30
  };
31
31
  const uriInputProps = buildProps({
32
32
  value: {
33
- type: String,
33
+ type: [String, null],
34
34
  default: ""
35
35
  },
36
36
  suffix: {
@@ -1 +1 @@
1
- {"version":3,"file":"uri-input.mjs","sources":["../../../../../packages/components/uri-input/src/uri-input.ts"],"sourcesContent":["import { buildProps } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type UriInput from './uri-input.vue'\n\nexport const httpUriOptions = [\n {\n label: 'Http://',\n value: 'http://'\n },\n {\n label: 'Https://',\n value: 'https://'\n }\n]\n\nexport const getHttpMethodUri = (uri: string) => {\n let prefix = 'http://'\n let url = uri\n try {\n const urlObject = new URL(uri)\n if (!prefix.includes(urlObject.protocol)) {\n prefix = 'https://'\n }\n url = urlObject.host\n ? `${urlObject.host}${urlObject.pathname}`\n : urlObject.href\n } catch (error) {\n // Ignore the error\n }\n\n return {\n prefix,\n url\n }\n}\n\nexport const uriInputProps = buildProps({\n value: {\n type: String,\n default: ''\n },\n suffix: {\n type: String,\n default: ''\n },\n disabled: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const uriInputEmits = {\n 'update:value': (value: string) => typeof value === 'string',\n change: (value: string) => typeof value === 'string'\n}\n\n// props\nexport type UriInputProps = ExtractPropTypes<typeof uriInputProps>\n\n// emits\nexport type UriInputEmits = typeof uriInputEmits\n\n// instance\nexport type UriInputInstance = InstanceType<typeof UriInput>\n"],"names":[],"mappings":";;;;AAMO,MAAM,cAAiB,GAAA;AAAA,EAC5B;AAAA,IACE,KAAO,EAAA,SAAA;AAAA,IACP,KAAO,EAAA,SAAA;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAO,EAAA,UAAA;AAAA,IACP,KAAO,EAAA,UAAA;AAAA,GACT;AACF,EAAA;AAEa,MAAA,gBAAA,GAAmB,CAAC,GAAgB,KAAA;AAC/C,EAAA,IAAI,MAAS,GAAA,SAAA,CAAA;AACb,EAAA,IAAI,GAAM,GAAA,GAAA,CAAA;AACV,EAAI,IAAA;AACF,IAAM,MAAA,SAAA,GAAY,IAAI,GAAA,CAAI,GAAG,CAAA,CAAA;AAC7B,IAAA,IAAI,CAAC,MAAA,CAAO,QAAS,CAAA,SAAA,CAAU,QAAQ,CAAG,EAAA;AACxC,MAAS,MAAA,GAAA,UAAA,CAAA;AAAA,KACX;AACA,IAAM,GAAA,GAAA,SAAA,CAAU,OACZ,CAAG,EAAA,SAAA,CAAU,IAAI,CAAG,EAAA,SAAA,CAAU,QAAQ,CAAA,CAAA,GACtC,SAAU,CAAA,IAAA,CAAA;AAAA,WACP,KAAO,EAAA;AAAA,GAEhB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AACF,EAAA;AAEO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,aAAgB,GAAA;AAAA,EAC3B,cAAgB,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EACpD,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAC9C;;;;"}
1
+ {"version":3,"file":"uri-input.mjs","sources":["../../../../../packages/components/uri-input/src/uri-input.ts"],"sourcesContent":["import { buildProps } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\n\nimport type UriInput from './uri-input.vue'\n\nexport const httpUriOptions = [\n {\n label: 'Http://',\n value: 'http://'\n },\n {\n label: 'Https://',\n value: 'https://'\n }\n]\n\nexport const getHttpMethodUri = (uri: string) => {\n let prefix = 'http://'\n let url = uri ? uri : ''\n try {\n const urlObject = new URL(uri)\n if (!prefix.includes(urlObject.protocol)) {\n prefix = 'https://'\n }\n url = uri.replace(prefix, '')\n } catch (error) {\n // Ignore the error\n }\n\n return {\n prefix,\n url\n }\n}\n\nexport const uriInputProps = buildProps({\n value: {\n type: [String, null],\n default: ''\n },\n suffix: {\n type: String,\n default: ''\n },\n disabled: {\n type: Boolean,\n default: false\n }\n} as const)\n\nexport const uriInputEmits = {\n 'update:value': (value: string) => typeof value === 'string',\n change: (value: string) => typeof value === 'string'\n}\n\n// props\nexport type UriInputProps = ExtractPropTypes<typeof uriInputProps>\n\n// emits\nexport type UriInputEmits = typeof uriInputEmits\n\n// instance\nexport type UriInputInstance = InstanceType<typeof UriInput>\n"],"names":[],"mappings":";;;;AAMO,MAAM,cAAiB,GAAA;AAAA,EAC5B;AAAA,IACE,KAAO,EAAA,SAAA;AAAA,IACP,KAAO,EAAA,SAAA;AAAA,GACT;AAAA,EACA;AAAA,IACE,KAAO,EAAA,UAAA;AAAA,IACP,KAAO,EAAA,UAAA;AAAA,GACT;AACF,EAAA;AAEa,MAAA,gBAAA,GAAmB,CAAC,GAAgB,KAAA;AAC/C,EAAA,IAAI,MAAS,GAAA,SAAA,CAAA;AACb,EAAI,IAAA,GAAA,GAAM,MAAM,GAAM,GAAA,EAAA,CAAA;AACtB,EAAI,IAAA;AACF,IAAM,MAAA,SAAA,GAAY,IAAI,GAAA,CAAI,GAAG,CAAA,CAAA;AAC7B,IAAA,IAAI,CAAC,MAAA,CAAO,QAAS,CAAA,SAAA,CAAU,QAAQ,CAAG,EAAA;AACxC,MAAS,MAAA,GAAA,UAAA,CAAA;AAAA,KACX;AACA,IAAM,GAAA,GAAA,GAAA,CAAI,OAAQ,CAAA,MAAA,EAAQ,EAAE,CAAA,CAAA;AAAA,WACrB,KAAO,EAAA;AAAA,GAEhB;AAEA,EAAO,OAAA;AAAA,IACL,MAAA;AAAA,IACA,GAAA;AAAA,GACF,CAAA;AACF,EAAA;AAEO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,IAAI,CAAA;AAAA,IACnB,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,aAAgB,GAAA;AAAA,EAC3B,cAAgB,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAAA,EACpD,MAAQ,EAAA,CAAC,KAAkB,KAAA,OAAO,KAAU,KAAA,QAAA;AAC9C;;;;"}
@@ -1,10 +1,10 @@
1
1
  declare const _default: import("vue").DefineComponent<{
2
- readonly value: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
2
+ readonly value: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, null], unknown, unknown, "", boolean>;
3
3
  readonly suffix: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
4
4
  readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
5
5
  }, {
6
6
  props: import("@vue/shared").LooseRequired<{
7
- readonly value: string;
7
+ readonly value: any;
8
8
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
9
9
  readonly suffix: string;
10
10
  readonly onChange?: ((value: string) => any) | undefined;
@@ -28,14 +28,14 @@ declare const _default: import("vue").DefineComponent<{
28
28
  'update:value': (value: string) => boolean;
29
29
  change: (value: string) => boolean;
30
30
  }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
31
- readonly value: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
31
+ readonly value: import("ll-plus/es/utils").EpPropFinalized<readonly [StringConstructor, null], unknown, unknown, "", boolean>;
32
32
  readonly suffix: import("ll-plus/es/utils").EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
33
33
  readonly disabled: import("ll-plus/es/utils").EpPropFinalized<BooleanConstructor, unknown, unknown, false, boolean>;
34
34
  }>> & {
35
35
  onChange?: ((value: string) => any) | undefined;
36
36
  "onUpdate:value"?: ((value: string) => any) | undefined;
37
37
  }, {
38
- readonly value: string;
38
+ readonly value: any;
39
39
  readonly disabled: import("ll-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
40
40
  readonly suffix: string;
41
41
  }, {}>;
@@ -18,7 +18,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
18
18
  return omit(attrs, Object.keys(uriInputProps));
19
19
  });
20
20
  const handleChange = () => {
21
- const url = innerPrefix.value + innerValue.value + (props.suffix || "");
21
+ const url = innerValue.value ? innerPrefix.value + innerValue.value + (props.suffix || "") : "";
22
22
  emits("update:value", url);
23
23
  emits("change", url);
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"uri-input.vue2.mjs","sources":["../../../../../packages/components/uri-input/src/uri-input.vue"],"sourcesContent":["<template>\n <ll-input\n v-model:value=\"innerValue\"\n :disabled=\"props.disabled\"\n v-bind=\"getBindValue\"\n >\n <template #addonBefore>\n <ll-select\n v-model:value=\"innerPrefix\"\n :options=\"httpUriOptions\"\n style=\"width: 90px\"\n :disabled=\"props.disabled\"\n @change=\"handleChange\"\n />\n </template>\n <template v-if=\"props.suffix\" #suffix>\n <span>{{ props.suffix }}</span>\n </template>\n </ll-input>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, useAttrs, watch, computed } from 'vue'\nimport { omit } from 'lodash-es'\nimport {\n uriInputProps,\n uriInputEmits,\n httpUriOptions,\n getHttpMethodUri\n} from './uri-input'\n\n//Component Config\ndefineOptions({ name: 'LlUriInput' })\nconst props = defineProps(uriInputProps)\nconst emits = defineEmits(uriInputEmits)\nconst attrs = useAttrs()\n\nconst innerValue = ref()\nconst innerPrefix = ref()\n\nconst getBindValue = computed(() => {\n return omit(attrs, Object.keys(uriInputProps))\n})\n\nconst handleChange = () => {\n const url = innerPrefix.value + innerValue.value + (props.suffix || '')\n emits('update:value', url)\n emits('change', url)\n}\n\nwatch(\n () => props.value,\n val => {\n const { prefix, url } = getHttpMethodUri(val)\n innerPrefix.value = prefix\n innerValue.value = url\n if (props.suffix) {\n innerValue.value = url.replace(props.suffix, '')\n }\n },\n {\n immediate: true\n }\n)\n\nwatch(innerValue, () => {\n handleChange()\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAiCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,aAAa,GAAI,EAAA,CAAA;AACvB,IAAA,MAAM,cAAc,GAAI,EAAA,CAAA;AAExB,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,OAAO,IAAK,CAAA,KAAA,EAAO,MAAO,CAAA,IAAA,CAAK,aAAa,CAAC,CAAA,CAAA;AAAA,KAC9C,CAAA,CAAA;AAED,IAAA,MAAM,eAAe,MAAM;AACzB,MAAA,MAAM,MAAM,WAAY,CAAA,KAAA,GAAQ,UAAW,CAAA,KAAA,IAAS,MAAM,MAAU,IAAA,EAAA,CAAA,CAAA;AACpE,MAAA,KAAA,CAAM,gBAAgB,GAAG,CAAA,CAAA;AACzB,MAAA,KAAA,CAAM,UAAU,GAAG,CAAA,CAAA;AAAA,KACrB,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAO,GAAA,KAAA;AACL,QAAA,MAAM,EAAE,MAAA,EAAQ,GAAI,EAAA,GAAI,iBAAiB,GAAG,CAAA,CAAA;AAC5C,QAAA,WAAA,CAAY,KAAQ,GAAA,MAAA,CAAA;AACpB,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA,CAAA;AACnB,QAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,UAAA,UAAA,CAAW,KAAQ,GAAA,GAAA,CAAI,OAAQ,CAAA,KAAA,CAAM,QAAQ,EAAE,CAAA,CAAA;AAAA,SACjD;AAAA,OACF;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAA,KAAA,CAAM,YAAY,MAAM;AACtB,MAAa,YAAA,EAAA,CAAA;AAAA,KACd,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"uri-input.vue2.mjs","sources":["../../../../../packages/components/uri-input/src/uri-input.vue"],"sourcesContent":["<template>\n <ll-input\n v-model:value=\"innerValue\"\n :disabled=\"props.disabled\"\n v-bind=\"getBindValue\"\n >\n <template #addonBefore>\n <ll-select\n v-model:value=\"innerPrefix\"\n :options=\"httpUriOptions\"\n style=\"width: 90px\"\n :disabled=\"props.disabled\"\n @change=\"handleChange\"\n />\n </template>\n <template v-if=\"props.suffix\" #suffix>\n <span>{{ props.suffix }}</span>\n </template>\n </ll-input>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, useAttrs, watch, computed } from 'vue'\nimport { omit } from 'lodash-es'\nimport {\n uriInputProps,\n uriInputEmits,\n httpUriOptions,\n getHttpMethodUri\n} from './uri-input'\n\n//Component Config\ndefineOptions({ name: 'LlUriInput' })\nconst props = defineProps(uriInputProps)\nconst emits = defineEmits(uriInputEmits)\nconst attrs = useAttrs()\n\nconst innerValue = ref()\nconst innerPrefix = ref()\n\nconst getBindValue = computed(() => {\n return omit(attrs, Object.keys(uriInputProps))\n})\n\nconst handleChange = () => {\n const url = innerValue.value\n ? innerPrefix.value + innerValue.value + (props.suffix || '')\n : ''\n emits('update:value', url)\n emits('change', url)\n}\n\nwatch(\n () => props.value,\n val => {\n const { prefix, url } = getHttpMethodUri(val)\n innerPrefix.value = prefix\n innerValue.value = url\n if (props.suffix) {\n innerValue.value = url.replace(props.suffix, '')\n }\n },\n {\n immediate: true\n }\n)\n\nwatch(innerValue, () => {\n handleChange()\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;AAiCA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AAEvB,IAAA,MAAM,aAAa,GAAI,EAAA,CAAA;AACvB,IAAA,MAAM,cAAc,GAAI,EAAA,CAAA;AAExB,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,OAAO,IAAK,CAAA,KAAA,EAAO,MAAO,CAAA,IAAA,CAAK,aAAa,CAAC,CAAA,CAAA;AAAA,KAC9C,CAAA,CAAA;AAED,IAAA,MAAM,eAAe,MAAM;AACzB,MAAM,MAAA,GAAA,GAAM,WAAW,KACnB,GAAA,WAAA,CAAY,QAAQ,UAAW,CAAA,KAAA,IAAS,KAAM,CAAA,MAAA,IAAU,EACxD,CAAA,GAAA,EAAA,CAAA;AACJ,MAAA,KAAA,CAAM,gBAAgB,GAAG,CAAA,CAAA;AACzB,MAAA,KAAA,CAAM,UAAU,GAAG,CAAA,CAAA;AAAA,KACrB,CAAA;AAEA,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,KAAA;AAAA,MACZ,CAAO,GAAA,KAAA;AACL,QAAA,MAAM,EAAE,MAAA,EAAQ,GAAI,EAAA,GAAI,iBAAiB,GAAG,CAAA,CAAA;AAC5C,QAAA,WAAA,CAAY,KAAQ,GAAA,MAAA,CAAA;AACpB,QAAA,UAAA,CAAW,KAAQ,GAAA,GAAA,CAAA;AACnB,QAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,UAAA,UAAA,CAAW,KAAQ,GAAA,GAAA,CAAI,OAAQ,CAAA,KAAA,CAAM,QAAQ,EAAE,CAAA,CAAA;AAAA,SACjD;AAAA,OACF;AAAA,MACA;AAAA,QACE,SAAW,EAAA,IAAA;AAAA,OACb;AAAA,KACF,CAAA;AAEA,IAAA,KAAA,CAAM,YAAY,MAAM;AACtB,MAAa,YAAA,EAAA,CAAA;AAAA,KACd,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/index.full.js CHANGED
@@ -4886,6 +4886,10 @@
4886
4886
  type: definePropType(Object),
4887
4887
  default: () => {
4888
4888
  }
4889
+ },
4890
+ allSpan: {
4891
+ type: Number,
4892
+ default: 24
4889
4893
  }
4890
4894
  });
4891
4895
 
@@ -4967,7 +4971,7 @@
4967
4971
  require$$0.renderList(props.options, (item, idx) => {
4968
4972
  return require$$0.openBlock(), require$$0.createBlock(require$$0.unref(antDesignVue.Col), require$$0.mergeProps({ ref_for: true }, item.colOptions, {
4969
4973
  key: idx,
4970
- span: item.span || 24,
4974
+ span: item.span || props.allSpan,
4971
4975
  class: require$$0.unref(bem).e("item")
4972
4976
  }), {
4973
4977
  default: require$$0.withCtx(() => [
@@ -58248,9 +58252,15 @@
58248
58252
  };
58249
58253
  require$$0.watch(
58250
58254
  innerValue,
58251
- (val) => {
58252
- emits("update:value", val);
58253
- emits("change");
58255
+ async (val) => {
58256
+ await require$$0.nextTick().then(() => {
58257
+ try {
58258
+ emits("update:value", val);
58259
+ emits("change");
58260
+ } catch (error) {
58261
+ console.error(error);
58262
+ }
58263
+ });
58254
58264
  },
58255
58265
  {
58256
58266
  deep: true
@@ -58309,8 +58319,7 @@
58309
58319
  "onUpdate:value": _cache[1] || (_cache[1] = ($event) => innerValue.value["key"] = $event)
58310
58320
  }, getKeyType.value, {
58311
58321
  disabled: getKeyDisabled.value,
58312
- style: { "width": "100%" },
58313
- onChange: handleChange
58322
+ style: { "width": "100%" }
58314
58323
  }), require$$0.createSlots({
58315
58324
  _: 2
58316
58325
  /* DYNAMIC */
@@ -58458,9 +58467,7 @@
58458
58467
  const props = __props;
58459
58468
  const emits = __emit;
58460
58469
  const bem = createNamespace("key-value");
58461
- const innerValue = require$$0.ref(
58462
- props.value && props.value.length > 0 ? props.value : [{ key: null, value: null }]
58463
- );
58470
+ const innerValue = require$$0.ref([]);
58464
58471
  const keyValueItems = require$$0.ref([]);
58465
58472
  const keyValueTypeDict = require$$0.computed(() => {
58466
58473
  const obj = {};
@@ -58484,8 +58491,12 @@
58484
58491
  handleChange();
58485
58492
  };
58486
58493
  const handleChange = () => {
58487
- emits("change", innerValue.value);
58488
- emits("update:value", innerValue.value);
58494
+ try {
58495
+ emits("change", innerValue.value);
58496
+ emits("update:value", innerValue.value);
58497
+ } catch (error) {
58498
+ console.error(error);
58499
+ }
58489
58500
  };
58490
58501
  require$$0.watch(
58491
58502
  () => props.value,
@@ -58516,7 +58527,7 @@
58516
58527
  null,
58517
58528
  require$$0.renderList(innerValue.value, (_item, idx) => {
58518
58529
  return require$$0.openBlock(), require$$0.createBlock(keyValueItem, {
58519
- key: idx + +/* @__PURE__ */ new Date(),
58530
+ key: _item,
58520
58531
  ref_for: true,
58521
58532
  ref: (el) => keyValueItems.value[idx] = el,
58522
58533
  value: innerValue.value[idx],
@@ -76286,13 +76297,13 @@
76286
76297
  ];
76287
76298
  const getHttpMethodUri = (uri) => {
76288
76299
  let prefix = "http://";
76289
- let url = uri;
76300
+ let url = uri ? uri : "";
76290
76301
  try {
76291
76302
  const urlObject = new URL(uri);
76292
76303
  if (!prefix.includes(urlObject.protocol)) {
76293
76304
  prefix = "https://";
76294
76305
  }
76295
- url = urlObject.host ? `${urlObject.host}${urlObject.pathname}` : urlObject.href;
76306
+ url = uri.replace(prefix, "");
76296
76307
  } catch (error) {
76297
76308
  }
76298
76309
  return {
@@ -76302,7 +76313,7 @@
76302
76313
  };
76303
76314
  const uriInputProps = buildProps({
76304
76315
  value: {
76305
- type: String,
76316
+ type: [String, null],
76306
76317
  default: ""
76307
76318
  },
76308
76319
  suffix: {
@@ -76334,7 +76345,7 @@
76334
76345
  return omit(attrs, Object.keys(uriInputProps));
76335
76346
  });
76336
76347
  const handleChange = () => {
76337
- const url = innerPrefix.value + innerValue.value + (props.suffix || "");
76348
+ const url = innerValue.value ? innerPrefix.value + innerValue.value + (props.suffix || "") : "";
76338
76349
  emits("update:value", url);
76339
76350
  emits("change", url);
76340
76351
  };