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.
Files changed (189) hide show
  1. package/dist/components/auto-tooltip/index.css +6 -6
  2. package/dist/components/auto-tooltip/index.vue.mjs +1 -1
  3. package/dist/components/auto-tooltip/index.vue2.mjs +2 -2
  4. package/dist/components/auto-tooltip/index.vue2.mjs.map +1 -1
  5. package/dist/components/avatar/index.css +2 -2
  6. package/dist/components/avatar/index.vue.d.ts +1 -1
  7. package/dist/components/avatar/index.vue.mjs +1 -1
  8. package/dist/components/avatar/index.vue2.mjs +3 -3
  9. package/dist/components/avatar/index.vue2.mjs.map +1 -1
  10. package/dist/components/card/index.css +2 -2
  11. package/dist/components/card/index.vue.mjs +1 -1
  12. package/dist/components/card/index.vue2.mjs.map +1 -1
  13. package/dist/components/config-provider/config.mjs.map +1 -1
  14. package/dist/components/config-provider/index.d.ts +3 -3
  15. package/dist/components/config-provider/index.mjs +2 -2
  16. package/dist/components/config-provider/index.mjs.map +1 -1
  17. package/dist/components/config-provider/types.d.ts +3 -3
  18. package/dist/components/config-provider/useConfig.mjs +1 -1
  19. package/dist/components/config-provider/useConfig.mjs.map +1 -1
  20. package/dist/components/config-renderer/compute.d.ts +1 -1
  21. package/dist/components/config-renderer/compute.mjs +1 -1
  22. package/dist/components/config-renderer/compute.mjs.map +1 -1
  23. package/dist/components/config-renderer/index.d.ts +3 -3
  24. package/dist/components/config-renderer/index.vue.mjs +1 -1
  25. package/dist/components/config-renderer/index.vue.mjs.map +1 -1
  26. package/dist/components/config-renderer/types.d.ts +1 -1
  27. package/dist/components/crud/define.d.ts +2 -2
  28. package/dist/components/crud/define.mjs.map +1 -1
  29. package/dist/components/crud/index.d.ts +1 -1
  30. package/dist/components/crud/list/index.css +9 -9
  31. package/dist/components/crud/list/index.d.ts +1 -1
  32. package/dist/components/crud/list/index.vue.d.ts +1 -1
  33. package/dist/components/crud/list/index.vue.mjs +1 -1
  34. package/dist/components/crud/list/index.vue2.mjs +1 -1
  35. package/dist/components/crud/list/index.vue2.mjs.map +1 -1
  36. package/dist/components/crud/list/types.d.ts +1 -1
  37. package/dist/components/crud/search/index.css +7 -7
  38. package/dist/components/crud/search/index.vue.d.ts +2 -2
  39. package/dist/components/crud/search/index.vue.mjs +1 -1
  40. package/dist/components/crud/search/index.vue2.mjs +4 -4
  41. package/dist/components/crud/search/index.vue2.mjs.map +1 -1
  42. package/dist/components/crud/table/index.css +11 -11
  43. package/dist/components/crud/table/index.d.ts +1 -1
  44. package/dist/components/crud/table/index.vue.d.ts +1 -1
  45. package/dist/components/crud/table/index.vue.mjs +1 -1
  46. package/dist/components/crud/table/index.vue2.mjs +3 -3
  47. package/dist/components/crud/table/index.vue2.mjs.map +1 -1
  48. package/dist/components/crud/table/types.d.ts +3 -3
  49. package/dist/components/dialog/form.vue.d.ts +1 -1
  50. package/dist/components/dialog/form.vue.mjs +3 -3
  51. package/dist/components/dialog/form.vue.mjs.map +1 -1
  52. package/dist/components/dialog/index.css +3 -0
  53. package/dist/components/dialog/index.d.ts +2 -2
  54. package/dist/components/dialog/index.vue.d.ts +2 -2
  55. package/dist/components/dialog/index.vue.mjs +41 -8
  56. package/dist/components/dialog/index.vue.mjs.map +1 -1
  57. package/dist/components/dict/checkbox-group/index.css +1 -1
  58. package/dist/components/dict/checkbox-group/index.vue.d.ts +2 -2
  59. package/dist/components/dict/checkbox-group/index.vue.mjs +1 -1
  60. package/dist/components/dict/checkbox-group/index.vue2.mjs +3 -3
  61. package/dist/components/dict/checkbox-group/index.vue2.mjs.map +1 -1
  62. package/dist/components/dict/checkbox-group/types.d.ts +1 -1
  63. package/dist/components/dict/radio-group/index.css +1 -1
  64. package/dist/components/dict/radio-group/index.vue.mjs +1 -1
  65. package/dist/components/dict/radio-group/index.vue2.mjs +2 -2
  66. package/dist/components/dict/radio-group/index.vue2.mjs.map +1 -1
  67. package/dist/components/dict/select/index.vue.d.ts +2 -2
  68. package/dist/components/dict/select/index.vue.mjs +3 -3
  69. package/dist/components/dict/select/index.vue.mjs.map +1 -1
  70. package/dist/components/dict/tag/index.css +1 -1
  71. package/dist/components/dict/tag/index.vue.mjs +1 -1
  72. package/dist/components/dict/tag/index.vue2.mjs +1 -1
  73. package/dist/components/dict/tag/index.vue2.mjs.map +1 -1
  74. package/dist/components/dict/tag/types.d.ts +1 -1
  75. package/dist/components/form/config.mjs.map +1 -1
  76. package/dist/components/form/index.css +5 -5
  77. package/dist/components/form/index.d.ts +3 -3
  78. package/dist/components/form/index.vue.mjs +1 -1
  79. package/dist/components/form/index.vue2.mjs +5 -5
  80. package/dist/components/form/index.vue2.mjs.map +1 -1
  81. package/dist/components/form/item.css +2 -2
  82. package/dist/components/form/item.vue.mjs +1 -1
  83. package/dist/components/form/item.vue2.mjs +2 -2
  84. package/dist/components/form/item.vue2.mjs.map +1 -1
  85. package/dist/components/form/types.d.ts +2 -2
  86. package/dist/components/grid/config.mjs.map +1 -1
  87. package/dist/components/grid/index.css +1 -1
  88. package/dist/components/grid/index.d.ts +2 -2
  89. package/dist/components/grid/index.vue.mjs +1 -1
  90. package/dist/components/grid/index.vue2.mjs.map +1 -1
  91. package/dist/components/grid/item.css +1 -1
  92. package/dist/components/grid/item.vue.mjs +1 -1
  93. package/dist/components/grid/item.vue2.mjs.map +1 -1
  94. package/dist/components/icon/index.vue.mjs.map +1 -1
  95. package/dist/components/image/index.vue.mjs +3 -3
  96. package/dist/components/image/index.vue.mjs.map +1 -1
  97. package/dist/components/import-dialog/index.vue.mjs +2 -2
  98. package/dist/components/import-dialog/index.vue.mjs.map +1 -1
  99. package/dist/components/index.d.ts +3 -3
  100. package/dist/components/md-editor/index.vue.d.ts +1 -1
  101. package/dist/components/md-editor/index.vue.mjs +1 -1
  102. package/dist/components/md-editor/index.vue2.mjs +1 -1
  103. package/dist/components/md-editor/index.vue2.mjs.map +1 -1
  104. package/dist/components/md-editor/index2.css +12 -12
  105. package/dist/components/md-editor/types.d.ts +1 -1
  106. package/dist/components/office/pdf/hooks/useZoom.d.ts +1 -1
  107. package/dist/components/office/pdf/hooks/useZoom.mjs +2 -2
  108. package/dist/components/office/pdf/hooks/useZoom.mjs.map +1 -1
  109. package/dist/components/office/pdf/index.vue.d.ts +1 -1
  110. package/dist/components/office/pdf/index.vue.mjs +1 -1
  111. package/dist/components/office/pdf/index.vue2.mjs +3 -3
  112. package/dist/components/office/pdf/index.vue2.mjs.map +1 -1
  113. package/dist/components/office/pdf/index2.css +21 -21
  114. package/dist/components/org/select/index.vue.d.ts +1 -1
  115. package/dist/components/org/select/index.vue.mjs +3 -3
  116. package/dist/components/org/select/index.vue.mjs.map +1 -1
  117. package/dist/components/read-write/index.css +6 -6
  118. package/dist/components/read-write/index.vue.mjs +1 -1
  119. package/dist/components/read-write/index.vue2.mjs +4 -4
  120. package/dist/components/read-write/index.vue2.mjs.map +1 -1
  121. package/dist/components/service/list/index.css +2 -2
  122. package/dist/components/service/list/index.d.ts +1 -1
  123. package/dist/components/service/list/index.vue.d.ts +1 -1
  124. package/dist/components/service/list/index.vue.mjs +1 -1
  125. package/dist/components/service/list/index.vue2.mjs +3 -3
  126. package/dist/components/service/list/index.vue2.mjs.map +1 -1
  127. package/dist/components/service/list/types.d.ts +2 -2
  128. package/dist/components/service/table/index.css +4 -4
  129. package/dist/components/service/table/index.d.ts +1 -1
  130. package/dist/components/service/table/index.vue.d.ts +1 -1
  131. package/dist/components/service/table/index.vue.mjs +1 -1
  132. package/dist/components/service/table/index.vue2.mjs +13 -5
  133. package/dist/components/service/table/index.vue2.mjs.map +1 -1
  134. package/dist/components/service/table/types.d.ts +2 -2
  135. package/dist/components/service-dialog-table-select/define.d.ts +2 -2
  136. package/dist/components/service-dialog-table-select/define.mjs.map +1 -1
  137. package/dist/components/service-dialog-table-select/index.css +9 -9
  138. package/dist/components/service-dialog-table-select/index.d.ts +1 -1
  139. package/dist/components/service-dialog-table-select/index.vue.d.ts +1 -1
  140. package/dist/components/service-dialog-table-select/index.vue.mjs +1 -1
  141. package/dist/components/service-dialog-table-select/index.vue2.mjs +5 -6
  142. package/dist/components/service-dialog-table-select/index.vue2.mjs.map +1 -1
  143. package/dist/components/service-dialog-table-select/types.d.ts +1 -1
  144. package/dist/components/service-popup-table-select/define.d.ts +2 -2
  145. package/dist/components/service-popup-table-select/define.mjs.map +1 -1
  146. package/dist/components/service-popup-table-select/index.d.ts +1 -1
  147. package/dist/components/service-popup-table-select/index.vue.d.ts +1 -1
  148. package/dist/components/service-popup-table-select/index.vue.mjs +1 -1
  149. package/dist/components/service-popup-table-select/index.vue2.mjs +6 -7
  150. package/dist/components/service-popup-table-select/index.vue2.mjs.map +1 -1
  151. package/dist/components/service-popup-table-select/index2.css +6 -6
  152. package/dist/components/service-select/index.css +1 -1
  153. package/dist/components/service-select/index.d.ts +1 -1
  154. package/dist/components/service-select/index.vue.d.ts +1 -1
  155. package/dist/components/service-select/index.vue.mjs +1 -1
  156. package/dist/components/service-select/index.vue2.mjs +2 -2
  157. package/dist/components/service-select/index.vue2.mjs.map +1 -1
  158. package/dist/components/service-select/types.d.ts +1 -1
  159. package/dist/components/upload/index.css +26 -26
  160. package/dist/components/upload/index.d.ts +1 -1
  161. package/dist/components/upload/index.vue.mjs +1 -1
  162. package/dist/components/upload/index.vue2.mjs +5 -5
  163. package/dist/components/upload/index.vue2.mjs.map +1 -1
  164. package/dist/directive/hasPermi.mjs.map +1 -1
  165. package/dist/directive/hasRole.mjs.map +1 -1
  166. package/dist/hooks/index.d.ts +3 -3
  167. package/dist/hooks/useAgentChat/index.d.ts +1 -1
  168. package/dist/hooks/useAgentChat/index.mjs +3 -3
  169. package/dist/hooks/useAgentChat/index.mjs.map +1 -1
  170. package/dist/hooks/useDict/index.mjs.map +1 -1
  171. package/dist/hooks/useDisabled.mjs.map +1 -1
  172. package/dist/hooks/useModal.d.ts +1 -1
  173. package/dist/hooks/useModal.mjs +1 -1
  174. package/dist/hooks/useModal.mjs.map +1 -1
  175. package/dist/hooks/usePerfectScrollbar.mjs +6 -2
  176. package/dist/hooks/usePerfectScrollbar.mjs.map +1 -1
  177. package/dist/hooks/useReadonly.mjs.map +1 -1
  178. package/dist/hooks/useUserAvatar/index.mjs.map +1 -1
  179. package/dist/index.mjs +31 -31
  180. 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
  181. 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
  182. 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
  183. 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
  184. package/dist/utils/time.mjs.map +1 -1
  185. package/dist/vue/qidian-vite-auto-import-resolver.cjs.js +1 -1
  186. package/dist/vue/qidian-vite-auto-import-resolver.cjs.js.map +1 -1
  187. package/dist/vue/qidian-vite-auto-import-resolver.es.js +1 -1
  188. package/dist/vue/qidian-vite-auto-import-resolver.es.js.map +1 -1
  189. package/package.json +2 -3
