qidian-vue-ui 1.2.13 → 1.2.15
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/auto-tooltip/index.css +6 -6
- package/dist/components/auto-tooltip/index.vue.mjs +1 -1
- package/dist/components/auto-tooltip/index.vue2.mjs +2 -2
- package/dist/components/auto-tooltip/index.vue2.mjs.map +1 -1
- package/dist/components/avatar/index.css +2 -2
- package/dist/components/avatar/index.vue.d.ts +1 -1
- package/dist/components/avatar/index.vue.mjs +1 -1
- package/dist/components/avatar/index.vue2.mjs +3 -3
- package/dist/components/avatar/index.vue2.mjs.map +1 -1
- package/dist/components/card/index.css +2 -2
- package/dist/components/card/index.vue.mjs +1 -1
- package/dist/components/card/index.vue2.mjs.map +1 -1
- package/dist/components/config-provider/config.mjs.map +1 -1
- package/dist/components/config-provider/index.d.ts +3 -3
- package/dist/components/config-provider/index.mjs +2 -2
- package/dist/components/config-provider/index.mjs.map +1 -1
- package/dist/components/config-provider/types.d.ts +3 -3
- package/dist/components/config-provider/useConfig.mjs +1 -1
- package/dist/components/config-provider/useConfig.mjs.map +1 -1
- package/dist/components/config-renderer/compute.d.ts +1 -1
- package/dist/components/config-renderer/compute.mjs +1 -1
- package/dist/components/config-renderer/compute.mjs.map +1 -1
- package/dist/components/config-renderer/index.d.ts +3 -3
- package/dist/components/config-renderer/index.vue.mjs +1 -1
- package/dist/components/config-renderer/index.vue.mjs.map +1 -1
- package/dist/components/config-renderer/types.d.ts +1 -1
- package/dist/components/crud/define.d.ts +2 -2
- package/dist/components/crud/define.mjs.map +1 -1
- package/dist/components/crud/index.d.ts +1 -1
- package/dist/components/crud/list/index.css +9 -9
- package/dist/components/crud/list/index.d.ts +1 -1
- package/dist/components/crud/list/index.vue.d.ts +1 -1
- package/dist/components/crud/list/index.vue.mjs +1 -1
- package/dist/components/crud/list/index.vue2.mjs +1 -1
- package/dist/components/crud/list/index.vue2.mjs.map +1 -1
- package/dist/components/crud/list/types.d.ts +1 -1
- package/dist/components/crud/search/index.css +7 -7
- package/dist/components/crud/search/index.vue.d.ts +2 -2
- package/dist/components/crud/search/index.vue.mjs +1 -1
- package/dist/components/crud/search/index.vue2.mjs +4 -4
- package/dist/components/crud/search/index.vue2.mjs.map +1 -1
- package/dist/components/crud/table/index.css +11 -11
- package/dist/components/crud/table/index.d.ts +1 -1
- package/dist/components/crud/table/index.vue.d.ts +1 -1
- package/dist/components/crud/table/index.vue.mjs +1 -1
- package/dist/components/crud/table/index.vue2.mjs +3 -3
- package/dist/components/crud/table/index.vue2.mjs.map +1 -1
- package/dist/components/crud/table/types.d.ts +3 -3
- package/dist/components/dialog/form.vue.d.ts +1 -1
- package/dist/components/dialog/form.vue.mjs +3 -3
- package/dist/components/dialog/form.vue.mjs.map +1 -1
- package/dist/components/dialog/index.css +3 -0
- package/dist/components/dialog/index.d.ts +2 -2
- package/dist/components/dialog/index.vue.d.ts +2 -2
- package/dist/components/dialog/index.vue.mjs +41 -8
- package/dist/components/dialog/index.vue.mjs.map +1 -1
- package/dist/components/dict/checkbox-group/index.css +1 -1
- package/dist/components/dict/checkbox-group/index.vue.d.ts +2 -2
- package/dist/components/dict/checkbox-group/index.vue.mjs +1 -1
- package/dist/components/dict/checkbox-group/index.vue2.mjs +3 -3
- package/dist/components/dict/checkbox-group/index.vue2.mjs.map +1 -1
- package/dist/components/dict/checkbox-group/types.d.ts +1 -1
- package/dist/components/dict/radio-group/index.css +1 -1
- package/dist/components/dict/radio-group/index.vue.mjs +1 -1
- package/dist/components/dict/radio-group/index.vue2.mjs +2 -2
- package/dist/components/dict/radio-group/index.vue2.mjs.map +1 -1
- package/dist/components/dict/select/index.vue.d.ts +2 -2
- package/dist/components/dict/select/index.vue.mjs +3 -3
- package/dist/components/dict/select/index.vue.mjs.map +1 -1
- package/dist/components/dict/tag/index.css +1 -1
- package/dist/components/dict/tag/index.vue.mjs +1 -1
- package/dist/components/dict/tag/index.vue2.mjs +1 -1
- package/dist/components/dict/tag/index.vue2.mjs.map +1 -1
- package/dist/components/dict/tag/types.d.ts +1 -1
- package/dist/components/form/config.mjs.map +1 -1
- package/dist/components/form/index.css +5 -5
- package/dist/components/form/index.d.ts +3 -3
- package/dist/components/form/index.vue.mjs +1 -1
- package/dist/components/form/index.vue2.mjs +5 -5
- package/dist/components/form/index.vue2.mjs.map +1 -1
- package/dist/components/form/item.css +2 -2
- package/dist/components/form/item.vue.mjs +1 -1
- package/dist/components/form/item.vue2.mjs +2 -2
- package/dist/components/form/item.vue2.mjs.map +1 -1
- package/dist/components/form/types.d.ts +2 -2
- package/dist/components/grid/config.mjs.map +1 -1
- package/dist/components/grid/index.css +1 -1
- package/dist/components/grid/index.d.ts +2 -2
- package/dist/components/grid/index.vue.mjs +1 -1
- package/dist/components/grid/index.vue2.mjs.map +1 -1
- package/dist/components/grid/item.css +1 -1
- package/dist/components/grid/item.vue.mjs +1 -1
- package/dist/components/grid/item.vue2.mjs.map +1 -1
- package/dist/components/icon/index.vue.mjs.map +1 -1
- package/dist/components/image/index.vue.mjs +3 -3
- package/dist/components/image/index.vue.mjs.map +1 -1
- package/dist/components/import-dialog/index.vue.mjs +2 -2
- package/dist/components/import-dialog/index.vue.mjs.map +1 -1
- package/dist/components/index.d.ts +3 -3
- package/dist/components/md-editor/index.vue.d.ts +1 -1
- package/dist/components/md-editor/index.vue.mjs +1 -1
- package/dist/components/md-editor/index.vue2.mjs +1 -1
- package/dist/components/md-editor/index.vue2.mjs.map +1 -1
- package/dist/components/md-editor/index2.css +12 -12
- package/dist/components/md-editor/types.d.ts +1 -1
- package/dist/components/office/pdf/hooks/useZoom.d.ts +1 -1
- package/dist/components/office/pdf/hooks/useZoom.mjs +2 -2
- package/dist/components/office/pdf/hooks/useZoom.mjs.map +1 -1
- package/dist/components/office/pdf/index.vue.d.ts +1 -1
- package/dist/components/office/pdf/index.vue.mjs +1 -1
- package/dist/components/office/pdf/index.vue2.mjs +3 -3
- package/dist/components/office/pdf/index.vue2.mjs.map +1 -1
- package/dist/components/office/pdf/index2.css +21 -21
- package/dist/components/org/select/index.vue.d.ts +1 -1
- package/dist/components/org/select/index.vue.mjs +3 -3
- package/dist/components/org/select/index.vue.mjs.map +1 -1
- package/dist/components/read-write/index.css +6 -6
- package/dist/components/read-write/index.vue.mjs +1 -1
- package/dist/components/read-write/index.vue2.mjs +4 -4
- package/dist/components/read-write/index.vue2.mjs.map +1 -1
- package/dist/components/service/list/index.css +2 -2
- package/dist/components/service/list/index.d.ts +1 -1
- package/dist/components/service/list/index.vue.d.ts +1 -1
- package/dist/components/service/list/index.vue.mjs +1 -1
- package/dist/components/service/list/index.vue2.mjs +3 -3
- package/dist/components/service/list/index.vue2.mjs.map +1 -1
- package/dist/components/service/list/types.d.ts +2 -2
- package/dist/components/service/table/index.css +4 -4
- package/dist/components/service/table/index.d.ts +1 -1
- package/dist/components/service/table/index.vue.d.ts +1 -1
- package/dist/components/service/table/index.vue.mjs +1 -1
- package/dist/components/service/table/index.vue2.mjs +13 -5
- package/dist/components/service/table/index.vue2.mjs.map +1 -1
- package/dist/components/service/table/types.d.ts +2 -2
- package/dist/components/service-dialog-table-select/define.d.ts +2 -2
- package/dist/components/service-dialog-table-select/define.mjs.map +1 -1
- package/dist/components/service-dialog-table-select/index.css +9 -9
- package/dist/components/service-dialog-table-select/index.d.ts +1 -1
- package/dist/components/service-dialog-table-select/index.vue.d.ts +1 -1
- package/dist/components/service-dialog-table-select/index.vue.mjs +1 -1
- package/dist/components/service-dialog-table-select/index.vue2.mjs +5 -6
- package/dist/components/service-dialog-table-select/index.vue2.mjs.map +1 -1
- package/dist/components/service-dialog-table-select/types.d.ts +1 -1
- package/dist/components/service-popup-table-select/define.d.ts +2 -2
- package/dist/components/service-popup-table-select/define.mjs.map +1 -1
- package/dist/components/service-popup-table-select/index.d.ts +1 -1
- package/dist/components/service-popup-table-select/index.vue.d.ts +1 -1
- package/dist/components/service-popup-table-select/index.vue.mjs +1 -1
- package/dist/components/service-popup-table-select/index.vue2.mjs +6 -7
- package/dist/components/service-popup-table-select/index.vue2.mjs.map +1 -1
- package/dist/components/service-popup-table-select/index2.css +6 -6
- package/dist/components/service-select/index.css +1 -1
- package/dist/components/service-select/index.d.ts +1 -1
- package/dist/components/service-select/index.vue.d.ts +1 -1
- package/dist/components/service-select/index.vue.mjs +1 -1
- package/dist/components/service-select/index.vue2.mjs +2 -2
- package/dist/components/service-select/index.vue2.mjs.map +1 -1
- package/dist/components/service-select/types.d.ts +1 -1
- package/dist/components/upload/index.css +26 -26
- package/dist/components/upload/index.d.ts +1 -1
- package/dist/components/upload/index.vue.mjs +1 -1
- package/dist/components/upload/index.vue2.mjs +5 -5
- package/dist/components/upload/index.vue2.mjs.map +1 -1
- package/dist/directive/hasPermi.mjs.map +1 -1
- package/dist/directive/hasRole.mjs.map +1 -1
- package/dist/hooks/index.d.ts +3 -3
- package/dist/hooks/useAgentChat/index.d.ts +1 -1
- package/dist/hooks/useAgentChat/index.mjs +3 -3
- package/dist/hooks/useAgentChat/index.mjs.map +1 -1
- package/dist/hooks/useDict/index.mjs.map +1 -1
- package/dist/hooks/useDisabled.mjs.map +1 -1
- package/dist/hooks/useModal.d.ts +1 -1
- package/dist/hooks/useModal.mjs +1 -1
- package/dist/hooks/useModal.mjs.map +1 -1
- package/dist/hooks/usePerfectScrollbar.mjs +6 -2
- package/dist/hooks/usePerfectScrollbar.mjs.map +1 -1
- package/dist/hooks/useReadonly.mjs.map +1 -1
- package/dist/hooks/useUserAvatar/index.mjs.map +1 -1
- package/dist/index.mjs +31 -31
- package/dist/node_modules/.pnpm/@vueuse_core@14.2.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs +186 -1
- package/dist/node_modules/.pnpm/@vueuse_core@14.2.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs.map +1 -1
- package/dist/node_modules/.pnpm/@vueuse_shared@14.2.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.mjs +28 -1
- package/dist/node_modules/.pnpm/@vueuse_shared@14.2.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.mjs.map +1 -1
- package/dist/utils/time.mjs.map +1 -1
- package/dist/vue/qidian-vite-auto-import-resolver.cjs.js +1 -1
- package/dist/vue/qidian-vite-auto-import-resolver.cjs.js.map +1 -1
- package/dist/vue/qidian-vite-auto-import-resolver.es.js +1 -1
- package/dist/vue/qidian-vite-auto-import-resolver.es.js.map +1 -1
- package/package.json +2 -3
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
.qd-auto-tooltip[data-v-
|
|
1
|
+
.qd-auto-tooltip[data-v-db1a5c64] {
|
|
2
2
|
width: 100%;
|
|
3
3
|
display: flex;
|
|
4
4
|
align-items: center;
|
|
5
5
|
}
|
|
6
|
-
.qd-auto-tooltip .pre-wrap[data-v-
|
|
6
|
+
.qd-auto-tooltip .pre-wrap[data-v-db1a5c64] {
|
|
7
7
|
white-space: pre-wrap;
|
|
8
8
|
}
|
|
9
|
-
.qd-auto-tooltip__content[data-v-
|
|
9
|
+
.qd-auto-tooltip__content[data-v-db1a5c64] {
|
|
10
10
|
overflow: hidden;
|
|
11
11
|
text-overflow: ellipsis;
|
|
12
12
|
}
|
|
13
|
-
.qd-auto-tooltip__content--1[data-v-
|
|
13
|
+
.qd-auto-tooltip__content--1[data-v-db1a5c64] {
|
|
14
14
|
white-space: nowrap;
|
|
15
15
|
}
|
|
16
|
-
.qd-auto-tooltip__content[data-v-
|
|
16
|
+
.qd-auto-tooltip__content[data-v-db1a5c64]:not(.qd-auto-tooltip__content--1) {
|
|
17
17
|
display: -webkit-box;
|
|
18
18
|
-webkit-box-orient: vertical;
|
|
19
|
-
-webkit-line-clamp: var(--
|
|
19
|
+
-webkit-line-clamp: var(--v695a6d21);
|
|
20
20
|
}
|
|
@@ -2,7 +2,7 @@ import './index.css'
|
|
|
2
2
|
import _sfc_main from "./index.vue2.mjs";
|
|
3
3
|
/* empty css */
|
|
4
4
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
5
|
-
const QdAutoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5
|
+
const QdAutoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-db1a5c64"]]);
|
|
6
6
|
export {
|
|
7
7
|
QdAutoTooltip as default
|
|
8
8
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import './index.css'
|
|
2
2
|
import { defineComponent, useCssVars, useTemplateRef, ref, watch, nextTick, createElementBlock, openBlock, createVNode, renderSlot, unref, withCtx, withDirectives, normalizeClass, createTextVNode, toDisplayString } from "vue";
|
|
3
|
-
import { Tooltip } from "tdesign-vue-next";
|
|
4
3
|
import { resizeDirective } from "qidian-shared";
|
|
4
|
+
import { Tooltip } from "tdesign-vue-next";
|
|
5
5
|
const _hoisted_1 = { class: "qd-auto-tooltip" };
|
|
6
6
|
const _hoisted_2 = {
|
|
7
7
|
key: 0,
|
|
@@ -23,7 +23,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
23
23
|
},
|
|
24
24
|
setup(__props) {
|
|
25
25
|
useCssVars((_ctx) => ({
|
|
26
|
-
"
|
|
26
|
+
"v695a6d21": _ctx.ellipsis
|
|
27
27
|
}));
|
|
28
28
|
const props = __props;
|
|
29
29
|
const vResize = resizeDirective;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/auto-tooltip/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-auto-tooltip\">\n <t-tooltip\n :attach=\"attach\"\n :placement=\"placement\"\n :disabled=\"tooltipDisabled ?? !isEllipsis\"\n :theme=\"theme\"\n destroy-on-close\n >\n <template #content>\n <slot name=\"content\">\n <span v-if=\"preWrap\" class=\"pre-wrap\">\n <slot>{{ content }}</slot>\n </span>\n <template v-else>\n <slot>{{ content }}</slot>\n </template>\n </slot>\n </template>\n\n <div\n ref=\"content\"\n v-resize=\"checkEllipsis\"\n :class=\"['qd-auto-tooltip__content', `qd-auto-tooltip__content--${ellipsis}`]\"\n >\n <slot>{{ content }}</slot>\n </div>\n </t-tooltip>\n\n <slot name=\"suffix\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import
|
|
1
|
+
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/auto-tooltip/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-auto-tooltip\">\n <t-tooltip\n :attach=\"attach\"\n :placement=\"placement\"\n :disabled=\"tooltipDisabled ?? !isEllipsis\"\n :theme=\"theme\"\n destroy-on-close\n >\n <template #content>\n <slot name=\"content\">\n <span v-if=\"preWrap\" class=\"pre-wrap\">\n <slot>{{ content }}</slot>\n </span>\n <template v-else>\n <slot>{{ content }}</slot>\n </template>\n </slot>\n </template>\n\n <div\n ref=\"content\"\n v-resize=\"checkEllipsis\"\n :class=\"['qd-auto-tooltip__content', `qd-auto-tooltip__content--${ellipsis}`]\"\n >\n <slot>{{ content }}</slot>\n </div>\n </t-tooltip>\n\n <slot name=\"suffix\" />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n import { resizeDirective } from 'qidian-shared'\n import { Tooltip as TTooltip } from 'tdesign-vue-next'\n import { nextTick, ref, useTemplateRef, watch } from 'vue'\n\n import type { QdAutoTooltipProps } from './types'\n\n defineOptions({\n name: 'QdAutoTooltip'\n })\n\n const props = withDefaults(defineProps<QdAutoTooltipProps>(), {\n ellipsis: 1,\n attach: 'body',\n tooltipDisabled: undefined\n })\n\n const vResize = resizeDirective\n const contentRef = useTemplateRef('content')\n const isEllipsis = ref(false)\n\n function checkEllipsis() {\n const el = contentRef.value\n if (!el) return\n\n isEllipsis.value =\n el.scrollWidth > el.clientWidth || (props.ellipsis > 1 && el.scrollHeight > el.clientHeight)\n }\n\n watch(\n () => props.content,\n () => {\n nextTick(checkEllipsis)\n }\n )\n</script>\n\n<style lang=\"less\" scoped>\n .qd-auto-tooltip {\n width: 100%;\n display: flex;\n align-items: center;\n\n .pre-wrap {\n white-space: pre-wrap;\n }\n\n &__content {\n overflow: hidden;\n text-overflow: ellipsis;\n\n &--1 {\n white-space: nowrap;\n }\n\n &:not(&--1) {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: v-bind(ellipsis);\n }\n }\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createVNode","_unref","TTooltip","_renderSlot"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA4CE,UAAM,QAAQ;AAMd,UAAM,UAAU;AAChB,UAAM,aAAa,eAAe,SAAS;AAC3C,UAAM,aAAa,IAAI,KAAK;AAE5B,aAAS,gBAAgB;AACvB,YAAM,KAAK,WAAW;AACtB,UAAI,CAAC,GAAI;AAET,iBAAW,QACT,GAAG,cAAc,GAAG,eAAgB,MAAM,WAAW,KAAK,GAAG,eAAe,GAAG;AAAA,IACnF;AAEA;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,MAAM;AACJ,iBAAS,aAAa;AAAA,MACxB;AAAA,IAAA;;AAjEF,aAAAA,UAAA,GAAAC,mBA6BM,OA7BN,YA6BM;AAAA,QA5BJC,YAyBYC,MAAAC,OAAA,GAAA;AAAA,UAxBT,QAAQ,QAAA;AAAA,UACR,WAAW,QAAA;AAAA,UACX,UAAU,QAAA,mBAAe,CAAK,WAAA;AAAA,UAC9B,OAAO,QAAA;AAAA,UACR,oBAAA;AAAA,QAAA;UAEW,iBACT,MAOO;AAAA,YAPPC,WAOO,4BAPP,MAOO;AAAA,cANO,QAAA,WAAZL,UAAA,GAAAC,mBAEO,QAFP,YAEO;AAAA,gBADLI,WAA0B,4BAA1B,MAA0B;AAAA,kDAAjB,QAAA,OAAO,GAAA,CAAA;AAAA,gBAAA;oBAGhBA,WAA0B,oCAA1B,MAA0B;AAAA,gDAAjB,QAAA,OAAO,GAAA,CAAA;AAAA,cAAA;;;2BAKtB,MAMM;AAAA,yCANNJ,mBAMM,OAAA;AAAA,cALJ,KAAI;AAAA,cAEH,gFAAiE,QAAA,QAAQ,EAAA,CAAA;AAAA,YAAA;cAE1EI,WAA0B,4BAA1B,MAA0B;AAAA,gDAAjB,QAAA,OAAO,GAAA,CAAA;AAAA,cAAA;;+BAHN,aAAa;AAAA,YAAA;;;;QAO3BA,WAAsB,KAAA,QAAA,UAAA,CAAA,GAAA,QAAA,IAAA;AAAA,MAAA;;;;"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
.qd-avatar[data-v-
|
|
1
|
+
.qd-avatar[data-v-2eee5b04] {
|
|
2
2
|
display: inline-flex;
|
|
3
3
|
align-items: center;
|
|
4
4
|
font: var(--td-font-body-medium);
|
|
5
5
|
color: var(--td-text-color-primary);
|
|
6
6
|
}
|
|
7
|
-
.qd-avatar__name[data-v-
|
|
7
|
+
.qd-avatar__name[data-v-2eee5b04] {
|
|
8
8
|
margin-left: var(--td-comp-margin-s);
|
|
9
9
|
}
|
|
@@ -6,8 +6,8 @@ type __VLS_Slots = {} & {
|
|
|
6
6
|
icon?: (props: typeof __VLS_5) => any;
|
|
7
7
|
};
|
|
8
8
|
declare const __VLS_component: import("vue").DefineComponent<QdAvatarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<QdAvatarProps> & Readonly<{}>, {
|
|
9
|
-
hideOnLoadFailed: boolean;
|
|
10
9
|
mode: "ossId" | "url";
|
|
10
|
+
hideOnLoadFailed: boolean;
|
|
11
11
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
12
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
13
13
|
export default _default;
|
|
@@ -2,7 +2,7 @@ import './index.css'
|
|
|
2
2
|
import _sfc_main from "./index.vue2.mjs";
|
|
3
3
|
/* empty css */
|
|
4
4
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
5
|
-
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5
|
+
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2eee5b04"]]);
|
|
6
6
|
export {
|
|
7
7
|
index as default
|
|
8
8
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import './index.css'
|
|
2
2
|
import { defineComponent, mergeDefaults, inject, computed, ref, watch, createElementBlock, openBlock, withDirectives, createCommentVNode, createBlock, unref, mergeProps, createSlots, withCtx, renderSlot, createVNode, renderList, normalizeProps, guardReactiveProps, normalizeClass, toDisplayString } from "vue";
|
|
3
|
-
import { Avatar, LoadingDirective } from "tdesign-vue-next";
|
|
4
|
-
import { UserIcon } from "tdesign-icons-vue-next";
|
|
5
3
|
import { isEmpty, validator, abortWrapper, filterSlots } from "qidian-shared";
|
|
6
|
-
import {
|
|
4
|
+
import { UserIcon } from "tdesign-icons-vue-next";
|
|
5
|
+
import { Avatar, LoadingDirective } from "tdesign-vue-next";
|
|
7
6
|
import { PROVIDE_AVATAR } from "../config-provider/config.mjs";
|
|
7
|
+
import { qdAvatarImageProps, qdAvatarProps } from "./props.mjs";
|
|
8
8
|
import { useUserAvatar } from "../../hooks/useUserAvatar/index.mjs";
|
|
9
9
|
import merge from "../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.mjs";
|
|
10
10
|
const _hoisted_1 = { class: "qd-avatar" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/avatar/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-avatar\">\n <t-avatar\n v-loading=\"{ loading, size: 'small' }\"\n :class=\"avatarClassName\"\n v-bind=\"reProps.avatarOptions\"\n :image=\"typeof reImage === 'number' ? reImage + '' : reImage\"\n >\n <template #icon>\n <slot name=\"icon\"><user-icon /></slot>\n </template>\n\n <template v-for=\"name in filterSlots($slots, ['icon'])\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-avatar>\n\n <span v-if=\"reProps.name\" :class=\"`qd-avatar__name ${nameClassName}`\">{{ reProps.name }}</span>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import
|
|
1
|
+
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/avatar/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-avatar\">\n <t-avatar\n v-loading=\"{ loading, size: 'small' }\"\n :class=\"avatarClassName\"\n v-bind=\"reProps.avatarOptions\"\n :image=\"typeof reImage === 'number' ? reImage + '' : reImage\"\n >\n <template #icon>\n <slot name=\"icon\"><user-icon /></slot>\n </template>\n\n <template v-for=\"name in filterSlots($slots, ['icon'])\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-avatar>\n\n <span v-if=\"reProps.name\" :class=\"`qd-avatar__name ${nameClassName}`\">{{ reProps.name }}</span>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import { merge } from 'lodash-es'\n import type { AbortWrapperPromise } from 'qidian-shared'\n import { abortWrapper, filterSlots, isEmpty, validator } from 'qidian-shared'\n import { UserIcon } from 'tdesign-icons-vue-next'\n import { Avatar as TAvatar, LoadingDirective } from 'tdesign-vue-next'\n import { computed, inject, ref, watch } from 'vue'\n\n import { useUserAvatar } from '../../hooks'\n import { PROVIDE_AVATAR } from '../config-provider/config'\n import { qdAvatarImageProps, qdAvatarProps } from './props'\n import type { QdAvatarProps } from './types'\n\n defineOptions({\n name: 'QdAvatar'\n })\n\n const props = withDefaults(defineProps<QdAvatarProps>(), qdAvatarProps)\n\n const vLoading = LoadingDirective\n\n const globalAvatarProps = inject(\n PROVIDE_AVATAR,\n computed(() => undefined)\n )\n\n const { loading, getAvatar } = useUserAvatar()\n let serviceAbort: AbortWrapperPromise<Awaited<ReturnType<typeof getAvatar>>> | undefined\n\n const reImage = ref<string | number | undefined>()\n const reProps = computed(() => {\n const {\n name,\n mode,\n avatarClassName,\n nameClassName,\n image,\n service,\n imageProps,\n ...avatarOptions\n } = props\n const reAlt = avatarOptions.alt || name\n const serviceOptions = { service: service || globalAvatarProps.value?.service }\n const reImageProps = merge({}, imageProps, qdAvatarImageProps)\n\n return {\n avatarOptions: {\n ...avatarOptions,\n imageProps: reImageProps,\n alt: reAlt\n },\n serviceOptions,\n name,\n mode,\n avatarClassName,\n nameClassName,\n image\n }\n })\n\n watch(\n () => reProps.value.image,\n async (newVal, oldVal) => {\n if (newVal === oldVal) return\n\n serviceAbort?.abort?.('abort')\n const { mode, serviceOptions } = reProps.value\n if (mode === 'ossId') {\n const { service } = serviceOptions\n if (!service || isEmpty(newVal) || validator(newVal, 'url')) {\n reImage.value = newVal\n return\n }\n\n serviceAbort = abortWrapper(getAvatar(newVal))\n const res = await serviceAbort\n reImage.value = res\n return\n }\n\n reImage.value = newVal\n },\n { immediate: true }\n )\n</script>\n\n<style lang=\"less\" scoped>\n .qd-avatar {\n display: inline-flex;\n align-items: center;\n font: var(--td-font-body-medium);\n color: var(--td-text-color-primary);\n\n &__name {\n margin-left: var(--td-comp-margin-s);\n }\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createBlock","_unref","TAvatar","_mergeProps","_renderSlot","_createVNode","$slots","_withCtx","_normalizeProps","_guardReactiveProps","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCE,UAAM,QAAQ;AAEd,UAAM,WAAW;AAEjB,UAAM,oBAAoB;AAAA,MACxB;AAAA,MACA,SAAS,MAAM,MAAS;AAAA,IAAA;AAG1B,UAAM,EAAE,SAAS,UAAA,IAAc,cAAA;AAC/B,QAAI;AAEJ,UAAM,UAAU,IAAA;AAChB,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MAAA,IACD;AACJ,YAAM,QAAQ,cAAc,OAAO;AACnC,YAAM,iBAAiB,EAAE,SAAS,WAAW,kBAAkB,OAAO,QAAA;AACtE,YAAM,eAAe,MAAM,IAAI,YAAY,kBAAkB;AAE7D,aAAO;AAAA,QACL,eAAe;AAAA,UACb,GAAG;AAAA,UACH,YAAY;AAAA,UACZ,KAAK;AAAA,QAAA;AAAA,QAEP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ,CAAC;AAED;AAAA,MACE,MAAM,QAAQ,MAAM;AAAA,MACpB,OAAO,QAAQ,WAAW;AACxB,YAAI,WAAW,OAAQ;AAEvB,sBAAc,QAAQ,OAAO;AAC7B,cAAM,EAAE,MAAM,eAAA,IAAmB,QAAQ;AACzC,YAAI,SAAS,SAAS;AACpB,gBAAM,EAAE,YAAY;AACpB,cAAI,CAAC,WAAW,QAAQ,MAAM,KAAK,UAAU,QAAQ,KAAK,GAAG;AAC3D,oBAAQ,QAAQ;AAChB;AAAA,UACF;AAEA,yBAAe,aAAa,UAAU,MAAM,CAAC;AAC7C,gBAAM,MAAM,MAAM;AAClB,kBAAQ,QAAQ;AAChB;AAAA,QACF;AAEA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,MACA,EAAE,WAAW,KAAA;AAAA,IAAK;;AAtGpB,aAAAA,UAAA,GAAAC,mBAiBM,OAjBN,YAiBM;AAAA,qCAhBJC,YAaWC,MAAAC,MAAA,GAbXC,WAaW,EAXR,OAAO,QAAA,gBAAA,GACA,QAAA,MAAQ,eAAa;AAAA,UAC5B,OAAK,OAAS,QAAA,UAAO,WAAgB,QAAA,aAAe,QAAA;AAAA,QAAA;UAE1C,cACT,MAAsC;AAAA,YAAtCC,WAAsC,yBAAtC,MAAsC;AAAA,cAApBC,YAAaJ,MAAA,QAAA,CAAA;AAAA,YAAA;;;;qBAGRA,MAAA,WAAA,EAAYK,KAAAA,QAAM,CAAA,MAAA,CAAA,GAAA,CAA1B,SAAI;;;cACnB,IAAAC,QAAA,CAD+D,cAAS;AAAA,gBACxEH,WAAwC,KAAA,QAA3B,MAAII,eAAAC,mBAAU,SAAS,CAAA,GAAA,QAAA,IAAA;AAAA,cAAA;;;;uCAVzBR,MAAA,OAAA,GAAO,MAAA,QAAA,CAAA;AAAA,QAAA;QAcV,QAAA,MAAQ,qBAApBF,mBAA+F,QAAA;AAAA;UAApE,yCAA0B,QAAA,aAAa,EAAA;AAAA,QAAA,GAAOW,gBAAA,QAAA,MAAQ,IAAI,GAAA,CAAA;;;;;"}
|
|
@@ -2,7 +2,7 @@ import './index.css'
|
|
|
2
2
|
import _sfc_main from "./index.vue2.mjs";
|
|
3
3
|
/* empty css */
|
|
4
4
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
5
|
-
const QdCard = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5
|
+
const QdCard = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-daddf5e3"]]);
|
|
6
6
|
export {
|
|
7
7
|
QdCard as default
|
|
8
8
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/card/index.vue"],"sourcesContent":["<template>\n <t-card
|
|
1
|
+
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/card/index.vue"],"sourcesContent":["<template>\n <t-card\n ref=\"card\"\n :class=\"['qd-card', reProps.radius ? 'qd-card--radius' : '']\"\n v-bind=\"reProps\"\n @click=\"reProps.onClick\"\n >\n <template v-for=\"(_, name) in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-card>\n</template>\n\n<script setup lang=\"ts\">\n import { Card as TCard } from 'tdesign-vue-next'\n import { computed, onMounted, useTemplateRef, watch } from 'vue'\n\n import { qdCardProps } from './props'\n import type { QdCardProps } from './types'\n\n const props = withDefaults(defineProps<QdCardProps>(), qdCardProps)\n\n const cardRef = useTemplateRef('card')\n\n const reProps = computed(() => {\n const { loadingProps, onHeaderClick, headerClassName, ...otherOptions } = props\n\n let reHeaderClassName = headerClassName\n if (onHeaderClick) {\n reHeaderClassName = reHeaderClassName\n ? `${reHeaderClassName} qd-card__header--click`\n : 'qd-card__header--click'\n }\n\n return {\n ...otherOptions,\n onHeaderClick,\n headerClassName: reHeaderClassName,\n loadingProps: {\n size: 'small',\n ...loadingProps\n }\n }\n })\n\n onMounted(() => {\n watch(\n () => reProps.value?.onHeaderClick,\n (newOnHeaderClick, lastOnHeaderClick) => {\n const headerEl = cardRef.value?.$el?.querySelector('.t-card__header')\n if (!headerEl) return\n\n if (lastOnHeaderClick) {\n headerEl.removeEventListener('click', lastOnHeaderClick)\n }\n\n if (newOnHeaderClick) {\n headerEl.addEventListener('click', newOnHeaderClick)\n }\n },\n { immediate: true }\n )\n })\n</script>\n\n<style lang=\"less\" scoped>\n .qd-card {\n &:not(&--radius) {\n border-radius: 0;\n }\n\n :deep(&__header--click) {\n cursor: pointer;\n }\n }\n</style>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBE,UAAM,QAAQ;AAEd,UAAM,UAAU,eAAe,MAAM;AAErC,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,EAAE,cAAc,eAAe,iBAAiB,GAAG,iBAAiB;AAE1E,UAAI,oBAAoB;AACxB,UAAI,eAAe;AACjB,4BAAoB,oBAChB,GAAG,iBAAiB,4BACpB;AAAA,MACN;AAEA,aAAO;AAAA,QACL,GAAG;AAAA,QACH;AAAA,QACA,iBAAiB;AAAA,QACjB,cAAc;AAAA,UACZ,MAAM;AAAA,UACN,GAAG;AAAA,QAAA;AAAA,MACL;AAAA,IAEJ,CAAC;AAED,cAAU,MAAM;AACd;AAAA,QACE,MAAM,QAAQ,OAAO;AAAA,QACrB,CAAC,kBAAkB,sBAAsB;AACvC,gBAAM,WAAW,QAAQ,OAAO,KAAK,cAAc,iBAAiB;AACpE,cAAI,CAAC,SAAU;AAEf,cAAI,mBAAmB;AACrB,qBAAS,oBAAoB,SAAS,iBAAiB;AAAA,UACzD;AAEA,cAAI,kBAAkB;AACpB,qBAAS,iBAAiB,SAAS,gBAAgB;AAAA,UACrD;AAAA,QACF;AAAA,QACA,EAAE,WAAW,KAAA;AAAA,MAAK;AAAA,IAEtB,CAAC;;AA7DD,aAAAA,aAAAC,YASSC,aATTC,WASS;AAAA,QARP,KAAI;AAAA,QACH,OAAK,CAAA,WAAc,QAAA,MAAQ,SAAM,oBAAA,EAAA;AAAA,MAAA,GAC1B,QAAA,OAAO;AAAA,QACd,SAAO,QAAA,MAAQ;AAAA,MAAA;mBAEcC,KAAAA,QAAM,CAAlB,GAAG,SAAI;;;YACvB,IAAAC,QAAA,CAD6C,cAAS;AAAA,cACtDC,WAAwC,KAAA,QAA3B,MAAIC,eAAAC,mBAAU,SAAS,CAAA,GAAA,QAAA,IAAA;AAAA,YAAA;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.mjs","sources":["../../../src/components/config-provider/config.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey } from 'vue'\nimport type { QdConfigProviderProps } from './types'\n\nexport const PROVIDE_USER: InjectionKey<ComputedRef<QdConfigProviderProps['user']>> =\n Symbol('QdUser')\nexport const PROVIDE_DICT: InjectionKey<ComputedRef<QdConfigProviderProps['dict']>> =\n Symbol('QdDict')\nexport const PROVIDE_UPLOAD: InjectionKey<ComputedRef<QdConfigProviderProps['upload']>> =\n Symbol('QdUpload')\nexport const PROVIDE_AVATAR: InjectionKey<ComputedRef<QdConfigProviderProps['avatar']>> =\n Symbol('QdAvatar')\nexport const PROVIDE_ORG: InjectionKey<ComputedRef<QdConfigProviderProps['org']>> = Symbol('QdOrg')\nexport const PROVIDE_OFFICE: InjectionKey<ComputedRef<QdConfigProviderProps['office']>>
|
|
1
|
+
{"version":3,"file":"config.mjs","sources":["../../../src/components/config-provider/config.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey } from 'vue'\n\nimport type { QdConfigProviderProps } from './types'\n\nexport const PROVIDE_USER: InjectionKey<ComputedRef<QdConfigProviderProps['user']>> =\n Symbol('QdUser')\nexport const PROVIDE_DICT: InjectionKey<ComputedRef<QdConfigProviderProps['dict']>> =\n Symbol('QdDict')\nexport const PROVIDE_UPLOAD: InjectionKey<ComputedRef<QdConfigProviderProps['upload']>> =\n Symbol('QdUpload')\nexport const PROVIDE_AVATAR: InjectionKey<ComputedRef<QdConfigProviderProps['avatar']>> =\n Symbol('QdAvatar')\nexport const PROVIDE_ORG: InjectionKey<ComputedRef<QdConfigProviderProps['org']>> = Symbol('QdOrg')\nexport const PROVIDE_OFFICE: InjectionKey<ComputedRef<QdConfigProviderProps['office']>> =\n Symbol('QdOffice')\nexport const PROVIDE_GLOBAL_CONFIG: InjectionKey<\n ComputedRef<NonNullable<QdConfigProviderProps['globalConfig']>>\n> = Symbol('QdGlobalConfig')\n"],"names":[],"mappings":"AAIO,MAAM,sCACJ,QAAQ;AACV,MAAM,sCACJ,QAAQ;AACV,MAAM,wCACJ,UAAU;AACZ,MAAM,wCACJ,UAAU;AACZ,MAAM,qCAA8E,OAAO;AAC3F,MAAM,wCACJ,UAAU;AACZ,MAAM,+CAEF,gBAAgB;"}
|
|
@@ -189,9 +189,8 @@ export declare const QdConfigProvider: import("vue").DefineComponent<{
|
|
|
189
189
|
};
|
|
190
190
|
}) | undefined;
|
|
191
191
|
}> & Readonly<{}>, {
|
|
192
|
-
avatar: import("../..").QdAvatarBaseOptions | undefined;
|
|
193
192
|
dict: import("../..").QdDictBaseOptions<import("../..").QdDictItem, unknown, string, string> | undefined;
|
|
194
|
-
|
|
193
|
+
avatar: import("../..").QdAvatarBaseOptions | undefined;
|
|
195
194
|
globalConfig: (Omit<import("tdesign-vue-next").GlobalConfigProvider, "form" | "table" | "upload" | "chat"> & {
|
|
196
195
|
loading?: {
|
|
197
196
|
text?: string;
|
|
@@ -283,11 +282,12 @@ export declare const QdConfigProvider: import("vue").DefineComponent<{
|
|
|
283
282
|
pdfWasmUrl?: string | undefined;
|
|
284
283
|
pdfStandardFontDataUrl?: string | undefined;
|
|
285
284
|
} | undefined;
|
|
286
|
-
agentChat: Pick<import("../..").UseAgentChatOptions, "getSessionId" | "getUrl"> | undefined;
|
|
287
285
|
user: import("./types").QdUser | undefined;
|
|
288
286
|
org: {
|
|
289
287
|
search?: Pick<import("..").QdOrgSelectProps, "service" | "transformParams" | "transformRes">;
|
|
290
288
|
select?: Partial<Pick<import("..").QdOrgSelectProps, "type" | "showDeptName" | "showFullDeptPath" | "keys">>;
|
|
291
289
|
} | undefined;
|
|
290
|
+
locale: string | undefined;
|
|
291
|
+
agentChat: Pick<import("../..").UseAgentChatOptions, "getSessionId" | "getUrl"> | undefined;
|
|
292
292
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
293
293
|
export type { QdConfigProviderProps } from './types';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent, ref, computed, provide, watch, watchEffect, h } from "vue";
|
|
2
|
-
import { ConfigProvider } from "tdesign-vue-next";
|
|
3
1
|
import { to } from "qidian-shared";
|
|
2
|
+
import { ConfigProvider } from "tdesign-vue-next";
|
|
3
|
+
import { defineComponent, ref, computed, provide, watch, watchEffect, h } from "vue";
|
|
4
4
|
import { PROVIDE_USER, PROVIDE_DICT, PROVIDE_UPLOAD, PROVIDE_AVATAR, PROVIDE_ORG, PROVIDE_OFFICE, PROVIDE_GLOBAL_CONFIG } from "./config.mjs";
|
|
5
5
|
const QdConfigProvider = defineComponent({
|
|
6
6
|
name: "QdConfigProvider",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../../src/components/config-provider/index.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../../src/components/config-provider/index.ts"],"sourcesContent":["import { to } from 'qidian-shared'\nimport { ConfigProvider as TConfigProvider } from 'tdesign-vue-next'\nimport type { PropType } from 'vue'\nimport { computed, defineComponent, h, provide, ref, watch, watchEffect } from 'vue'\n\nimport {\n PROVIDE_AVATAR,\n PROVIDE_DICT,\n PROVIDE_GLOBAL_CONFIG,\n PROVIDE_OFFICE,\n PROVIDE_ORG,\n PROVIDE_UPLOAD,\n PROVIDE_USER\n} from './config'\nimport type { QdConfigProviderProps } from './types'\n\nexport const QdConfigProvider = defineComponent({\n name: 'QdConfigProvider',\n props: {\n locale: {\n type: String as PropType<QdConfigProviderProps['locale']>,\n default: 'zh-CN'\n },\n\n user: {\n type: Object as PropType<QdConfigProviderProps['user']>,\n default: undefined\n },\n\n dict: {\n type: Object as PropType<QdConfigProviderProps['dict']>,\n default: undefined\n },\n\n upload: {\n type: Object as PropType<QdConfigProviderProps['upload']>,\n default: undefined\n },\n\n avatar: {\n type: Object as PropType<QdConfigProviderProps['avatar']>,\n default: undefined\n },\n\n org: {\n type: Object as PropType<QdConfigProviderProps['org']>,\n default: undefined\n },\n\n office: {\n type: Object as PropType<QdConfigProviderProps['office']>,\n default: undefined\n },\n\n agentChat: {\n type: Object as PropType<QdConfigProviderProps['agentChat']>,\n default: undefined\n },\n\n globalConfig: {\n type: Object as PropType<QdConfigProviderProps['globalConfig']>,\n default: undefined\n }\n },\n setup(props: QdConfigProviderProps, { slots }) {\n const qdGlobalConfig = ref()\n const mergedGlobalConfig = computed(() => {\n return {\n ...qdGlobalConfig.value,\n ...props.globalConfig\n }\n })\n\n const user = computed(() => props.user)\n const dict = computed(() => props.dict)\n const upload = computed(() => props.upload)\n const avatar = computed(() => props.avatar)\n const org = computed(() => props.org)\n const office = computed(() => props.office)\n\n provide(PROVIDE_USER, user)\n provide(PROVIDE_DICT, dict)\n provide(PROVIDE_UPLOAD, upload)\n provide(PROVIDE_AVATAR, avatar)\n provide(PROVIDE_ORG, org)\n provide(PROVIDE_OFFICE, office)\n provide(PROVIDE_GLOBAL_CONFIG, mergedGlobalConfig)\n\n watch(\n () => [props.user, props.dict, props.avatar, props.agentChat] as const,\n ([newUser, newDict, newAvatar, newAgentChat]) => {\n if (typeof window !== 'undefined') {\n window.__QIDIAN_USER__ = newUser\n window.__QIDIAN_DICT__ = newDict\n window.__QIDIAN_AVATAR__ = newAvatar\n window.__QIDIAN_AGENT_CHAT__ = newAgentChat\n }\n },\n { immediate: true }\n )\n\n watch(\n mergedGlobalConfig,\n (newConfig) => {\n window.__QIDIAN_GLOBAL_CONFIG__ = newConfig\n },\n { immediate: true }\n )\n\n watchEffect(async () => {\n const localeMap = {\n 'zh-CN': () => import('../../locales/zh-CN'),\n 'zh-TW': () => import('../../locales/zh-TW'),\n 'en-US': () => import('../../locales/en-US')\n }\n\n const loadLocale = localeMap[props.locale as keyof typeof localeMap] || localeMap['zh-CN']\n const [err, res] = await to(\n loadLocale() as unknown as Promise<{\n default: NonNullable<QdConfigProviderProps['globalConfig']>\n }>\n )\n if (err) return\n\n qdGlobalConfig.value = res.default\n })\n\n return () => h(TConfigProvider, { globalConfig: mergedGlobalConfig.value }, slots.default)\n }\n})\n\nexport type { QdConfigProviderProps } from './types'\n"],"names":["TConfigProvider"],"mappings":";;;;AAgBO,MAAM,mBAAmB,gBAAgB;AAAA,EAC9C,MAAM;AAAA,EACN,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,MAAM;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,KAAK;AAAA,MACH,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,WAAW;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAGX,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACX;AAAA,EAEF,MAAM,OAA8B,EAAE,SAAS;AAC7C,UAAM,iBAAiB,IAAA;AACvB,UAAM,qBAAqB,SAAS,MAAM;AACxC,aAAO;AAAA,QACL,GAAG,eAAe;AAAA,QAClB,GAAG,MAAM;AAAA,MAAA;AAAA,IAEb,CAAC;AAED,UAAM,OAAO,SAAS,MAAM,MAAM,IAAI;AACtC,UAAM,OAAO,SAAS,MAAM,MAAM,IAAI;AACtC,UAAM,SAAS,SAAS,MAAM,MAAM,MAAM;AAC1C,UAAM,SAAS,SAAS,MAAM,MAAM,MAAM;AAC1C,UAAM,MAAM,SAAS,MAAM,MAAM,GAAG;AACpC,UAAM,SAAS,SAAS,MAAM,MAAM,MAAM;AAE1C,YAAQ,cAAc,IAAI;AAC1B,YAAQ,cAAc,IAAI;AAC1B,YAAQ,gBAAgB,MAAM;AAC9B,YAAQ,gBAAgB,MAAM;AAC9B,YAAQ,aAAa,GAAG;AACxB,YAAQ,gBAAgB,MAAM;AAC9B,YAAQ,uBAAuB,kBAAkB;AAEjD;AAAA,MACE,MAAM,CAAC,MAAM,MAAM,MAAM,MAAM,MAAM,QAAQ,MAAM,SAAS;AAAA,MAC5D,CAAC,CAAC,SAAS,SAAS,WAAW,YAAY,MAAM;AAC/C,YAAI,OAAO,WAAW,aAAa;AACjC,iBAAO,kBAAkB;AACzB,iBAAO,kBAAkB;AACzB,iBAAO,oBAAoB;AAC3B,iBAAO,wBAAwB;AAAA,QACjC;AAAA,MACF;AAAA,MACA,EAAE,WAAW,KAAA;AAAA,IAAK;AAGpB;AAAA,MACE;AAAA,MACA,CAAC,cAAc;AACb,eAAO,2BAA2B;AAAA,MACpC;AAAA,MACA,EAAE,WAAW,KAAA;AAAA,IAAK;AAGpB,gBAAY,YAAY;AACtB,YAAM,YAAY;AAAA,QAChB,SAAS,MAAM,OAAO,yBAAqB;AAAA,QAC3C,SAAS,MAAM,OAAO,yBAAqB;AAAA,QAC3C,SAAS,MAAM,OAAO,yBAAqB;AAAA,MAAA;AAG7C,YAAM,aAAa,UAAU,MAAM,MAAgC,KAAK,UAAU,OAAO;AACzF,YAAM,CAAC,KAAK,GAAG,IAAI,MAAM;AAAA,QACvB,WAAA;AAAA,MAAW;AAIb,UAAI,IAAK;AAET,qBAAe,QAAQ,IAAI;AAAA,IAC7B,CAAC;AAED,WAAO,MAAM,EAAEA,gBAAiB,EAAE,cAAc,mBAAmB,MAAA,GAAS,MAAM,OAAO;AAAA,EAC3F;AACF,CAAC;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { TdConfigProviderProps } from 'tdesign-vue-next';
|
|
2
|
-
import type { QdDictBaseOptions } from '../../hooks/useDict';
|
|
3
|
-
import type { QdUploadProps } from '../upload';
|
|
4
2
|
import type { UseAgentChatOptions } from '../../hooks/useAgentChat';
|
|
5
|
-
import type {
|
|
3
|
+
import type { QdDictBaseOptions } from '../../hooks/useDict';
|
|
6
4
|
import type { QdAvatarBaseOptions } from '../../hooks/useUserAvatar';
|
|
7
5
|
import type { QdOfficePdfProps } from '../office';
|
|
6
|
+
import type { QdOrgSelectProps } from '../org';
|
|
7
|
+
import type { QdUploadProps } from '../upload';
|
|
8
8
|
export interface QdUser {
|
|
9
9
|
roles?: string[];
|
|
10
10
|
permissions?: string[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getCurrentInstance, inject, computed } from "vue";
|
|
2
|
-
import { PROVIDE_GLOBAL_CONFIG } from "./config.mjs";
|
|
3
2
|
import zhCN from "../../locales/zh-CN.mjs";
|
|
3
|
+
import { PROVIDE_GLOBAL_CONFIG } from "./config.mjs";
|
|
4
4
|
import get from "../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/get.mjs";
|
|
5
5
|
function useConfig(key, componentLocale) {
|
|
6
6
|
const injectGlobalConfig = getCurrentInstance?.() ? inject(PROVIDE_GLOBAL_CONFIG, void 0) : computed(() => window.__QIDIAN_GLOBAL_CONFIG__);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useConfig.mjs","sources":["../../../src/components/config-provider/useConfig.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"useConfig.mjs","sources":["../../../src/components/config-provider/useConfig.ts"],"sourcesContent":["import { get } from 'lodash-es'\nimport { computed, getCurrentInstance, inject } from 'vue'\n\nimport zhCN from '../../locales/zh-CN'\nimport { PROVIDE_GLOBAL_CONFIG } from './config'\nimport type { QdConfigProviderProps } from './types'\n\nexport function useConfig<T extends keyof NonNullable<QdConfigProviderProps['globalConfig']>>(\n key: T,\n componentLocale?: NonNullable<QdConfigProviderProps['globalConfig']>[T]\n) {\n const injectGlobalConfig = getCurrentInstance?.()\n ? inject(PROVIDE_GLOBAL_CONFIG, undefined)\n : computed(() => window.__QIDIAN_GLOBAL_CONFIG__)\n\n const mergedGlobalConfig = computed(() => injectGlobalConfig?.value || zhCN)\n\n const globalConfig = computed<NonNullable<NonNullable<QdConfigProviderProps['globalConfig']>[T]>>(\n () =>\n Object.assign(\n {},\n mergedGlobalConfig.value[key as keyof typeof mergedGlobalConfig.value],\n componentLocale\n )\n )\n\n const t = <T extends keyof typeof globalConfig.value = keyof typeof globalConfig.value>(\n path: T\n ) => {\n return get(globalConfig.value, path) as NonNullable<(typeof globalConfig.value)[T]>\n }\n\n return {\n t,\n global: globalConfig\n }\n}\n"],"names":[],"mappings":";;;;AAOO,SAAS,UACd,KACA,iBACA;AACA,QAAM,qBAAqB,qBAAA,IACvB,OAAO,uBAAuB,MAAS,IACvC,SAAS,MAAM,OAAO,wBAAwB;AAElD,QAAM,qBAAqB,SAAS,MAAM,oBAAoB,SAAS,IAAI;AAE3E,QAAM,eAAe;AAAA,IACnB,MACE,OAAO;AAAA,MACL,CAAA;AAAA,MACA,mBAAmB,MAAM,GAA4C;AAAA,MACrE;AAAA,IAAA;AAAA,EACF;AAGJ,QAAM,IAAI,CACR,SACG;AACH,WAAO,IAAI,aAAa,OAAO,IAAI;AAAA,EACrC;AAEA,SAAO;AAAA,IACL;AAAA,IACA,QAAQ;AAAA,EAAA;AAEZ;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComputedRef, Ref } from 'vue';
|
|
2
|
-
import type {
|
|
2
|
+
import type { QdAsyncComputeOptions, QdComputeFunction, QdConfigRendererProps } from './types';
|
|
3
3
|
export declare function qdCompute<T = unknown>(fn: QdComputeFunction<T>): QdComputeFunction<T>;
|
|
4
4
|
export declare function qdAsyncCompute<T = unknown>(options: QdAsyncComputeOptions<T>): QdAsyncComputeOptions<T>;
|
|
5
5
|
export declare function qdUseComputeValue<T = unknown>(computeFn: QdComputeFunction<T> | QdAsyncComputeOptions<T>, context: Ref<Record<string, unknown>> | ComputedRef<Record<string, unknown>>, crudMode: QdConfigRendererProps['crudMode']): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.mjs","sources":["../../../src/components/config-renderer/compute.ts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"compute.mjs","sources":["../../../src/components/config-renderer/compute.ts"],"sourcesContent":["import { to } from 'qidian-shared'\nimport type { ComputedRef, Ref, WatchHandle } from 'vue'\nimport { computed, ref, watch } from 'vue'\n\nimport type { QdAsyncComputeOptions, QdComputeFunction, QdConfigRendererProps } from './types'\n\nconst watchHandleMap = new Map<string, WatchHandle>()\n\nexport function qdCompute<T = unknown>(fn: QdComputeFunction<T>) {\n fn.__qdCompute = true\n fn.__qdId = `qd_compute_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`\n return fn\n}\n\nexport function qdAsyncCompute<T = unknown>(options: QdAsyncComputeOptions<T>) {\n options.__qdAsyncCompute = true\n options.__qdId = `qd_async_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`\n return options\n}\n\nexport function qdUseComputeValue<T = unknown>(\n computeFn: QdComputeFunction<T> | QdAsyncComputeOptions<T>,\n context: Ref<Record<string, unknown>> | ComputedRef<Record<string, unknown>>,\n crudMode: QdConfigRendererProps['crudMode']\n) {\n const computeId = computeFn.__qdId\n if (!computeId) {\n throw new Error('[configRenderer.qdUseComputeValue] 计算函数必须具有 ID')\n }\n\n watchHandleMap.get(computeId)?.()\n let watchHandle: WatchHandle | undefined\n const result = ref<T>() as Ref<T>\n const loading = ref(false)\n\n if ('__qdCompute' in computeFn) {\n watchHandle = watch(\n context,\n (newValue) => {\n result.value = computeFn(newValue, crudMode)\n },\n { immediate: true, deep: true }\n )\n } else {\n // qdAsyncCompute\n const asyncCompute = computeFn as QdAsyncComputeOptions<T>\n const { asyncFn, watch: watchFn } = asyncCompute\n\n if (watchFn) {\n // 有 watch 监听\n const watchValue = computed(() => watchFn(context.value))\n\n watchHandle = watch(\n watchValue,\n async (newValue: unknown) => {\n loading.value = true\n try {\n result.value = await asyncFn(newValue, context.value, crudMode)\n } finally {\n loading.value = false\n }\n },\n { immediate: true }\n )\n } else {\n // 只执行一次\n loading.value = true\n ;(async () => {\n const watchValue = context.value\n\n const [asyncErr, value] = await to(asyncFn(watchValue, context.value, crudMode))\n loading.value = false\n if (asyncErr) return asyncErr\n\n result.value = value\n })()\n }\n }\n\n if (watchHandle) watchHandleMap.set(computeId, watchHandle)\n const res = { result, loading }\n\n return res\n}\n"],"names":[],"mappings":";;AAMA,MAAM,qCAAqB,IAAA;AAEpB,SAAS,UAAuB,IAA0B;AAC/D,KAAG,cAAc;AACjB,KAAG,SAAS,cAAc,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AAC9E,SAAO;AACT;AAEO,SAAS,eAA4B,SAAmC;AAC7E,UAAQ,mBAAmB;AAC3B,UAAQ,SAAS,YAAY,KAAK,IAAA,CAAK,IAAI,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,MAAM,GAAG,CAAC,CAAC;AACjF,SAAO;AACT;AAEO,SAAS,kBACd,WACA,SACA,UACA;AACA,QAAM,YAAY,UAAU;AAC5B,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,MAAM,gDAAgD;AAAA,EAClE;AAEA,iBAAe,IAAI,SAAS,IAAA;AAC5B,MAAI;AACJ,QAAM,SAAS,IAAA;AACf,QAAM,UAAU,IAAI,KAAK;AAEzB,MAAI,iBAAiB,WAAW;AAC9B,kBAAc;AAAA,MACZ;AAAA,MACA,CAAC,aAAa;AACZ,eAAO,QAAQ,UAAU,UAAU,QAAQ;AAAA,MAC7C;AAAA,MACA,EAAE,WAAW,MAAM,MAAM,KAAA;AAAA,IAAK;AAAA,EAElC,OAAO;AAEL,UAAM,eAAe;AACrB,UAAM,EAAE,SAAS,OAAO,QAAA,IAAY;AAEpC,QAAI,SAAS;AAEX,YAAM,aAAa,SAAS,MAAM,QAAQ,QAAQ,KAAK,CAAC;AAExD,oBAAc;AAAA,QACZ;AAAA,QACA,OAAO,aAAsB;AAC3B,kBAAQ,QAAQ;AAChB,cAAI;AACF,mBAAO,QAAQ,MAAM,QAAQ,UAAU,QAAQ,OAAO,QAAQ;AAAA,UAChE,UAAA;AACE,oBAAQ,QAAQ;AAAA,UAClB;AAAA,QACF;AAAA,QACA,EAAE,WAAW,KAAA;AAAA,MAAK;AAAA,IAEtB,OAAO;AAEL,cAAQ,QAAQ;AACf,OAAC,YAAY;AACZ,cAAM,aAAa,QAAQ;AAE3B,cAAM,CAAC,UAAU,KAAK,IAAI,MAAM,GAAG,QAAQ,YAAY,QAAQ,OAAO,QAAQ,CAAC;AAC/E,gBAAQ,QAAQ;AAChB,YAAI,SAAU,QAAO;AAErB,eAAO,QAAQ;AAAA,MACjB,GAAA;AAAA,IACF;AAAA,EACF;AAEA,MAAI,YAAa,gBAAe,IAAI,WAAW,WAAW;AAC1D,QAAM,MAAM,EAAE,QAAQ,QAAA;AAEtB,SAAO;AACT;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
+
export { qdAsyncCompute, qdCompute, qdUseComputeValue } from './compute';
|
|
1
2
|
export { default as QdConfigRenderer } from './index.vue';
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export type { QdComponentResolver, QdComputeFunction, QdAsyncFunction, QdWatchFunction, QdAsyncComputeOptions, QdConfigValue, Qd2ConfigValue, QdConfigSlotProps, QdComponentConfig, QdConfigRendererProps } from './types';
|
|
3
|
+
export type { Qd2ConfigValue, QdAsyncComputeOptions, QdAsyncFunction, QdComponentConfig, QdComponentResolver, QdComputeFunction, QdConfigRendererProps, QdConfigSlotProps, QdConfigValue, QdWatchFunction } from './types';
|
|
4
|
+
export { getValueByPath, parseVModelPath, resolveVModelBinding, setValueByPath } from './utils';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, computed, h, resolveComponent, watch, createBlock, createCommentVNode, openBlock, resolveDynamicComponent, normalizeProps, mergeProps, createSlots, renderList, withCtx } from "vue";
|
|
2
|
+
import { isEmpty } from "qidian-shared";
|
|
2
3
|
import { qdUseComputeValue } from "./compute.mjs";
|
|
3
4
|
import { resolveVModelBinding } from "./utils.mjs";
|
|
4
|
-
import { isEmpty } from "qidian-shared";
|
|
5
5
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
6
|
...{
|
|
7
7
|
name: "QdConfigRenderer"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.mjs","sources":["../../../src/components/config-renderer/index.vue"],"sourcesContent":["<template>\n <component :is=\"resolvedComponent\" v-bind=\"componentProps\" v-if=\"reIfRender !== false\">\n <template\n v-for=\"(slotConfig, slotName) in config.slots\"\n :key=\"slotName\"\n #[slotName]=\"slotProps\"\n >\n <qd-config-renderer\n v-if=\"slotConfig\"\n :config=\"slotConfig\"\n :crud-mode=\"crudMode\"\n :context=\"slotConfig.context || currentContext\"\n v-bind=\"slotProps\"\n />\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\n import
|
|
1
|
+
{"version":3,"file":"index.vue.mjs","sources":["../../../src/components/config-renderer/index.vue"],"sourcesContent":["<template>\n <component :is=\"resolvedComponent\" v-bind=\"componentProps\" v-if=\"reIfRender !== false\">\n <template\n v-for=\"(slotConfig, slotName) in config.slots\"\n :key=\"slotName\"\n #[slotName]=\"slotProps\"\n >\n <qd-config-renderer\n v-if=\"slotConfig\"\n :config=\"slotConfig\"\n :crud-mode=\"crudMode\"\n :context=\"slotConfig.context || currentContext\"\n v-bind=\"slotProps\"\n />\n </template>\n </component>\n</template>\n\n<script setup lang=\"ts\">\n import { isEmpty } from 'qidian-shared'\n import { computed, h, resolveComponent, watch } from 'vue'\n\n import { qdUseComputeValue } from './compute'\n import QdConfigRenderer from './index.vue'\n import type { QdAsyncComputeOptions, QdComputeFunction, QdConfigRendererProps } from './types'\n import { resolveVModelBinding } from './utils'\n\n defineOptions({\n name: 'QdConfigRenderer'\n })\n\n const props = withDefaults(defineProps<QdConfigRendererProps>(), {})\n const emit = defineEmits<{ ifRenderChange: [boolean] }>()\n\n let initialized = false\n const currentContext = computed(() => props.config.context || props.context || {})\n\n // 处理 ifRender\n const reIfRender = computed(() => {\n const ifRender = props.config.ifRender\n if (isEmpty(ifRender)) return true\n\n if (\n (ifRender as QdComputeFunction<boolean>)?.__qdCompute ||\n (ifRender as QdAsyncComputeOptions<boolean>)?.__qdAsyncCompute\n ) {\n const { result } = qdUseComputeValue(\n ifRender as QdComputeFunction<boolean> | QdAsyncComputeOptions<boolean>,\n currentContext,\n props.crudMode\n )\n return result.value\n }\n\n return ifRender as boolean\n })\n\n // 解析组件\n const resolvedComponent = computed(() => {\n const { is, render } = props.config\n\n // 优先使用 render 函数\n if (render) {\n return () => render(h, currentContext.value)\n }\n\n if (!is) return 'div'\n\n if (typeof is === 'string') {\n // 对于原生 HTML 标签(小写),直接返回\n if (is === is.toLowerCase()) {\n return is\n }\n\n // 尝试解析为注册的组件\n const resolved = resolveComponent(is)\n if (resolved !== is) return resolved\n return is\n }\n\n return is\n })\n\n // 处理动态属性\n const componentProps = computed(() => {\n const config = props.config\n const componentProps: Record<string, unknown> = {}\n\n // 处理 vModel 开头的属性\n Object.entries(config).forEach(([key, value]) => {\n if (key.startsWith('vModel') && typeof value === 'string') {\n const propName = key.slice(6) // 移除 'vModel' 前缀\n // 获取对应的默认值,比如 vModel -> defaultModelValue, vModelValue -> defaultValue\n const defaultKey =\n 'default' +\n (key === 'vModel' ? 'ModelValue' : propName.charAt(0).toUpperCase() + key.slice(7))\n const defaultValue = config[defaultKey]\n const vModelBinding = resolveVModelBinding(\n currentContext.value,\n value,\n initialized ? undefined : defaultValue\n )\n\n if (key === 'vModel') {\n componentProps.modelValue = vModelBinding.modelValue\n componentProps['onUpdate:modelValue'] = vModelBinding['onUpdate:modelValue']\n } else {\n // 处理其他 vModel 属性,如 vModelValue -> value\n const lowerFirst = propName.charAt(0).toLowerCase() + propName.slice(1)\n componentProps[lowerFirst] = vModelBinding.modelValue\n componentProps[`onUpdate:${lowerFirst}`] = vModelBinding['onUpdate:modelValue']\n }\n }\n })\n initialized = true\n\n // 处理其他属性\n Object.entries(config).forEach(([key, value]) => {\n if (['is', 'context', 'slots', 'ifRender'].includes(key)) return\n if (key.startsWith('vModel')) return\n\n // 检查是否为 vModel 对应的默认值配置\n if (key.startsWith('default')) {\n // 反向查找对应的 vModelKey\n const propName = key.slice(7) // 移除 'default' 前缀\n const vModelKey =\n 'vModel' +\n (propName === 'ModelValue' ? '' : propName.charAt(0).toUpperCase() + propName.slice(1))\n if (config[vModelKey]) return // 只有当存在对应的 vModel 配置时才跳过\n }\n\n // 处理动态计算的值\n if (\n (value as QdComputeFunction)?.__qdCompute ||\n (value as QdAsyncComputeOptions)?.__qdAsyncCompute\n ) {\n const { result } = qdUseComputeValue(\n value as QdComputeFunction | QdAsyncComputeOptions,\n currentContext,\n props.crudMode\n )\n componentProps[key] = result.value\n } else if (props.fnInjectCtx && typeof value === 'function' && key.startsWith('on')) {\n componentProps[key] = (...args: unknown[]) => {\n return value(currentContext.value, ...args)\n }\n } else {\n componentProps[key] = value\n }\n })\n\n return componentProps\n })\n\n watch(\n reIfRender,\n (newV, oldV) => {\n if (newV === oldV) return\n\n emit('ifRenderChange', newV)\n },\n { immediate: true }\n )\n</script>\n"],"names":["componentProps","_createBlock","_resolveDynamicComponent","_normalizeProps","_mergeProps","_createSlots","_renderList","_withCtx","_openBlock","QdConfigRenderer"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Component,
|
|
1
|
+
import type { Component, h, VNode } from 'vue';
|
|
2
2
|
import type { QdFormProps } from '../form';
|
|
3
3
|
export type QdComponentResolver = string | Component | VNode;
|
|
4
4
|
export type QdComponentRender = (vueH: typeof h, context: Record<string, unknown>) => VNode;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import type { ServicePageParams, ServicePagination } from 'qidian-shared';
|
|
2
|
+
import type { TableRowData } from 'tdesign-vue-next';
|
|
1
3
|
import type { QdCrudListProps } from './list';
|
|
2
4
|
import type { QdCrudTableProps } from './table';
|
|
3
|
-
import type { TableRowData } from 'tdesign-vue-next';
|
|
4
|
-
import type { ServicePageParams, ServicePagination } from 'qidian-shared';
|
|
5
5
|
export declare function defineQdCrudTable<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination>(config: QdCrudTableProps<D, R, P, TP, Pag>): QdCrudTableProps<D, R, P, TP, Pag>;
|
|
6
6
|
export declare function defineQdCrudList<D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination>(config: QdCrudListProps<D, R, P, TP, Pag>): QdCrudListProps<D, R, P, TP, Pag>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define.mjs","sources":["../../../src/components/crud/define.ts"],"sourcesContent":["import type {
|
|
1
|
+
{"version":3,"file":"define.mjs","sources":["../../../src/components/crud/define.ts"],"sourcesContent":["import type { ServicePageParams, ServicePagination } from 'qidian-shared'\nimport type { TableRowData } from 'tdesign-vue-next'\n\nimport type { QdCrudListProps } from './list'\nimport type { QdCrudTableProps } from './table'\n\n/**\n * 定义 CRUD Table 配置,提供类型推导\n */\nexport function defineQdCrudTable<\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>(config: QdCrudTableProps<D, R, P, TP, Pag>): QdCrudTableProps<D, R, P, TP, Pag> {\n return config\n}\n\n/**\n * 定义 CRUD List 配置,提供类型推导\n */\nexport function defineQdCrudList<\n D extends TableRowData = TableRowData,\n R = unknown,\n P = ServicePageParams,\n TP = P,\n Pag extends ServicePagination = ServicePagination\n>(config: QdCrudListProps<D, R, P, TP, Pag>): QdCrudListProps<D, R, P, TP, Pag> {\n return config\n}\n"],"names":[],"mappings":"AASO,SAAS,kBAMd,QAAgF;AAChF,SAAO;AACT;AAKO,SAAS,iBAMd,QAA8E;AAC9E,SAAO;AACT;"}
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
.qd-crud-list[data-v-
|
|
1
|
+
.qd-crud-list[data-v-b8772e1e] {
|
|
2
2
|
width: 100%;
|
|
3
3
|
height: 100%;
|
|
4
4
|
display: flex;
|
|
5
5
|
flex-direction: column;
|
|
6
6
|
}
|
|
7
|
-
.qd-crud-list__header + .qd-service-list[data-v-
|
|
7
|
+
.qd-crud-list__header + .qd-service-list[data-v-b8772e1e] {
|
|
8
8
|
margin-top: var(--td-comp-margin-l);
|
|
9
9
|
}
|
|
10
|
-
.qd-crud-list .qd-crud-search + .qd-crud-list__toolbar[data-v-
|
|
10
|
+
.qd-crud-list .qd-crud-search + .qd-crud-list__toolbar[data-v-b8772e1e] {
|
|
11
11
|
margin-top: var(--td-comp-margin-l);
|
|
12
12
|
}
|
|
13
|
-
.qd-crud-list__header > .qd-crud-search[data-v-
|
|
13
|
+
.qd-crud-list__header > .qd-crud-search[data-v-b8772e1e] .qd-form {
|
|
14
14
|
display: flex;
|
|
15
15
|
align-items: flex-end;
|
|
16
16
|
flex-flow: row wrap;
|
|
17
17
|
}
|
|
18
|
-
.qd-crud-list__header > .qd-crud-search[data-v-
|
|
18
|
+
.qd-crud-list__header > .qd-crud-search[data-v-b8772e1e] .qd-form > .qd-grid {
|
|
19
19
|
flex: 1 1 0;
|
|
20
20
|
overflow: hidden;
|
|
21
21
|
margin-right: var(--td-comp-margin-l);
|
|
22
22
|
}
|
|
23
|
-
.qd-crud-list__toolbar[data-v-
|
|
23
|
+
.qd-crud-list__toolbar[data-v-b8772e1e] {
|
|
24
24
|
display: flex;
|
|
25
25
|
justify-content: space-between;
|
|
26
26
|
}
|
|
27
|
-
.qd-crud-list > .qd-service-list[data-v-
|
|
27
|
+
.qd-crud-list > .qd-service-list[data-v-b8772e1e] {
|
|
28
28
|
flex: 1 1 0;
|
|
29
29
|
}
|
|
30
|
-
.qd-crud-list--has-scroll-target > .qd-service-list[data-v-
|
|
30
|
+
.qd-crud-list--has-scroll-target > .qd-service-list[data-v-b8772e1e] {
|
|
31
31
|
flex: auto;
|
|
32
32
|
}
|
|
33
|
-
.qd-crud-list--has-scroll-target .qd-crud-list__header[data-v-
|
|
33
|
+
.qd-crud-list--has-scroll-target .qd-crud-list__header[data-v-b8772e1e] {
|
|
34
34
|
position: sticky;
|
|
35
35
|
top: 0;
|
|
36
36
|
z-index: 10;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export { default as QdCrudList } from './index.vue';
|
|
2
|
-
export type {
|
|
2
|
+
export type { QdCrudListInstanceFunctions, QdCrudListProps } from './types';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { TableRowData } from 'tdesign-vue-next';
|
|
2
1
|
import type { ServicePageParams, ServicePagination } from 'qidian-shared';
|
|
2
|
+
import type { TableRowData } from 'tdesign-vue-next';
|
|
3
3
|
import type { QdCrudListInstanceFunctions, QdCrudListProps } from './types';
|
|
4
4
|
declare const _default: <D extends TableRowData = TableRowData, R = unknown, P = ServicePageParams, TP = P, Pag extends ServicePagination = ServicePagination>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
5
5
|
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
@@ -2,7 +2,7 @@ import './index.css'
|
|
|
2
2
|
import _sfc_main from "./index.vue2.mjs";
|
|
3
3
|
/* empty css */
|
|
4
4
|
import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
|
|
5
|
-
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
5
|
+
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b8772e1e"]]);
|
|
6
6
|
export {
|
|
7
7
|
index as default
|
|
8
8
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import './index.css'
|
|
2
2
|
import { defineComponent, mergeDefaults, computed, useTemplateRef, onMounted, createElementBlock, openBlock, normalizeClass, createCommentVNode, createVNode, createBlock, unref, mergeProps, isRef, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps, nextTick } from "vue";
|
|
3
|
+
import { useVModels } from "../../../node_modules/.pnpm/@vueuse_core@14.2.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs";
|
|
3
4
|
import { extractSlotsWithPrefix } from "qidian-shared";
|
|
4
5
|
import { Space } from "tdesign-vue-next";
|
|
5
|
-
import { useVModels } from "../../../node_modules/.pnpm/@vueuse_core@14.2.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/core/dist/index.mjs";
|
|
6
6
|
import { qdCrudListProps } from "./props.mjs";
|
|
7
7
|
import QdCrudSearch from "../search/index.vue.mjs";
|
|
8
8
|
import QdServiceList from "../../service/list/index.vue.mjs";
|