ll-plus 2.1.10 → 2.1.12

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 (85) hide show
  1. package/es/component.mjs +2 -0
  2. package/es/component.mjs.map +1 -1
  3. package/es/components/code-editor/src/code-editor.vue2.mjs.map +1 -1
  4. package/es/components/index.d.ts +1 -0
  5. package/es/components/index.mjs +2 -0
  6. package/es/components/index.mjs.map +1 -1
  7. package/es/components/key-value/index.d.ts +4 -4
  8. package/es/components/key-value/src/components/key-value-item.vue.d.ts +2 -2
  9. package/es/components/key-value/src/components/key-value-item.vue2.mjs +6 -2
  10. package/es/components/key-value/src/components/key-value-item.vue2.mjs.map +1 -1
  11. package/es/components/key-value/src/config/key-value-item.d.ts +2 -2
  12. package/es/components/key-value/src/config/key-value-item.mjs.map +1 -1
  13. package/es/components/key-value/src/config/key-value.d.ts +3 -3
  14. package/es/components/key-value/src/config/key-value.mjs +2 -2
  15. package/es/components/key-value/src/config/key-value.mjs.map +1 -1
  16. package/es/components/key-value/src/key-value.vue.d.ts +4 -4
  17. package/es/components/key-value/src/key-value.vue2.mjs +7 -4
  18. package/es/components/key-value/src/key-value.vue2.mjs.map +1 -1
  19. package/es/components/tag-group/index.d.ts +394 -0
  20. package/es/components/tag-group/index.mjs +10 -0
  21. package/es/components/tag-group/index.mjs.map +1 -0
  22. package/es/components/tag-group/src/tag-group.d.ts +14 -0
  23. package/es/components/tag-group/src/tag-group.mjs +22 -0
  24. package/es/components/tag-group/src/tag-group.mjs.map +1 -0
  25. package/es/components/tag-group/src/tag-group.vue.d.ts +388 -0
  26. package/es/components/tag-group/src/tag-group.vue.mjs +8 -0
  27. package/es/components/tag-group/src/tag-group.vue.mjs.map +1 -0
  28. package/es/components/tag-group/src/tag-group.vue2.mjs +325 -0
  29. package/es/components/tag-group/src/tag-group.vue2.mjs.map +1 -0
  30. package/es/index.mjs +2 -0
  31. package/es/index.mjs.map +1 -1
  32. package/es/utils/props/runtime.d.ts +2 -2
  33. package/global.d.ts +1 -0
  34. package/index.full.js +474 -127
  35. package/index.full.min.js +21 -21
  36. package/index.full.min.js.map +1 -1
  37. package/index.full.min.mjs +21 -21
  38. package/index.full.min.mjs.map +1 -1
  39. package/index.full.mjs +474 -130
  40. package/lib/component.js +18 -16
  41. package/lib/component.js.map +1 -1
  42. package/lib/components/code-editor/src/code-editor.vue2.js.map +1 -1
  43. package/lib/components/index.d.ts +1 -0
  44. package/lib/components/index.js +22 -17
  45. package/lib/components/index.js.map +1 -1
  46. package/lib/components/key-value/index.d.ts +4 -4
  47. package/lib/components/key-value/src/components/key-value-item.vue.d.ts +2 -2
  48. package/lib/components/key-value/src/components/key-value-item.vue2.js +6 -2
  49. package/lib/components/key-value/src/components/key-value-item.vue2.js.map +1 -1
  50. package/lib/components/key-value/src/config/key-value-item.d.ts +2 -2
  51. package/lib/components/key-value/src/config/key-value-item.js.map +1 -1
  52. package/lib/components/key-value/src/config/key-value.d.ts +3 -3
  53. package/lib/components/key-value/src/config/key-value.js +2 -2
  54. package/lib/components/key-value/src/config/key-value.js.map +1 -1
  55. package/lib/components/key-value/src/key-value.vue.d.ts +4 -4
  56. package/lib/components/key-value/src/key-value.vue2.js +6 -3
  57. package/lib/components/key-value/src/key-value.vue2.js.map +1 -1
  58. package/lib/components/tag-group/index.d.ts +394 -0
  59. package/lib/components/tag-group/index.js +17 -0
  60. package/lib/components/tag-group/index.js.map +1 -0
  61. package/lib/components/tag-group/src/tag-group.d.ts +14 -0
  62. package/lib/components/tag-group/src/tag-group.js +25 -0
  63. package/lib/components/tag-group/src/tag-group.js.map +1 -0
  64. package/lib/components/tag-group/src/tag-group.vue.d.ts +388 -0
  65. package/lib/components/tag-group/src/tag-group.vue.js +12 -0
  66. package/lib/components/tag-group/src/tag-group.vue.js.map +1 -0
  67. package/lib/components/tag-group/src/tag-group.vue2.js +329 -0
  68. package/lib/components/tag-group/src/tag-group.vue2.js.map +1 -0
  69. package/lib/index.js +22 -17
  70. package/lib/index.js.map +1 -1
  71. package/lib/utils/props/runtime.d.ts +2 -2
  72. package/package.json +1 -1
  73. package/theme-chalk/css/form.css +1 -1
  74. package/theme-chalk/css/index.css +1 -1
  75. package/theme-chalk/css/tag-group.css +5 -0
  76. package/types/packages/components/index.d.ts +1 -0
  77. package/types/packages/components/key-value/index.d.ts +4 -4
  78. package/types/packages/components/key-value/src/components/key-value-item.vue.d.ts +2 -2
  79. package/types/packages/components/key-value/src/config/key-value-item.d.ts +2 -2
  80. package/types/packages/components/key-value/src/config/key-value.d.ts +3 -3
  81. package/types/packages/components/key-value/src/key-value.vue.d.ts +4 -4
  82. package/types/packages/components/tag-group/index.d.ts +394 -0
  83. package/types/packages/components/tag-group/src/tag-group.d.ts +14 -0
  84. package/types/packages/components/tag-group/src/tag-group.vue.d.ts +388 -0
  85. package/types/packages/utils/props/runtime.d.ts +2 -2