@@ -1,20 +1,20 @@
1
- .qd-auto-tooltip[data-v-f7cd668d] {
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-f7cd668d] {
6
+ .qd-auto-tooltip .pre-wrap[data-v-db1a5c64] {
7
7
  white-space: pre-wrap;
8
8
  }
9
- .qd-auto-tooltip__content[data-v-f7cd668d] {
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-f7cd668d] {
13
+ .qd-auto-tooltip__content--1[data-v-db1a5c64] {
14
14
  white-space: nowrap;
15
15
  }
16
- .qd-auto-tooltip__content[data-v-f7cd668d]:not(.qd-auto-tooltip__content--1) {
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(--e3389f36);
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-f7cd668d"]]);
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
- "e3389f36": _ctx.ellipsis
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 type { QdAutoTooltipProps } from './types'\n import { Tooltip as TTooltip } from 'tdesign-vue-next'\n import { ref, watch, nextTick, useTemplateRef } from 'vue'\n import { resizeDirective } from 'qidian-shared';\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":";;;;;;;;;;;;;;;;;;;;;;;;;;AA2CE,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;;AAhEF,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
+ {"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-00195354] {
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-00195354] {
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-00195354"]]);
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 { qdAvatarImageProps, qdAvatarProps } from "./props.mjs";
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 type { QdAvatarProps } from './types'\n import type { AbortWrapperPromise } from 'qidian-shared'\n import { Avatar as TAvatar, LoadingDirective } from 'tdesign-vue-next'\n import { UserIcon } from 'tdesign-icons-vue-next'\n import { abortWrapper, filterSlots, isEmpty, validator } from 'qidian-shared'\n import { qdAvatarImageProps, qdAvatarProps } from './props'\n import { ref, computed, watch, inject } from 'vue'\n import { PROVIDE_AVATAR } from '../config-provider/config'\n import { useUserAvatar } from '../../hooks'\n import { merge } from 'lodash-es'\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCE,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;;AArGpB,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;;;;;"}
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;;;;;"}
@@ -1,6 +1,6 @@
1
- .qd-card[data-v-637d725f]:not(.qd-card--radius) {
1
+ .qd-card[data-v-daddf5e3]:not(.qd-card--radius) {
2
2
  border-radius: 0;
3
3
  }
4
- [data-v-637d725f] .qd-card__header--click {
4
+ [data-v-daddf5e3] .qd-card__header--click {
5
5
  cursor: pointer;
6
6
  }
@@ -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-637d725f"]]);
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 ref=\"card\" :class=\"['qd-card', reProps.radius ? 'qd-card--radius' : '']\" v-bind=\"reProps\" @click=\"reProps.onClick\">\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 type { QdCardProps } from './types'\n import { computed, onMounted, useTemplateRef, watch } from 'vue'\n import { Card as TCard } from 'tdesign-vue-next'\n import { qdCardProps } from './props'\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcE,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;;AAvDD,aAAAA,aAAAC,YAISC,aAJTC,WAIS;AAAA,QAJD,KAAI;AAAA,QAAQ,OAAK,CAAA,WAAc,QAAA,MAAQ,SAAM,oBAAA,EAAA;AAAA,MAAA,GAAoC,QAAA,OAAO;AAAA,QAAG,SAAO,QAAA,MAAQ;AAAA,MAAA;mBAClFC,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
+ {"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']>> = Symbol('QdOffice')\nexport const PROVIDE_GLOBAL_CONFIG: InjectionKey<\n ComputedRef<NonNullable<QdConfigProviderProps['globalConfig']>>\n> = Symbol('QdGlobalConfig')\n"],"names":[],"mappings":"AAGO,MAAM,sCACJ,QAAQ;AACV,MAAM,sCACJ,QAAQ;AACV,MAAM,wCACJ,UAAU;AACZ,MAAM,wCACJ,UAAU;AACZ,MAAM,qCAA8E,OAAO;AAC3F,MAAM,wCAAoF,UAAU;AACpG,MAAM,+CAEF,gBAAgB;"}
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
- locale: string | undefined;
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 type { PropType } from 'vue'\nimport type { QdConfigProviderProps } from './types'\nimport { defineComponent, provide, h, ref, watchEffect, computed, watch } from 'vue'\nimport { ConfigProvider as TConfigProvider } from 'tdesign-vue-next'\nimport { to } from 'qidian-shared'\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'\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":";;;;AAeO,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
+ {"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 { QdOrgSelectProps } from '../org';
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 type { QdConfigProviderProps } from './types'\nimport { computed, getCurrentInstance, inject } from 'vue'\nimport { PROVIDE_GLOBAL_CONFIG } from './config'\nimport zhCN from '../../locales/zh-CN'\nimport { get } from 'lodash-es'\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":";;;;AAMO,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
+ {"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 { QdComputeFunction, QdAsyncComputeOptions, QdConfigRendererProps } from './types';
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,5 +1,5 @@
1
- import { ref, watch, computed } from "vue";
2
1
  import { to } from "qidian-shared";
2
+ import { ref, watch, computed } from "vue";
3
3
  const watchHandleMap = /* @__PURE__ */ new Map();
4
4
  function qdCompute(fn) {
5
5
  fn.__qdCompute = true;
@@ -1 +1 @@
1
- {"version":3,"file":"compute.mjs","sources":["../../../src/components/config-renderer/compute.ts"],"sourcesContent":["import type { ComputedRef, Ref, WatchHandle } from 'vue'\nimport type { QdComputeFunction, QdAsyncComputeOptions, QdConfigRendererProps } from './types'\nimport { computed, watch, ref } from 'vue'\nimport { to } from 'qidian-shared'\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":";;AAKA,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
+ {"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 { qdCompute, qdAsyncCompute, qdUseComputeValue } from './compute';
3
- export { resolveVModelBinding, parseVModelPath, getValueByPath, setValueByPath } from './utils';
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 type { QdConfigRendererProps, QdComputeFunction, QdAsyncComputeOptions } from './types'\n import { computed, resolveComponent, h, watch } from 'vue'\n import { qdUseComputeValue } from './compute'\n import { resolveVModelBinding } from './utils'\n import QdConfigRenderer from './index.vue'\n import { isEmpty } from 'qidian-shared'\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":";;;;;;;;;;;;;;;;;AA8BE,UAAM,QAAQ;AACd,UAAM,OAAO;AAEb,QAAI,cAAc;AAClB,UAAM,iBAAiB,SAAS,MAAM,MAAM,OAAO,WAAW,MAAM,WAAW,EAAE;AAGjF,UAAM,aAAa,SAAS,MAAM;AAChC,YAAM,WAAW,MAAM,OAAO;AAC9B,UAAI,QAAQ,QAAQ,EAAG,QAAO;AAE9B,UACG,UAAyC,eACzC,UAA6C,kBAC9C;AACA,cAAM,EAAE,WAAW;AAAA,UACjB;AAAA,UACA;AAAA,UACA,MAAM;AAAA,QAAA;AAER,eAAO,OAAO;AAAA,MAChB;AAEA,aAAO;AAAA,IACT,CAAC;AAGD,UAAM,oBAAoB,SAAS,MAAM;AACvC,YAAM,EAAE,IAAI,OAAA,IAAW,MAAM;AAG7B,UAAI,QAAQ;AACV,eAAO,MAAM,OAAO,GAAG,eAAe,KAAK;AAAA,MAC7C;AAEA,UAAI,CAAC,GAAI,QAAO;AAEhB,UAAI,OAAO,OAAO,UAAU;AAE1B,YAAI,OAAO,GAAG,eAAe;AAC3B,iBAAO;AAAA,QACT;AAGA,cAAM,WAAW,iBAAiB,EAAE;AACpC,YAAI,aAAa,GAAI,QAAO;AAC5B,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,IACT,CAAC;AAGD,UAAM,iBAAiB,SAAS,MAAM;AACpC,YAAM,SAAS,MAAM;AACrB,YAAMA,kBAA0C,CAAA;AAGhD,aAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/C,YAAI,IAAI,WAAW,QAAQ,KAAK,OAAO,UAAU,UAAU;AACzD,gBAAM,WAAW,IAAI,MAAM,CAAC;AAE5B,gBAAM,aACJ,aACC,QAAQ,WAAW,eAAe,SAAS,OAAO,CAAC,EAAE,YAAA,IAAgB,IAAI,MAAM,CAAC;AACnF,gBAAM,eAAe,OAAO,UAAU;AACtC,gBAAM,gBAAgB;AAAA,YACpB,eAAe;AAAA,YACf;AAAA,YACA,cAAc,SAAY;AAAA,UAAA;AAG5B,cAAI,QAAQ,UAAU;AACpBA,4BAAe,aAAa,cAAc;AAC1CA,4BAAe,qBAAqB,IAAI,cAAc,qBAAqB;AAAA,UAC7E,OAAO;AAEL,kBAAM,aAAa,SAAS,OAAO,CAAC,EAAE,gBAAgB,SAAS,MAAM,CAAC;AACtEA,4BAAe,UAAU,IAAI,cAAc;AAC3CA,4BAAe,YAAY,UAAU,EAAE,IAAI,cAAc,qBAAqB;AAAA,UAChF;AAAA,QACF;AAAA,MACF,CAAC;AACD,oBAAc;AAGd,aAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/C,YAAI,CAAC,MAAM,WAAW,SAAS,UAAU,EAAE,SAAS,GAAG,EAAG;AAC1D,YAAI,IAAI,WAAW,QAAQ,EAAG;AAG9B,YAAI,IAAI,WAAW,SAAS,GAAG;AAE7B,gBAAM,WAAW,IAAI,MAAM,CAAC;AAC5B,gBAAM,YACJ,YACC,aAAa,eAAe,KAAK,SAAS,OAAO,CAAC,EAAE,YAAA,IAAgB,SAAS,MAAM,CAAC;AACvF,cAAI,OAAO,SAAS,EAAG;AAAA,QACzB;AAGA,YACG,OAA6B,eAC7B,OAAiC,kBAClC;AACA,gBAAM,EAAE,WAAW;AAAA,YACjB;AAAA,YACA;AAAA,YACA,MAAM;AAAA,UAAA;AAERA,0BAAe,GAAG,IAAI,OAAO;AAAA,QAC/B,WAAW,MAAM,eAAe,OAAO,UAAU,cAAc,IAAI,WAAW,IAAI,GAAG;AACnFA,0BAAe,GAAG,IAAI,IAAI,SAAoB;AAC5C,mBAAO,MAAM,eAAe,OAAO,GAAG,IAAI;AAAA,UAC5C;AAAA,QACF,OAAO;AACLA,0BAAe,GAAG,IAAI;AAAA,QACxB;AAAA,MACF,CAAC;AAED,aAAOA;AAAAA,IACT,CAAC;AAED;AAAA,MACE;AAAA,MACA,CAAC,MAAM,SAAS;AACd,YAAI,SAAS,KAAM;AAEnB,aAAK,kBAAkB,IAAI;AAAA,MAC7B;AAAA,MACA,EAAE,WAAW,KAAA;AAAA,IAAK;;aA/J6C,WAAA,UAAU,sBAA3EC,YAcYC,wBAdI,kBAAA,KAAiB,GAAAC,eAAAC,WAAA,EAAA,KAAA,EAAA,GAAU,eAAA,KAAc,CAAA,GAAAC,YAAA,EAAA,GAAA,KAAA;AAAA,QAEpBC,WAAA,QAAA,OAAO,OAAK,CAArC,YAAY,aAAQ;;kBAE3B;AAAA,YAED,IAAAC,QAAA,CAFa,cAAS;AAAA,cAGd,cADRC,UAAA,GAAAP,YAMEQ,WANFL,WAME;AAAA;gBAJC,QAAQ;AAAA,gBACR,aAAW,QAAA;AAAA,gBACX,SAAS,WAAW,WAAW,eAAA;AAAA,cAAA,GACxB,SAAS,GAAA,MAAA,IAAA,CAAA,UAAA,aAAA,SAAA,CAAA;;;;;;;;"}
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, VNode, h } from 'vue';
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 { QdCrudListProps } from './list'\nimport type { QdCrudTableProps } from './table'\nimport type { TableRowData } from 'tdesign-vue-next'\nimport type { ServicePageParams, ServicePagination } from 'qidian-shared'\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":"AAQO,SAAS,kBAMd,QAAgF;AAChF,SAAO;AACT;AAKO,SAAS,iBAMd,QAA8E;AAC9E,SAAO;AACT;"}
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,4 +1,4 @@
1
+ export * from './define';
1
2
  export * from './list';
2
3
  export * from './search';
3
4
  export * from './table';
4
- export * from './define';
@@ -1,36 +1,36 @@
1
- .qd-crud-list[data-v-d1fafa2e] {
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-d1fafa2e] {
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-d1fafa2e] {
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-d1fafa2e] .qd-form {
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-d1fafa2e] .qd-form > .qd-grid {
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-d1fafa2e] {
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-d1fafa2e] {
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-d1fafa2e] {
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-d1fafa2e] {
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 { QdCrudListProps, QdCrudListInstanceFunctions } from './types';
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-d1fafa2e"]]);
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";