@veltra/desktop 1.2.21 → 1.2.23
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.
- package/dist/components/action/action-group.vue.d.ts +2 -2
- package/dist/components/action/action.vue.d.ts +1 -1
- package/dist/components/action/style2.css +0 -12
- package/dist/components/auto-complete/auto-complete.js +5 -6
- package/dist/components/auto-complete/auto-complete.js.map +1 -1
- package/dist/components/auto-complete/auto-complete.vue.d.ts +2 -2
- package/dist/components/batch-edit/batch-edit.vue.d.ts +2 -2
- package/dist/components/batch-edit/style2.css +2 -2
- package/dist/components/cascade/cascade.js +7 -7
- package/dist/components/cascade/cascade.js.map +1 -1
- package/dist/components/cascade/cascade.vue.d.ts +7 -7
- package/dist/components/checkbox/checkbox-button.js +5 -5
- package/dist/components/checkbox/checkbox-button.js.map +1 -1
- package/dist/components/checkbox/checkbox-button.vue.d.ts +2 -2
- package/dist/components/checkbox/checkbox.vue.d.ts +1 -1
- package/dist/components/checkbox-group/checkbox-group.js +8 -10
- package/dist/components/checkbox-group/checkbox-group.js.map +1 -1
- package/dist/components/checkbox-group/checkbox-group.vue.d.ts +2 -2
- package/dist/components/code-editor/code-editor.vue.d.ts +1 -1
- package/dist/components/collapse/style2.css +5 -5
- package/dist/components/date-panel/date-panel.vue.d.ts +1 -1
- package/dist/components/date-picker/date-picker.js +6 -6
- package/dist/components/date-picker/date-picker.js.map +1 -1
- package/dist/components/date-picker/date-picker.vue.d.ts +3 -3
- package/dist/components/date-range-picker/date-range-picker.js +6 -6
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -1
- package/dist/components/date-range-picker/date-range-picker.vue.d.ts +3 -3
- package/dist/components/file-viewer/style2.css +24 -9
- package/dist/components/form-item/style2.css +0 -15
- package/dist/components/group-input/group-input.js +3 -5
- package/dist/components/group-input/group-input.js.map +1 -1
- package/dist/components/input/input.js.map +1 -1
- package/dist/components/input/input.vue.d.ts +4 -4
- package/dist/components/input/input.vue_vue_type_script_setup_true_lang.js +6 -6
- package/dist/components/input/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/kbd/style2.css +1 -1
- package/dist/components/loading/style2.css +3 -3
- package/dist/components/multi-select/multi-select.js +6 -6
- package/dist/components/multi-select/multi-select.js.map +1 -1
- package/dist/components/multi-select/multi-select.vue.d.ts +4 -4
- package/dist/components/multi-tree-select/multi-tree-select.js +6 -6
- package/dist/components/multi-tree-select/multi-tree-select.js.map +1 -1
- package/dist/components/multi-tree-select/multi-tree-select.vue.d.ts +6 -6
- package/dist/components/nav/nav-sub.js +1 -1
- package/dist/components/nav/nav-sub.js.map +1 -1
- package/dist/components/nav/style2.css +3 -5
- package/dist/components/number/number.vue.d.ts +1 -1
- package/dist/components/number-input/number-input.js +8 -5
- package/dist/components/number-input/number-input.js.map +1 -1
- package/dist/components/number-input/number-input.vue.d.ts +4 -4
- package/dist/components/number-range-input/number-range-input.js +3 -5
- package/dist/components/number-range-input/number-range-input.js.map +1 -1
- package/dist/components/number-range-input/number-range-input.vue.d.ts +2 -2
- package/dist/components/palette/palette.vue.d.ts +1 -1
- package/dist/components/password-input/password-input.vue.d.ts +2 -2
- package/dist/components/radio-group/radio-group.js +8 -10
- package/dist/components/radio-group/radio-group.js.map +1 -1
- package/dist/components/radio-group/radio-group.vue.d.ts +2 -2
- package/dist/components/rich-text-editor/rich-text-editor.vue.d.ts +2 -2
- package/dist/components/select/select.js +5 -5
- package/dist/components/select/select.js.map +1 -1
- package/dist/components/select/select.vue.d.ts +4 -4
- package/dist/components/steps/steps.vue.d.ts +2 -2
- package/dist/components/switch/switch.vue.d.ts +1 -1
- package/dist/components/textarea/textarea.vue.d.ts +4 -4
- package/dist/components/tree-select/tree-select.js +5 -5
- package/dist/components/tree-select/tree-select.js.map +1 -1
- package/dist/components/tree-select/tree-select.vue.d.ts +6 -6
- package/dist/components/watermark/watermark.vue.d.ts +1 -1
- package/package.json +6 -6
- package/src/components/action/style.scss +0 -11
- package/src/components/auto-complete/auto-complete.vue +1 -0
- package/src/components/batch-edit/style.scss +3 -7
- package/src/components/cascade/cascade.vue +2 -1
- package/src/components/checkbox/checkbox-button.vue +2 -2
- package/src/components/checkbox-group/checkbox-group.vue +2 -2
- package/src/components/collapse/style.scss +5 -25
- package/src/components/date-picker/date-picker.vue +3 -2
- package/src/components/date-range-picker/date-range-picker.vue +3 -2
- package/src/components/file-viewer/style.scss +24 -9
- package/src/components/form-item/style.scss +0 -11
- package/src/components/group-input/group-input.vue +2 -2
- package/src/components/input/input.vue +3 -2
- package/src/components/kbd/style.scss +3 -4
- package/src/components/loading/style.scss +3 -3
- package/src/components/multi-select/multi-select.vue +2 -1
- package/src/components/multi-tree-select/multi-tree-select.vue +2 -1
- package/src/components/nav/nav-sub.vue +1 -1
- package/src/components/nav/style.scss +3 -5
- package/src/components/number-input/number-input.vue +8 -5
- package/src/components/number-range-input/number-range-input.vue +2 -2
- package/src/components/radio-group/radio-group.vue +2 -2
- package/src/components/select/select.vue +2 -1
- package/src/components/tree-select/tree-select.vue +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.js","names":[],"sources":["../../../src/components/date-picker/date-picker.vue"],"sourcesContent":["<template>\n <u-dropdown\n :class=\"className\"\n trigger=\"click\"\n width=\"auto\"\n ref=\"dropdownRef\"\n @update:visible=\"\"\n :disabled=\"disabled\"\n
|
|
1
|
+
{"version":3,"file":"date-picker.js","names":["$attrs"],"sources":["../../../src/components/date-picker/date-picker.vue"],"sourcesContent":["<template>\n <u-dropdown\n v-if=\"!readonly\"\n v-bind=\"$attrs\"\n :class=\"className\"\n trigger=\"click\"\n width=\"auto\"\n ref=\"dropdownRef\"\n @update:visible=\"\"\n :disabled=\"disabled\"\n >\n <template #trigger>\n <u-input\n :size=\"size\"\n native-readonly\n :clearable=\"clearable\"\n :placeholder=\"placeholder\"\n :model-value=\"displayedValue\"\n :disabled=\"disabled\"\n @clear=\"handleClear\"\n >\n <template #suffix>\n <u-icon :class=\"cls.e('icon')\"><Calendar /></u-icon>\n </template>\n </u-input>\n </template>\n\n <template #content>\n <UDatePanel :size :type :disabled-date :date=\"currentDate\" @select:date=\"handleSelectDate\" />\n </template>\n </u-dropdown>\n\n <template v-else>\n {{ displayedValue || FORM_EMPTY_CONTENT }}\n </template>\n</template>\n\n<script lang=\"ts\" setup>\nimport { date, type Dater } from '@cat-kit/core'\nimport { useFormFallbackProps, useUserAction } from '@veltra/compositions'\nimport { Calendar } from '@veltra/icons/normal'\nimport { bem, FORM_EMPTY_CONTENT } from '@veltra/utils'\nimport { injectFormContext } from '@veltra/utils'\nimport { computed, shallowRef, watch } from 'vue'\n\nimport type { DatePickerEmits, DatePickerProps } from '../../types'\nimport type { DropdownExposed } from '../../types'\nimport { UDatePanel } from '../date-panel'\nimport { UDropdown } from '../dropdown'\nimport { UIcon } from '../icon'\nimport { UInput } from '../input'\n\ndefineOptions({ name: 'UDatePicker', inheritAttrs: false })\n\nconst props = withDefaults(defineProps<DatePickerProps>(), {\n placeholder: '选择日期',\n type: 'date',\n disabled: undefined,\n readonly: undefined,\n clearable: true\n})\n\nconst emit = defineEmits<DatePickerEmits>()\n\nconst cls = bem('date-picker')\n\nconst { formProps } = injectFormContext()\n\nconst { size, disabled, readonly } = useFormFallbackProps([formProps ?? {}, props], {\n size: 'default',\n disabled: false,\n readonly: false\n})\n\nconst className = computed(() => {\n return [cls.b, cls.m(size.value)]\n})\n\nconst dropdownRef = shallowRef<DropdownExposed>()\n\nconst formatStr = computed(() => {\n const { format, type } = props\n if (format) return format\n if (type === 'date') return 'yyyy-MM-dd'\n if (type === 'month') return 'yyyy-MM'\n if (type === 'year') return 'yyyy'\n return 'yyyy-MM-dd'\n})\n\nconst currentDate = shallowRef<Dater>()\n\nconst { userAction, isUserActive } = useUserAction()\n\nwatch(\n () => props.modelValue,\n (modelValue) => {\n if (isUserActive()) return\n currentDate.value = modelValue ? date(modelValue) : undefined\n },\n { immediate: true }\n)\n\nconst displayedValue = computed(() => {\n return currentDate.value?.format(formatStr.value) ?? ''\n})\n\nconst commitSelectedDate = userAction((date: Dater) => {\n currentDate.value = date\n emit('update:modelValue', date.format(formatStr.value))\n})\n\nasync function handleSelectDate(date: Dater) {\n await commitSelectedDate(date)\n dropdownRef.value?.close()\n}\n\nfunction handleClear() {\n currentDate.value = undefined\n emit('update:modelValue', undefined)\n}\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDA,MAAM,QAAQ;EAQd,MAAM,OAAO;EAEb,MAAM,MAAM,IAAI,aAAa;EAE7B,MAAM,EAAE,cAAc,kBAAkB;EAExC,MAAM,EAAE,MAAM,UAAU,aAAa,qBAAqB,CAAC,aAAa,CAAC,GAAG,KAAK,GAAG;GAClF,MAAM;GACN,UAAU;GACV,UAAU;EACZ,CAAC;EAED,MAAM,YAAY,eAAe;GAC/B,OAAO,CAAC,IAAI,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC;EAClC,CAAC;EAED,MAAM,cAAc,WAA4B;EAEhD,MAAM,YAAY,eAAe;GAC/B,MAAM,EAAE,QAAQ,SAAS;GACzB,IAAI,QAAQ,OAAO;GACnB,IAAI,SAAS,QAAQ,OAAO;GAC5B,IAAI,SAAS,SAAS,OAAO;GAC7B,IAAI,SAAS,QAAQ,OAAO;GAC5B,OAAO;EACT,CAAC;EAED,MAAM,cAAc,WAAkB;EAEtC,MAAM,EAAE,YAAY,iBAAiB,cAAc;EAEnD,YACQ,MAAM,aACX,eAAe;GACd,IAAI,aAAa,GAAG;GACpB,YAAY,QAAQ,aAAa,KAAK,UAAU,IAAI,KAAA;EACtD,GACA,EAAE,WAAW,KAAK,CACpB;EAEA,MAAM,iBAAiB,eAAe;GACpC,OAAO,YAAY,OAAO,OAAO,UAAU,KAAK,KAAK;EACvD,CAAC;EAED,MAAM,qBAAqB,YAAY,SAAgB;GACrD,YAAY,QAAQ;GACpB,KAAK,qBAAqB,KAAK,OAAO,UAAU,KAAK,CAAC;EACxD,CAAC;EAED,eAAe,iBAAiB,MAAa;GAC3C,MAAM,mBAAmB,IAAI;GAC7B,YAAY,OAAO,MAAM;EAC3B;EAEA,SAAS,cAAc;GACrB,YAAY,QAAQ,KAAA;GACpB,KAAK,qBAAqB,KAAA,CAAS;EACrC;;WArHW,MAAA,QAAA,KAAA,UAAA,GADT,YA6Ba,MAAA,WAAA,GA7Bb,WA6Ba,EAAA,KAAA,EAAA,GA3BHA,KAAAA,QAAM;IACb,OAAO,UAAA;IACR,SAAQ;IACR,OAAM;aACF;IAAJ,KAAI;IACH,oBAAc,OAAA,OAAA,OAAA,WAAf,CAAA;IACC,UAAU,MAAA,QAAA;;IAEA,SAAO,cAaN,CAZV,YAYU,MAAA,aAAA,GAAA;KAXP,MAAM,MAAA,IAAA;KACP,mBAAA;KACC,WAAW,QAAA;KACX,aAAa,QAAA;KACb,eAAa,eAAA;KACb,UAAU,MAAA,QAAA;KACV,SAAO;;KAEG,QAAM,cACqC,CAApD,YAAoD,MAAA,WAAA,GAAA,EAA3C,OAAK,eAAE,MAAA,GAAA,CAAG,CAAC,EAAC,MAAA,CAAA,EAAA,GAAA;6BAAsB,CAAZ,YAAY,MAAA,QAAA,CAAA,CAAA,CAAA;;;;;;;;;;;IAKtC,SAAO,cAC6E,CAA7F,YAA6F,MAAA,WAAA,GAAA;KAAhF,MAAA,MAAA,IAAA;KAAM,MAAA,QAAA;KAAM,iBAAA,QAAA;KAAe,MAAM,YAAA;KAAc,iBAAa;;;;;;;;kDAI7E,mBAEW,UAAA,EAAA,KAAA,EAAA,GAAA,CAAA,gBAAA,gBADN,eAAA,SAAkB,MAAA,kBAAA,CAAkB,GAAA,CAAA,CAAA,GAAA,EAAA"}
|
|
@@ -5,11 +5,11 @@ declare const __VLS_export: import("vue").DefineComponent<DatePickerProps, {}, {
|
|
|
5
5
|
}, string, import("vue").PublicProps, Readonly<DatePickerProps> & Readonly<{
|
|
6
6
|
"onUpdate:modelValue"?: ((value?: string | number | Date | undefined) => any) | undefined;
|
|
7
7
|
}>, {
|
|
8
|
-
readonly: boolean;
|
|
9
|
-
disabled: boolean;
|
|
10
|
-
placeholder: string;
|
|
11
8
|
type: "date" | "month" | "year";
|
|
9
|
+
placeholder: string;
|
|
12
10
|
clearable: boolean;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
readonly: boolean;
|
|
13
13
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
14
|
declare const _default: typeof __VLS_export;
|
|
15
15
|
//#endregion
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main$1 from "../icon/icon.js";
|
|
2
2
|
import _sfc_main$2 from "../dropdown/dropdown.js";
|
|
3
3
|
import _sfc_main$3 from "../date-panel/date-panel.js";
|
|
4
|
-
import { Fragment, Transition, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, normalizeClass, openBlock, shallowRef, toDisplayString, unref, watch, withCtx, withModifiers } from "vue";
|
|
4
|
+
import { Fragment, Transition, computed, createBlock, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, mergeProps, normalizeClass, openBlock, shallowRef, toDisplayString, unref, watch, withCtx, withModifiers } from "vue";
|
|
5
5
|
import { useFormFallbackProps, useUserAction } from "@veltra/compositions";
|
|
6
6
|
import { FORM_EMPTY_CONTENT, bem, injectFormContext } from "@veltra/utils";
|
|
7
7
|
import { Calendar, Close } from "@veltra/icons/normal";
|
|
@@ -11,6 +11,7 @@ const _hoisted_1 = ["value", "placeholder"];
|
|
|
11
11
|
const _hoisted_2 = ["value", "placeholder"];
|
|
12
12
|
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
13
13
|
name: "UDateRangePicker",
|
|
14
|
+
inheritAttrs: false,
|
|
14
15
|
__name: "date-range-picker",
|
|
15
16
|
props: {
|
|
16
17
|
modelValue: {},
|
|
@@ -92,9 +93,8 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
92
93
|
emit("update:modelValue", void 0);
|
|
93
94
|
}
|
|
94
95
|
return (_ctx, _cache) => {
|
|
95
|
-
return !unref(readonly) ? (openBlock(), createBlock(unref(_sfc_main$2), {
|
|
96
|
-
|
|
97
|
-
class: normalizeClass(className.value),
|
|
96
|
+
return !unref(readonly) ? (openBlock(), createBlock(unref(_sfc_main$2), mergeProps({ key: 0 }, _ctx.$attrs, {
|
|
97
|
+
class: className.value,
|
|
98
98
|
trigger: "click",
|
|
99
99
|
"content-class": [unref(cls).e("panel"), unref(cls).em("panel", unref(size))],
|
|
100
100
|
width: "auto",
|
|
@@ -103,7 +103,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
103
103
|
disabled: unref(disabled),
|
|
104
104
|
onMouseenter: _cache[0] || (_cache[0] = ($event) => hovered.value = true),
|
|
105
105
|
onMouseleave: _cache[1] || (_cache[1] = ($event) => hovered.value = false)
|
|
106
|
-
}, {
|
|
106
|
+
}), {
|
|
107
107
|
trigger: withCtx(() => [
|
|
108
108
|
createElementVNode("input", {
|
|
109
109
|
type: "text",
|
|
@@ -156,7 +156,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
156
156
|
"range-date"
|
|
157
157
|
])]),
|
|
158
158
|
_: 1
|
|
159
|
-
},
|
|
159
|
+
}, 16, [
|
|
160
160
|
"class",
|
|
161
161
|
"content-class",
|
|
162
162
|
"disabled"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date-range-picker.js","names":[],"sources":["../../../src/components/date-range-picker/date-range-picker.vue"],"sourcesContent":["<template>\n <u-dropdown\n :class=\"className\"\n trigger=\"click\"\n :content-class=\"[cls.e('panel'), cls.em('panel', size)]\"\n width=\"auto\"\n ref=\"dropdownRef\"\n :disabled=\"disabled\"\n @mouseenter.native=\"hovered = true\"\n @mouseleave.native=\"hovered = false\"\n
|
|
1
|
+
{"version":3,"file":"date-range-picker.js","names":["$attrs"],"sources":["../../../src/components/date-range-picker/date-range-picker.vue"],"sourcesContent":["<template>\n <u-dropdown\n v-if=\"!readonly\"\n v-bind=\"$attrs\"\n :class=\"className\"\n trigger=\"click\"\n :content-class=\"[cls.e('panel'), cls.em('panel', size)]\"\n width=\"auto\"\n ref=\"dropdownRef\"\n :disabled=\"disabled\"\n @mouseenter.native=\"hovered = true\"\n @mouseleave.native=\"hovered = false\"\n >\n <template #trigger>\n <input\n type=\"text\"\n :class=\"cls.e('input')\"\n :value=\"displayedOfStart\"\n :placeholder=\"placeholder[0]\"\n readonly\n />\n <span :class=\"cls.e('separator')\">至</span>\n <input\n type=\"text\"\n :class=\"cls.e('input')\"\n :value=\"displayedOfEnd\"\n :placeholder=\"placeholder[1]\"\n readonly\n />\n\n <Transition name=\"zoom-in\" mode=\"out-in\">\n <UIcon\n v-if=\"clearable && modelValue && hovered && !disabled\"\n :class=\"[cls.e('icon'), cls.e('clear')]\"\n title=\"清除\"\n @click.stop=\"handleClear\"\n >\n <Close />\n </UIcon>\n\n <u-icon :class=\"cls.e('icon')\" v-else><Calendar /></u-icon>\n </Transition>\n </template>\n\n <template #content>\n <UDatePanel\n range\n :type\n :disabled-date\n :size\n :range-date=\"currentRangeDate\"\n @select:range-date=\"handleSelect\"\n />\n </template>\n </u-dropdown>\n\n <template v-else>\n {{ displayedOfStart || FORM_EMPTY_CONTENT }} 至\n {{ displayedOfEnd || FORM_EMPTY_CONTENT }}\n </template>\n</template>\n\n<script lang=\"ts\" setup>\nimport { date, type Dater } from '@cat-kit/core'\nimport { useFormFallbackProps, useUserAction } from '@veltra/compositions'\nimport { Calendar, Close } from '@veltra/icons/normal'\nimport { bem, FORM_EMPTY_CONTENT } from '@veltra/utils'\nimport { injectFormContext } from '@veltra/utils'\nimport { computed, shallowRef, watch } from 'vue'\n\nimport type { DateRangePickerEmits, DateRangePickerProps, DropdownExposed } from '../../types'\nimport { UDatePanel } from '../date-panel'\nimport { UDropdown } from '../dropdown'\nimport { UIcon } from '../icon'\n\ndefineOptions({ name: 'UDateRangePicker', inheritAttrs: false })\n\nconst props = withDefaults(defineProps<DateRangePickerProps>(), {\n placeholder: () => ['起始日期', '结束日期'],\n type: 'date',\n disabled: undefined,\n readonly: undefined,\n clearable: true\n})\n\nconst emit = defineEmits<DateRangePickerEmits>()\n\nconst cls = bem('date-range-picker')\n\nconst className = computed(() => {\n return [cls.b, cls.m(size.value), bem.is('disabled', disabled.value)]\n})\n\nconst { formProps } = injectFormContext()\n\nconst { size, disabled, readonly } = useFormFallbackProps([formProps ?? {}, props], {\n size: 'default',\n disabled: false,\n readonly: false\n})\n\nconst dropdownRef = shallowRef<DropdownExposed>()\n\nconst { userAction, isUserActive } = useUserAction()\n\nconst currentRangeDate = shallowRef<[Dater, Dater]>()\n\nconst displayedOfStart = computed(() => {\n return props.modelValue?.[0]\n})\n\nconst displayedOfEnd = computed(() => {\n return props.modelValue?.[1]\n})\n\nconst formatStr = computed(() => {\n const { format, type } = props\n if (format) return format\n if (type === 'date') return 'yyyy-MM-dd'\n if (type === 'month') return 'yyyy-MM'\n if (type === 'year') return 'yyyy'\n return 'yyyy-MM-dd'\n})\n\nwatch(\n () => props.modelValue,\n (val) => {\n if (isUserActive()) return\n if (val?.length === 2) {\n currentRangeDate.value = [date(val[0]), date(val[1])]\n } else {\n currentRangeDate.value = undefined\n }\n },\n { immediate: true }\n)\n\nconst commitSelectedRange = userAction((rangeDate: [Dater, Dater] | undefined) => {\n currentRangeDate.value = rangeDate\n emit('update:modelValue', rangeDate?.map((d) => d.format(formatStr.value)) as [string, string])\n})\n\nasync function handleSelect(rangeDate: [Dater, Dater] | undefined) {\n await commitSelectedRange(rangeDate)\n dropdownRef.value?.close()\n}\n\nconst hovered = shallowRef(false)\n\nfunction handleClear() {\n currentRangeDate.value = undefined\n emit('update:modelValue', undefined)\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -5,11 +5,11 @@ declare const __VLS_export: import("vue").DefineComponent<DateRangePickerProps,
|
|
|
5
5
|
}, string, import("vue").PublicProps, Readonly<DateRangePickerProps> & Readonly<{
|
|
6
6
|
"onUpdate:modelValue"?: ((value?: [string, string] | undefined) => any) | undefined;
|
|
7
7
|
}>, {
|
|
8
|
-
readonly: boolean;
|
|
9
|
-
disabled: boolean;
|
|
10
|
-
placeholder: [string, string];
|
|
11
8
|
type: "date" | "month" | "year";
|
|
9
|
+
placeholder: [string, string];
|
|
12
10
|
clearable: boolean;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
readonly: boolean;
|
|
13
13
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
14
|
declare const _default: typeof __VLS_export;
|
|
15
15
|
//#endregion
|
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
.u-file-viewer {
|
|
19
19
|
--u-file-viewer-canvas: #101114;
|
|
20
20
|
--u-file-viewer-canvas-soft: #17191f;
|
|
21
|
+
--u-file-viewer-canvas-overlay: rgba(16, 17, 20, 0.74);
|
|
21
22
|
--u-file-viewer-page-shadow: 0 24px 72px rgba(0, 0, 0, 0.34);
|
|
22
23
|
position: relative;
|
|
23
24
|
display: flex;
|
|
@@ -150,7 +151,7 @@
|
|
|
150
151
|
background: var(--u-bg-color-hover);
|
|
151
152
|
}
|
|
152
153
|
.u-file-viewer__item.is-active {
|
|
153
|
-
background:
|
|
154
|
+
background: var(--u-color-primary-a-8);
|
|
154
155
|
}
|
|
155
156
|
.u-file-viewer__item.is-active::before {
|
|
156
157
|
opacity: 1;
|
|
@@ -210,37 +211,51 @@
|
|
|
210
211
|
}
|
|
211
212
|
.u-file-viewer__badge {
|
|
212
213
|
--u-file-viewer-kind: var(--u-text-color-second);
|
|
214
|
+
--u-file-viewer-kind-border: fn.color-a(text-color, 28, second);
|
|
215
|
+
--u-file-viewer-kind-bg: fn.color-a(text-color, 10, second);
|
|
213
216
|
display: inline-flex;
|
|
214
217
|
align-items: center;
|
|
215
218
|
justify-content: center;
|
|
216
219
|
flex-shrink: 0;
|
|
217
220
|
width: 40px;
|
|
218
221
|
height: 26px;
|
|
219
|
-
border: 1px solid
|
|
222
|
+
border: 1px solid var(--u-file-viewer-kind-border);
|
|
220
223
|
border-radius: 7px;
|
|
221
224
|
color: var(--u-file-viewer-kind);
|
|
222
|
-
background:
|
|
225
|
+
background: var(--u-file-viewer-kind-bg);
|
|
223
226
|
font-size: 10px;
|
|
224
227
|
font-weight: 760;
|
|
225
228
|
line-height: 1;
|
|
226
229
|
}
|
|
227
230
|
.u-file-viewer__badge--image {
|
|
228
231
|
--u-file-viewer-kind: #0891b2;
|
|
232
|
+
--u-file-viewer-kind-border: rgba(8, 145, 178, 0.28);
|
|
233
|
+
--u-file-viewer-kind-bg: rgba(8, 145, 178, 0.1);
|
|
229
234
|
}
|
|
230
235
|
.u-file-viewer__badge--video {
|
|
231
236
|
--u-file-viewer-kind: #db2777;
|
|
237
|
+
--u-file-viewer-kind-border: rgba(219, 39, 119, 0.28);
|
|
238
|
+
--u-file-viewer-kind-bg: rgba(219, 39, 119, 0.1);
|
|
232
239
|
}
|
|
233
240
|
.u-file-viewer__badge--pdf {
|
|
234
241
|
--u-file-viewer-kind: #dc2626;
|
|
242
|
+
--u-file-viewer-kind-border: rgba(220, 38, 38, 0.28);
|
|
243
|
+
--u-file-viewer-kind-bg: rgba(220, 38, 38, 0.1);
|
|
235
244
|
}
|
|
236
245
|
.u-file-viewer__badge--sheet {
|
|
237
246
|
--u-file-viewer-kind: #15803d;
|
|
247
|
+
--u-file-viewer-kind-border: rgba(21, 128, 61, 0.28);
|
|
248
|
+
--u-file-viewer-kind-bg: rgba(21, 128, 61, 0.1);
|
|
238
249
|
}
|
|
239
250
|
.u-file-viewer__badge--docx {
|
|
240
251
|
--u-file-viewer-kind: #2563eb;
|
|
252
|
+
--u-file-viewer-kind-border: rgba(37, 99, 235, 0.28);
|
|
253
|
+
--u-file-viewer-kind-bg: rgba(37, 99, 235, 0.1);
|
|
241
254
|
}
|
|
242
255
|
.u-file-viewer__badge--text {
|
|
243
256
|
--u-file-viewer-kind: #64748b;
|
|
257
|
+
--u-file-viewer-kind-border: rgba(100, 116, 139, 0.28);
|
|
258
|
+
--u-file-viewer-kind-bg: rgba(100, 116, 139, 0.1);
|
|
244
259
|
}
|
|
245
260
|
.u-file-viewer__stage {
|
|
246
261
|
display: flex;
|
|
@@ -341,7 +356,7 @@
|
|
|
341
356
|
gap: 2px;
|
|
342
357
|
height: 34px;
|
|
343
358
|
padding: 2px;
|
|
344
|
-
border: 1px solid
|
|
359
|
+
border: 1px solid var(--u-border-color-a-86);
|
|
345
360
|
border-radius: 8px;
|
|
346
361
|
background: var(--u-bg-color-middle);
|
|
347
362
|
}
|
|
@@ -367,7 +382,7 @@
|
|
|
367
382
|
}
|
|
368
383
|
.u-file-viewer__action:not(:disabled):hover {
|
|
369
384
|
color: var(--u-color-primary);
|
|
370
|
-
background:
|
|
385
|
+
background: var(--u-color-primary-a-10);
|
|
371
386
|
}
|
|
372
387
|
.u-file-viewer__action:not(:disabled):active {
|
|
373
388
|
transform: translateY(1px);
|
|
@@ -394,7 +409,7 @@
|
|
|
394
409
|
}
|
|
395
410
|
.u-file-viewer__action--primary:not(:disabled):hover {
|
|
396
411
|
color: #fff;
|
|
397
|
-
background:
|
|
412
|
+
background: var(--u-color-primary-light-1);
|
|
398
413
|
}
|
|
399
414
|
.u-file-viewer.is-modal .u-file-viewer__action--primary {
|
|
400
415
|
color: #06111d;
|
|
@@ -623,8 +638,8 @@
|
|
|
623
638
|
}
|
|
624
639
|
.u-file-viewer__sheet-tab.is-active {
|
|
625
640
|
color: var(--u-color-primary);
|
|
626
|
-
background:
|
|
627
|
-
border-color:
|
|
641
|
+
background: var(--u-color-primary-a-11);
|
|
642
|
+
border-color: var(--u-color-primary-a-22);
|
|
628
643
|
}
|
|
629
644
|
.u-file-viewer.is-modal .u-file-viewer__sheet-tab {
|
|
630
645
|
color: rgba(255, 255, 255, 0.58);
|
|
@@ -650,7 +665,7 @@
|
|
|
650
665
|
align-items: center;
|
|
651
666
|
justify-content: center;
|
|
652
667
|
color: rgba(255, 255, 255, 0.72);
|
|
653
|
-
background:
|
|
668
|
+
background: var(--u-file-viewer-canvas-overlay);
|
|
654
669
|
font-size: 13px;
|
|
655
670
|
pointer-events: none;
|
|
656
671
|
}
|
|
@@ -27,9 +27,6 @@
|
|
|
27
27
|
.u-form-item--small .u-form-item__content {
|
|
28
28
|
min-height: var(--u-form-component-height-small);
|
|
29
29
|
}
|
|
30
|
-
.u-form-item--small .u-form-item__content .u-form-item__viewer {
|
|
31
|
-
min-height: var(--u-form-component-height-small);
|
|
32
|
-
}
|
|
33
30
|
.u-form-item--small .u-form-item__tips {
|
|
34
31
|
font-size: var(--u-form-component-font-size-small);
|
|
35
32
|
}
|
|
@@ -39,9 +36,6 @@
|
|
|
39
36
|
.u-form-item--default .u-form-item__content {
|
|
40
37
|
min-height: var(--u-form-component-height-default);
|
|
41
38
|
}
|
|
42
|
-
.u-form-item--default .u-form-item__content .u-form-item__viewer {
|
|
43
|
-
min-height: var(--u-form-component-height-default);
|
|
44
|
-
}
|
|
45
39
|
.u-form-item--default .u-form-item__tips {
|
|
46
40
|
font-size: var(--u-form-component-font-size-default);
|
|
47
41
|
}
|
|
@@ -51,9 +45,6 @@
|
|
|
51
45
|
.u-form-item--large .u-form-item__content {
|
|
52
46
|
min-height: var(--u-form-component-height-large);
|
|
53
47
|
}
|
|
54
|
-
.u-form-item--large .u-form-item__content .u-form-item__viewer {
|
|
55
|
-
min-height: var(--u-form-component-height-large);
|
|
56
|
-
}
|
|
57
48
|
.u-form-item--large .u-form-item__tips {
|
|
58
49
|
font-size: var(--u-form-component-font-size-large);
|
|
59
50
|
}
|
|
@@ -93,12 +84,6 @@
|
|
|
93
84
|
align-items: center;
|
|
94
85
|
flex-wrap: wrap;
|
|
95
86
|
}
|
|
96
|
-
.u-form-item__content .u-form-item__viewer {
|
|
97
|
-
line-height: 1.3;
|
|
98
|
-
color: var(--u-text-color-title);
|
|
99
|
-
display: inline-flex;
|
|
100
|
-
align-items: center;
|
|
101
|
-
}
|
|
102
87
|
.u-form-item__error {
|
|
103
88
|
width: 100%;
|
|
104
89
|
height: calc(var(--u-font-size-main-default) + 4px);
|
|
@@ -8,6 +8,7 @@ import { Minus, Plus } from "@veltra/icons/normal";
|
|
|
8
8
|
const _hoisted_1 = { key: 0 };
|
|
9
9
|
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
10
10
|
name: "UGroupInput",
|
|
11
|
+
inheritAttrs: false,
|
|
11
12
|
__name: "group-input",
|
|
12
13
|
props: {
|
|
13
14
|
modelValue: { default: () => [] },
|
|
@@ -72,10 +73,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
75
|
return (_ctx, _cache) => {
|
|
75
|
-
return !unref(readonly) ? (openBlock(), createElementBlock("ul", {
|
|
76
|
-
key: 0,
|
|
77
|
-
class: normalizeClass([unref(cls).b, unref(cls).m(unref(size))])
|
|
78
|
-
}, [isEmpty.value && __props.creatable ? (openBlock(), createElementBlock("li", _hoisted_1, [createVNode(unref(_sfc_main$1), {
|
|
76
|
+
return !unref(readonly) ? (openBlock(), createElementBlock("ul", mergeProps({ key: 0 }, _ctx.$attrs, { class: [unref(cls).b, unref(cls).m(unref(size))] }), [isEmpty.value && __props.creatable ? (openBlock(), createElementBlock("li", _hoisted_1, [createVNode(unref(_sfc_main$1), {
|
|
79
77
|
style: { "width": "100%" },
|
|
80
78
|
icon: unref(Plus),
|
|
81
79
|
onClick: _cache[0] || (_cache[0] = ($event) => handleAdd(0)),
|
|
@@ -115,7 +113,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
115
113
|
"size",
|
|
116
114
|
"onClick"
|
|
117
115
|
])], 2)], 6);
|
|
118
|
-
}), 128))],
|
|
116
|
+
}), 128))], 16)) : unref(items)?.length ? (openBlock(), createElementBlock("ul", {
|
|
119
117
|
key: 1,
|
|
120
118
|
class: normalizeClass([unref(cls).b, unref(cls).m(unref(size))])
|
|
121
119
|
}, [(openBlock(true), createElementBlock(Fragment, null, renderList(unref(items), (item) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"group-input.js","names":[],"sources":["../../../src/components/group-input/group-input.vue"],"sourcesContent":["<template>\n <ul :class=\"[cls.b, cls.m(size)]\"
|
|
1
|
+
{"version":3,"file":"group-input.js","names":["$attrs"],"sources":["../../../src/components/group-input/group-input.vue"],"sourcesContent":["<template>\n <ul v-if=\"!readonly\" v-bind=\"$attrs\" :class=\"[cls.b, cls.m(size)]\">\n <li v-if=\"isEmpty && creatable\">\n <u-button style=\"width: 100%\" :icon=\"Plus\" @click=\"handleAdd(0)\" :size=\"size\">\n 新增\n </u-button>\n </li>\n <li v-for=\"(item, index) of items\" :key=\"item.id\" :class=\"cls.e('item')\" :style=\"itemStyle\">\n <slot v-bind=\"{ item: item.data, index }\" />\n <span :class=\"cls.e('actions')\">\n <u-button\n :icon=\"Minus\"\n circle\n :disabled=\"disabled\"\n :size=\"size\"\n @click=\"handleRemove(index)\"\n />\n <u-button\n :icon=\"Plus\"\n circle\n :disabled=\"disabled\"\n :size=\"size\"\n type=\"primary\"\n @click=\"handleAdd(index)\"\n />\n </span>\n </li>\n </ul>\n\n <template v-else-if=\"items?.length\">\n <ul :class=\"[cls.b, cls.m(size)]\">\n <li v-for=\"item of items\" :key=\"item.id\" :class=\"cls.e('item')\">\n <span v-for=\"v in item.data\">{{ v }}</span>\n </li>\n </ul>\n </template>\n\n <template v-else>\n {{ FORM_EMPTY_CONTENT }}\n </template>\n</template>\n\n<script lang=\"ts\" setup generic=\"GroupItem extends Record<string, any>\">\nimport { useFormFallbackProps } from '@veltra/compositions'\nimport { Minus, Plus } from '@veltra/icons/normal'\nimport { bem, FORM_EMPTY_CONTENT } from '@veltra/utils'\nimport { injectFormContext } from '@veltra/utils'\nimport { computed } from 'vue'\n\nimport type { GroupInputEmits, GroupInputProps } from '../../types'\nimport { UButton } from '../button'\nimport { useGroupItems } from './use-group-items'\n\ndefineOptions({ name: 'UGroupInput', inheritAttrs: false })\n\nconst props = withDefaults(defineProps<GroupInputProps<GroupItem>>(), {\n modelValue: () => [],\n disabled: undefined,\n readonly: undefined,\n creatable: true\n})\n\nconst emit = defineEmits<GroupInputEmits>()\n\nconst cls = bem('group-input')\n\nconst { formProps } = injectFormContext()\nconst { disabled, size, readonly } = useFormFallbackProps([formProps ?? {}, props], {\n size: 'default',\n disabled: false,\n readonly: false\n})\n\nconst { items, createItem, runByEvent } = useGroupItems({ props, emit })\n\nconst isEmpty = computed(() => {\n return !items.value.length\n})\n\nfunction handleAdd(index: number) {\n runByEvent(() => {\n items.value = [\n ...items.value.slice(0, index + 1),\n createItem({}),\n ...items.value.slice(index + 1)\n ]\n })\n}\n\nfunction handleRemove(index: number) {\n runByEvent(() => {\n items.value = [...items.value.slice(0, index), ...items.value.slice(index + 1)]\n })\n}\n</script>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","names":[],"sources":["../../../src/components/input/input.vue"],"sourcesContent":["<template>\n <div\n :class=\"inputClass\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n
|
|
1
|
+
{"version":3,"file":"input.js","names":[],"sources":["../../../src/components/input/input.vue"],"sourcesContent":["<template>\n <div\n v-if=\"!readonly\"\n v-bind=\"$attrs\"\n :class=\"inputClass\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <span v-if=\"$slots.prefix || prefix\" :class=\"prefixClass\" @click=\"handlePrefixClick\">\n {{ prefix }}\n <slot name=\"prefix\"></slot>\n </span>\n\n <input\n :class=\"cls.e('native')\"\n :placeholder=\"props.placeholder\"\n type=\"text\"\n :value=\"model\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @compositionstart=\"handleCompositionStart\"\n @compositionend=\"handleCompositionEnd\"\n autocomplete=\"off\"\n ref=\"el\"\n :disabled=\"disabled\"\n :readonly=\"nativeReadonly\"\n />\n\n <span :class=\"suffixClass\" v-if=\"hasSuffix\">\n <Transition name=\"zoom-in\" mode=\"out-in\">\n <UIcon\n v-if=\"showClear\"\n :class=\"cls.e('clear')\"\n title=\"清除\"\n @click.stop=\"clearModelValue\"\n key=\"clear\"\n >\n <Close />\n </UIcon>\n\n <span v-else :class=\"cls.e('suffix-content')\" @click=\"handleSuffixClick\" key=\"suffix\">\n {{ suffix }}\n <slot name=\"suffix\"></slot>\n </span>\n </Transition>\n </span>\n </div>\n\n <template v-else>\n {{ generateModel || FORM_EMPTY_CONTENT }}\n </template>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useFocus, useFormFallbackProps } from '@veltra/compositions'\nimport { Close } from '@veltra/icons/normal'\nimport { bem, FORM_EMPTY_CONTENT } from '@veltra/utils'\nimport { injectFormContext } from '@veltra/utils'\nimport { computed, getCurrentInstance, ref, shallowRef, nextTick } from 'vue'\n\nimport type { InputEmits, InputProps, _InputExposed } from '../../types'\nimport { UIcon } from '../icon'\n\ndefineOptions({ name: 'UInput', inheritAttrs: false })\n\nconst props = withDefaults(defineProps<InputProps>(), {\n placeholder: '请输入',\n clearable: true,\n disabled: undefined,\n readonly: undefined\n})\n\nconst emit = defineEmits<InputEmits>()\n\nconst model = defineModel<string>()\n\nconst inst = getCurrentInstance()\n\nconst cls = bem('input')\n\nconst { formProps } = injectFormContext()\n\nconst { size, disabled, readonly } = useFormFallbackProps([formProps ?? {}, props])\n\nconst { focus, handleBlur, handleFocus } = useFocus((focused) => {\n if (focused) {\n emit('focus')\n } else {\n emit('blur')\n }\n})\n\nconst inputClass = computed(() => {\n return [\n cls.b,\n cls.m(size.value),\n bem.is('disabled', disabled.value),\n bem.is('readonly', readonly.value),\n bem.is('focus', focus.value)\n ]\n})\n\nconst prefixClass = [cls.e('prefix'), bem.is('clickable', !!inst?.vnode.props?.['onPrefix:click'])]\n\nconst suffixClass = [cls.e('suffix'), bem.is('clickable', !!inst?.vnode.props?.['onSuffix:click'])]\n\nlet isComposing = false\n\nfunction handleCompositionStart() {\n isComposing = true\n}\n\nfunction handleCompositionEnd(e: Event) {\n isComposing = false\n handleInput(e)\n}\n\nconst handleInput = (e: Event) => {\n if (isComposing) return\n\n const inputVal = (e.target as HTMLInputElement).value\n emit('native:input', e)\n\n const valid = props.pattern?.test(inputVal) ?? true\n\n if (!valid) return\n model.value = inputVal\n}\n\nconst handlePrefixClick = () => {\n emit('prefix:click', model.value)\n}\n\nconst handleSuffixClick = () => {\n emit('suffix:click', model.value)\n}\n\nconst clearModelValue = () => {\n model.value = ''\n emit('clear')\n}\n\nconst hovered = ref(false)\nconst handleMouseEnter = () => {\n hovered.value = true\n}\n\nconst handleMouseLeave = () => {\n hovered.value = false\n}\n\nconst showClear = computed(() => {\n return props.clearable && !disabled.value && !!model.value && hovered.value\n})\n\nconst hasSuffixContent = computed(() => {\n return !!inst?.slots.suffix || !!props.suffix\n})\n\nconst hasSuffix = computed(() => {\n return hasSuffixContent.value || showClear.value\n})\n\nconst handleChange = (e: Event) => {\n const target = e.target as HTMLInputElement\n\n const valid = props.pattern?.test(target.value) ?? true\n\n if (valid) {\n emit('change', target.value)\n } else {\n nextTick(() => {\n target.value = model.value ?? ''\n })\n }\n}\n\nconst el = shallowRef<HTMLInputElement>()\n\nconst generateModel = computed(() => {\n if (!model.value) return ''\n\n return `${props.prefix ?? ''}${model.value}${props.suffix ?? ''}`\n})\n\ndefineExpose<_InputExposed>({ el })\n</script>\n"],"mappings":""}
|
|
@@ -15,8 +15,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, _Inpu
|
|
|
15
15
|
"update:modelValue": (value: string | undefined) => any;
|
|
16
16
|
} & {
|
|
17
17
|
"update:modelValue": (value: string) => any;
|
|
18
|
-
clear: () => any;
|
|
19
18
|
change: (value: string) => any;
|
|
19
|
+
clear: () => any;
|
|
20
20
|
"suffix:click": (value?: string | undefined) => any;
|
|
21
21
|
"prefix:click": (value?: string | undefined) => any;
|
|
22
22
|
focus: (value?: string | undefined) => any;
|
|
@@ -24,18 +24,18 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, _Inpu
|
|
|
24
24
|
"native:input": (ev: Event) => any;
|
|
25
25
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
26
26
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
27
|
-
onClear?: (() => any) | undefined;
|
|
28
27
|
onChange?: ((value: string) => any) | undefined;
|
|
28
|
+
onClear?: (() => any) | undefined;
|
|
29
29
|
"onSuffix:click"?: ((value?: string | undefined) => any) | undefined;
|
|
30
30
|
"onPrefix:click"?: ((value?: string | undefined) => any) | undefined;
|
|
31
31
|
onFocus?: ((value?: string | undefined) => any) | undefined;
|
|
32
32
|
onBlur?: ((value?: string | undefined) => any) | undefined;
|
|
33
33
|
"onNative:input"?: ((ev: Event) => any) | undefined;
|
|
34
34
|
}>, {
|
|
35
|
-
readonly: boolean;
|
|
36
|
-
disabled: boolean;
|
|
37
35
|
placeholder: string;
|
|
38
36
|
clearable: boolean;
|
|
37
|
+
disabled: boolean;
|
|
38
|
+
readonly: boolean;
|
|
39
39
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
40
40
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
41
41
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _sfc_main from "../icon/icon.js";
|
|
2
|
-
import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeModels, nextTick, normalizeClass, openBlock, ref, renderSlot, shallowRef, toDisplayString, unref, useModel, withCtx, withModifiers } from "vue";
|
|
2
|
+
import { Fragment, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, mergeModels, mergeProps, nextTick, normalizeClass, openBlock, ref, renderSlot, shallowRef, toDisplayString, unref, useModel, withCtx, withModifiers } from "vue";
|
|
3
3
|
import { useFocus, useFormFallbackProps } from "@veltra/compositions";
|
|
4
4
|
import { FORM_EMPTY_CONTENT, bem, injectFormContext } from "@veltra/utils";
|
|
5
5
|
import { Close } from "@veltra/icons/normal";
|
|
@@ -12,6 +12,7 @@ const _hoisted_1 = [
|
|
|
12
12
|
];
|
|
13
13
|
var input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
14
14
|
name: "UInput",
|
|
15
|
+
inheritAttrs: false,
|
|
15
16
|
__name: "input",
|
|
16
17
|
props: /*@__PURE__*/ mergeModels({
|
|
17
18
|
modelValue: {},
|
|
@@ -130,12 +131,11 @@ var input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
130
131
|
});
|
|
131
132
|
__expose({ el });
|
|
132
133
|
return (_ctx, _cache) => {
|
|
133
|
-
return !unref(readonly) ? (openBlock(), createElementBlock("div", {
|
|
134
|
-
|
|
135
|
-
class: normalizeClass(inputClass.value),
|
|
134
|
+
return !unref(readonly) ? (openBlock(), createElementBlock("div", mergeProps({ key: 0 }, _ctx.$attrs, {
|
|
135
|
+
class: inputClass.value,
|
|
136
136
|
onMouseenter: handleMouseEnter,
|
|
137
137
|
onMouseleave: handleMouseLeave
|
|
138
|
-
}, [
|
|
138
|
+
}), [
|
|
139
139
|
_ctx.$slots.prefix || __props.prefix ? (openBlock(), createElementBlock("span", {
|
|
140
140
|
key: 0,
|
|
141
141
|
class: normalizeClass(prefixClass),
|
|
@@ -180,7 +180,7 @@ var input_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComp
|
|
|
180
180
|
}, [createTextVNode(toDisplayString(__props.suffix) + " ", 1), renderSlot(_ctx.$slots, "suffix")], 2))]),
|
|
181
181
|
_: 3
|
|
182
182
|
})])) : createCommentVNode("v-if", true)
|
|
183
|
-
],
|
|
183
|
+
], 16)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [createTextVNode(toDisplayString(generateModel.value || unref(FORM_EMPTY_CONTENT)), 1)], 64));
|
|
184
184
|
};
|
|
185
185
|
}
|
|
186
186
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.vue_vue_type_script_setup_true_lang.js","names":["$slots"],"sources":["../../../src/components/input/input.vue"],"sourcesContent":["<template>\n <div\n :class=\"inputClass\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n
|
|
1
|
+
{"version":3,"file":"input.vue_vue_type_script_setup_true_lang.js","names":["$attrs","$slots"],"sources":["../../../src/components/input/input.vue"],"sourcesContent":["<template>\n <div\n v-if=\"!readonly\"\n v-bind=\"$attrs\"\n :class=\"inputClass\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <span v-if=\"$slots.prefix || prefix\" :class=\"prefixClass\" @click=\"handlePrefixClick\">\n {{ prefix }}\n <slot name=\"prefix\"></slot>\n </span>\n\n <input\n :class=\"cls.e('native')\"\n :placeholder=\"props.placeholder\"\n type=\"text\"\n :value=\"model\"\n @input=\"handleInput\"\n @change=\"handleChange\"\n @focus=\"handleFocus\"\n @blur=\"handleBlur\"\n @compositionstart=\"handleCompositionStart\"\n @compositionend=\"handleCompositionEnd\"\n autocomplete=\"off\"\n ref=\"el\"\n :disabled=\"disabled\"\n :readonly=\"nativeReadonly\"\n />\n\n <span :class=\"suffixClass\" v-if=\"hasSuffix\">\n <Transition name=\"zoom-in\" mode=\"out-in\">\n <UIcon\n v-if=\"showClear\"\n :class=\"cls.e('clear')\"\n title=\"清除\"\n @click.stop=\"clearModelValue\"\n key=\"clear\"\n >\n <Close />\n </UIcon>\n\n <span v-else :class=\"cls.e('suffix-content')\" @click=\"handleSuffixClick\" key=\"suffix\">\n {{ suffix }}\n <slot name=\"suffix\"></slot>\n </span>\n </Transition>\n </span>\n </div>\n\n <template v-else>\n {{ generateModel || FORM_EMPTY_CONTENT }}\n </template>\n</template>\n\n<script lang=\"tsx\" setup>\nimport { useFocus, useFormFallbackProps } from '@veltra/compositions'\nimport { Close } from '@veltra/icons/normal'\nimport { bem, FORM_EMPTY_CONTENT } from '@veltra/utils'\nimport { injectFormContext } from '@veltra/utils'\nimport { computed, getCurrentInstance, ref, shallowRef, nextTick } from 'vue'\n\nimport type { InputEmits, InputProps, _InputExposed } from '../../types'\nimport { UIcon } from '../icon'\n\ndefineOptions({ name: 'UInput', inheritAttrs: false })\n\nconst props = withDefaults(defineProps<InputProps>(), {\n placeholder: '请输入',\n clearable: true,\n disabled: undefined,\n readonly: undefined\n})\n\nconst emit = defineEmits<InputEmits>()\n\nconst model = defineModel<string>()\n\nconst inst = getCurrentInstance()\n\nconst cls = bem('input')\n\nconst { formProps } = injectFormContext()\n\nconst { size, disabled, readonly } = useFormFallbackProps([formProps ?? {}, props])\n\nconst { focus, handleBlur, handleFocus } = useFocus((focused) => {\n if (focused) {\n emit('focus')\n } else {\n emit('blur')\n }\n})\n\nconst inputClass = computed(() => {\n return [\n cls.b,\n cls.m(size.value),\n bem.is('disabled', disabled.value),\n bem.is('readonly', readonly.value),\n bem.is('focus', focus.value)\n ]\n})\n\nconst prefixClass = [cls.e('prefix'), bem.is('clickable', !!inst?.vnode.props?.['onPrefix:click'])]\n\nconst suffixClass = [cls.e('suffix'), bem.is('clickable', !!inst?.vnode.props?.['onSuffix:click'])]\n\nlet isComposing = false\n\nfunction handleCompositionStart() {\n isComposing = true\n}\n\nfunction handleCompositionEnd(e: Event) {\n isComposing = false\n handleInput(e)\n}\n\nconst handleInput = (e: Event) => {\n if (isComposing) return\n\n const inputVal = (e.target as HTMLInputElement).value\n emit('native:input', e)\n\n const valid = props.pattern?.test(inputVal) ?? true\n\n if (!valid) return\n model.value = inputVal\n}\n\nconst handlePrefixClick = () => {\n emit('prefix:click', model.value)\n}\n\nconst handleSuffixClick = () => {\n emit('suffix:click', model.value)\n}\n\nconst clearModelValue = () => {\n model.value = ''\n emit('clear')\n}\n\nconst hovered = ref(false)\nconst handleMouseEnter = () => {\n hovered.value = true\n}\n\nconst handleMouseLeave = () => {\n hovered.value = false\n}\n\nconst showClear = computed(() => {\n return props.clearable && !disabled.value && !!model.value && hovered.value\n})\n\nconst hasSuffixContent = computed(() => {\n return !!inst?.slots.suffix || !!props.suffix\n})\n\nconst hasSuffix = computed(() => {\n return hasSuffixContent.value || showClear.value\n})\n\nconst handleChange = (e: Event) => {\n const target = e.target as HTMLInputElement\n\n const valid = props.pattern?.test(target.value) ?? true\n\n if (valid) {\n emit('change', target.value)\n } else {\n nextTick(() => {\n target.value = model.value ?? ''\n })\n }\n}\n\nconst el = shallowRef<HTMLInputElement>()\n\nconst generateModel = computed(() => {\n if (!model.value) return ''\n\n return `${props.prefix ?? ''}${model.value}${props.suffix ?? ''}`\n})\n\ndefineExpose<_InputExposed>({ el })\n</script>\n"],"mappings":"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"}
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
* Adapted from Radix UI Themes Kbd.
|
|
40
40
|
* Multi-layer box-shadow simulates a 3D keycap appearance.
|
|
41
41
|
*/
|
|
42
|
-
box-shadow: inset 0 0.05em
|
|
42
|
+
box-shadow: inset 0 0.05em var(--u-kbd-inset-shadow), 0 0 0 0.05em var(--u-kbd-border-shadow), 0 0.08em 0.17em var(--u-kbd-drop-shadow);
|
|
43
43
|
}
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
width: 36px;
|
|
34
34
|
aspect-ratio: 1;
|
|
35
35
|
border-radius: 50%;
|
|
36
|
-
border: 3px solid color-
|
|
36
|
+
border: 3px solid var(--u-color-primary-a-22);
|
|
37
37
|
border-top-color: currentColor;
|
|
38
38
|
position: relative;
|
|
39
39
|
animation: loading-spin 0.8s linear infinite;
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
position: absolute;
|
|
44
44
|
inset: 5px;
|
|
45
45
|
border-radius: 50%;
|
|
46
|
-
border: 2px solid color-
|
|
46
|
+
border: 2px solid var(--u-color-primary-a-22);
|
|
47
47
|
border-bottom-color: currentColor;
|
|
48
48
|
animation: loading-spin 1.2s linear infinite reverse;
|
|
49
49
|
}
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
width: 36px;
|
|
79
79
|
aspect-ratio: 1;
|
|
80
80
|
border-radius: 50%;
|
|
81
|
-
border: 3px solid color-
|
|
81
|
+
border: 3px solid var(--u-color-primary-a-22);
|
|
82
82
|
border-top-color: currentColor;
|
|
83
83
|
animation: loading-spin 0.9s linear infinite;
|
|
84
84
|
}
|
|
@@ -16,6 +16,7 @@ import { o } from "@cat-kit/core";
|
|
|
16
16
|
//#region src/components/multi-select/multi-select.vue
|
|
17
17
|
const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
18
18
|
name: "UMultiSelect",
|
|
19
|
+
inheritAttrs: false,
|
|
19
20
|
__name: "multi-select",
|
|
20
21
|
props: /*@__PURE__*/ mergeModels({
|
|
21
22
|
modelValue: {},
|
|
@@ -272,16 +273,15 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
272
273
|
checkboxClass: cls.e("checkbox")
|
|
273
274
|
});
|
|
274
275
|
return (_ctx, _cache) => {
|
|
275
|
-
return !unref(readonly) ? (openBlock(), createBlock(unref(_sfc_main$4), {
|
|
276
|
-
key: 0,
|
|
276
|
+
return !unref(readonly) ? (openBlock(), createBlock(unref(_sfc_main$4), mergeProps({ key: 0 }, _ctx.$attrs, {
|
|
277
277
|
trigger: "click",
|
|
278
278
|
ref_key: "dropdownRef",
|
|
279
279
|
ref: dropdownRef,
|
|
280
|
-
class:
|
|
280
|
+
class: [
|
|
281
281
|
unref(cls).b,
|
|
282
282
|
unref(cls).m(unref(size)),
|
|
283
283
|
unref(bem).is("disabled", unref(disabled))
|
|
284
|
-
]
|
|
284
|
+
],
|
|
285
285
|
"content-class": [
|
|
286
286
|
unref(cls).e("panel"),
|
|
287
287
|
unref(cls).em("panel", unref(size)),
|
|
@@ -294,7 +294,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
294
294
|
onMouseleave: _cache[2] || (_cache[2] = ($event) => hovered.value = false),
|
|
295
295
|
disabled: unref(disabled),
|
|
296
296
|
"onUpdate:visible": handleDropdownVisible
|
|
297
|
-
}, {
|
|
297
|
+
}), {
|
|
298
298
|
trigger: withCtx(() => [
|
|
299
299
|
withDirectives(createElementVNode("span", { class: normalizeClass(unref(cls).e("placeholder")) }, toDisplayString(__props.placeholder), 3), [[vShow, !model.value?.length]]),
|
|
300
300
|
model.value?.length ? (openBlock(), createElementBlock("div", {
|
|
@@ -430,7 +430,7 @@ const _sfc_main = /*@__PURE__*/ defineComponent({
|
|
|
430
430
|
}, [createVNode(unref(_sfc_main$2))], 2))
|
|
431
431
|
]),
|
|
432
432
|
_: 3
|
|
433
|
-
},
|
|
433
|
+
}, 16, [
|
|
434
434
|
"class",
|
|
435
435
|
"content-class",
|
|
436
436
|
"content-style",
|