package/es/component.mjs CHANGED
@@ -33,6 +33,7 @@ import { LlSteps } from './components/steps/index.mjs';
33
33
  import { LlSwitch } from './components/switch/index.mjs';
34
34
  import { LlTable } from './components/table/index.mjs';
35
35
  import { LlTabsSimple } from './components/tabs-simple/index.mjs';
36
+ import { LlTagGroup } from './components/tag-group/index.mjs';
36
37
  import { LlTextarea } from './components/textarea/index.mjs';
37
38
  import { LlTimePicker } from './components/time-picker/index.mjs';
38
39
  import { LlTimeRange } from './components/time-range/index.mjs';
@@ -85,6 +86,7 @@ var Components = [
85
86
  LlSwitch,
86
87
  LlTable,
87
88
  LlTabsSimple,
89
+ LlTagGroup,
88
90
  LlTextarea,
89
91
  LlTimePicker,
90
92
  LlTimeRange,
@@ -1 +1 @@
1
- {"version":3,"file":"component.mjs","sources":["../../packages/ll-plus/component.ts"],"sourcesContent":["import type { Plugin } from 'vue'\n\nimport {\n LlAdvancedFiltering,\n LlAdvancedFilteringParams,\n LlAdvancedFilteringTags,\n LlAvatar,\n LlButton,\n LlCascader,\n LlCheckbox,\n LlCheckboxGroup,\n LlCodeEditor,\n LlConfigProvider,\n LlDatePicker,\n LlDateRange,\n LlDescriptions,\n LlDescriptionsItem,\n LlDrawer,\n LlEmpty,\n LlForm,\n LlFormItem,\n LlIcon,\n LlIconBase,\n LlIconPicker,\n LlInput,\n LlInputNumber,\n LlKeyValue,\n LlModal,\n LlOperateIcon,\n LlOperateTree,\n LlRadio,\n LlRadioButton,\n LlRadioGroup,\n LlSecondConfirmation,\n LlSegmented,\n LlSelect,\n LlSelectOption,\n LlSelectOptGroup,\n LlSelectGroup,\n LlSpace,\n LlSteps,\n LlSwitch,\n LlTable,\n LlTabsSimple,\n LlTextarea,\n LlTimePicker,\n LlTimeRange,\n LlTooltip,\n LlTreeSearch,\n LlTree,\n LlDropdown,\n LlUploadDrag\n} from '@ll-plus/components/index'\n\nexport default [\n LlAdvancedFiltering,\n LlAdvancedFilteringParams,\n LlAdvancedFilteringTags,\n LlAvatar,\n LlButton,\n LlCascader,\n LlCheckbox,\n LlCheckboxGroup,\n LlCodeEditor,\n LlConfigProvider,\n LlDatePicker,\n LlDateRange,\n LlDescriptions,\n LlDescriptionsItem,\n LlDrawer,\n LlEmpty,\n LlForm,\n LlFormItem,\n LlIcon,\n LlIconBase,\n LlIconPicker,\n LlInput,\n LlInputNumber,\n LlKeyValue,\n LlModal,\n LlOperateIcon,\n LlOperateTree,\n LlRadio,\n LlRadioButton,\n LlRadioGroup,\n LlSecondConfirmation,\n LlSegmented,\n LlSelect,\n LlSelectOption,\n LlSelectOptGroup,\n LlSelectGroup,\n LlSpace,\n LlSteps,\n LlSwitch,\n LlTable,\n LlTabsSimple,\n LlTextarea,\n LlTimePicker,\n LlTimeRange,\n LlTooltip,\n LlTreeSearch,\n LlTree,\n LlDropdown,\n LlUploadDrag\n] as Plugin[]\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsDA,iBAAe;AAAA,EACb,mBAAA;AAAA,EACA,yBAAA;AAAA,EACA,uBAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,YAAA;AAAA,EACA,gBAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,kBAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,oBAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AACF,CAAA;;;;"}
1
+ {"version":3,"file":"component.mjs","sources":["../../packages/ll-plus/component.ts"],"sourcesContent":["import type { Plugin } from 'vue'\n\nimport {\n LlAdvancedFiltering,\n LlAdvancedFilteringParams,\n LlAdvancedFilteringTags,\n LlAvatar,\n LlButton,\n LlCascader,\n LlCheckbox,\n LlCheckboxGroup,\n LlCodeEditor,\n LlConfigProvider,\n LlDatePicker,\n LlDateRange,\n LlDescriptions,\n LlDescriptionsItem,\n LlDrawer,\n LlEmpty,\n LlForm,\n LlFormItem,\n LlIcon,\n LlIconBase,\n LlIconPicker,\n LlInput,\n LlInputNumber,\n LlKeyValue,\n LlModal,\n LlOperateIcon,\n LlOperateTree,\n LlRadio,\n LlRadioButton,\n LlRadioGroup,\n LlSecondConfirmation,\n LlSegmented,\n LlSelect,\n LlSelectOption,\n LlSelectOptGroup,\n LlSelectGroup,\n LlSpace,\n LlSteps,\n LlSwitch,\n LlTable,\n LlTabsSimple,\n LlTagGroup,\n LlTextarea,\n LlTimePicker,\n LlTimeRange,\n LlTooltip,\n LlTreeSearch,\n LlTree,\n LlDropdown,\n LlUploadDrag\n} from '@ll-plus/components/index'\n\nexport default [\n LlAdvancedFiltering,\n LlAdvancedFilteringParams,\n LlAdvancedFilteringTags,\n LlAvatar,\n LlButton,\n LlCascader,\n LlCheckbox,\n LlCheckboxGroup,\n LlCodeEditor,\n LlConfigProvider,\n LlDatePicker,\n LlDateRange,\n LlDescriptions,\n LlDescriptionsItem,\n LlDrawer,\n LlEmpty,\n LlForm,\n LlFormItem,\n LlIcon,\n LlIconBase,\n LlIconPicker,\n LlInput,\n LlInputNumber,\n LlKeyValue,\n LlModal,\n LlOperateIcon,\n LlOperateTree,\n LlRadio,\n LlRadioButton,\n LlRadioGroup,\n LlSecondConfirmation,\n LlSegmented,\n LlSelect,\n LlSelectOption,\n LlSelectOptGroup,\n LlSelectGroup,\n LlSpace,\n LlSteps,\n LlSwitch,\n LlTable,\n LlTabsSimple,\n LlTagGroup,\n LlTextarea,\n LlTimePicker,\n LlTimeRange,\n LlTooltip,\n LlTreeSearch,\n LlTree,\n LlDropdown,\n LlUploadDrag\n] as Plugin[]\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,iBAAe;AAAA,EACb,mBAAA;AAAA,EACA,yBAAA;AAAA,EACA,uBAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,YAAA;AAAA,EACA,gBAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,cAAA;AAAA,EACA,kBAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,oBAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA;AAAA,EACA,YAAA;AACF,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"code-editor.vue2.mjs","sources":["../../../../../packages/components/code-editor/src/code-editor.vue"],"sourcesContent":["<template>\n <div\n ref=\"codeEditBox\"\n :class=\"bem.b()\"\n :style=\"{\n width: props.width,\n height: props.height\n }\"\n />\n</template>\n\n<script lang=\"ts\" setup>\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport {\n codeEditorProps,\n codeEditorEmits,\n defaultOptions,\n codeThemeList\n} from './config'\nimport { createNamespace } from '@ll-plus/utils'\n// @ts-ignore\nimport * as monaco from 'monaco-editor'\n// // @ts-ignore\n// import EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'\n// // @ts-ignore\n// import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'\n// // @ts-ignore\n// import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker'\n// // @ts-ignore\n// import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker'\n// // @ts-ignore\n// import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'\n\ndefineOptions({ name: 'LlCodeEditor' })\n\nconst props = defineProps(codeEditorProps)\nconst emits = defineEmits(codeEditorEmits)\nconst bem = createNamespace('code-editor')\nself.MonacoEnvironment = {\n getWorker(_: string, label: string) {\n if (label === 'json') {\n return new Worker(\n new URL(\n 'monaco-editor/esm/vs/language/json/json.worker.js',\n import.meta.url\n ),\n { type: 'module' }\n )\n }\n if (['css', 'scss', 'less'].includes(label)) {\n return new Worker(\n new URL(\n 'monaco-editor/esm/vs/language/css/css.worker.js',\n import.meta.url\n ),\n { type: 'module' }\n )\n }\n if (['html', 'handlebars', 'razor'].includes(label)) {\n return new Worker(\n new URL(\n 'monaco-editor/esm/vs/language/html/html.worker.js',\n import.meta.url\n ),\n { type: 'module' }\n )\n }\n if (['typescript', 'javascript'].includes(label)) {\n return new Worker(\n new URL(\n 'monaco-editor/esm/vs/language/typescript/ts.worker.js',\n import.meta.url\n ),\n { type: 'module' }\n )\n }\n return new Worker(\n new URL('monaco-editor/esm/vs/editor/editor.worker.js', import.meta.url),\n {\n type: 'module'\n }\n )\n }\n}\nlet editor: monaco.editor.IStandaloneCodeEditor\n\nconst codeEditBox = ref()\nconst init = () => {\n monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: true,\n noSyntaxValidation: false\n })\n monaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n target: monaco.languages.typescript.ScriptTarget.ES2020,\n allowNonTsExtensions: true\n })\n\n editor = monaco.editor.create(codeEditBox.value, {\n value: props.value,\n language: props.language,\n theme: props.theme,\n ...defaultOptions,\n ...props.options\n })\n handleChangeTheme(props.theme)\n // 监听值的变化\n editor.onDidChangeModelContent(() => {\n const value = editor.getValue() //给父组件实时返回最新文本\n emits('update:value', value)\n emits('change', value)\n })\n\n emits('editor-mounted', editor)\n}\nconst handleChangeTheme = async (theme: string) => {\n const find = codeThemeList.find(item => item.value === theme)\n if (find) {\n const themeData = {\n ...find.data\n } as monaco.editor.IStandaloneThemeData\n try {\n monaco.editor.defineTheme(theme, themeData)\n monaco.editor.setTheme(theme)\n } catch (error) {\n monaco.editor.setTheme('vs')\n }\n } else {\n monaco.editor.setTheme('vs')\n }\n}\nwatch(\n () => props.value,\n newValue => {\n if (editor) {\n const value = editor.getValue()\n if (newValue !== value) {\n editor.setValue(newValue)\n }\n }\n }\n)\n\nwatch(\n () => props.options,\n newValue => {\n editor.updateOptions(newValue)\n },\n { deep: true }\n)\n\nwatch(\n () => props.language,\n newValue => {\n monaco.editor.setModelLanguage(editor.getModel()!, newValue)\n }\n)\n\nonBeforeUnmount(() => {\n editor.dispose()\n})\n\nonMounted(() => {\n init()\n})\n</script>\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"code-editor.vue2.mjs","sources":["../../../../../packages/components/code-editor/src/code-editor.vue"],"sourcesContent":["<template>\n <div\n ref=\"codeEditBox\"\n :class=\"bem.b()\"\n :style=\"{\n width: props.width,\n height: props.height\n }\"\n />\n</template>\n\n<script lang=\"ts\" setup>\nimport { onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport {\n codeEditorProps,\n codeEditorEmits,\n defaultOptions,\n codeThemeList\n} from './config'\nimport { createNamespace } from '@ll-plus/utils'\n// @ts-ignore\nimport * as monaco from 'monaco-editor'\n\ndefineOptions({ name: 'LlCodeEditor' })\n\nconst props = defineProps(codeEditorProps)\nconst emits = defineEmits(codeEditorEmits)\nconst bem = createNamespace('code-editor')\n\nself.MonacoEnvironment = {\n getWorker(_: string, label: string) {\n if (label === 'json') {\n return new Worker(\n new URL(\n 'monaco-editor/esm/vs/language/json/json.worker.js',\n import.meta.url\n ),\n { type: 'module' }\n )\n }\n if (['css', 'scss', 'less'].includes(label)) {\n return new Worker(\n new URL(\n 'monaco-editor/esm/vs/language/css/css.worker.js',\n import.meta.url\n ),\n { type: 'module' }\n )\n }\n if (['html', 'handlebars', 'razor'].includes(label)) {\n return new Worker(\n new URL(\n 'monaco-editor/esm/vs/language/html/html.worker.js',\n import.meta.url\n ),\n { type: 'module' }\n )\n }\n if (['typescript', 'javascript'].includes(label)) {\n return new Worker(\n new URL(\n 'monaco-editor/esm/vs/language/typescript/ts.worker.js',\n import.meta.url\n ),\n { type: 'module' }\n )\n }\n return new Worker(\n new URL('monaco-editor/esm/vs/editor/editor.worker.js', import.meta.url),\n {\n type: 'module'\n }\n )\n }\n}\nlet editor: monaco.editor.IStandaloneCodeEditor\n\nconst codeEditBox = ref()\nconst init = () => {\n monaco.languages.typescript.javascriptDefaults.setDiagnosticsOptions({\n noSemanticValidation: true,\n noSyntaxValidation: false\n })\n monaco.languages.typescript.javascriptDefaults.setCompilerOptions({\n target: monaco.languages.typescript.ScriptTarget.ES2020,\n allowNonTsExtensions: true\n })\n\n editor = monaco.editor.create(codeEditBox.value, {\n value: props.value,\n language: props.language,\n theme: props.theme,\n ...defaultOptions,\n ...props.options\n })\n handleChangeTheme(props.theme)\n // 监听值的变化\n editor.onDidChangeModelContent(() => {\n const value = editor.getValue() //给父组件实时返回最新文本\n emits('update:value', value)\n emits('change', value)\n })\n\n emits('editor-mounted', editor)\n}\nconst handleChangeTheme = async (theme: string) => {\n const find = codeThemeList.find(item => item.value === theme)\n if (find) {\n const themeData = {\n ...find.data\n } as monaco.editor.IStandaloneThemeData\n try {\n monaco.editor.defineTheme(theme, themeData)\n monaco.editor.setTheme(theme)\n } catch (error) {\n monaco.editor.setTheme('vs')\n }\n } else {\n monaco.editor.setTheme('vs')\n }\n}\nwatch(\n () => props.value,\n newValue => {\n if (editor) {\n const value = editor.getValue()\n if (newValue !== value) {\n editor.setValue(newValue)\n }\n }\n }\n)\n\nwatch(\n () => props.options,\n newValue => {\n editor.updateOptions(newValue)\n },\n { deep: true }\n)\n\nwatch(\n () => props.language,\n newValue => {\n monaco.editor.setModelLanguage(editor.getModel()!, newValue)\n }\n)\n\nonBeforeUnmount(() => {\n editor.dispose()\n})\n\nonMounted(() => {\n init()\n})\n</script>\n"],"names":[],"mappings":"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"}
@@ -33,6 +33,7 @@ export * from './steps';
33
33
  export * from './switch';
34
34
  export * from './table';
35
35
  export * from './tabs-simple';
36
+ export * from './tag-group';
36
37
  export * from './textarea';
37
38
  export * from './time-picker';
38
39
  export * from './time-range';
@@ -31,6 +31,7 @@ export { LlSteps } from './steps/index.mjs';
31
31
  export { LlSwitch } from './switch/index.mjs';
32
32
  export { LlTable } from './table/index.mjs';
33
33
  export { LlTabsSimple } from './tabs-simple/index.mjs';
34
+ export { LlTagGroup } from './tag-group/index.mjs';
34
35
  export { LlTextarea } from './textarea/index.mjs';
35
36
  export { LlTimePicker } from './time-picker/index.mjs';
36
37
  export { LlTimeRange } from './time-range/index.mjs';
@@ -74,6 +75,7 @@ export { mainTableEmits, mainTableProps } from './table/src/config/main-table.mj
74
75
  export { tablePaginationProps } from './table/src/config/pagination.mjs';
75
76
  export { tableProps } from './table/src/config/table.mjs';
76
77
  export { tabsSimpleEmits, tabsSimpleProps } from './tabs-simple/src/tabs-simple.mjs';
78
+ export { tagGroupEmits, tagGroupProps } from './tag-group/src/tag-group.mjs';
77
79
  export { placement, tooltipProps } from './tooltip/src/tooltip.mjs';
78
80
  export { treeSelectHeaderSearchEmits, treeSelectHeaderSearchProps } from './tree-search/src/config/header-search.mjs';
79
81
  export { treeSelectDirectoryTitleEmits, treeSelectDirectoryTitleProps } from './tree-search/src/config/directory-title.mjs';
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -62,8 +62,8 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
62
62
  is: (name?: string) => string;
63
63
  };
64
64
  innerValue: import("vue").Ref<{
65
- key: string;
66
- value: string;
65
+ key: string | null;
66
+ value: string | null;
67
67
  }[]>;
68
68
  keyValueItems: import("vue").Ref<any[]>;
69
69
  keyValueTypeDict: import("vue").ComputedRef<{}>;
@@ -101,8 +101,8 @@ export declare const LlKeyValue: import("ll-plus/es/utils").SFCWithInstall<impor
101
101
  is: (name?: string) => string;
102
102
  };
