qidian-vue-ui 1.2.1 → 1.2.2

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.
@@ -4,7 +4,7 @@ import _sfc_main from "./index.vue2.mjs";
4
4
  /* empty css */
5
5
  /* empty css */
6
6
  import _export_sfc from "../../../_virtual/_plugin-vue_export-helper.mjs";
7
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a8a1d7fb"]]);
7
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-bd896941"]]);
8
8
  export {
9
9
  index as default
10
10
  };
@@ -10,7 +10,6 @@ import { ADAPTIVE_VIEW, ZOOM_SCALE_LIMIT } from "./config.mjs";
10
10
  import { useZoom } from "./hooks/useZoom.mjs";
11
11
  import { useConfig } from "../../config-provider/useConfig.mjs";
12
12
  import { PROVIDE_OFFICE } from "../../config-provider/config.mjs";
13
- import debounce from "../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/debounce.mjs";
14
13
  import { useDebounceFn } from "../../../node_modules/.pnpm/@vueuse_shared@14.0.0_vue@3.5.26_typescript@5.9.3_/node_modules/@vueuse/shared/dist/index.mjs";
15
14
  const _hoisted_1 = {
16
15
  key: 0,
@@ -53,9 +52,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
53
52
  const isAdaptiveView = computed(() => viewer.value?.currentScaleValue === ADAPTIVE_VIEW);
54
53
  const debounceUpdateViewer = useDebounceFn(updateViewer, 300, { maxWait: 900 });
55
54
  const showControls = ref(false);
56
- const setShowControls = debounce((value) => {
57
- showControls.value = value;
58
- }, 300);
59
55
  const { zoomOut, zoomIn, adaptiveView, onWheel, onResize } = useZoom({
60
56
  viewer,
61
57
  updateViewer,
@@ -188,8 +184,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
188
184
  class: "qd-office-pdf",
189
185
  loading: loading.value,
190
186
  size: "small",
191
- onMouseover: _cache[5] || (_cache[5] = ($event) => unref(setShowControls)(true)),
192
- onMouseout: _cache[6] || (_cache[6] = ($event) => unref(setShowControls)(false))
187
+ onMouseover: _cache[5] || (_cache[5] = ($event) => showControls.value = true),
188
+ onMouseleave: _cache[6] || (_cache[6] = ($event) => showControls.value = false)
193
189
  }, {
194
190
  default: withCtx(() => [
195
191
  withDirectives((openBlock(), createElementBlock("div", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../../src/components/office/pdf/index.vue"],"sourcesContent":["<template>\n <t-loading\n class=\"qd-office-pdf\"\n :loading=\"loading\"\n size=\"small\"\n @mouseover=\"setShowControls(true)\"\n @mouseout=\"setShowControls(false)\"\n >\n <div\n ref=\"containerRef\"\n v-resize.300=\"onResize\"\n class=\"qd-office-pdf__container\"\n @wheel=\"onWheel\"\n @scroll=\"onScroll\"\n >\n <div ref=\"viewerRef\" class=\"qd-office-pdf__viewer pdfViewer\"></div>\n </div>\n\n <transition name=\"controls-fade\">\n <div v-if=\"viewer && showControls\" class=\"qd-office-pdf__controls\">\n <div class=\"qd-office-pdf__controls-body\">\n <div class=\"qd-office-pdf__controls-page\">\n <t-tooltip :content=\"t('prevPage')\" :disabled=\"prevPageDisabled\">\n <t-button\n variant=\"text\"\n theme=\"default\"\n :disabled=\"prevPageDisabled\"\n @click=\"updatePage(viewer.currentPageNumber - 1)\"\n >\n <template #icon><chevron-left-icon /></template>\n </t-button>\n </t-tooltip>\n\n <div class=\"qd-office-pdf__controls-page-input\">\n <t-input-number\n v-model=\"viewer.currentPageNumber\"\n auto-width\n theme=\"normal\"\n align=\"center\"\n size=\"small\"\n :min=\"1\"\n :max=\"viewer.pagesCount\"\n />\n / {{ viewer.pagesCount }}\n </div>\n\n <t-tooltip :content=\"t('nextPage')\" :disabled=\"nextPageDisabled\">\n <t-button\n variant=\"text\"\n theme=\"default\"\n :disabled=\"nextPageDisabled\"\n @click=\"updatePage(viewer.currentPageNumber + 1)\"\n >\n <template #icon><chevron-right-icon /></template>\n </t-button>\n </t-tooltip>\n </div>\n\n <t-divider layout=\"vertical\" />\n\n <t-tooltip :content=\"t('zoomOut')\" :disabled=\"zoomOutDisabled\">\n <t-button variant=\"text\" theme=\"default\" :disabled=\"zoomOutDisabled\" @click=\"zoomOut\">\n <template #icon><zoom-out-icon /></template>\n </t-button>\n </t-tooltip>\n\n <div class=\"qd-office-pdf__controls-scale\">\n {{ toPrecision(viewer.currentScale * 100) }}%\n </div>\n\n <t-tooltip :content=\"t('zoomIn')\" :disabled=\"zoomInDisabled\">\n <t-button variant=\"text\" theme=\"default\" :disabled=\"zoomInDisabled\" @click=\"zoomIn\">\n <template #icon><zoom-in-icon /></template>\n </t-button>\n </t-tooltip>\n\n <t-tooltip :content=\"isAdaptiveView ? t('cancelAdaptiveView') : t('adaptiveView')\">\n <t-button\n variant=\"text\"\n :theme=\"isAdaptiveView ? 'primary' : 'default'\"\n @click=\"adaptiveView(!isAdaptiveView)\"\n >\n <template #icon>\n <center-focus-strong-filled-icon v-if=\"isAdaptiveView\" />\n <center-focus-strong-icon v-else />\n </template>\n </t-button>\n </t-tooltip>\n </div>\n </div>\n </transition>\n </t-loading>\n</template>\n\n<script setup lang=\"ts\">\n import type { PageRenderedEvent, QdOfficePdfProps, TextLayerRenderedEvent } from './types'\n import { useDebounceFn } from '@vueuse/core'\n import { to, useCsl, isDev, toPrecision, resizeDirective } from 'qidian-shared'\n import { computed, inject, onMounted, ref, shallowRef, triggerRef, watch } from 'vue'\n import { getDocument, GlobalWorkerOptions } from 'pdfjs-dist/legacy/build/pdf.mjs'\n import {\n EventBus,\n PDFFindController,\n PDFLinkService,\n PDFScriptingManager,\n PDFViewer\n } from 'pdfjs-dist/legacy/web/pdf_viewer.mjs'\n import {\n CenterFocusStrongFilledIcon,\n CenterFocusStrongIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ZoomInIcon,\n ZoomOutIcon\n } from 'tdesign-icons-vue-next'\n import {\n Loading as TLoading,\n Tooltip as TTooltip,\n Button as TButton,\n InputNumber as TInputNumber,\n Divider as TDivider\n } from 'tdesign-vue-next'\n import { ADAPTIVE_VIEW, ZOOM_SCALE_LIMIT } from './config'\n import { useZoom } from './hooks/useZoom'\n import { useConfig } from '../../config-provider/useConfig'\n import { PROVIDE_OFFICE } from '../../config-provider/config'\n import { debounce } from 'lodash-es'\n\n defineOptions({\n name: 'QdOfficePdf'\n })\n\n const props = defineProps<QdOfficePdfProps>()\n const emit = defineEmits<{\n pagesInit: [PDFViewer]\n textLayerRendered: [TextLayerRenderedEvent]\n }>()\n\n const vResize = resizeDirective\n\n const csl = useCsl('pdf')\n const { t } = useConfig('office')\n const globalOffice = inject(\n PROVIDE_OFFICE,\n computed(() => undefined)\n )\n GlobalWorkerOptions.workerSrc = globalOffice.value?.pdfWorkerUrl || props.workerUrl || ''\n\n const loading = ref(false)\n const containerRef = ref<HTMLDivElement>()\n const viewerRef = ref<HTMLDivElement>()\n const viewer = shallowRef<PDFViewer | undefined>()\n const isAdaptiveView = computed(() => viewer.value?.currentScaleValue === ADAPTIVE_VIEW)\n const debounceUpdateViewer = useDebounceFn(updateViewer, 300, { maxWait: 900 })\n const showControls = ref(false)\n\n const setShowControls = debounce((value: boolean) => {\n showControls.value = value\n }, 300)\n\n const { zoomOut, zoomIn, adaptiveView, onWheel, onResize } = useZoom({\n viewer,\n updateViewer,\n debounceUpdateViewer\n })\n\n const prevPageDisabled = computed(() => {\n const viewerVm = viewer.value\n return viewerVm && viewerVm.currentPageNumber <= 1\n })\n const nextPageDisabled = computed(() => {\n const viewerVm = viewer.value\n return viewerVm && viewerVm.currentPageNumber >= viewerVm.pagesCount\n })\n const zoomOutDisabled = computed(() => {\n const viewerVm = viewer.value\n return viewerVm && viewerVm.currentScale <= ZOOM_SCALE_LIMIT.MIN\n })\n const zoomInDisabled = computed(() => {\n const viewerVm = viewer.value\n return viewerVm && viewerVm.currentScale >= ZOOM_SCALE_LIMIT.MAX\n })\n\n async function render() {\n const { src, cMapUrl, iccUrl, wasmUrl, standardFontDataUrl } = props\n const containerEl = containerRef.value\n const viewerEl = viewerRef.value\n if (!src || !containerEl || !viewerEl) return\n\n loading.value = true\n const eventBus = new EventBus()\n const linkService = new PDFLinkService({\n eventBus,\n externalLinkTarget: 2,\n externalLinkRel: ''\n })\n linkService.externalLinkEnabled = false // 禁用外链跳转\n\n const findController = new PDFFindController({\n eventBus,\n linkService,\n updateMatchesCountOnProgress: true\n })\n const scriptingManager = new PDFScriptingManager({\n eventBus,\n sandboxBundleSrc: globalOffice.value?.pdfSandboxUrl || props.sandboxUrl\n })\n\n viewer.value = new PDFViewer({\n container: containerEl,\n viewer: viewerEl,\n eventBus,\n linkService,\n findController,\n scriptingManager,\n annotationEditorMode: 0,\n textLayerMode: 1,\n annotationMode: 1,\n enablePrintAutoRotate: true,\n maxCanvasPixels: 33554432,\n maxCanvasDim: 32767,\n capCanvasAreaFactor: 200,\n enableHWA: true,\n enableDetailCanvas: true,\n enablePermissions: true,\n supportsPinchToZoom: true,\n enableAutoLinking: true,\n minDurationToUpdateCanvas: 500,\n l10n: undefined\n })\n const viewerVm = viewer.value\n\n linkService.setViewer(viewerVm)\n scriptingManager.setViewer(viewerVm)\n\n const loadingTask = getDocument({\n url: src,\n cMapUrl: globalOffice.value?.pdfCMapUrl || cMapUrl,\n iccUrl: globalOffice.value?.pdfIccUrl || iccUrl,\n wasmUrl: globalOffice.value?.pdfWasmUrl || wasmUrl,\n standardFontDataUrl: globalOffice.value?.pdfStandardFontDataUrl || standardFontDataUrl,\n pdfBug: isDev,\n cMapPacked: true,\n enableXfa: true,\n enableHWA: true,\n isEvalSupported: true,\n isOffscreenCanvasSupported: true,\n useWasm: true,\n useWorkerFetch: true,\n\n verbosity: 1,\n maxImageSize: -1,\n canvasMaxAreaInBytes: -1,\n\n fontExtraProperties: false,\n disableAutoFetch: false,\n disableFontFace: false,\n disableRange: false,\n disableStream: false\n })\n const [pdfErr, pdf] = await to(loadingTask.promise)\n if (pdfErr) {\n loading.value = false\n return\n }\n\n viewerVm.setDocument(pdf)\n linkService.setDocument(pdf)\n\n eventBus.on('pagesinit', () => {\n csl.log.dev('pagesInit')\n loading.value = false\n emit('pagesInit', viewerVm)\n })\n\n eventBus.on('pagerendered', (evt: PageRenderedEvent) => {\n csl.log.dev('pageRendered', evt.pageNumber)\n })\n\n eventBus.on('textlayerrendered', (evt: TextLayerRenderedEvent) => {\n emit('textLayerRendered', evt)\n })\n }\n\n function updateViewer() {\n if (!viewer.value) return\n\n triggerRef(viewer)\n }\n\n function updatePage(page: number) {\n const viewerVm = viewer.value\n if (!viewerVm) return\n\n viewerVm.currentPageNumber = page\n updateViewer()\n }\n\n function onScroll() {\n debounceUpdateViewer()\n }\n\n onMounted(() => {\n render()\n watch(() => props.src, render)\n })\n</script>\n\n<style lang=\"less\">\n @import 'pdfjs-dist/legacy/web/pdf_viewer.css';\n</style>\n\n<style lang=\"less\" scoped>\n .qd-office-pdf {\n width: 100%;\n height: 100%;\n position: relative;\n background-color: var(--td-bg-color-component);\n\n &__container {\n position: absolute;\n width: 100%;\n max-height: 100%;\n overflow: auto;\n }\n\n &__viewer {\n width: 100%;\n height: 100%;\n\n :deep(.page) {\n // NOTE 解决 textLayer 整体偏移问题\n box-sizing: content-box;\n }\n\n :deep(.annotationLayer) {\n :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder) > a {\n background-color: transparent;\n }\n }\n }\n\n &__controls {\n position: absolute;\n left: 50%;\n bottom: var(--td-comp-paddingTB-xl) !important;\n transform: translateX(-50%);\n border-radius: 3px;\n background-color: rgba(var(--td-bg-color-container), 0.5);\n backdrop-filter: blur(2px);\n box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n user-select: none;\n transition: all 0.2s linear;\n\n .t-button {\n width: 38px;\n height: 38px;\n padding: 0;\n margin-left: 0;\n }\n\n &-body {\n display: flex;\n align-items: center;\n opacity: 0.5;\n transition: opacity 0.2s linear;\n }\n\n &-scale {\n width: 39px;\n margin: 0 var(--td-comp-margin-s);\n }\n\n &-page {\n display: flex;\n align-items: stretch;\n\n :deep(.t-input-number) {\n width: auto;\n\n .t-input {\n padding: 0;\n\n &__wrap {\n min-width: 32px;\n }\n\n &__inner {\n min-width: 32px;\n }\n }\n }\n\n &-input {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n padding: 0 var(--td-comp-paddingTB-s);\n font-size: var(--td-font-body-medium);\n gap: var(--td-comp-margin-s);\n background-color: var(--td-bg-color-secondarycontainer);\n border-radius: var(--td-radius-default);\n }\n }\n\n &:hover {\n background-color: var(--td-bg-color-container);\n\n .qd-office-pdf__controls-body {\n opacity: 1;\n }\n }\n }\n }\n\n .controls-fade-leave-active,\n .controls-fade-enter-active {\n transition: opacity 0.28s cubic-bezier(0.38, 0, 0.24, 1);\n }\n\n .controls-fade-enter-from,\n .controls-fade-leave-to {\n opacity: 0;\n }\n</style>\n"],"names":["PDFScriptingManager","_createBlock","_unref","TLoading","_createElementBlock","_createElementVNode","_createVNode","_Transition","_openBlock","TTooltip","TButton","TInputNumber","_toDisplayString","TDivider"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../../src/components/office/pdf/index.vue"],"sourcesContent":["<template>\n <t-loading\n class=\"qd-office-pdf\"\n :loading=\"loading\"\n size=\"small\"\n @mouseover=\"showControls = true\"\n @mouseleave=\"showControls = false\"\n >\n <div\n ref=\"containerRef\"\n v-resize.300=\"onResize\"\n class=\"qd-office-pdf__container\"\n @wheel=\"onWheel\"\n @scroll=\"onScroll\"\n >\n <div ref=\"viewerRef\" class=\"qd-office-pdf__viewer pdfViewer\"></div>\n </div>\n\n <transition name=\"controls-fade\">\n <div v-if=\"viewer && showControls\" class=\"qd-office-pdf__controls\">\n <div class=\"qd-office-pdf__controls-body\">\n <div class=\"qd-office-pdf__controls-page\">\n <t-tooltip :content=\"t('prevPage')\" :disabled=\"prevPageDisabled\">\n <t-button\n variant=\"text\"\n theme=\"default\"\n :disabled=\"prevPageDisabled\"\n @click=\"updatePage(viewer.currentPageNumber - 1)\"\n >\n <template #icon><chevron-left-icon /></template>\n </t-button>\n </t-tooltip>\n\n <div class=\"qd-office-pdf__controls-page-input\">\n <t-input-number\n v-model=\"viewer.currentPageNumber\"\n auto-width\n theme=\"normal\"\n align=\"center\"\n size=\"small\"\n :min=\"1\"\n :max=\"viewer.pagesCount\"\n />\n / {{ viewer.pagesCount }}\n </div>\n\n <t-tooltip :content=\"t('nextPage')\" :disabled=\"nextPageDisabled\">\n <t-button\n variant=\"text\"\n theme=\"default\"\n :disabled=\"nextPageDisabled\"\n @click=\"updatePage(viewer.currentPageNumber + 1)\"\n >\n <template #icon><chevron-right-icon /></template>\n </t-button>\n </t-tooltip>\n </div>\n\n <t-divider layout=\"vertical\" />\n\n <t-tooltip :content=\"t('zoomOut')\" :disabled=\"zoomOutDisabled\">\n <t-button variant=\"text\" theme=\"default\" :disabled=\"zoomOutDisabled\" @click=\"zoomOut\">\n <template #icon><zoom-out-icon /></template>\n </t-button>\n </t-tooltip>\n\n <div class=\"qd-office-pdf__controls-scale\">\n {{ toPrecision(viewer.currentScale * 100) }}%\n </div>\n\n <t-tooltip :content=\"t('zoomIn')\" :disabled=\"zoomInDisabled\">\n <t-button variant=\"text\" theme=\"default\" :disabled=\"zoomInDisabled\" @click=\"zoomIn\">\n <template #icon><zoom-in-icon /></template>\n </t-button>\n </t-tooltip>\n\n <t-tooltip :content=\"isAdaptiveView ? t('cancelAdaptiveView') : t('adaptiveView')\">\n <t-button\n variant=\"text\"\n :theme=\"isAdaptiveView ? 'primary' : 'default'\"\n @click=\"adaptiveView(!isAdaptiveView)\"\n >\n <template #icon>\n <center-focus-strong-filled-icon v-if=\"isAdaptiveView\" />\n <center-focus-strong-icon v-else />\n </template>\n </t-button>\n </t-tooltip>\n </div>\n </div>\n </transition>\n </t-loading>\n</template>\n\n<script setup lang=\"ts\">\n import type { PageRenderedEvent, QdOfficePdfProps, TextLayerRenderedEvent } from './types'\n import { useDebounceFn } from '@vueuse/core'\n import { to, useCsl, isDev, toPrecision, resizeDirective } from 'qidian-shared'\n import { computed, inject, onMounted, ref, shallowRef, triggerRef, watch } from 'vue'\n import { getDocument, GlobalWorkerOptions } from 'pdfjs-dist/legacy/build/pdf.mjs'\n import {\n EventBus,\n PDFFindController,\n PDFLinkService,\n PDFScriptingManager,\n PDFViewer\n } from 'pdfjs-dist/legacy/web/pdf_viewer.mjs'\n import {\n CenterFocusStrongFilledIcon,\n CenterFocusStrongIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ZoomInIcon,\n ZoomOutIcon\n } from 'tdesign-icons-vue-next'\n import {\n Loading as TLoading,\n Tooltip as TTooltip,\n Button as TButton,\n InputNumber as TInputNumber,\n Divider as TDivider\n } from 'tdesign-vue-next'\n import { ADAPTIVE_VIEW, ZOOM_SCALE_LIMIT } from './config'\n import { useZoom } from './hooks/useZoom'\n import { useConfig } from '../../config-provider/useConfig'\n import { PROVIDE_OFFICE } from '../../config-provider/config'\n\n defineOptions({\n name: 'QdOfficePdf'\n })\n\n const props = defineProps<QdOfficePdfProps>()\n const emit = defineEmits<{\n pagesInit: [PDFViewer]\n textLayerRendered: [TextLayerRenderedEvent]\n }>()\n\n const vResize = resizeDirective\n\n const csl = useCsl('pdf')\n const { t } = useConfig('office')\n const globalOffice = inject(\n PROVIDE_OFFICE,\n computed(() => undefined)\n )\n GlobalWorkerOptions.workerSrc = globalOffice.value?.pdfWorkerUrl || props.workerUrl || ''\n\n const loading = ref(false)\n const containerRef = ref<HTMLDivElement>()\n const viewerRef = ref<HTMLDivElement>()\n const viewer = shallowRef<PDFViewer | undefined>()\n const isAdaptiveView = computed(() => viewer.value?.currentScaleValue === ADAPTIVE_VIEW)\n const debounceUpdateViewer = useDebounceFn(updateViewer, 300, { maxWait: 900 })\n const showControls = ref(false)\n\n const { zoomOut, zoomIn, adaptiveView, onWheel, onResize } = useZoom({\n viewer,\n updateViewer,\n debounceUpdateViewer\n })\n\n const prevPageDisabled = computed(() => {\n const viewerVm = viewer.value\n return viewerVm && viewerVm.currentPageNumber <= 1\n })\n const nextPageDisabled = computed(() => {\n const viewerVm = viewer.value\n return viewerVm && viewerVm.currentPageNumber >= viewerVm.pagesCount\n })\n const zoomOutDisabled = computed(() => {\n const viewerVm = viewer.value\n return viewerVm && viewerVm.currentScale <= ZOOM_SCALE_LIMIT.MIN\n })\n const zoomInDisabled = computed(() => {\n const viewerVm = viewer.value\n return viewerVm && viewerVm.currentScale >= ZOOM_SCALE_LIMIT.MAX\n })\n\n async function render() {\n const { src, cMapUrl, iccUrl, wasmUrl, standardFontDataUrl } = props\n const containerEl = containerRef.value\n const viewerEl = viewerRef.value\n if (!src || !containerEl || !viewerEl) return\n\n loading.value = true\n const eventBus = new EventBus()\n const linkService = new PDFLinkService({\n eventBus,\n externalLinkTarget: 2,\n externalLinkRel: ''\n })\n linkService.externalLinkEnabled = false // 禁用外链跳转\n\n const findController = new PDFFindController({\n eventBus,\n linkService,\n updateMatchesCountOnProgress: true\n })\n const scriptingManager = new PDFScriptingManager({\n eventBus,\n sandboxBundleSrc: globalOffice.value?.pdfSandboxUrl || props.sandboxUrl\n })\n\n viewer.value = new PDFViewer({\n container: containerEl,\n viewer: viewerEl,\n eventBus,\n linkService,\n findController,\n scriptingManager,\n annotationEditorMode: 0,\n textLayerMode: 1,\n annotationMode: 1,\n enablePrintAutoRotate: true,\n maxCanvasPixels: 33554432,\n maxCanvasDim: 32767,\n capCanvasAreaFactor: 200,\n enableHWA: true,\n enableDetailCanvas: true,\n enablePermissions: true,\n supportsPinchToZoom: true,\n enableAutoLinking: true,\n minDurationToUpdateCanvas: 500,\n l10n: undefined\n })\n const viewerVm = viewer.value\n\n linkService.setViewer(viewerVm)\n scriptingManager.setViewer(viewerVm)\n\n const loadingTask = getDocument({\n url: src,\n cMapUrl: globalOffice.value?.pdfCMapUrl || cMapUrl,\n iccUrl: globalOffice.value?.pdfIccUrl || iccUrl,\n wasmUrl: globalOffice.value?.pdfWasmUrl || wasmUrl,\n standardFontDataUrl: globalOffice.value?.pdfStandardFontDataUrl || standardFontDataUrl,\n pdfBug: isDev,\n cMapPacked: true,\n enableXfa: true,\n enableHWA: true,\n isEvalSupported: true,\n isOffscreenCanvasSupported: true,\n useWasm: true,\n useWorkerFetch: true,\n\n verbosity: 1,\n maxImageSize: -1,\n canvasMaxAreaInBytes: -1,\n\n fontExtraProperties: false,\n disableAutoFetch: false,\n disableFontFace: false,\n disableRange: false,\n disableStream: false\n })\n const [pdfErr, pdf] = await to(loadingTask.promise)\n if (pdfErr) {\n loading.value = false\n return\n }\n\n viewerVm.setDocument(pdf)\n linkService.setDocument(pdf)\n\n eventBus.on('pagesinit', () => {\n csl.log.dev('pagesInit')\n loading.value = false\n emit('pagesInit', viewerVm)\n })\n\n eventBus.on('pagerendered', (evt: PageRenderedEvent) => {\n csl.log.dev('pageRendered', evt.pageNumber)\n })\n\n eventBus.on('textlayerrendered', (evt: TextLayerRenderedEvent) => {\n emit('textLayerRendered', evt)\n })\n }\n\n function updateViewer() {\n if (!viewer.value) return\n\n triggerRef(viewer)\n }\n\n function updatePage(page: number) {\n const viewerVm = viewer.value\n if (!viewerVm) return\n\n viewerVm.currentPageNumber = page\n updateViewer()\n }\n\n function onScroll() {\n debounceUpdateViewer()\n }\n\n onMounted(() => {\n render()\n watch(() => props.src, render)\n })\n</script>\n\n<style lang=\"less\">\n @import 'pdfjs-dist/legacy/web/pdf_viewer.css';\n</style>\n\n<style lang=\"less\" scoped>\n .qd-office-pdf {\n width: 100%;\n height: 100%;\n position: relative;\n background-color: var(--td-bg-color-component);\n\n &__container {\n position: absolute;\n width: 100%;\n max-height: 100%;\n overflow: auto;\n }\n\n &__viewer {\n width: 100%;\n height: 100%;\n\n :deep(.page) {\n // NOTE 解决 textLayer 整体偏移问题\n box-sizing: content-box;\n }\n\n :deep(.annotationLayer) {\n :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder) > a {\n background-color: transparent;\n }\n }\n }\n\n &__controls {\n position: absolute;\n left: 50%;\n bottom: var(--td-comp-paddingTB-xl) !important;\n transform: translateX(-50%);\n border-radius: 3px;\n background-color: rgba(var(--td-bg-color-container), 0.5);\n backdrop-filter: blur(2px);\n box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.08);\n user-select: none;\n transition: all 0.2s linear;\n\n .t-button {\n width: 38px;\n height: 38px;\n padding: 0;\n margin-left: 0;\n }\n\n &-body {\n display: flex;\n align-items: center;\n opacity: 0.5;\n transition: opacity 0.2s linear;\n }\n\n &-scale {\n width: 39px;\n margin: 0 var(--td-comp-margin-s);\n }\n\n &-page {\n display: flex;\n align-items: stretch;\n\n :deep(.t-input-number) {\n width: auto;\n\n .t-input {\n padding: 0;\n\n &__wrap {\n min-width: 32px;\n }\n\n &__inner {\n min-width: 32px;\n }\n }\n }\n\n &-input {\n display: inline-flex;\n align-items: center;\n flex-shrink: 0;\n padding: 0 var(--td-comp-paddingTB-s);\n font-size: var(--td-font-body-medium);\n gap: var(--td-comp-margin-s);\n background-color: var(--td-bg-color-secondarycontainer);\n border-radius: var(--td-radius-default);\n }\n }\n\n &:hover {\n background-color: var(--td-bg-color-container);\n\n .qd-office-pdf__controls-body {\n opacity: 1;\n }\n }\n }\n }\n\n .controls-fade-leave-active,\n .controls-fade-enter-active {\n transition: opacity 0.28s cubic-bezier(0.38, 0, 0.24, 1);\n }\n\n .controls-fade-enter-from,\n .controls-fade-leave-to {\n opacity: 0;\n }\n</style>\n"],"names":["PDFScriptingManager","_createBlock","_unref","TLoading","_createElementBlock","_createElementVNode","_createVNode","_Transition","_openBlock","TTooltip","TButton","TInputNumber","_toDisplayString","TDivider"],"mappings":"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"}
@@ -1,26 +1,26 @@
1
- .qd-office-pdf[data-v-a8a1d7fb] {
1
+ .qd-office-pdf[data-v-bd896941] {
2
2
  width: 100%;
3
3
  height: 100%;
4
4
  position: relative;
5
5
  background-color: var(--td-bg-color-component);
6
6
  }
7
- .qd-office-pdf__container[data-v-a8a1d7fb] {
7
+ .qd-office-pdf__container[data-v-bd896941] {
8
8
  position: absolute;
9
9
  width: 100%;
10
10
  max-height: 100%;
11
11
  overflow: auto;
12
12
  }
13
- .qd-office-pdf__viewer[data-v-a8a1d7fb] {
13
+ .qd-office-pdf__viewer[data-v-bd896941] {
14
14
  width: 100%;
15
15
  height: 100%;
16
16
  }
17
- .qd-office-pdf__viewer[data-v-a8a1d7fb] .page {
17
+ .qd-office-pdf__viewer[data-v-bd896941] .page {
18
18
  box-sizing: content-box;
19
19
  }
20
- .qd-office-pdf__viewer[data-v-a8a1d7fb] .annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder) > a {
20
+ .qd-office-pdf__viewer[data-v-bd896941] .annotationLayer :is(.linkAnnotation, .buttonWidgetAnnotation.pushButton):not(.hasBorder) > a {
21
21
  background-color: transparent;
22
22
  }
23
- .qd-office-pdf__controls[data-v-a8a1d7fb] {
23
+ .qd-office-pdf__controls[data-v-bd896941] {
24
24
  position: absolute;
25
25
  left: 50%;
26
26
  bottom: var(--td-comp-paddingTB-xl) !important;
@@ -32,39 +32,39 @@
32
32
  user-select: none;
33
33
  transition: all 0.2s linear;
34
34
  }
35
- .qd-office-pdf__controls .t-button[data-v-a8a1d7fb] {
35
+ .qd-office-pdf__controls .t-button[data-v-bd896941] {
36
36
  width: 38px;
37
37
  height: 38px;
38
38
  padding: 0;
39
39
  margin-left: 0;
40
40
  }
41
- .qd-office-pdf__controls-body[data-v-a8a1d7fb] {
41
+ .qd-office-pdf__controls-body[data-v-bd896941] {
42
42
  display: flex;
43
43
  align-items: center;
44
44
  opacity: 0.5;
45
45
  transition: opacity 0.2s linear;
46
46
  }
47
- .qd-office-pdf__controls-scale[data-v-a8a1d7fb] {
47
+ .qd-office-pdf__controls-scale[data-v-bd896941] {
48
48
  width: 39px;
49
49
  margin: 0 var(--td-comp-margin-s);
50
50
  }
51
- .qd-office-pdf__controls-page[data-v-a8a1d7fb] {
51
+ .qd-office-pdf__controls-page[data-v-bd896941] {
52
52
  display: flex;
53
53
  align-items: stretch;
54
54
  }
55
- .qd-office-pdf__controls-page[data-v-a8a1d7fb] .t-input-number {
55
+ .qd-office-pdf__controls-page[data-v-bd896941] .t-input-number {
56
56
  width: auto;
57
57
  }
58
- .qd-office-pdf__controls-page[data-v-a8a1d7fb] .t-input-number .t-input {
58
+ .qd-office-pdf__controls-page[data-v-bd896941] .t-input-number .t-input {
59
59
  padding: 0;
60
60
  }
61
- .qd-office-pdf__controls-page[data-v-a8a1d7fb] .t-input-number .t-input__wrap {
61
+ .qd-office-pdf__controls-page[data-v-bd896941] .t-input-number .t-input__wrap {
62
62
  min-width: 32px;
63
63
  }
64
- .qd-office-pdf__controls-page[data-v-a8a1d7fb] .t-input-number .t-input__inner {
64
+ .qd-office-pdf__controls-page[data-v-bd896941] .t-input-number .t-input__inner {
65
65
  min-width: 32px;
66
66
  }
67
- .qd-office-pdf__controls-page-input[data-v-a8a1d7fb] {
67
+ .qd-office-pdf__controls-page-input[data-v-bd896941] {
68
68
  display: inline-flex;
69
69
  align-items: center;
70
70
  flex-shrink: 0;
@@ -74,17 +74,17 @@
74
74
  background-color: var(--td-bg-color-secondarycontainer);
75
75
  border-radius: var(--td-radius-default);
76
76
  }
77
- .qd-office-pdf__controls[data-v-a8a1d7fb]:hover {
77
+ .qd-office-pdf__controls[data-v-bd896941]:hover {
78
78
  background-color: var(--td-bg-color-container);
79
79
  }
80
- .qd-office-pdf__controls:hover .qd-office-pdf__controls-body[data-v-a8a1d7fb] {
80
+ .qd-office-pdf__controls:hover .qd-office-pdf__controls-body[data-v-bd896941] {
81
81
  opacity: 1;
82
82
  }
83
- .controls-fade-leave-active[data-v-a8a1d7fb],
84
- .controls-fade-enter-active[data-v-a8a1d7fb] {
83
+ .controls-fade-leave-active[data-v-bd896941],
84
+ .controls-fade-enter-active[data-v-bd896941] {
85
85
  transition: opacity 0.28s cubic-bezier(0.38, 0, 0.24, 1);
86
86
  }
87
- .controls-fade-enter-from[data-v-a8a1d7fb],
88
- .controls-fade-leave-to[data-v-a8a1d7fb] {
87
+ .controls-fade-enter-from[data-v-bd896941],
88
+ .controls-fade-leave-to[data-v-bd896941] {
89
89
  opacity: 0;
90
90
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qidian-vue-ui",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "基于 TDesign 的 QiDian Vue UI 组件库",
5
5
  "author": "qidian",
6
6
  "license": "MIT",
@@ -1,9 +0,0 @@
1
- import trimmedEndIndex from "./_trimmedEndIndex.mjs";
2
- var reTrimStart = /^\s+/;
3
- function baseTrim(string) {
4
- return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
5
- }
6
- export {
7
- baseTrim as default
8
- };
9
- //# sourceMappingURL=_baseTrim.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_baseTrim.mjs","sources":["../../../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_baseTrim.js"],"sourcesContent":["import trimmedEndIndex from './_trimmedEndIndex.js';\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nexport default baseTrim;\n"],"names":[],"mappings":";AAGA,IAAI,cAAc;AASlB,SAAS,SAAS,QAAQ;AACxB,SAAO,SACH,OAAO,MAAM,GAAG,gBAAgB,MAAM,IAAI,CAAC,EAAE,QAAQ,aAAa,EAAE,IACpE;AACN;","x_google_ignoreList":[0]}
@@ -1,11 +0,0 @@
1
- var reWhitespace = /\s/;
2
- function trimmedEndIndex(string) {
3
- var index = string.length;
4
- while (index-- && reWhitespace.test(string.charAt(index))) {
5
- }
6
- return index;
7
- }
8
- export {
9
- trimmedEndIndex as default
10
- };
11
- //# sourceMappingURL=_trimmedEndIndex.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"_trimmedEndIndex.mjs","sources":["../../../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/_trimmedEndIndex.js"],"sourcesContent":["/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nexport default trimmedEndIndex;\n"],"names":[],"mappings":"AACA,IAAI,eAAe;AAUnB,SAAS,gBAAgB,QAAQ;AAC/B,MAAI,QAAQ,OAAO;AAEnB,SAAO,WAAW,aAAa,KAAK,OAAO,OAAO,KAAK,CAAC,GAAG;AAAA,EAAC;AAC5D,SAAO;AACT;","x_google_ignoreList":[0]}
@@ -1,90 +0,0 @@
1
- import isObject from "./isObject.mjs";
2
- import now from "./now.mjs";
3
- import toNumber from "./toNumber.mjs";
4
- var FUNC_ERROR_TEXT = "Expected a function";
5
- var nativeMax = Math.max, nativeMin = Math.min;
6
- function debounce(func, wait, options) {
7
- var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
8
- if (typeof func != "function") {
9
- throw new TypeError(FUNC_ERROR_TEXT);
10
- }
11
- wait = toNumber(wait) || 0;
12
- if (isObject(options)) {
13
- leading = !!options.leading;
14
- maxing = "maxWait" in options;
15
- maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
16
- trailing = "trailing" in options ? !!options.trailing : trailing;
17
- }
18
- function invokeFunc(time) {
19
- var args = lastArgs, thisArg = lastThis;
20
- lastArgs = lastThis = void 0;
21
- lastInvokeTime = time;
22
- result = func.apply(thisArg, args);
23
- return result;
24
- }
25
- function leadingEdge(time) {
26
- lastInvokeTime = time;
27
- timerId = setTimeout(timerExpired, wait);
28
- return leading ? invokeFunc(time) : result;
29
- }
30
- function remainingWait(time) {
31
- var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
32
- return maxing ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
33
- }
34
- function shouldInvoke(time) {
35
- var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
36
- return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
37
- }
38
- function timerExpired() {
39
- var time = now();
40
- if (shouldInvoke(time)) {
41
- return trailingEdge(time);
42
- }
43
- timerId = setTimeout(timerExpired, remainingWait(time));
44
- }
45
- function trailingEdge(time) {
46
- timerId = void 0;
47
- if (trailing && lastArgs) {
48
- return invokeFunc(time);
49
- }
50
- lastArgs = lastThis = void 0;
51
- return result;
52
- }
53
- function cancel() {
54
- if (timerId !== void 0) {
55
- clearTimeout(timerId);
56
- }
57
- lastInvokeTime = 0;
58
- lastArgs = lastCallTime = lastThis = timerId = void 0;
59
- }
60
- function flush() {
61
- return timerId === void 0 ? result : trailingEdge(now());
62
- }
63
- function debounced() {
64
- var time = now(), isInvoking = shouldInvoke(time);
65
- lastArgs = arguments;
66
- lastThis = this;
67
- lastCallTime = time;
68
- if (isInvoking) {
69
- if (timerId === void 0) {
70
- return leadingEdge(lastCallTime);
71
- }
72
- if (maxing) {
73
- clearTimeout(timerId);
74
- timerId = setTimeout(timerExpired, wait);
75
- return invokeFunc(lastCallTime);
76
- }
77
- }
78
- if (timerId === void 0) {
79
- timerId = setTimeout(timerExpired, wait);
80
- }
81
- return result;
82
- }
83
- debounced.cancel = cancel;
84
- debounced.flush = flush;
85
- return debounced;
86
- }
87
- export {
88
- debounce as default
89
- };
90
- //# sourceMappingURL=debounce.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debounce.mjs","sources":["../../../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/debounce.js"],"sourcesContent":["import isObject from './isObject.js';\nimport now from './now.js';\nimport toNumber from './toNumber.js';\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nexport default debounce;\n"],"names":[],"mappings":";;;AAKA,IAAI,kBAAkB;AAGtB,IAAI,YAAY,KAAK,KACjB,YAAY,KAAK;AAwDrB,SAAS,SAAS,MAAM,MAAM,SAAS;AACrC,MAAI,UACA,UACA,SACA,QACA,SACA,cACA,iBAAiB,GACjB,UAAU,OACV,SAAS,OACT,WAAW;AAEf,MAAI,OAAO,QAAQ,YAAY;AAC7B,UAAM,IAAI,UAAU,eAAe;AAAA,EACrC;AACA,SAAO,SAAS,IAAI,KAAK;AACzB,MAAI,SAAS,OAAO,GAAG;AACrB,cAAU,CAAC,CAAC,QAAQ;AACpB,aAAS,aAAa;AACtB,cAAU,SAAS,UAAU,SAAS,QAAQ,OAAO,KAAK,GAAG,IAAI,IAAI;AACrE,eAAW,cAAc,UAAU,CAAC,CAAC,QAAQ,WAAW;AAAA,EAC1D;AAEA,WAAS,WAAW,MAAM;AACxB,QAAI,OAAO,UACP,UAAU;AAEd,eAAW,WAAW;AACtB,qBAAiB;AACjB,aAAS,KAAK,MAAM,SAAS,IAAI;AACjC,WAAO;AAAA,EACT;AAEA,WAAS,YAAY,MAAM;AAEzB,qBAAiB;AAEjB,cAAU,WAAW,cAAc,IAAI;AAEvC,WAAO,UAAU,WAAW,IAAI,IAAI;AAAA,EACtC;AAEA,WAAS,cAAc,MAAM;AAC3B,QAAI,oBAAoB,OAAO,cAC3B,sBAAsB,OAAO,gBAC7B,cAAc,OAAO;AAEzB,WAAO,SACH,UAAU,aAAa,UAAU,mBAAmB,IACpD;AAAA,EACN;AAEA,WAAS,aAAa,MAAM;AAC1B,QAAI,oBAAoB,OAAO,cAC3B,sBAAsB,OAAO;AAKjC,WAAQ,iBAAiB,UAAc,qBAAqB,QACzD,oBAAoB,KAAO,UAAU,uBAAuB;AAAA,EACjE;AAEA,WAAS,eAAe;AACtB,QAAI,OAAO,IAAG;AACd,QAAI,aAAa,IAAI,GAAG;AACtB,aAAO,aAAa,IAAI;AAAA,IAC1B;AAEA,cAAU,WAAW,cAAc,cAAc,IAAI,CAAC;AAAA,EACxD;AAEA,WAAS,aAAa,MAAM;AAC1B,cAAU;AAIV,QAAI,YAAY,UAAU;AACxB,aAAO,WAAW,IAAI;AAAA,IACxB;AACA,eAAW,WAAW;AACtB,WAAO;AAAA,EACT;AAEA,WAAS,SAAS;AAChB,QAAI,YAAY,QAAW;AACzB,mBAAa,OAAO;AAAA,IACtB;AACA,qBAAiB;AACjB,eAAW,eAAe,WAAW,UAAU;AAAA,EACjD;AAEA,WAAS,QAAQ;AACf,WAAO,YAAY,SAAY,SAAS,aAAa,IAAG,CAAE;AAAA,EAC5D;AAEA,WAAS,YAAY;AACnB,QAAI,OAAO,IAAG,GACV,aAAa,aAAa,IAAI;AAElC,eAAW;AACX,eAAW;AACX,mBAAe;AAEf,QAAI,YAAY;AACd,UAAI,YAAY,QAAW;AACzB,eAAO,YAAY,YAAY;AAAA,MACjC;AACA,UAAI,QAAQ;AAEV,qBAAa,OAAO;AACpB,kBAAU,WAAW,cAAc,IAAI;AACvC,eAAO,WAAW,YAAY;AAAA,MAChC;AAAA,IACF;AACA,QAAI,YAAY,QAAW;AACzB,gBAAU,WAAW,cAAc,IAAI;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AACA,YAAU,SAAS;AACnB,YAAU,QAAQ;AAClB,SAAO;AACT;","x_google_ignoreList":[0]}
@@ -1,8 +0,0 @@
1
- import root from "./_root.mjs";
2
- var now = function() {
3
- return root.Date.now();
4
- };
5
- export {
6
- now as default
7
- };
8
- //# sourceMappingURL=now.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"now.mjs","sources":["../../../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/now.js"],"sourcesContent":["import root from './_root.js';\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nexport default now;\n"],"names":[],"mappings":";AAkBG,IAAC,MAAM,WAAW;AACnB,SAAO,KAAK,KAAK,IAAG;AACtB;","x_google_ignoreList":[0]}
@@ -1,30 +0,0 @@
1
- import baseTrim from "./_baseTrim.mjs";
2
- import isObject from "./isObject.mjs";
3
- import isSymbol from "./isSymbol.mjs";
4
- var NAN = 0 / 0;
5
- var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
6
- var reIsBinary = /^0b[01]+$/i;
7
- var reIsOctal = /^0o[0-7]+$/i;
8
- var freeParseInt = parseInt;
9
- function toNumber(value) {
10
- if (typeof value == "number") {
11
- return value;
12
- }
13
- if (isSymbol(value)) {
14
- return NAN;
15
- }
16
- if (isObject(value)) {
17
- var other = typeof value.valueOf == "function" ? value.valueOf() : value;
18
- value = isObject(other) ? other + "" : other;
19
- }
20
- if (typeof value != "string") {
21
- return value === 0 ? value : +value;
22
- }
23
- value = baseTrim(value);
24
- var isBinary = reIsBinary.test(value);
25
- return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
26
- }
27
- export {
28
- toNumber as default
29
- };
30
- //# sourceMappingURL=toNumber.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toNumber.mjs","sources":["../../../../../../../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/toNumber.js"],"sourcesContent":["import baseTrim from './_baseTrim.js';\nimport isObject from './isObject.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nexport default toNumber;\n"],"names":[],"mappings":";;;AAKA,IAAI,MAAM,IAAI;AAGd,IAAI,aAAa;AAGjB,IAAI,aAAa;AAGjB,IAAI,YAAY;AAGhB,IAAI,eAAe;AAyBnB,SAAS,SAAS,OAAO;AACvB,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO;AAAA,EACT;AACA,MAAI,SAAS,KAAK,GAAG;AACnB,WAAO;AAAA,EACT;AACA,MAAI,SAAS,KAAK,GAAG;AACnB,QAAI,QAAQ,OAAO,MAAM,WAAW,aAAa,MAAM,QAAO,IAAK;AACnE,YAAQ,SAAS,KAAK,IAAK,QAAQ,KAAM;AAAA,EAC3C;AACA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,UAAU,IAAI,QAAQ,CAAC;AAAA,EAChC;AACA,UAAQ,SAAS,KAAK;AACtB,MAAI,WAAW,WAAW,KAAK,KAAK;AACpC,SAAQ,YAAY,UAAU,KAAK,KAAK,IACpC,aAAa,MAAM,MAAM,CAAC,GAAG,WAAW,IAAI,CAAC,IAC5C,WAAW,KAAK,KAAK,IAAI,MAAM,CAAC;AACvC;","x_google_ignoreList":[0]}