103
103
  innerValue: import("vue").Ref<{
104
- key: string;
105
- value: string;
104
+ key: string | null;
105
+ value: string | null;
106
106
  }>;
107
107
  getKeyType: import("vue").ComputedRef<any>;
108
108
  getValueType: import("vue").ComputedRef<any>;
@@ -29,8 +29,8 @@ declare const _default: import("vue").DefineComponent<{
29
29
  is: (name?: string) => string;
30
30
  };
31
31
  innerValue: import("vue").Ref<{
32
- key: string;
33
- value: string;
32
+ key: string | null;
33
+ value: string | null;
34
34
  }>;
35
35
  getKeyType: import("vue").ComputedRef<any>;
36
36
  getValueType: import("vue").ComputedRef<any>;
@@ -107,7 +107,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
107
107
  value: innerValue.value["value"],
108
108
  "onUpdate:value": _cache[1] || (_cache[1] = ($event) => innerValue.value["value"] = $event),
109
109
  disabled: unref(attrs).disabled
110
- }, getKeyType.value, { onChange: handleChange }), createSlots({
110
+ }, getKeyType.value, {
111
+ style: { "width": "100%" },
112
+ onChange: handleChange
113
+ }), createSlots({
111
114
  _: 2
112
115
  /* DYNAMIC */
113
116
  }, [
@@ -165,7 +168,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
165
168
  (openBlock(), createBlock(resolveDynamicComponent(`ll-${getValueType.value.type}`), mergeProps({
166
169
  value: innerValue.value["value"],
167
170
  "onUpdate:value": _cache[2] || (_cache[2] = ($event) => innerValue.value["value"] = $event),
168
- disabled: unref(attrs).disabled
171
+ disabled: unref(attrs).disabled,
172
+ style: { "width": "100%" }
169
173
  }, getValueType.value), createSlots({
170
174
  _: 2
171
175
  /* 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 v-if=\"attrs.type !== 'single'\" :class=\"bem.m('left')\">\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=\"attrs.disabled\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['value']\"\n :disabled=\"attrs.disabled\"\n v-bind=\"getKeyType\"\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.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=\"attrs.disabled\"\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=\"text\" :disabled=\"attrs.disabled\">\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()\nconsole.log({ attrs })\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 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":";;;;;;;;;;;;;;;;AAgJA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAQ,OAAA,CAAA,GAAA,CAAI,EAAE,KAAA,EAAO,CAAA,CAAA;AACrB,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,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 v-if=\"attrs.type !== 'single'\" :class=\"bem.m('left')\">\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=\"attrs.disabled\"\n placeholder=\"请选择\"\n allow-clear\n @change=\"handleChange\"\n />\n <component\n :is=\"`ll-${getKeyType.type}`\"\n v-else\n v-model:value=\"innerValue['value']\"\n :disabled=\"attrs.disabled\"\n v-bind=\"getKeyType\"\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.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=\"attrs.disabled\"\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=\"text\" :disabled=\"attrs.disabled\">\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()\nconsole.log({ attrs })\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 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":";;;;;;;;;;;;;;;;AAkJA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAEd,IAAA,MAAM,QAAQ,QAAS,EAAA,CAAA;AACvB,IAAQ,OAAA,CAAA,GAAA,CAAI,EAAE,KAAA,EAAO,CAAA,CAAA;AACrB,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,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -234,8 +234,8 @@ export declare const formColumns: {
234
234
  };
235
235
  }[];
236
236
  export interface KeyValueItem {
237
- key: string;
238
- value: string;
237
+ key: string | null;
238
+ value: string | null;
239
239
  }
240
240
  export declare const keyValueItemProps: {
241
241
  readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => KeyValueItem) | (() => KeyValueItem) | ((new (...args: any[]) => KeyValueItem) | (() => KeyValueItem))[], unknown, unknown, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"key-value-item.mjs","sources":["../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\n\nexport const typeRules = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any) => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\nexport const formOptions = {\n layout: 'horizontal',\n labelAlign: 'left'\n} as FormProps\n\nexport const formColumns = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\nexport interface KeyValueItem {\n key: string\n value: string\n}\nexport const keyValueItemProps = buildProps({\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\n },\n keyValueTypeDict: {\n type: Object,\n default: () => ({})\n },\n showDelete: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport const keyValueItemEmits = {\n delete: () => true,\n change: () => true,\n 'update:value': (value: KeyValueItem) => !!value\n}\n"],"names":[],"mappings":";;;;AAGO,MAAM,SAAY,GAAA;AAAA,EACvB;AAAA,IACE,OAAA,EAAS,CAAC,MAAA,EAAQ,QAAQ,CAAA;AAAA,IAC1B,OAAS,EAAA,4CAAA;AAAA,IACT,SAAA,EAAW,OAAO,KAAA,EAAY,KAAe,KAAA;AAC3C,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,OAAO,OAAQ,CAAA,MAAA,CAAO,IAAI,KAAA,CAAM,4CAAS,CAAC,CAAA,CAAA;AAAA,OACrC,MAAA;AACL,QAAA,OAAO,QAAQ,OAAQ,EAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,GACF;AACF,EAAA;AACO,MAAM,WAAc,GAAA;AAAA,EACzB,MAAQ,EAAA,YAAA;AAAA,EACR,UAAY,EAAA,MAAA;AACd,EAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB;AAAA,IACE,GAAK,EAAA,OAAA;AAAA,IACL,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,EAAA;AAAA,KACR;AAAA,GACF;AACF,EAAA;AAMO,MAAM,oBAAoB,UAAW,CAAA;AAAA,EAC1C,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,SAAS,OAAO;AAAA,MACd,GAAK,EAAA,EAAA;AAAA,MACL,KAAO,EAAA,EAAA;AAAA,KACT,CAAA;AAAA,GACF;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,iBAAoB,GAAA;AAAA,EAC/B,QAAQ,MAAM,IAAA;AAAA,EACd,QAAQ,MAAM,IAAA;AAAA,EACd,cAAgB,EAAA,CAAC,KAAwB,KAAA,CAAC,CAAC,KAAA;AAC7C;;;;"}
1
+ {"version":3,"file":"key-value-item.mjs","sources":["../../../../../../packages/components/key-value/src/config/key-value-item.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\nimport type { FormProps } from 'ant-design-vue'\n\nexport const typeRules = [\n {\n trigger: ['blur', 'change'],\n message: '此字段是必需的',\n validator: async (_rule: any, value: any) => {\n if (!value) {\n return Promise.reject(new Error('此字段是必需的'))\n } else {\n return Promise.resolve()\n }\n }\n }\n]\nexport const formOptions = {\n layout: 'horizontal',\n labelAlign: 'left'\n} as FormProps\n\nexport const formColumns = [\n {\n key: 'other',\n labelCol: {\n span: 24\n }\n }\n]\n\nexport interface KeyValueItem {\n key: string | null\n value: string | null\n}\nexport const keyValueItemProps = buildProps({\n value: {\n type: definePropType<KeyValueItem>(Object),\n default: () => ({\n key: '',\n value: ''\n })\n },\n keyValueTypeDict: {\n type: Object,\n default: () => ({})\n },\n showDelete: {\n type: Boolean,\n default: true\n }\n} as const)\n\nexport const keyValueItemEmits = {\n delete: () => true,\n change: () => true,\n 'update:value': (value: KeyValueItem) => !!value\n}\n"],"names":[],"mappings":";;;;AAGO,MAAM,SAAY,GAAA;AAAA,EACvB;AAAA,IACE,OAAA,EAAS,CAAC,MAAA,EAAQ,QAAQ,CAAA;AAAA,IAC1B,OAAS,EAAA,4CAAA;AAAA,IACT,SAAA,EAAW,OAAO,KAAA,EAAY,KAAe,KAAA;AAC3C,MAAA,IAAI,CAAC,KAAO,EAAA;AACV,QAAA,OAAO,OAAQ,CAAA,MAAA,CAAO,IAAI,KAAA,CAAM,4CAAS,CAAC,CAAA,CAAA;AAAA,OACrC,MAAA;AACL,QAAA,OAAO,QAAQ,OAAQ,EAAA,CAAA;AAAA,OACzB;AAAA,KACF;AAAA,GACF;AACF,EAAA;AACO,MAAM,WAAc,GAAA;AAAA,EACzB,MAAQ,EAAA,YAAA;AAAA,EACR,UAAY,EAAA,MAAA;AACd,EAAA;AAEO,MAAM,WAAc,GAAA;AAAA,EACzB;AAAA,IACE,GAAK,EAAA,OAAA;AAAA,IACL,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,EAAA;AAAA,KACR;AAAA,GACF;AACF,EAAA;AAMO,MAAM,oBAAoB,UAAW,CAAA;AAAA,EAC1C,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA6B,MAAM,CAAA;AAAA,IACzC,SAAS,OAAO;AAAA,MACd,GAAK,EAAA,EAAA;AAAA,MACL,KAAO,EAAA,EAAA;AAAA,KACT,CAAA;AAAA,GACF;AAAA,EACA,gBAAkB,EAAA;AAAA,IAChB,IAAM,EAAA,MAAA;AAAA,IACN,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,GACnB;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,IAAA;AAAA,GACX;AACF,CAAU,EAAA;AAEH,MAAM,iBAAoB,GAAA;AAAA,EAC/B,QAAQ,MAAM,IAAA;AAAA,EACd,QAAQ,MAAM,IAAA;AAAA,EACd,cAAgB,EAAA,CAAC,KAAwB,KAAA,CAAC,CAAC,KAAA;AAC7C;;;;"}
@@ -1,7 +1,7 @@
1
1
  import type { ExtractPropTypes } from 'vue';
2
2
  import { type FormColumn } from 'll-plus/es/components';
3
3
  import type { KeyValueItem } from './key-value-item';
4
- import type KeyValue from '../components/key-value-item.vue';
4
+ import type KeyValue from '../key-value.vue';
5
5
  export interface KeyType {
6
6
  label: string;
7
7
  value: string;
@@ -9,8 +9,8 @@ export interface KeyType {
9
9
  }
10
10
  type Type = 'single' | 'doubt';
11
11
  export declare const getKeyValueItem: () => {
12
- key: string;
13
- value: string;
12
+ key: null;
13
+ value: null;
14
14
  };
15
15
  export declare const keyValueProps: {
16
16
  readonly value: import("ll-plus/es/utils").EpPropFinalized<(new (...args: any[]) => KeyValueItem[]) | (() => KeyValueItem[]) | ((new (...args: any[]) => KeyValueItem[]) | (() => KeyValueItem[]))[], unknown, unknown, () => {
@@ -3,8 +3,8 @@ import { buildProps, definePropType } from '../../../../utils/props/runtime.mjs'
3
3
 
4
4
  "use strict";
5
5
  const getKeyValueItem = () => ({
6
- key: "",
7
- value: ""
6
+ key: null,
7
+ value: null
8
8
  });
9
9
  const keyValueProps = buildProps({
10
10
  value: {
@@ -1 +1 @@
1
- {"version":3,"file":"key-value.mjs","sources":["../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../components/key-value-item.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype Type = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: '',\n value: ''\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: '', value: '' }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n type: {\n type: definePropType<Type>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入key'\n })\n }\n} as const)\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":[],"mappings":";;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,EAAA;AAAA,EACL,KAAO,EAAA,EAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA;AAAA,GACxC;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAqB,MAAM,CAAA;AAAA,IACjC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AACF,CAAU,EAAA;AAEH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;"}
1
+ {"version":3,"file":"key-value.mjs","sources":["../../../../../../packages/components/key-value/src/config/key-value.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\n\nimport type { ExtractPropTypes } from 'vue'\nimport { type FormColumn } from '@ll-plus/components'\nimport type { KeyValueItem } from './key-value-item'\nimport type KeyValue from '../key-value.vue'\n\nexport interface KeyType {\n label: string\n value: string\n option: FormColumn\n}\n\ntype Type = 'single' | 'doubt'\n\nexport const getKeyValueItem = () => ({\n key: null,\n value: null\n})\n\nexport const keyValueProps = buildProps({\n value: {\n type: definePropType<KeyValueItem[]>(Array),\n default: () => [{ key: '', value: '' }]\n },\n loading: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n keyLabel: {\n type: String,\n default: ''\n },\n valueLabel: {\n type: String,\n default: ''\n },\n addText: {\n type: String,\n default: '添加'\n },\n type: {\n type: definePropType<Type>(String),\n default: 'doubt'\n },\n keyType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入key'\n })\n },\n keyTypes: {\n type: definePropType<KeyType[]>(Array),\n default: () => []\n },\n valueType: {\n type: definePropType<FormColumn>(Object),\n default: () => ({\n type: 'input',\n placeholder: '请输入key'\n })\n }\n} as const)\n\nexport const keyValueEmits = {\n change: (value: KeyValueItem[]) => !!value,\n 'update:value': (value: KeyValueItem[]) => !!value\n}\n\n// props\nexport type KeyValueProps = ExtractPropTypes<typeof keyValueProps>\n// emits\nexport type KeyValueEmits = typeof keyValueEmits\n// instance\nexport type KeyValueInstance = InstanceType<typeof KeyValue>\n"],"names":[],"mappings":";;;;AAeO,MAAM,kBAAkB,OAAO;AAAA,EACpC,GAAK,EAAA,IAAA;AAAA,EACL,KAAO,EAAA,IAAA;AACT,CAAA,EAAA;AAEO,MAAM,gBAAgB,UAAW,CAAA;AAAA,EACtC,KAAO,EAAA;AAAA,IACL,IAAA,EAAM,eAA+B,KAAK,CAAA;AAAA,IAC1C,OAAA,EAAS,MAAM,CAAC,EAAE,KAAK,EAAI,EAAA,KAAA,EAAO,IAAI,CAAA;AAAA,GACxC;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,OAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,GACX;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,UAAY,EAAA;AAAA,IACV,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,EAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAM,EAAA,MAAA;AAAA,IACN,OAAS,EAAA,cAAA;AAAA,GACX;AAAA,EACA,IAAM,EAAA;AAAA,IACJ,IAAA,EAAM,eAAqB,MAAM,CAAA;AAAA,IACjC,OAAS,EAAA,OAAA;AAAA,GACX;AAAA,EACA,OAAS,EAAA;AAAA,IACP,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AAAA,EACA,QAAU,EAAA;AAAA,IACR,IAAA,EAAM,eAA0B,KAAK,CAAA;AAAA,IACrC,OAAA,EAAS,MAAM,EAAC;AAAA,GAClB;AAAA,EACA,SAAW,EAAA;AAAA,IACT,IAAA,EAAM,eAA2B,MAAM,CAAA;AAAA,IACvC,SAAS,OAAO;AAAA,MACd,IAAM,EAAA,OAAA;AAAA,MACN,WAAa,EAAA,uBAAA;AAAA,KACf,CAAA;AAAA,GACF;AACF,CAAU,EAAA;AAEH,MAAM,aAAgB,GAAA;AAAA,EAC3B,MAAQ,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAAA,EACrC,cAAgB,EAAA,CAAC,KAA0B,KAAA,CAAC,CAAC,KAAA;AAC/C;;;;"}
@@ -61,8 +61,8 @@ declare const _default: import("vue").DefineComponent<{
61
61
  is: (name?: string) => string;
62
62
  };
63
63
  innerValue: import("vue").Ref<{
64
- key: string;
65
- value: string;
64
+ key: string | null;
65
+ value: string | null;
66
66
  }[]>;
67
67
  keyValueItems: import("vue").Ref<any[]>;
68
68
  keyValueTypeDict: import("vue").ComputedRef<{}>;
@@ -100,8 +100,8 @@ declare const _default: import("vue").DefineComponent<{
100
100
  is: (name?: string) => string;
101
101
  };
102
102
  innerValue: import("vue").Ref<{
103
- key: string;
104
- value: string;
103
+ key: string | null;
104
+ value: string | null;
105
105
  }>;
106
106
  getKeyType: import("vue").ComputedRef<any>;
107
107
  getValueType: import("vue").ComputedRef<any>;
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, Fragment, renderList, createBlock, createSlots, renderSlot, mergeProps, createElementVNode, createCommentVNode, createTextVNode, toDisplayString } from 'vue';
1
+ import { defineComponent, ref, computed, watch, resolveComponent, openBlock, createElementBlock, normalizeClass, unref, createVNode, withCtx, Fragment, renderList, createBlock, createSlots, renderSlot, mergeProps, createElementVNode, createCommentVNode, createTextVNode, toDisplayString } from 'vue';
2
2
  import '../../../utils/index.mjs';
3
3
  import './config/index.mjs';
4
4
  import keyValueItem from './components/key-value-item.vue.mjs';
@@ -16,7 +16,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
16
16
  const emits = __emit;
17
17
  const bem = createNamespace("key-value");
18
18
  const innerValue = ref(
19
- props.value.length > 0 ? props.value : [{ key: "", value: "" }]
19
+ props.value && props.value.length > 0 ? props.value : [{ key: null, value: null }]
20
20
  );
21
21
  const keyValueItems = ref([]);
22
22
  const keyValueTypeDict = computed(() => {
@@ -34,8 +34,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
34
34
  };
35
35
  const handleChange = () => {
36
36
  emits("change", innerValue.value);
37
- emits("change", innerValue.value);
37
+ emits("update:value", innerValue.value);
38
38
  };
39
+ watch(innerValue, (n) => {
40
+ emits("update:value", n);
41
+ });
39
42
  return (_ctx, _cache) => {
40
43
  const _component_ll_icon = resolveComponent("ll-icon");
41
44
  const _component_ll_button = resolveComponent("ll-button");
@@ -53,7 +56,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
53
56
  (openBlock(true), createElementBlock(
54
57
  Fragment,
55
58
  null,
56
- renderList(props.value, (_item, idx) => {
59
+ renderList(innerValue.value, (_item, idx) => {
57
60
  return openBlock(), createBlock(keyValueItem, {
58
61
  key: idx,
59
62
  ref_for: true,
@@ -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 props.value\"\n :key=\"idx\"\n :ref=\"el => (keyValueItems[idx] = el)\"\n :value=\"props.value[idx]\"\n :key-label=\"props.keyLabel\"\n :value-label=\"props.valueLabel\"\n :key-value-type-dict=\"keyValueTypeDict\"\n :show-delete=\"idx > 0\"\n :type=\"props.type\"\n :key-type=\"props.keyType\"\n :key-types=\"props.keyTypes\"\n :value-type=\"props.valueType\"\n :disabled=\"props.disabled\"\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\"\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 } from 'vue'\nimport { createNamespace } from '@ll-plus/utils'\nimport { keyValueProps, keyValueEmits, getKeyValueItem } from './config'\nimport keyValueItem from './components/key-value-item.vue'\ndefineOptions({ name: 'LlKeyValue' })\nconst props = defineProps(keyValueProps)\nconst emits = defineEmits(keyValueEmits)\nconst bem = createNamespace('key-value')\nconst innerValue = ref(\n props.value.length > 0 ? props.value : [{ key: '', value: '' }]\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}\n\nconst handleDelete = (idx: number) => {\n innerValue.value.splice(idx, 1)\n}\n\nconst handleChange = () => {\n emits('change', innerValue.value)\n emits('change', innerValue.value)\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAqDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AACvC,IAAA,MAAM,UAAa,GAAA,GAAA;AAAA,MACjB,KAAM,CAAA,KAAA,CAAM,MAAS,GAAA,CAAA,GAAI,KAAM,CAAA,KAAA,GAAQ,CAAC,EAAE,GAAK,EAAA,EAAA,EAAI,KAAO,EAAA,EAAA,EAAI,CAAA;AAAA,KAChE,CAAA;AACA,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;AAAA,KACzC,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,GAAgB,KAAA;AACpC,MAAW,UAAA,CAAA,KAAA,CAAM,MAAO,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AAAA,KAChC,CAAA;AAEA,IAAA,MAAM,eAAe,MAAM;AACzB,MAAM,KAAA,CAAA,QAAA,EAAU,WAAW,KAAK,CAAA,CAAA;AAChC,MAAM,KAAA,CAAA,QAAA,EAAU,WAAW,KAAK,CAAA,CAAA;AAAA,KAClC,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=\"idx\"\n :ref=\"el => (keyValueItems[idx] = el)\"\n :value=\"props.value[idx]\"\n :key-label=\"props.keyLabel\"\n :value-label=\"props.valueLabel\"\n :key-value-type-dict=\"keyValueTypeDict\"\n :show-delete=\"idx > 0\"\n :type=\"props.type\"\n :key-type=\"props.keyType\"\n :key-types=\"props.keyTypes\"\n :value-type=\"props.valueType\"\n :disabled=\"props.disabled\"\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\"\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 { keyValueProps, keyValueEmits, getKeyValueItem } from './config'\nimport keyValueItem from './components/key-value-item.vue'\ndefineOptions({ name: 'LlKeyValue' })\nconst props = defineProps(keyValueProps)\nconst emits = defineEmits(keyValueEmits)\nconst bem = createNamespace('key-value')\nconst innerValue = ref(\n props.value && props.value.length > 0\n ? props.value\n : [{ key: null, value: null }]\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}\n\nconst handleDelete = (idx: number) => {\n innerValue.value.splice(idx, 1)\n}\n\nconst handleChange = () => {\n emits('change', innerValue.value)\n emits('update:value', innerValue.value)\n}\nwatch(innerValue, n => {\n emits('update:value', n)\n})\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAqDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AACd,IAAM,MAAA,GAAA,GAAM,gBAAgB,WAAW,CAAA,CAAA;AACvC,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;AACA,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;AAAA,KACzC,CAAA;AAEA,IAAM,MAAA,YAAA,GAAe,CAAC,GAAgB,KAAA;AACpC,MAAW,UAAA,CAAA,KAAA,CAAM,MAAO,CAAA,GAAA,EAAK,CAAC,CAAA,CAAA;AAAA,KAChC,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;AACA,IAAA,KAAA,CAAM,YAAY,CAAK,CAAA,KAAA;AACrB,MAAA,KAAA,CAAM,gBAAgB,CAAC,CAAA,CAAA;AAAA,KACxB,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}