{"version":3,"file":"index.full.min.mjs","sources":["../../../packages/utils/config.ts","../../../packages/pc-fx-framework/version.ts","../../../packages/pc-fx-framework/make-installer.ts","../../../packages/utils/constants.ts","../../../packages/utils/with-install.ts","../../../node_modules/.pnpm/hongluan-hooks@1.1.5_vue@3.2.37/node_modules/hongluan-hooks/dist/es/use-echart/index.js","../../../node_modules/.pnpm/hongluan-hooks@1.1.5_vue@3.2.37/node_modules/hongluan-hooks/dist/es/use-hovering/index.js","../../../node_modules/.pnpm/hongluan-hooks@1.1.5_vue@3.2.37/node_modules/hongluan-hooks/dist/es/use-scroll-echart/index.js","../../../node_modules/.pnpm/hongluan-hooks@1.1.5_vue@3.2.37/node_modules/hongluan-hooks/dist/es/use-table-selection/index.js","../../../node_modules/.pnpm/hongluan-hooks@1.1.5_vue@3.2.37/node_modules/hongluan-hooks/dist/es/use-pagination/index.js","../../../node_modules/.pnpm/@hongluan-ui+icons@1.4.8/node_modules/@hongluan-ui/icons/dist/es/_virtual/plugin-vue_export-helper.mjs","../../../node_modules/.pnpm/@hongluan-ui+icons@1.4.8/node_modules/@hongluan-ui/icons/dist/es/twotones/Close.mjs","../../../node_modules/.pnpm/@hongluan-ui+icons@1.4.8/node_modules/@hongluan-ui/icons/dist/es/twotones/Filter.mjs","../../../node_modules/.pnpm/@hongluan-ui+icons@1.4.8/node_modules/@hongluan-ui/icons/dist/es/twotones/Upload.mjs","../../../node_modules/.pnpm/@hongluan-ui+icons@1.4.8/node_modules/@hongluan-ui/icons/dist/es/fill/BookOpen.mjs","../../../node_modules/.pnpm/@hongluan-ui+icons@1.4.8/node_modules/@hongluan-ui/icons/dist/es/fill/Maximize2.mjs","../../../node_modules/.pnpm/@hongluan-ui+icons@1.4.8/node_modules/@hongluan-ui/icons/dist/es/fill/Minimize2.mjs","../../../build/plugin-vue:export-helper","../../../packages/components/page-table/src/page-table.vue","../../../packages/components/page-table/index.ts","../../../packages/components/page-table-v2/src/utils.ts","../../../packages/components/page-table-v2/src/table-search-wrapper.vue","../../../packages/components/page-table-v2/src/search-tag.vue","../../../packages/components/page-table-v2/src/search-items.vue","../../../packages/components/page-table-v2/src/total-info.vue","../../../packages/components/page-table-v2/src/dropdown-button.vue","../../../packages/components/page-table-v2/src/page-table-v2.vue","../../../packages/components/page-table-v2/index.ts","../../../packages/utils/echarts.ts","../../../packages/utils/loading.ts","../../../packages/components/file-upload/src/file-upload.vue","../../../packages/components/file-upload/index.ts","../../../packages/components/page-detail/src/page-detail.vue","../../../packages/components/page-detail/index.ts","../../../packages/components/anim-page/src/index.vue","../../../packages/components/anim-page/index.ts","../../../packages/components/action-button/src/action-button.vue","../../../packages/components/action-button/index.ts","../../../packages/components/visualized/panel/src/index.vue","../../../packages/components/visualized/panel/index.ts","../../../packages/components/visualized/modal/src/index.vue","../../../packages/components/visualized/modal/index.ts","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheClear.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/eq.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheGet.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheHas.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_listCacheSet.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_ListCache.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackClear.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackDelete.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackGet.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackHas.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_freeGlobal.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_root.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Symbol.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getRawTag.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_objectToString.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseGetTag.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObject.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isFunction.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_coreJsData.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isMasked.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_toSource.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsNative.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getValue.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getNative.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Map.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeCreate.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashClear.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashDelete.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashGet.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashHas.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_hashSet.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Hash.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isKeyable.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getMapData.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_MapCache.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_stackSet.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Stack.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_defineProperty.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseAssignValue.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignMergeValue.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createBaseFor.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseFor.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneBuffer.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_Uint8Array.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneArrayBuffer.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_cloneTypedArray.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyArray.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseCreate.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overArg.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_getPrototype.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isPrototype.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_initCloneObject.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isObjectLike.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsArguments.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArguments.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArray.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isLength.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLike.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isArrayLikeObject.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/stubFalse.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isBuffer.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isPlainObject.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseIsTypedArray.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseUnary.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nodeUtil.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/isTypedArray.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_safeGet.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_assignValue.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_copyObject.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseTimes.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIndex.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_arrayLikeKeys.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_nativeKeysIn.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseKeysIn.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/keysIn.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/toPlainObject.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMergeDeep.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseMerge.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/identity.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_apply.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_overRest.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/constant.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseSetToString.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_shortOut.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_setToString.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_baseRest.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_isIterateeCall.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/_createAssigner.js","../../../node_modules/.pnpm/lodash@4.17.21/node_modules/lodash/merge.js","../../../packages/hooks/use-render-chart/index.ts","../../../packages/hooks/use-global-config/index.ts","../../../packages/hooks/use-max-screen/index.ts","../../../packages/hooks/use-text-timer/index.ts","../../../packages/hooks/use-responsive-chart/index.ts","../../../packages/hooks/use-page-config/index.ts","../../../packages/hooks/use-previewer.ts","../../../packages/hooks/use-iframe/index.ts","../../../packages/components/visualized/charts/column-chart/src/index.vue","../../../packages/components/visualized/charts/column-chart/index.ts","../../../packages/components/visualized/charts/spire-column-chart/src/index.vue","../../../packages/components/visualized/charts/spire-column-chart/index.ts","../../../packages/components/visualized/charts/pie-chart/src/index.vue","../../../packages/components/visualized/charts/pie-chart/index.ts","../../../packages/components/visualized/charts/rose-pie-chart/src/index.vue","../../../packages/components/visualized/charts/rose-pie-chart/index.ts","../../../packages/components/visualized/charts/scrolling-bar-chart/src/index.vue","../../../packages/components/visualized/charts/scrolling-bar-chart/index.ts","../../../packages/components/visualized/charts/scrolling-list-chart/src/index.vue","../../../packages/components/visualized/charts/scrolling-list-chart/index.ts","../../../packages/components/visualized/charts/pyramid-chart/src/index.vue","../../../packages/components/visualized/charts/pyramid-chart/index.ts","../../../packages/components/visualized/charts/line-chart/src/index.vue","../../../packages/components/visualized/charts/line-chart/index.ts","../../../packages/components/visualized/charts/stacked-bar-chart/src/index.vue","../../../packages/components/visualized/charts/stacked-bar-chart/index.ts","../../../packages/components/visualized/charts/proportion-pie-chart/src/index.vue","../../../packages/components/visualized/charts/proportion-pie-chart/index.ts","../../../packages/pc-fx-framework/component.ts","../../../packages/pc-fx-framework/plugin.ts","../../../packages/pc-fx-framework/defaults.ts","../../../packages/directives/focus/index.ts","../../../packages/pc-fx-framework/index.ts"],"sourcesContent":["\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface InstallOptions {\n  visualized?: {\n    basicPX: number\n  }\n}\n\nlet $FX = {} as InstallOptions\n\nconst setConfig = (option: InstallOptions): void => {\n  $FX = option\n}\n\nconst getConfig = (key: keyof InstallOptions): unknown => {\n  return $FX[key]\n}\n\nconst getAllConfig = (): InstallOptions => {\n  return $FX\n}\n\nexport {\n  getConfig,\n  getAllConfig,\n  setConfig,\n}\n","export const version = '1.2.33'","import { setConfig } from '@pc-fx-framework/utils/config'\nimport { version } from './version'\n\nimport type { App, Plugin } from 'vue'\nimport type { InstallOptions } from '@pc-fx-framework/utils/config'\n\nconst makeInstaller = (components: Plugin[] = []) => {\n  const apps: App[] = []\n\n  const install = (app: App, opts: InstallOptions) => {\n    const defaultInstallOpt: InstallOptions = {\n      visualized: {\n        basicPX: 1,\n      },\n    }\n\n    const option = Object.assign(defaultInstallOpt, opts)\n    if (apps.includes(app)) return\n    apps.push(app)\n\n    components.forEach(c => {\n      app.use(c)\n    })\n\n    app.config.globalProperties.$FX = option\n    // app.provide() ? is this better? I think its not that flexible but worth implement\n    setConfig(option)\n  }\n\n  return {\n    version,\n    install,\n  }\n}\n\nexport default makeInstaller\n","/**\n * 系统常量\n */\nexport const PREFIX = 'Fx'\n\nconst Constants = {\n  // 风险等级配色\n  RISK_LEVEL_COLOR: {\n    LEVEL1_COLOR: 'rgba(253, 97, 97, 1)',\n    LEVEL1_BG_COLOR: 'rgba(253, 97, 97, 0.24)',\n    LEVEL2_COLOR: 'rgba(253, 137, 47, 1)',\n    LEVEL2_BG_COLOR: 'rgba(253, 137, 47, 0.24)',\n    LEVEL3_COLOR: 'rgba(255, 234, 68, 1)',\n    LEVEL3_BG_COLOR: 'rgba(255, 234, 68, 0.24)',\n    LEVEL4_COLOR: 'rgba(0, 158, 247, 1)',\n    LEVEL4_BG_COLOR: 'rgba(0, 158, 247, 0.24)',\n  },\n}\n\nexport { Constants }\n","import { PREFIX } from './constants'\n\nimport type { SFCWithInstall } from './types'\n\nexport const withInstall = <T, E extends Record<string, any>>(\n  main: T,\n  extra?: E,\n) => {\n  (main as SFCWithInstall<T>).install = (app): void => {\n    for (const comp of [main, ...Object.values(extra ?? {})]) {\n      app.component(PREFIX + comp.name, comp)\n    }\n  }\n\n  if (extra) {\n    for (const [key, comp] of Object.entries(extra)) {\n      (main as any)[key] = comp\n    }\n  }\n  return main as SFCWithInstall<T> & E\n}\n\n\nexport const withInstallFunction = <T>(fn: T, name: string) => {\n  (fn as SFCWithInstall<T>).install = app => {\n    app.config.globalProperties[name] = fn\n  }\n\n  return fn as SFCWithInstall<T>\n}\n\nexport const withNoopInstall = <T>(component: T) => {\n  // eslint-disable-next-line @typescript-eslint/no-empty-function\n  (component as SFCWithInstall<T>).install = () => {}\n\n  return component as SFCWithInstall<T>\n}\n\n","import { onBeforeUnmount, onMounted, ref, shallowRef } from 'vue';\nimport * as echarts from 'echarts';\nfunction useEChart() {\n    const chartObj = shallowRef();\n    const chartContainer = ref();\n    const setChartOption = (chartOption) => {\n        var _a;\n        (_a = chartObj.value) === null || _a === void 0 ? void 0 : _a.setOption(chartOption);\n    };\n    const resizeChart = () => {\n        var _a;\n        (_a = chartObj.value) === null || _a === void 0 ? void 0 : _a.resize();\n    };\n    const clearChart = () => {\n        var _a;\n        (_a = chartObj.value) === null || _a === void 0 ? void 0 : _a.clear();\n    };\n    const getChartRect = () => {\n        var _a, _b;\n        return {\n            width: (_a = chartObj.value) === null || _a === void 0 ? void 0 : _a.getWidth(),\n            height: (_b = chartObj.value) === null || _b === void 0 ? void 0 : _b.getHeight(),\n        };\n    };\n    const addChartEvent = (name, callback) => {\n        var _a;\n        (_a = chartObj.value) === null || _a === void 0 ? void 0 : _a.on(name, callback);\n        return () => {\n            var _a;\n            (_a = chartObj.value) === null || _a === void 0 ? void 0 : _a.off(name, callback);\n        };\n    };\n    const dispatchAction = (payload) => {\n        var _a;\n        (_a = chartObj.value) === null || _a === void 0 ? void 0 : _a.dispatchAction(payload);\n    };\n    onMounted(() => {\n        chartObj.value = echarts.init(chartContainer.value); // 初始化一次\n        window.addEventListener('resize', resizeChart);\n    });\n    onBeforeUnmount(() => {\n        window.removeEventListener('resize', resizeChart);\n    });\n    return {\n        setChartOption,\n        resizeChart,\n        clearChart,\n        getChartRect,\n        addChartEvent,\n        chartContainer,\n        dispatchAction,\n    };\n}\nexport { useEChart };\n","import { onUnmounted, ref } from 'vue';\nconst DEFAULT_HOVERING_ID = '$_id_$';\nfunction useHovering(deplay = 100) {\n    const isHoveringData = ref({});\n    let isHoveringHanlder = {};\n    const enter = (id = DEFAULT_HOVERING_ID) => {\n        isHoveringHanlder[id] && window.clearTimeout(isHoveringHanlder[id]);\n        isHoveringData.value[id] = true;\n    };\n    const leave = (id = DEFAULT_HOVERING_ID) => {\n        isHoveringHanlder[id] = window.setTimeout(() => {\n            isHoveringData.value[id] = false;\n        }, deplay);\n    };\n    const isHovering = (id = DEFAULT_HOVERING_ID) => {\n        return isHoveringData.value[id];\n    };\n    onUnmounted(() => {\n        isHoveringData.value = {};\n        isHoveringHanlder = {};\n    });\n    return {\n        enter,\n        leave,\n        isHovering,\n    };\n}\nexport { useHovering };\n","import { onBeforeUnmount } from 'vue';\nfunction useScrollEChartData(options, cb) {\n    let timer = null;\n    let lastIdx = 0;\n    let curChartData = [];\n    const startScroll = () => {\n        if (options.showCount >= options.chartData.length) {\n            curChartData = options.chartData;\n            cb(curChartData);\n        }\n        else {\n            if (!(curChartData === null || curChartData === void 0 ? void 0 : curChartData.length)) {\n                for (let i = 0; i < options.showCount; i++) {\n                    curChartData.push(options.chartData[i]);\n                }\n                lastIdx = options.showCount;\n                cb(curChartData);\n            }\n            options.scrollCount > 0 && startTimer();\n        }\n    };\n    const startTimer = () => {\n        var _a;\n        timer = window.setInterval(() => {\n            if (!timer)\n                return;\n            curChartData.splice(0, options.scrollCount);\n            for (let i = lastIdx; i < lastIdx + options.scrollCount && i < options.chartData.length && curChartData.length < options.showCount; i++) {\n                curChartData.push(options.chartData[i]);\n            }\n            lastIdx = lastIdx + Math.min(options.scrollCount, options.showCount);\n            if (curChartData.length < options.showCount) {\n                if (options.seamless === false) {\n                    lastIdx = 0;\n                }\n                else {\n                    lastIdx = options.showCount - curChartData.length;\n                    for (let i = 0; i < lastIdx; i++) {\n                        curChartData.push(options.chartData[i]);\n                    }\n                }\n            }\n            cb(curChartData);\n        }, (_a = options.interval) !== null && _a !== void 0 ? _a : 10000);\n    };\n    const stopScroll = () => {\n        timer && window.clearInterval(timer);\n        timer = null;\n    };\n    onBeforeUnmount(() => {\n        stopScroll();\n        lastIdx = 0;\n        curChartData = [];\n    });\n    return {\n        startScroll,\n        stopScroll,\n    };\n}\nexport { useScrollEChartData };\n","import { onBeforeUnmount, ref, watch } from 'vue';\nfunction useTableSelection(tableData, params) {\n    const option = Object.assign({ key: 'id', cache: false }, params !== null && params !== void 0 ? params : {});\n    const isSelectedAll = ref(false);\n    const isIndeterminate = ref(false);\n    const selectedRowKeys = ref([]);\n    const selectAll = () => {\n        if (isSelectedAll.value) {\n            if (option.cache) {\n                const ids = tableData.value.map(d => d[option.key]).filter(k => !selectedRowKeys.value.includes(k));\n                selectedRowKeys.value.push(...ids);\n            }\n            else {\n                selectedRowKeys.value.splice(0, selectedRowKeys.value.length);\n                selectedRowKeys.value.push(...tableData.value.map(d => d[option.key]));\n            }\n            isIndeterminate.value = false;\n        }\n        else {\n            if (option.cache) {\n                tableData.value.forEach(d => {\n                    const idx = selectedRowKeys.value.indexOf(d[option.key]);\n                    idx > -1 && selectedRowKeys.value.splice(idx, 1);\n                });\n            }\n            else {\n                selectedRowKeys.value.splice(0, selectedRowKeys.value.length);\n            }\n        }\n    };\n    const selectRow = () => {\n        if (option.cache) {\n            doSelectionStatus();\n        }\n        else {\n            isSelectedAll.value = selectedRowKeys.value.length === tableData.value.length;\n            if (selectedRowKeys.value.length > 0 && isSelectedAll.value == false) {\n                isIndeterminate.value = true;\n            }\n            else {\n                isIndeterminate.value = false;\n            }\n        }\n    };\n    const doSelectionStatus = () => {\n        const selectedItems = tableData.value.filter(item => selectedRowKeys.value.includes(item[option.key]));\n        if ((selectedItems.length <= selectedRowKeys.value.length) && (selectedItems.length === tableData.value.length)) {\n            isSelectedAll.value = true;\n            isIndeterminate.value = false;\n        }\n        else if (selectedItems.length === 0) {\n            isSelectedAll.value = false;\n            isIndeterminate.value = false;\n        }\n        else {\n            isSelectedAll.value = false;\n            isIndeterminate.value = true;\n        }\n    };\n    const watchHandler = watch(tableData, () => {\n        if (option.cache) {\n            doSelectionStatus();\n        }\n        else {\n            selectedRowKeys.value.splice(0, selectedRowKeys.value.length);\n            isSelectedAll.value = false;\n            isIndeterminate.value = false;\n        }\n    });\n    onBeforeUnmount(() => {\n        watchHandler && watchHandler();\n    });\n    return {\n        isSelectedAll,\n        isIndeterminate,\n        selectedRowKeys,\n        selectAll,\n        selectRow,\n    };\n}\nexport { useTableSelection };\n","import { ref } from 'vue';\nconst DEFAULT_PAGE_SIZE = 10;\nconst DEFAULT_CURRENT_PAGE = 1;\nfunction usePagination(fetchDataCb, option = { pageSize: DEFAULT_PAGE_SIZE, total: 0, currentPage: DEFAULT_CURRENT_PAGE }) {\n    var _a, _b;\n    const pageSize = ref((_a = option.pageSize) !== null && _a !== void 0 ? _a : DEFAULT_PAGE_SIZE);\n    const currentPage = ref((_b = option.currentPage) !== null && _b !== void 0 ? _b : DEFAULT_CURRENT_PAGE);\n    const total = ref(option.total);\n    const setTotal = (all) => {\n        total.value = all;\n    };\n    const setCurrentPage = (cur) => {\n        currentPage.value = cur !== null && cur !== void 0 ? cur : DEFAULT_CURRENT_PAGE;\n        fetchDataCb();\n    };\n    const currentPageChange = (page) => {\n        currentPage.value = page;\n        fetchDataCb();\n    };\n    const pageSizeChange = (size) => {\n        pageSize.value = size;\n        currentPage.value = DEFAULT_CURRENT_PAGE;\n        fetchDataCb();\n    };\n    return {\n        pageSize,\n        currentPage,\n        total,\n        setTotal,\n        setCurrentPage,\n        currentPageChange,\n        pageSizeChange,\n    };\n}\nexport { usePagination };\n","var _export_sfc = (sfc, props) => {\n  const target = sfc.__vccOpts || sfc;\n  for (const [key, val] of props) {\n    target[key] = val;\n  }\n  return target;\n};\n\nexport { _export_sfc as default };\n","import { defineComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createCommentVNode } from 'vue';\nimport _export_sfc from '../_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n  name: \"TwoClose\",\n  props: {\n    gradient: {\n      type: Boolean\n    },\n    borderWidth: {\n      type: [Number, String],\n      default: \"1.5\"\n    },\n    opacity: {\n      type: [Number, String],\n      default: \"0.15\"\n    },\n    startColor: {\n      type: String,\n      default: \"\"\n    },\n    iconId: [String, Number]\n  }\n});\nconst _hoisted_1 = { key: 0 };\nconst _hoisted_2 = [\"id\"];\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"stop\", {\n  \"stop-color\": \"currentColor\",\n  offset: \"100%\"\n}, null, -1);\nconst _hoisted_4 = [\"stroke\"];\nconst _hoisted_5 = /* @__PURE__ */ createElementVNode(\"path\", { d: \"M4.70064453,4.70064453 L19.6339779,19.6339779 M4.70064453,19.6339779 L19.6339779,4.70064453\" }, null, -1);\nconst _hoisted_6 = [\n  _hoisted_5\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n  return openBlock(), createElementBlock(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 24 24\",\n    \"aria-labelledby\": \"Close\",\n    role: \"presentation\",\n    class: \"icon-twotones\",\n    style: normalizeStyle({\n      \"--stroke-width\": _ctx.borderWidth,\n      \"--fill-opacity\": _ctx.opacity\n    })\n  }, [\n    _ctx.gradient ? (openBlock(), createElementBlock(\"defs\", _hoisted_1, [\n      createElementVNode(\"linearGradient\", {\n        id: _ctx.iconId,\n        x1: \"50%\",\n        y1: \"0%\",\n        x2: \"50%\",\n        y2: \"100%\",\n        gradientUnits: \"userSpaceOnUse\"\n      }, [\n        createElementVNode(\"stop\", {\n          style: normalizeStyle({\n            stopColor: _ctx.startColor ? _ctx.startColor : \"var(--icon-start-color)\"\n          }),\n          offset: \"0%\"\n        }, null, 4),\n        _hoisted_3\n      ], 8, _hoisted_2)\n    ])) : createCommentVNode(\"v-if\", true),\n    createElementVNode(\"g\", {\n      stroke: _ctx.gradient ? \"url(#\" + _ctx.iconId + \")\" : \"currentColor\",\n      style: { \"fill\": \"currentColor\", \"stroke-width\": \"var(--stroke-width)\", \"fill-opacity\": \"var(--fill-opacity)\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"fill-rule\": \"evenodd\" }\n    }, _hoisted_6, 8, _hoisted_4)\n  ], 4);\n}\nvar Close = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { Close as default };\n","import { defineComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createCommentVNode } from 'vue';\nimport _export_sfc from '../_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n  name: \"TwoFilter\",\n  props: {\n    gradient: {\n      type: Boolean\n    },\n    borderWidth: {\n      type: [Number, String],\n      default: \"1.5\"\n    },\n    opacity: {\n      type: [Number, String],\n      default: \"0.15\"\n    },\n    startColor: {\n      type: String,\n      default: \"\"\n    },\n    iconId: [String, Number]\n  }\n});\nconst _hoisted_1 = { key: 0 };\nconst _hoisted_2 = [\"id\"];\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"stop\", {\n  \"stop-color\": \"currentColor\",\n  offset: \"100%\"\n}, null, -1);\nconst _hoisted_4 = [\"stroke\"];\nconst _hoisted_5 = /* @__PURE__ */ createElementVNode(\"path\", { d: \"M3.0021925,3.00435877 L9.79275344,11.7299807 C9.92938829,11.9055515 10.0035751,12.1216719 10.0035751,12.3441448 L10.0035751,22.0034337 L10.0035751,22.0034337 L14.0022757,20.0034337 L14.0022757,12.3439913 C14.0022757,12.1216125 14.0763999,11.905578 14.2129287,11.730044 L20.9996919,3.00435877 L20.9996919,3.00435877 L3.0021925,3.00435877 Z\" }, null, -1);\nconst _hoisted_6 = [\n  _hoisted_5\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n  return openBlock(), createElementBlock(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 24 24\",\n    \"aria-labelledby\": \"Filter\",\n    role: \"presentation\",\n    class: \"icon-twotones\",\n    style: normalizeStyle({\n      \"--stroke-width\": _ctx.borderWidth,\n      \"--fill-opacity\": _ctx.opacity\n    })\n  }, [\n    _ctx.gradient ? (openBlock(), createElementBlock(\"defs\", _hoisted_1, [\n      createElementVNode(\"linearGradient\", {\n        id: _ctx.iconId,\n        x1: \"50%\",\n        y1: \"0%\",\n        x2: \"50%\",\n        y2: \"100%\",\n        gradientUnits: \"userSpaceOnUse\"\n      }, [\n        createElementVNode(\"stop\", {\n          style: normalizeStyle({\n            stopColor: _ctx.startColor ? _ctx.startColor : \"var(--icon-start-color)\"\n          }),\n          offset: \"0%\"\n        }, null, 4),\n        _hoisted_3\n      ], 8, _hoisted_2)\n    ])) : createCommentVNode(\"v-if\", true),\n    createElementVNode(\"g\", {\n      stroke: _ctx.gradient ? \"url(#\" + _ctx.iconId + \")\" : \"currentColor\",\n      style: { \"fill\": \"currentColor\", \"stroke-width\": \"var(--stroke-width)\", \"fill-opacity\": \"var(--fill-opacity)\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"fill-rule\": \"evenodd\" }\n    }, _hoisted_6, 8, _hoisted_4)\n  ], 4);\n}\nvar Filter = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { Filter as default };\n","import { defineComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createCommentVNode } from 'vue';\nimport _export_sfc from '../_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n  name: \"TwoUpload\",\n  props: {\n    gradient: {\n      type: Boolean\n    },\n    borderWidth: {\n      type: [Number, String],\n      default: \"1.5\"\n    },\n    opacity: {\n      type: [Number, String],\n      default: \"0.15\"\n    },\n    startColor: {\n      type: String,\n      default: \"\"\n    },\n    iconId: [String, Number]\n  }\n});\nconst _hoisted_1 = { key: 0 };\nconst _hoisted_2 = [\"id\"];\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"stop\", {\n  \"stop-color\": \"currentColor\",\n  offset: \"100%\"\n}, null, -1);\nconst _hoisted_4 = [\"stroke\"];\nconst _hoisted_5 = /* @__PURE__ */ createElementVNode(\"path\", { d: \"M3,13.0036889 L3,20 C3,20.5522847 3.44771525,21 4,21 L20,21 C20.5522847,21 21,20.5522847 21,20 L21,13 L21,13 M12,3 L12,15 M8,7 L12,3 L16,7\" }, null, -1);\nconst _hoisted_6 = [\n  _hoisted_5\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n  return openBlock(), createElementBlock(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 24 24\",\n    \"aria-labelledby\": \"Upload\",\n    role: \"presentation\",\n    class: \"icon-twotones\",\n    style: normalizeStyle({\n      \"--stroke-width\": _ctx.borderWidth,\n      \"--fill-opacity\": _ctx.opacity\n    })\n  }, [\n    _ctx.gradient ? (openBlock(), createElementBlock(\"defs\", _hoisted_1, [\n      createElementVNode(\"linearGradient\", {\n        id: _ctx.iconId,\n        x1: \"50%\",\n        y1: \"0%\",\n        x2: \"50%\",\n        y2: \"100%\",\n        gradientUnits: \"userSpaceOnUse\"\n      }, [\n        createElementVNode(\"stop\", {\n          style: normalizeStyle({\n            stopColor: _ctx.startColor ? _ctx.startColor : \"var(--icon-start-color)\"\n          }),\n          offset: \"0%\"\n        }, null, 4),\n        _hoisted_3\n      ], 8, _hoisted_2)\n    ])) : createCommentVNode(\"v-if\", true),\n    createElementVNode(\"g\", {\n      stroke: _ctx.gradient ? \"url(#\" + _ctx.iconId + \")\" : \"currentColor\",\n      style: { \"fill\": \"currentColor\", \"stroke-width\": \"var(--stroke-width)\", \"fill-opacity\": \"var(--fill-opacity)\", \"stroke-linecap\": \"round\", \"stroke-linejoin\": \"round\", \"fill-rule\": \"evenodd\" }\n    }, _hoisted_6, 8, _hoisted_4)\n  ], 4);\n}\nvar Upload = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { Upload as default };\n","import { defineComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createCommentVNode } from 'vue';\nimport _export_sfc from '../_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n  name: \"FillBookOpen\",\n  props: {\n    gradient: {\n      type: Boolean\n    },\n    opacity: {\n      type: [Number, String],\n      default: \"0.35\"\n    },\n    startColor: {\n      type: String,\n      default: \"\"\n    },\n    iconId: [String, Number]\n  }\n});\nconst _hoisted_1 = { key: 0 };\nconst _hoisted_2 = [\"id\"];\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"stop\", {\n  \"stop-color\": \"currentColor\",\n  offset: \"100%\"\n}, null, -1);\nconst _hoisted_4 = [\"fill\"];\nconst _hoisted_5 = /* @__PURE__ */ createElementVNode(\"path\", { d: \"M8,3 C9.63618194,3 11.0888064,3.78590304 12.0009752,5.00081101 L12.0006545,23.0014185 C11.6512449,23.0056479 11.2982781,22.8334822 11.105176,22.4464192 L11.105176,22.4464192 L11.0169316,22.2841126 C10.5494938,21.4922661 9.69574312,21 8.76714245,21 L8.76714245,21 L4,21 C2.8954305,21 2,20.1045695 2,19 L2,19 L2,5 C2,3.8954305 2.8954305,3 4,3 L4,3 Z\" }, null, -1);\nconst _hoisted_6 = /* @__PURE__ */ createElementVNode(\"path\", {\n  d: \"M20,3 C21.1045695,3 22,3.8954305 22,5 L22,5 L22,19 C22,20.1045695 21.1045695,21 20,21 L20,21 L15.2397989,21 C14.301848,21 13.4360766,21.50071 12.9825705,22.2846515 L12.9825705,22.2846515 L12.880299,22.4744192 C12.6818834,22.8425854 12.338411,23.005755 11.9988621,23.0015171 L11.99827,5.00181655 C12.9103922,3.7863367 14.3633667,3 16,3 L16,3 Z\",\n  style: { \"opacity\": \"var(--fill-opacity)\" }\n}, null, -1);\nconst _hoisted_7 = [\n  _hoisted_5,\n  _hoisted_6\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n  return openBlock(), createElementBlock(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 24 24\",\n    \"aria-labelledby\": \"BookOpen\",\n    role: \"presentation\",\n    class: \"icon-fill\",\n    style: normalizeStyle({\n      \"--fill-opacity\": _ctx.opacity\n    }),\n    fill: \"currentColor\"\n  }, [\n    _ctx.gradient ? (openBlock(), createElementBlock(\"defs\", _hoisted_1, [\n      createElementVNode(\"linearGradient\", {\n        id: _ctx.iconId,\n        x1: \"50%\",\n        y1: \"0%\",\n        x2: \"50%\",\n        y2: \"100%\",\n        gradientUnits: \"userSpaceOnUse\"\n      }, [\n        createElementVNode(\"stop\", {\n          style: normalizeStyle({\n            stopColor: _ctx.startColor ? _ctx.startColor : \"var(--icon-start-color)\"\n          }),\n          offset: \"0%\"\n        }, null, 4),\n        _hoisted_3\n      ], 8, _hoisted_2)\n    ])) : createCommentVNode(\"v-if\", true),\n    createElementVNode(\"g\", {\n      stroke: \"none\",\n      \"stroke-width\": \"1\",\n      fill: _ctx.gradient ? \"url(#\" + _ctx.iconId + \")\" : \"currentColor\",\n      \"fill-rule\": \"evenodd\"\n    }, _hoisted_7, 8, _hoisted_4)\n  ], 4);\n}\nvar BookOpen = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { BookOpen as default };\n","import { defineComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createCommentVNode } from 'vue';\nimport _export_sfc from '../_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n  name: \"FillMaximize2\",\n  props: {\n    gradient: {\n      type: Boolean\n    },\n    opacity: {\n      type: [Number, String],\n      default: \"0.35\"\n    },\n    startColor: {\n      type: String,\n      default: \"\"\n    },\n    iconId: [String, Number]\n  }\n});\nconst _hoisted_1 = { key: 0 };\nconst _hoisted_2 = [\"id\"];\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"stop\", {\n  \"stop-color\": \"currentColor\",\n  offset: \"100%\"\n}, null, -1);\nconst _hoisted_4 = [\"fill\"];\nconst _hoisted_5 = /* @__PURE__ */ createElementVNode(\"path\", { d: \"M21,3 C21.5522847,3 22,3.44771525 22,4 L22,11 L20,11 L20,5 L4,5 L4,19 L10,19 L10,21 L3,21 C2.44771525,21 2,20.5522847 2,20 L2,4 C2,3.44771525 2.44771525,3 3,3 L21,3 Z M11.5,7 L9.457,9.043 L11.707,11.293 L10.293,12.707 L8.043,10.457 L6,12.5 L6,7 L11.5,7 Z\" }, null, -1);\nconst _hoisted_6 = /* @__PURE__ */ createElementVNode(\"path\", {\n  d: \"M21,13 C21.5522847,13 22,13.4477153 22,14 L22,20 C22,20.5522847 21.5522847,21 21,21 L13,21 C12.4477153,21 12,20.5522847 12,20 L12,14 C12,13.4477153 12.4477153,13 13,13 L21,13 Z\",\n  style: { \"opacity\": \"var(--fill-opacity)\" }\n}, null, -1);\nconst _hoisted_7 = [\n  _hoisted_5,\n  _hoisted_6\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n  return openBlock(), createElementBlock(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 24 24\",\n    \"aria-labelledby\": \"Maximize2\",\n    role: \"presentation\",\n    class: \"icon-fill\",\n    style: normalizeStyle({\n      \"--fill-opacity\": _ctx.opacity\n    }),\n    fill: \"currentColor\"\n  }, [\n    _ctx.gradient ? (openBlock(), createElementBlock(\"defs\", _hoisted_1, [\n      createElementVNode(\"linearGradient\", {\n        id: _ctx.iconId,\n        x1: \"50%\",\n        y1: \"0%\",\n        x2: \"50%\",\n        y2: \"100%\",\n        gradientUnits: \"userSpaceOnUse\"\n      }, [\n        createElementVNode(\"stop\", {\n          style: normalizeStyle({\n            stopColor: _ctx.startColor ? _ctx.startColor : \"var(--icon-start-color)\"\n          }),\n          offset: \"0%\"\n        }, null, 4),\n        _hoisted_3\n      ], 8, _hoisted_2)\n    ])) : createCommentVNode(\"v-if\", true),\n    createElementVNode(\"g\", {\n      stroke: \"none\",\n      \"stroke-width\": \"1\",\n      fill: _ctx.gradient ? \"url(#\" + _ctx.iconId + \")\" : \"currentColor\",\n      \"fill-rule\": \"evenodd\"\n    }, _hoisted_7, 8, _hoisted_4)\n  ], 4);\n}\nvar Maximize2 = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { Maximize2 as default };\n","import { defineComponent, openBlock, createElementBlock, normalizeStyle, createElementVNode, createCommentVNode } from 'vue';\nimport _export_sfc from '../_virtual/plugin-vue_export-helper.mjs';\n\nconst _sfc_main = defineComponent({\n  name: \"FillMinimize2\",\n  props: {\n    gradient: {\n      type: Boolean\n    },\n    opacity: {\n      type: [Number, String],\n      default: \"0.35\"\n    },\n    startColor: {\n      type: String,\n      default: \"\"\n    },\n    iconId: [String, Number]\n  }\n});\nconst _hoisted_1 = { key: 0 };\nconst _hoisted_2 = [\"id\"];\nconst _hoisted_3 = /* @__PURE__ */ createElementVNode(\"stop\", {\n  \"stop-color\": \"currentColor\",\n  offset: \"100%\"\n}, null, -1);\nconst _hoisted_4 = [\"fill\"];\nconst _hoisted_5 = /* @__PURE__ */ createElementVNode(\"path\", { d: \"M21,3 C21.5522847,3 22,3.42284218 22,3.94444444 L22,10.5555556 L20,10.5555556 L20,4.88888889 L4,4.88888889 L4,18.1111111 L10,18.1111111 L10,20 L3,20 C2.44771525,20 2,19.5771578 2,19.0555556 L2,3.94444444 C2,3.42284218 2.44771525,3 3,3 L21,3 Z M6.707,6.11005556 L8.957,8.23505556 L11,6.30555556 L11,11.5 L5.5,11.5 L7.543,9.5705 L5.293,7.4455 L6.707,6.11005556 Z\" }, null, -1);\nconst _hoisted_6 = /* @__PURE__ */ createElementVNode(\"path\", {\n  d: \"M21,12.4444444 C21.5522847,12.4444444 22,12.8672866 22,13.3888889 L22,19.0555556 C22,19.5771578 21.5522847,20 21,20 L13,20 C12.4477153,20 12,19.5771578 12,19.0555556 L12,13.3888889 C12,12.8672866 12.4477153,12.4444444 13,12.4444444 L21,12.4444444 Z\",\n  style: { \"opacity\": \"var(--fill-opacity)\" }\n}, null, -1);\nconst _hoisted_7 = [\n  _hoisted_5,\n  _hoisted_6\n];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n  return openBlock(), createElementBlock(\"svg\", {\n    xmlns: \"http://www.w3.org/2000/svg\",\n    viewBox: \"0 0 24 24\",\n    \"aria-labelledby\": \"Minimize2\",\n    role: \"presentation\",\n    class: \"icon-fill\",\n    style: normalizeStyle({\n      \"--fill-opacity\": _ctx.opacity\n    }),\n    fill: \"currentColor\"\n  }, [\n    _ctx.gradient ? (openBlock(), createElementBlock(\"defs\", _hoisted_1, [\n      createElementVNode(\"linearGradient\", {\n        id: _ctx.iconId,\n        x1: \"50%\",\n        y1: \"0%\",\n        x2: \"50%\",\n        y2: \"100%\",\n        gradientUnits: \"userSpaceOnUse\"\n      }, [\n        createElementVNode(\"stop\", {\n          style: normalizeStyle({\n            stopColor: _ctx.startColor ? _ctx.startColor : \"var(--icon-start-color)\"\n          }),\n          offset: \"0%\"\n        }, null, 4),\n        _hoisted_3\n      ], 8, _hoisted_2)\n    ])) : createCommentVNode(\"v-if\", true),\n    createElementVNode(\"g\", {\n      stroke: \"none\",\n      \"stroke-width\": \"1\",\n      fill: _ctx.gradient ? \"url(#\" + _ctx.iconId + \")\" : \"currentColor\",\n      \"fill-rule\": \"evenodd\"\n    }, _hoisted_7, 8, _hoisted_4)\n  ], 4);\n}\nvar Minimize2 = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\n\nexport { Minimize2 as default };\n","\nexport default (sfc, props) => {\n  const target = sfc.__vccOpts || sfc;\n  for (const [key, val] of props) {\n    target[key] = val;\n  }\n  return target;\n}\n","<template>\n  <hb-simple-table-list\n    ref=\"simpleTableListRef\"\n    padding=\"var(--xl)\"\n    :class=\"['fx-page-table']\"\n    :cols=\"newCols\"\n    :table-data=\"tableData\"\n    :searchbar=\"searchbar\"\n    :toolbar=\"toolbar\"\n    :table-props=\"tableProps\"\n    :scrollbar-props=\"scrollbarProps\"\n    :pagination=\"pagination\"\n    @searchbar-change=\"searchBarChanged\"\n    @size-change=\"pageSizeChange\"\n    @current-change=\"currentPageChange\"\n    @sort-change=\"(...args) => $emit('sort-change', ...args)\"\n  >\n    <!-- searchbar右边的高级搜索， 搜索条件超过4个会显示在右边 -->\n    <template v-if=\"searchPlacement ? searchPlacement === 'right' : searchItems.length > 4\" #searchbar-suffix>\n      <hb-data-filter\n        :items=\"searchItems\"\n        icon-position=\"left\"\n        gap=\"var(--xs)\"\n        max-height=\"500px\"\n        class=\"static\"\n        @search=\"searchChanged\"\n        @remove-selected-item=\"removeSelectedItem\"\n      >\n        <template #icon>\n          <hl-icon><two-filter /></hl-icon>\n        </template>\n        <template #default>\n          高级搜索\n        </template>\n      </hb-data-filter>\n    </template>\n\n    <!-- 行多选 -->\n    <template #selectionCol>\n      <hl-checkbox\n        v-model=\"isSelectedAll\"\n        :indeterminate=\"isIndeterminate\"\n        :show-label=\"false\"\n        @change=\"selectAll\"\n      />\n    </template>\n    <template #tableSelection=\"{ row }\">\n      <hl-checkbox\n        v-model=\"selectedRowKeys\"\n        :label=\"row.id\"\n        :show-label=\"false\"\n        @change=\"selectRow\"\n        @click.stop\n      />\n    </template>\n    <!-- 展开行插槽 -->\n    <template #customExpand=\"{ row }\">\n      <slot name=\"customExpand\" :row=\"row\"></slot>\n    </template>\n    <!-- 序号插槽 -->\n    <template #tableIndex=\"{ rowIndex }\">\n      <span>{{ rowIndex + 1 }}</span>\n    </template>\n\n    <!-- 行操作 -->\n    <template #action=\"{ row }\">\n      <hl-group gap=\"var(--xxs)\">\n        <slot name=\"action\" :row=\"row\"></slot>\n      </hl-group>\n    </template>\n    <!-- 无数据 -->\n    <template #empty>\n      <hb-empty description=\"暂无数据\" image-size=\"10vw\" :image=\"noDataImage\" />\n    </template>\n    <!-- 搜索框前面 -->\n    <template #searchbar-prefix>\n      <slot name=\"searchbar-prefix\"></slot>\n    </template>\n    <!-- 操作左 -->\n    <template #toolbar-extra-before>\n      <slot name=\"toolbar-extra-before\"></slot>\n    </template>\n    <!-- 操作右  -->\n    <template #toolbar-extra-after>\n      <slot name=\"toolbar-extra-after\"></slot>\n    </template>\n\n    <!-- 自定义搜索条件插槽 -->\n    <template v-for=\"search in searchSlotList\" #[search.slotName]=\"searchData\" :key=\"search.slotName\">\n      <slot :name=\"search.slotName\" v-bind=\"searchData\"></slot>\n    </template>\n\n    <!-- 完全自定义插槽，需要把保留用的去掉 -->\n    <template v-for=\"col in slotCols\" #[col.slotName]=\"colData\" :key=\"col.slotName\">\n      <slot :name=\"col.slotName\" v-bind=\"colData\"> </slot>\n    </template>\n  </hb-simple-table-list>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, reactive, watch, onMounted, PropType, toRef, computed } from 'vue'\nimport { HlGroup, HlCheckbox, HlIcon } from 'hongluan-ui'\nimport { HbSimpleTableList, HbDataFilter, HbEmpty } from 'hongluan-business-ui'\nimport { useTableSelection, usePagination } from 'hongluan-hooks'\nimport { TwoFilter } from '@hongluan-ui/icons'\n\nexport default defineComponent({\n  name: 'PageTable',\n  components: { HlGroup, HlCheckbox, HlIcon, HbSimpleTableList, HbDataFilter, TwoFilter, HbEmpty },\n  props: {\n    // 自定义表格属性穿透给hl-simple-table\n    tableProps: {\n      type: Object,\n      default: () => ({}),\n    },\n    scrollbarProps: {\n      type: Object,\n      default: () => ({}),\n    },\n    // 表头\n    cols: {\n      type: Array,\n      default: () => [],\n    },\n    // 表数据\n    tableData: {\n      type: Array as PropType<Record<string, unknown>[]>,\n      default: () => [],\n    },\n    // 列表查询回调\n    dataFetcher: {\n      type: Function as PropType<(...args: any) => Promise<any>>,\n      default: () => ({}),\n    },\n    // 搜索条件\n    searchItems: {\n      type: Array,\n      default: () => [],\n    },\n    //searchbar中的输入框属性\n    searcher: {\n      type: Object,\n      default: () => {\n        return {\n          show: true,\n          name: 'searchName',\n          placeholder: '请输入搜索条件',\n        }\n      },\n    },\n    // 搜索条件位置， top/right, 不传的话根据搜索条件searchItems个数，不超过4个在顶部，超过4个在右侧。\n    searchPlacement: {\n      type: String,\n      default: '',\n    },\n\n    // 多选操作\n    selectionActions: {\n      type: Array,\n      default: () => [],\n    },\n\n    // 默认分页数据\n    defaultPagination: {\n      type: Object,\n      default: () => {\n        return { pageSize: 10, currentPage: 1, total: 0 }\n      },\n    },\n\n    // 没有数据的默认图片\n    noDataImage: {\n      type: String,\n      default: '',\n    },\n\n    // toolbar->showColConfig\n    showColConfig: {\n      type: Boolean,\n      default: true,\n    },\n\n    // 配合searchPlacement: top 使用\n    selectorColCount: {\n      type: String,\n      default: 'count-xl-2 count-lg-2 count-md-1',\n    },\n\n    // 是否显示搜索\n    showSearchBar: {\n      type: Boolean,\n      default: true,\n    },\n  },\n  emits: ['selectedRowKeys', 'sort-change'],\n  setup (props, { emit }) {\n    const newCols = computed(() => {\n      return props.cols.map((col: any) => {\n        if (['tableIndex', 'tableSelection'].includes(col.slotName) && !col.width) {\n          col.width = '6em'\n        }\n        return col\n      })\n    })\n    const searchbar = reactive({\n      show: props.showSearchBar,\n      searcher: props.searcher,\n      selector: {\n        colCount: props.selectorColCount,\n        items: props.searchPlacement ? (props.searchPlacement === 'top' ? [...props.searchItems] : [])\n          : (props.searchItems.length > 4 ? [] : [...props.searchItems]),\n      },\n    })\n\n    // SearchBar自定义插槽搜索条件\n    const searchSlotList = ref([])\n    // 额外加入条件时\n    watch(() => props.searchItems.length, () => {\n      searchbar.selector.items = []\n      searchbar.selector.items.push(...props.searchItems)\n    })\n\n    // 处理搜索自定义插槽\n    props.searchItems.forEach((item: { type: string; [key: string]: any; }) => {\n      if(item.type === 'slot')searchSlotList.value.push(item)\n    })\n\n    const simpleTableListRef = ref()\n\n    // 列表操作工具-多选操作\n    const toolbar = reactive({\n      showSelectionText: true,\n      showColConfig: props.showColConfig,\n      selectionCount: 0,\n      action: {\n        show: false,\n        showCount: 2,\n        actions: props.selectionActions,\n      },\n    })\n\n    // 搜索总条件\n    const params = ref({})\n    // searchBar条件\n    const searchParams = ref({})\n    // 右侧高级搜索条件\n    const searchAdvanceParams = ref({})\n    // searchBar自定义插槽条件\n    const searchSlotParams = ref({})\n\n    const searchBarChanged = (urlParams: string, mapParams: any, originalParams: any) => {\n      searchParams.value = mapParams\n      params.value = { ...searchParams.value, ...searchAdvanceParams.value, ...searchSlotParams.value }\n      setCurrentPage(1)\n    }\n\n    const searchChanged = (urlParams: string, mapParams: any, originalParams: any) => {\n      searchAdvanceParams.value = mapParams\n      params.value = { ...searchParams.value, ...searchAdvanceParams.value, ...searchSlotParams.value }\n      setCurrentPage(1)\n    }\n\n    // 搜索条件自定义回调\n    const searchSlotChanged = (mapParams: any) => {\n      searchSlotParams.value = mapParams\n      params.value = { ...searchParams.value, ...searchAdvanceParams.value, ...searchSlotParams.value }\n      setCurrentPage(1)\n    }\n\n    // 清空条件\n    const resetFields = () => {\n      console.log('我要清空条件')\n      searchParams.value = {}\n      searchAdvanceParams.value = {}\n      searchSlotParams.value = {}\n      simpleTableListRef.value?.searchbarRef.resetFields()\n    }\n\n    // TODO\n    const removeSelectedItem = (item: any) => { console.log(item) }\n\n    const {\n      isSelectedAll,\n      isIndeterminate,\n      selectedRowKeys,\n      selectAll,\n      selectRow,\n    } = useTableSelection(toRef(props, 'tableData'))\n\n    // 表格多选\n    watch(() => selectedRowKeys.value.length, (len: number) => {\n      toolbar.action.show = len > 0\n      toolbar.selectionCount = len\n      emit('selectedRowKeys', selectedRowKeys.value)\n    })\n\n    const {\n      pageSize,\n      currentPage,\n      total,\n      setTotal,\n      setCurrentPage,\n      currentPageChange,\n      pageSizeChange,\n    } = usePagination(fetchData, { pageSize:props.defaultPagination.pageSize, currentPage:props.defaultPagination.currentPage, total: props.defaultPagination.total })\n    const pagination = reactive({\n      show: true,\n      currentPage: currentPage,\n      pageSize: pageSize,\n      total: total,\n    })\n\n    // 查询表格数据\n    async function fetchData () {\n      await props.dataFetcher({\n        pageSize: pagination.pageSize,\n        currentPage: pagination.currentPage,\n        params: params.value,\n        setTotal: setAllTotal,\n      })\n    }\n\n    // 设置总数\n    const setAllTotal = (newTotal: number) => {\n      setTotal(newTotal)\n      pagination.total = newTotal\n    }\n\n    // 初始化查询表格数据\n    onMounted( () => {\n      fetchData()\n    })\n\n    const getSlotNames = (cols: any, result: any[]) => {\n      cols.forEach(col => {\n        if (col.slotName && !reservedSlotName.includes(col.slotName)) {\n          result.push(col)\n        }\n        if (col.children && Array.isArray(col.children)) {\n          getSlotNames(col.children, result)\n        }\n      })\n    }\n    // 过滤几个已使用的保留插槽['sear,chbar-suffix', 'selectionCol', 'tableSelection', 'customExpand', 'tableIndex', 'action']\n    const reservedSlotName = ['searchbar-suffix','searchbar-prefix', 'toolbar-extra-before','toolbar-extra-after','selectionCol', 'tableSelection', 'customExpand', 'tableIndex', 'action']\n    const slotCols = computed(() => {\n      const result: any[] = []\n      getSlotNames(props.cols, result)\n      return result\n    })\n\n    /**\n     * 重新刷新接口数据,一般用于多选或其他操作\n     * @param auto 在当前页没有数据时，是否自动向前翻页。默认false\n     */\n    const refresh = async (auto = false) => {\n      await fetchData()\n      if (auto && props.tableData.length === 0 && pagination.total > 0 && pagination.currentPage > 1) {\n        pagination.currentPage -= 1\n        await fetchData()\n      }\n      selectedRowKeys.value = []\n      isSelectedAll.value = false\n    }\n\n    // 重置当前数据\n    const reset = () => {\n      pagination.currentPage = 1\n      fetchData()\n    }\n\n    return {\n      newCols,\n      slotCols,\n\n      searchbar,\n      searchBarChanged,\n      searchSlotList,\n\n      toolbar,\n      searchChanged,\n      removeSelectedItem,\n\n      searchSlotChanged,\n\n      isSelectedAll,\n      selectedRowKeys,\n      selectAll,\n      selectRow,\n      isIndeterminate,\n\n      pagination,\n      pageSize,\n      currentPage,\n      total,\n      setTotal,\n      currentPageChange,\n      pageSizeChange,\n\n      refresh,\n      reset,\n      resetFields,\n      simpleTableListRef,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport PageTable from './src/page-table.vue'\n\nexport const FxPageTable = withInstall(PageTable)\nexport default FxPageTable\n\nexport * from './src/types'\n","import type { SelectorItem, SelectorItemOption } from 'hongluan-business-ui'\nimport type { TagItem } from './types'\n\nexport interface DisplayItem {\n  display: string\n  value: unknown\n  name: string\n  type: string\n}\n\nconst Utils = {\n  getKey(item: SelectorItem, opt: SelectorItemOption) {\n    return item.prop ? opt[item.prop.value] : opt.value\n  },\n  getLabel(item: SelectorItem, opt: SelectorItemOption) {\n    return item.prop ? opt[item.prop.label] : opt.label\n  },\n  getSelectedOptionLabels(item: SelectorItem) {\n    const result = [] as unknown[]\n    (item.value as Array<unknown>).forEach(v => {\n      result.push(this.getSelectedOptionLabel(item, v))\n    })\n    return result\n  },\n  getSelectedOptionLabel(item: SelectorItem, val: unknown) {\n    const valOpt = item.options.find(opt => this.getKey(item, opt) === val)\n    return valOpt ? this.getLabel(item, valOpt) : ''\n  },\n  getSelectedOptionsLabel(item: SelectorItem, vals: unknown[]) {\n    return vals.map(val => this.getSelectedOptionLabel(item, val))\n  },\n  getDisplayStr(display: unknown, separator = '-') {\n    let val = ''\n    if (typeof display === 'string') {\n      val = display\n    } else if (Array.isArray(display)) {\n      val = display.join(separator)\n    } else {\n      val = JSON.stringify(display)\n    }\n    return val\n  },\n  getSearchTags(searchArr: TagItem[], searchItems: SelectorItem[]) {\n    const result = [] as TagItem[]\n    searchArr\n      .filter(i => Array.isArray(i.value) ? i.value.length : (i.value || i.value === 0))\n      .forEach(item => {\n        const searchItem = searchItems.find(si => si.name === item.key)\n        if (/range|dates/.test(searchItem.type) || searchItem['is-range']) {\n          result.push({\n            ...item,\n            valueName: typeof searchItem.display === 'function' ? searchItem.display.call(null, item) : this.getDisplayStr(item.value),\n            type: searchItem.type,\n          })\n        } else if (searchItem.type === 'select') {\n          let valueName: string\n          if (Array.isArray(item.value)) {\n            valueName = this.getDisplayStr(this.getSelectedOptionsLabel(searchItem, item.value), '，')\n          } else {\n            valueName = this.getSelectedOptionLabel(searchItem, item.value) as string\n          }\n          result.push({\n            ...item,\n            valueName,\n            type: searchItem.type,\n          })\n        } else {\n          result.push({\n            ...item,\n            valueName: typeof searchItem.display === 'function' ? searchItem.display.call(null, item) : this.getDisplayStr(item.value),\n            type: searchItem.type,\n          })\n        }\n      })\n    return result\n  },\n  getSearchParams(searchArr: TagItem[]) {\n    const mapParams: Record<string, unknown> = {}\n    const originalParams: Record<string, unknown> = {}\n    searchArr\n      .filter(item => (Array.isArray(item.value) ? item.value.length : (item.value || item.value === 0)))\n      .forEach(item => {\n        if (/range|dates/.test(item.type) || item['is-range']) {\n          mapParams[item.key + 'Start'] = item.value[0]\n          mapParams[item.key + 'End'] = item.value[1]\n        } else {\n          mapParams[item.key] = item.value\n        }\n        originalParams[item.key] = item.value\n      })\n\n    return { mapParams, originalParams }\n  },\n\n}\n\nexport { Utils }\n","<template>\n  <table-search\n    v-if=\"reloaded\"\n    :show-search-bar=\"searchItems.length > 0\"\n    :show-adv-search=\"showAdvSearch\"\n    :hide-header-line=\"hideHeaderLine\"\n    @search=\"searchBarChanged\"\n    @change-height=\"setContentHeight\"\n  >\n    <template #default=\"searchForm\">\n      <hl-form-item\n        v-for=\"item in searchItems\"\n        :key=\"item.name\"\n        :label=\"item.label\"\n        :prop=\"item.name\"\n      >\n        <hl-time-picker\n          v-if=\"item.type === 'timepicker'\"\n          v-model=\"searchForm[item.name]\"\n          v-bind=\"getDateTimeProps(item)\"\n        />\n        <hl-date-picker\n          v-else-if=\"isDatePicker(item.type)\"\n          v-model=\"searchForm[item.name]\"\n          :type=\"item.type\"\n          v-bind=\"getDateTimeProps(item)\"\n        />\n        <hl-input\n          v-else-if=\"item.type === 'input'\"\n          v-model=\"searchForm[item.name]\"\n          v-bind=\"getInputProps(item)\"\n        />\n        <template v-else-if=\"item.type === 'slot'\">\n          <slot\n            :name=\"item.slotName\"\n            :value=\"searchForm[item.name]\"\n            :item=\"item\"\n            :search-form=\"searchForm\"\n          >\n          </slot>\n        </template>\n        <hl-select\n          v-else-if=\"item.type === 'select' || !item.type\"\n          v-model=\"searchForm[item.name]\"\n          v-bind=\"getSelectProps(item)\"\n        >\n          <hl-option\n            v-for=\"opt in item.options\"\n            :key=\"getKey(item, opt)\"\n            :label=\"getLabel(item, opt)\"\n            :value=\"getKey(item, opt)\"\n          />\n        </hl-select>\n      </hl-form-item>\n    </template>\n  </table-search>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, onMounted, PropType, watch, ref, nextTick } from 'vue'\nimport { HlFormItem, HlDatePicker, HlTimePicker, HlInput, HlSelect, HlOption } from 'hongluan-ui'\nimport { SelectorItem } from 'hongluan-business-ui'\nimport TableSearch from './table-search'\nimport { Utils } from './utils'\nimport { TagItem } from './types'\n\nexport default defineComponent({\n  components: { HlFormItem, HlDatePicker, HlTimePicker, HlInput, HlSelect, HlOption, TableSearch },\n  props: {\n    showAdvSearch: {\n      type: Boolean,\n      default: true,\n    },\n    // 搜索条件\n    searchItems: {\n      type: Array as PropType<SelectorItem[]>,\n      default: () => [],\n    },\n    hideHeaderLine: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  emits: ['search', 'change-height'],\n  setup(props, { emit }) {\n    const reloaded = ref(true)\n    const { getKey, getLabel } = Utils\n\n    const isDatePicker = (type: string) => {\n      return 'year/month/date/dates/week/datetime/datetimerange/daterange/monthrange'.indexOf(type) !== -1\n    }\n    const getDateTimeProps = (item: SelectorItem) => {\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      const { span: _, value: __, ...others } = item\n      return others\n    }\n    const getInputProps = (item: SelectorItem) => {\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      const { span: _, value: __, ...others } = item\n      return others\n    }\n    const getSelectProps = (item: SelectorItem) => {\n      // eslint-disable-next-line @typescript-eslint/no-unused-vars\n      const { options: _, value: __, prop: ___, ...others } = item\n      return others\n    }\n\n    const searchBarChanged = (searchArr: TagItem[], searchType: number) => {\n      const result = Utils.getSearchTags(searchArr, props.searchItems)\n      emit('search', result, searchType)\n    }\n    const setContentHeight = (val: number) => {\n      emit('change-height', val)\n    }\n\n    const initChange = () => {\n      const searchArr = props.searchItems.filter(si => Array.isArray(si.value) ? si.value.length : (si.value || si.value === 0)).map(si => ({\n        key: si.name,\n        label: si.label,\n        value: si.value,\n        valueName: '',\n      }))\n      searchBarChanged(searchArr as TagItem[], 2)\n    }\n\n    watch(() => props.searchItems, async () => {\n      reloaded.value = false\n      await nextTick()\n      reloaded.value = true\n      initChange()\n    }, {\n      deep: true,\n    })\n\n    onMounted(() => {\n      initChange()\n    })\n\n    return {\n      reloaded,\n      getKey,\n      getLabel,\n      isDatePicker,\n      getDateTimeProps,\n      getInputProps,\n      getSelectProps,\n      setContentHeight,\n      searchBarChanged,\n    }\n  },\n})\n</script>\n","<template>\n  <div ref=\"root\" class=\"search-page-tag_wrap\" :class=\"{ 'search-page-tag_wrap-hide': data.showHide }\">\n    <div\n      v-for=\"item in tags\"\n      :key=\"item.key\"\n      :class=\"{\n        'search-tag': true,\n        'search-tag-all': showType === 'all'\n      }\"\n    >\n      <span>{{ item.label + '：' + item.valueName }}</span>\n      <div class=\"white-line\"></div>\n      <hl-icon class=\"tag-close\" @click=\"clear(item)\">\n        <SystemClose />\n      </hl-icon>\n    </div>\n    <div\n      v-if=\"tags.length\"\n      class=\"clear-all\"\n      :class=\"{ 'clear-all-bottom': showType === 'all' }\"\n      @click=\"clear('all')\"\n    >\n      清空\n    </div>\n  </div>\n</template>\n<script lang=\"ts\">\nimport {\n  defineComponent,\n  reactive,\n  watch,\n  nextTick,\n  onMounted,\n  onBeforeUnmount,\n  getCurrentInstance,\n  ComponentInternalInstance,\n  PropType,\n} from 'vue'\nimport { HlIcon, SystemClose } from 'hongluan-ui'\n\n\nimport { TagItem } from './types'\n\nexport interface DataInterface {\n  showHide: boolean\n  timer: null | ReturnType<typeof setTimeout>\n}\n\nexport default defineComponent({\n  components: { HlIcon, SystemClose },\n  props: {\n    showType: {\n      type: String, // 未设置默认值，为 undefined\n      default: 'limit',\n    },\n    tags: {\n      type: Array as PropType<TagItem[]>,\n      default: () => [],\n    },\n    boxWidth: {\n      type: Number,\n      default: 0,\n    },\n  },\n  emits: ['hideIt', 'clearEvent'],\n  setup(props, { emit }) {\n    const data: DataInterface = reactive({\n      showHide: false,\n      timer: null,\n    })\n    let currentInstance: ComponentInternalInstance | null\n\n    watch(\n      () => props.boxWidth,\n      () => {\n        if (data.timer) {\n          clearTimeout(data.timer)\n        }\n        data.timer = setTimeout(() => {\n          nextTick(() => {\n            computedWidth()\n            data.timer = null\n          })\n        }, 50)\n      },\n    )\n    watch(\n      () => props.tags,\n      () => {\n        nextTick(() => {\n          computedWidth()\n        })\n      },\n      { deep: true, immediate: true },\n    )\n    // 对比自己的宽度\n    let computedWidth = () => {\n      if (!currentInstance || !currentInstance.refs['root']) return\n      let $el: any = currentInstance.refs['root']\n      data.showHide = $el.parentNode.offsetWidth - $el.offsetWidth <= 48 && props.showType === 'limit'\n      emit('hideIt', data.showHide)\n    }\n    let clear = (item: TagItem | string) => {\n      emit('clearEvent', item)\n    }\n\n    onMounted(() => {\n      currentInstance = getCurrentInstance()\n    })\n    onBeforeUnmount(() => {\n      data.timer && clearTimeout(data.timer)\n    })\n\n    return {\n      data,\n      clear,\n    }\n  },\n})\n</script>\n","<template>\n  <div ref=\"root\" class=\"table-toolbar w-full\">\n    <hl-group align=\"items-middle\" gap=\"var(--lg)\" full=\"full-x\" class=\"w-full\">\n      <div class=\"static\">\n        <slot name=\"content-header-left\"></slot>\n      </div>\n      <!--搜索项显示区1-->\n      <div ref=\"search-tags\" class=\"toolbar-tags-wrap\">\n        <search-tag :tags=\"tags\" :show-type=\"'limit'\" :box-width=\"data.searchTagsW\" @hideIt=\"judgeSearchTagHide\" @clearEvent=\"clearSearchTag\" />\n      </div>\n      <div class=\"static\">\n        <slot name=\"content-header-right\"></slot>\n      </div>\n    </hl-group>\n    <!--搜索项显示区2-->\n    <search-tag v-if=\"data.searchTagHide\" :tags=\"tags\" :show-type=\"'all'\" @clearEvent=\"clearSearchTag\" />\n  </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, reactive, onMounted, onBeforeUnmount, getCurrentInstance, ComponentInternalInstance, PropType } from 'vue'\nimport { HlGroup } from 'hongluan-ui'\nimport SearchTag from './search-tag.vue'\nimport { TagItem } from './types'\n\nexport interface DataInterface {\n  searchTagHide: boolean\n  myObserver: null | ResizeObserver\n  searchTagsW: number\n}\n\nexport default defineComponent({\n  components: { SearchTag, HlGroup },\n  props: {\n    tags: {\n      type: Array as PropType<TagItem[]>,\n      default: () => [],\n    },\n  },\n  emits: ['tagBoxHeight', 'clearTags'],\n  setup(props, { emit }) {\n    const data: DataInterface = reactive({\n      searchTagHide: false,\n      myObserver: null,\n      searchTagsW: 0,\n    })\n\n    let currentInstance: ComponentInternalInstance | null\n\n    let runResizeObserver = () => {\n      data.myObserver = new ResizeObserver(entries => {\n        // 注意，entres是个数组，数组项为每个需要监听的DOM节点\n        entries.forEach(entry => {\n          // console.log('大小位置 contentRect', entry.contentRect)\n          // console.log('监听的DOM target', entry.target)\n          if (entry.target.className.indexOf('toolbar-tags-wrap') !== -1) {\n            data.searchTagsW = entry.contentRect.width\n          } else if (entry.target.className.indexOf('table-toolbar') !== -1) {\n            emit('tagBoxHeight', entry.contentRect.height)\n          }\n        })\n      })\n      if (currentInstance) {\n        data.myObserver.observe(currentInstance.refs['search-tags'] as Element)\n        data.myObserver.observe(currentInstance.refs['root'] as Element)\n      }\n    }\n\n    let judgeSearchTagHide = (val: boolean) => {\n      data.searchTagHide = val\n    }\n    let clearSearchTag = (val: string | Array<any>) => {\n      // 关闭的搜素标签\n      if (val === 'all') {\n        emit('clearTags', props.tags)\n      } else {\n        emit('clearTags', [val])\n      }\n    }\n\n    onMounted(() => {\n      currentInstance = getCurrentInstance()\n      runResizeObserver()\n    })\n\n    onBeforeUnmount(() => {\n      data.myObserver && data.myObserver.disconnect()\n    })\n\n    return {\n      data,\n      judgeSearchTagHide,\n      clearSearchTag,\n    }\n  },\n})\n</script>\n","<template>\n  <hl-group align=\"items-middle\" class=\"list-total\" :class=\"cls\">\n    <hl-icon size=\"xs\" class=\"m-r-xs\">\n      <svg viewBox=\"0 0 16 16\" version=\"1.1\">\n        <g stroke=\"none\" stroke-width=\"1\" fill=\"currentColor\" fill-rule=\"evenodd\">\n          <path v-if=\"checked\" d=\"M13.6042969,0.533576817 L13.6039805,10.4732904 C13.6016137,11.571218 13.5756715,11.9976489 13.4670821,12.4320064 C13.1222747,13.811236 12.0205792,14.9129315 10.5724932,15.3265953 L10.3848437,15.3682458 C10.0344432,15.4359598 9.48802787,15.4578615 8.69782901,15.4626044 L7.52718642,15.4634938 C6.42925875,15.4611269 5.76850445,15.4351847 5.33414696,15.3265953 C3.95491738,14.9817879 2.85322188,13.8800924 2.43955807,12.4320064 C2.34648147,12.0597 2.31412522,11.6932172 2.30528941,10.9045261 L2.30265932,10.473015 L2.30234327,0.533576817 L13.6042969,0.533576817 Z M12.0103356,2.12624349 L3.8946766,2.12624349 L3.89640829,10.6234012 C3.89941141,11.3690094 3.91678164,11.6798536 3.98418345,11.9162068 L4.02612424,12.0399047 C4.20905335,12.8935739 4.87744549,13.5448278 5.79720622,13.8076916 L5.88459097,13.8261272 C6.01033628,13.847997 6.18213956,13.859419 6.50954571,13.8651455 L7.56684713,13.8703682 L8.81547999,13.8684046 C9.56203454,13.8615113 9.94201049,13.8336443 10.1803915,13.7400291 C11.0340607,13.5571 11.6853145,12.8887079 11.9481784,11.9689471 L11.9713789,11.8563876 C11.9999583,11.6786626 12.0082477,11.4035708 12.0103356,10.6181765 L12.0103356,2.12624349 Z M8.79666667,4.40497253 L8.79666667,7.99830585 L7.20333333,7.99830585 L7.20333333,4.40497253 L8.79666667,4.40497253 Z\" fill-rule=\"nonzero\" />\n          <path v-else d=\"M7.22131097,1.02302406 C10.8188214,1.02302406 13.735239,3.93945118 13.735239,7.53698247 C13.735239,8.73345423 13.4119411,9.8820658 12.8110967,10.8833651 L12.6977811,11.0629204 L15.317794,13.6834353 C15.5686156,13.934044 15.6142196,14.3123975 15.4546218,14.6094429 L15.3938225,14.7051599 L15.3178232,14.7931334 C15.1686702,14.9422864 14.9696377,15.0230241 14.7629735,15.0230241 C14.5976551,15.0230241 14.4372114,14.9713523 14.3032601,14.8743056 L14.2081017,14.7931113 L11.689463,12.2734855 L11.5432093,12.4107512 C10.5101724,13.3278538 9.21415349,13.8957738 7.82290275,14.0234241 L7.52338109,14.0440057 L7.22131097,14.0509105 C3.62377968,14.0509105 0.707352557,11.1344929 0.707352557,7.53698247 C0.707352557,3.93944641 3.62377491,1.02302406 7.22131097,1.02302406 Z M7.22131097,2.59250469 C4.49498666,2.59250469 2.27683319,4.81066278 2.27683319,7.53698247 C2.27683319,10.263284 4.49499887,12.4814451 7.22131097,12.4814451 C9.9476049,12.4814451 12.1657736,10.2632718 12.1657736,7.53698247 C12.1657736,4.81067566 9.94760259,2.59250469 7.22131097,2.59250469 Z\" fill-rule=\"nonzero\" />\n        </g>\n      </svg>\n    </hl-icon>\n    {{ text.tip }}<span class=\"text-link\">{{ text.info }}</span><span v-show=\"text.info\">条数据</span>\n  </hl-group>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed } from 'vue'\nimport { HlGroup, HlIcon } from 'hongluan-ui'\n\nexport default defineComponent({\n  components: { HlGroup, HlIcon },\n  props: {\n    total: {\n      type: Number,\n      default: 0,\n    },\n    search: {\n      type: Boolean,\n      default: false,\n    },\n    checked: {\n      type: Boolean,\n      default: false,\n    },\n  },\n  setup(props) {\n    const cls = computed(() => {\n      if (props.checked && props.total > 0) return 'is-checked'\n      if (props.search) return 'is-search'\n      return 'default'\n    })\n    const text = computed(() => {\n      if (props.checked && props.total > 0) {\n        return {\n          tip: '已选',\n          info: `${props.total}`,\n        }\n      }\n      if (props.search) {\n        if (props.total > 0) {\n          return {\n            tip: '查询结果',\n            info: `${props.total}`,\n          }\n        }\n        return {\n          tip: '暂无查询结果',\n          info: ``,\n        }\n      }\n      if (props.total > 0) {\n        return {\n          tip: '共计',\n          info: `${props.total}`,\n        }\n      } else {\n        return {\n          tip: '暂无数据',\n          info: ``,\n        }\n      }\n    })\n\n    return {\n      cls,\n      text,\n    }\n  },\n})\n</script>\n","<template>\n  <hl-dropdown @visible-change=\"data.isShowdropdown = !data.isShowdropdown\">\n    <hl-button :disabled=\"disabled\" type=\"primary\" class=\"btn-more-action\" icon-position=\"left\" style=\"--button-height: calc(var(--xs) * 6); --button-padding-x: calc(var(--xs) * 2); --form-icon-size: var(--xxl);\">\n      {{ text }}\n      <hl-icon class=\"dropdown-arrow\">\n        <SystemArrowDown />\n      </hl-icon>\n      <template #icon>\n        <hl-icon>\n          <svg viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n            <defs>\n              <linearGradient id=\"btnMore-Dark\" x1=\"1.51499155%\" y1=\"30.5343083%\" x2=\"100%\" y2=\"30.5343083%\">\n                <stop stop-color=\"#7AC1FF\" offset=\"0%\" />\n                <stop stop-color=\"#36A4FF\" offset=\"100%\" />\n              </linearGradient>\n              <linearGradient id=\"btnMore-Light\" x1=\"50%\" y1=\"0%\" x2=\"50%\" y2=\"99.889147%\">\n                <stop stop-color=\"#FFFFFF\" offset=\"0%\" />\n                <stop stop-color=\"#BAE0FF\" offset=\"100%\" />\n              </linearGradient>\n            </defs>\n            <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n              <polygon fill-opacity=\"0.5\" fill=\"currentColor\" points=\"6 3 26 3 26 30 6 30\" />\n              <polygon fill-opacity=\"0.3\" fill=\"currentColor\" transform=\"translate(16.000000, 18.500000) rotate(-270.000000) translate(-16.000000, -18.500000) \" points=\"6.5 5.5 25.5 5.5 25.5 31.5 6.5 31.5\" />\n              <polygon :fill=\"disabled ? 'url(#btnMore-Dark)': 'url(#btnMore-Light)'\" points=\"13.0142796 2 27 2 27 30 5 30 5 11.991862\" />\n              <path d=\"M16.6446452,15.3665437 L16.6446452,18.6334563 L14.6446452,18.6334563 L14.6446452,15.3665437 L16.6446452,15.3665437 Z M20.6334563,15.3665437 L20.6334563,18.6334563 L18.6334563,18.6334563 L18.6334563,15.3665437 L20.6334563,15.3665437 Z M10.6334563,18.6334563 L10.6334563,15.3665437 L12.6334563,15.3665437 L12.6334563,18.6334563 L10.6334563,18.6334563 Z\" :fill=\"disabled ? '#FFFFFF' : '#6CBCFF' \" fill-rule=\"nonzero\" />\n            </g>\n          </svg>\n        </hl-icon>\n      </template>\n    </hl-button>\n    <template #dropdown>\n      <hl-dropdown-menu class=\"more-action-dropdown-menu\">\n        <hl-dropdown-item v-for=\"(item, idx) in options\" :key=\"idx\" v-bind=\"item\">\n          {{ item.label }}\n        </hl-dropdown-item>\n      </hl-dropdown-menu>\n    </template>\n  </hl-dropdown>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, reactive } from 'vue'\nimport { HlDropdown, HlDropdownItem, HlDropdownMenu, HlButton, HlIcon, SystemArrowDown } from 'hongluan-ui'\n\nexport default defineComponent({\n  components: { HlDropdown, HlDropdownItem, HlDropdownMenu, HlButton, HlIcon, SystemArrowDown },\n  props: {\n    options: {\n      type: Array,\n      defualt: () => [],\n    },\n    disabled: Boolean,\n    text: {\n      type: String,\n      default: '更多操作',\n    },\n  },\n  setup() {\n    const data = reactive({\n      isShowdropdown: false,\n    })\n    return {\n      data,\n    }\n  },\n})\n\n\n</script>\n\n","<template>\n  <hl-group full class=\"full-page fx-page-table-v2\" gap=\"var(--lg)\">\n    <hl-panel v-if=\"$slots.tree\" v-show=\"showTree\" class=\"table-panel h-full static left-section-tree\" full-body borderless>\n      <slot name=\"tree\"></slot>\n    </hl-panel>\n\n    <hl-panel class=\"w-xxl bg-transparent\" full-body borderless padding=\"0\" header-class=\"flex-wrap\">\n      <template v-if=\"tabs.length || searchItems.length\" #header>\n        <hl-tabs\n          v-if=\"tabs.length\"\n          v-model=\"activeTab\"\n          type=\"line\"\n          :show-pane=\"false\"\n          class=\"w-full table-tabs\"\n          style=\"background:var(--bg-element)\"\n          nav-height=\"calc(var(--xxs) * 16)\"\n          v-bind=\"tabsProps\"\n          @tab-change=\"$emit('tab-change', activeTab)\"\n        >\n          <hl-tab-pane v-for=\"t in tabs\" :key=\"t.name\" :label=\"t.label\" :name=\"t.name\" />\n        </hl-tabs>\n        <table-search-wrapper\n          :show-search-bar=\"searchItems.length > 0\"\n          :search-items=\"searchItems\"\n          :show-adv-search=\"showAdvSearch\"\n          :hide-header-line=\"!!tabs?.length\"\n          @search=\"searchBarChanged\"\n          @change-height=\"setContentHeight\"\n        >\n          <template v-for=\"s in searchItemsSlots\" #[s]=\"itemData\">\n            <slot :name=\"s\" v-bind=\"itemData\"></slot>\n          </template>\n        </table-search-wrapper>\n      </template>\n      <slot name=\"header-top\"></slot>\n      <hl-panel\n        ref=\"tableContentRef\"\n        class=\"h-full table-page\"\n        header-class=\"border-transparent\"\n        footer-class=\"border-transparent\"\n        full-body\n      >\n        <template #header>\n          <search-items if=\"showToolBar\" :tags=\"currentSearchTags\" @tag-box-height=\"setTagBoxHeight\" @clear-tags=\"clearTags\">\n            <template #content-header-left>\n              <total-info v-bind=\"totalInfoData\" />\n            </template>\n            <template #content-header-right>\n              <slot name=\"toolbar-extra-before\"></slot>\n              <dropdown-button v-if=\"selectionActions.length > 0\" :options=\"selectionActions\" :disabled=\"selectedRowKeys.length <= 0\" />\n              <slot name=\"toolbar-extra-after\"></slot>\n            </template>\n          </search-items>\n        </template>\n        <hl-scrollbar style=\"margin: 0 var(--panel-padding)\">\n          <hl-simple-table\n            :cols=\"newCols\"\n            :data=\"tableData\"\n            border=\"border-x\"\n            padding=\"var(--sm)\"\n            fixed-header\n            v-bind=\"tableProps\"\n            @sort-change=\"(...args) => $emit('sort-change', ...args)\"\n            @row-click=\"(...args) => $emit('row-click', ...args)\"\n            @cell-click=\"(...args) => $emit('cell-click', ...args)\"\n          >\n            <template #tableIndex=\"{ rowIndex }\">\n              <span>{{ rowIndex + 1 }}</span>\n            </template>\n            <!-- 行多选 -->\n            <template #selectionCol>\n              <hl-checkbox\n                v-if=\"isMultipleSelect\"\n                v-model=\"isSelectedAll\"\n                :indeterminate=\"isIndeterminate\"\n                :show-label=\"false\"\n                @change=\"selectAll\"\n              />\n            </template>\n            <template #tableSelection=\"{ row }\">\n              <hl-checkbox\n                v-if=\"isMultipleSelect\"\n                v-model=\"selectedRowKeys\"\n                :label=\"row.id\"\n                :show-label=\"false\"\n                @change=\"selectRow\"\n                @click.stop\n              />\n              <hl-radio\n                v-else\n                v-model=\"selectedRadioKey\"\n                :label=\"row.id\"\n                :show-label=\"false\"\n                @change=\"handleRadioChange\"\n                @click.stop\n              />\n            </template>\n            <!-- 行操作 -->\n            <template #action=\"{ row }\">\n              <hl-group gap=\"var(--xxs)\">\n                <slot name=\"action\" :row=\"row\"></slot>\n              </hl-group>\n            </template>\n            <!-- 展开行插槽 -->\n            <template #customExpand=\"{ row }\">\n              <slot name=\"customExpand\" :row=\"row\"></slot>\n            </template>\n            <!-- 无数据 -->\n            <template #empty>\n              <hb-empty description=\"暂无数据\" image-size=\"10vw\" :image=\"noDataImage\" />\n            </template>\n            <template v-for=\"col in slotCols\" #[col.slotName]=\"colData\" :key=\"col.slotName\">\n              <slot :name=\"col.slotName\" v-bind=\"colData\"> </slot>\n            </template>\n            <template v-for=\"filter in filterSlots\" #[filter.slotName]=\"close\" :key=\"filter.slotName\">\n              <slot :name=\"filter.slotName\" v-bind=\"close\"> </slot>\n            </template>\n          </hl-simple-table>\n        </hl-scrollbar>\n        <template v-if=\"pagination.show\" #footer>\n          <hl-pagination\n            v-if=\"tableData?.length > 0\"\n            ref=\"paginationRef\"\n            :page-size=\"pagination.pageSize\"\n            :current-page=\"pagination.currentPage\"\n            :total=\"pagination.total\"\n            align=\"items-between\"\n            class=\"full\"\n            layout=\"sizes, total, slot, prev, pager, next, jumper\"\n            @current-change=\"currentPageChange\"\n            @size-change=\"pageSizeChange\"\n          >\n            <div class=\"w-full\"></div>\n          </hl-pagination>\n        </template>\n      </hl-panel>\n    </hl-panel>\n  </hl-group>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, reactive, watch, onMounted, PropType, toRef, computed, onBeforeUnmount } from 'vue'\nimport { HlSimpleTable, HlGroup, HlCheckbox, HlRadio, HlPanel, HlTabs, HlTabPane, HlScrollbar, HlPagination } from 'hongluan-ui'\nimport { HbEmpty } from 'hongluan-business-ui'\nimport { useTableSelection, usePagination } from 'hongluan-hooks'\nimport TableSearchWrapper from './table-search-wrapper.vue'\nimport SearchItems from './search-items.vue'\nimport TotalInfo from './total-info.vue'\nimport DropdownButton from './dropdown-button.vue'\nimport { TagItem } from './types'\nimport { Utils } from './utils'\n\nexport default defineComponent({\n  name: 'PageTableV2',\n  components: { HlSimpleTable, HlGroup, HlCheckbox, HlRadio, HlPanel, HbEmpty, HlScrollbar, HlTabs, HlTabPane, HlPagination, TableSearchWrapper, SearchItems, TotalInfo, DropdownButton },\n  props: {\n    // 自定义表格属性穿透给hl-simple-table\n    tableProps: {\n      type: Object,\n      default: () => ({}),\n    },\n    // 表头\n    cols: {\n      type: Array,\n      default: () => [],\n    },\n    // 表数据\n    tableData: {\n      type: Array as PropType<Record<string, unknown>[]>,\n      default: () => [],\n    },\n    // 列表查询回调\n    dataFetcher: {\n      type: Function as PropType<(...args: any) => Promise<any>>,\n      default: () => ({}),\n    },\n    showTree: Boolean,\n    showAdvSearch: {\n      type: Boolean,\n      default: true,\n    },\n    // 搜索条件\n    searchItems: {\n      type: Array as PropType<any[]>,\n      default: () => [],\n    },\n\n    // 多选操作\n    selectionActions: {\n      type: Array,\n      default: () => [],\n    },\n    defaultPagination: {\n      type: Object,\n      default: () => {\n        return { pageSize: 10, currentPage: 1, total: 0 }\n      },\n    },\n    noDataImage: {\n      type: String,\n      default: '',\n    },\n    showToolBar: {\n      type: Boolean,\n      default: true,\n    },\n    tabs: {\n      type: Array as PropType<{ label: string; name: string; default?: boolean; }[]>,\n      default: () => [],\n    },\n    tabsProps: {\n      type: Object,\n      default: () => ({}),\n    },\n    isMultipleSelect: {\n      type: Boolean,\n      default: true,\n    },\n  },\n  emits: ['selectedRowKeys', 'sort-change', 'row-click', 'cell-click', 'tab-change', 'clear-tags'],\n  setup (props, { emit }) {\n    const activeTab = ref('')\n    const simpleTableListRef = ref()\n    const tableContentRef = ref()\n    const tableContentHeight = ref('')\n    let tagsHeight = 0\n    // 搜索总条件\n    const searchParams = ref({})\n    const currentSearchTags = ref<TagItem[]>([])\n    const totalInfoData = reactive({ search: true, checked: false, total: 0 })\n    const tableStyle = ref<Record<string, any>>({})\n\n    const newCols = computed(() => {\n      return props.cols.map((col: any) => {\n        if (['tableIndex', 'tableSelection'].includes(col.slotName) && !col.width) {\n          col.width = '6em'\n        }\n        return col\n      })\n    })\n\n    const searchBarChanged = (searchArr: TagItem[], searchType: number) => {\n      if (searchType === 1) { // 简单搜索，只有一个搜索项\n        const idx = currentSearchTags.value.findIndex(st => st.key === searchArr[0].key)\n        if (idx > -1) {\n          currentSearchTags.value[idx] = searchArr[0]\n        } else {\n          currentSearchTags.value.push(searchArr[0])\n        }\n      } else { // 高级搜索\n        currentSearchTags.value = searchArr\n      }\n      searchParams.value = { ...Utils.getSearchParams(currentSearchTags.value).mapParams }\n      setCurrentPage(1)\n    }\n    const setTableHeight = (val: number) => {\n      tableStyle.value = {\n        height: (val - tagsHeight) + 'px',\n        overflow: 'auto',\n      }\n    }\n    const setContentHeight = (val: number) => {\n      tableContentHeight.value = `calc(100% - ${val + 16}px)`\n    }\n\n    const setTagBoxHeight = (val: number) => {\n      if (tableContentRef.value) {\n        let num: number = tableContentRef.value.offsetHeight - val - 76\n        tagsHeight = val\n        setTableHeight(num)\n      }\n    }\n    const clearTags = (val: Array<TagItem>) => {\n      emit('clear-tags', val)\n      currentSearchTags.value = currentSearchTags.value.filter(c => !val.find(v => v.key === c.key))\n      searchParams.value = { ...Utils.getSearchParams(currentSearchTags.value).mapParams }\n      setCurrentPage(1)\n    }\n\n    const {\n      isSelectedAll,\n      isIndeterminate,\n      selectedRowKeys,\n      selectAll,\n      selectRow,\n    } = useTableSelection(toRef(props, 'tableData'))\n\n    const selectedRadioKey = ref()\n\n    const selectChange = (len = 1) => {\n      Object.assign(totalInfoData, { search: len <= 0, checked: len > 0, total: len > 0 ? len : total.value })\n      emit('selectedRowKeys', selectedRowKeys.value)\n    }\n\n    if (props.isMultipleSelect) {\n      // 表格多选\n      watch(() => selectedRowKeys.value.length, (len: number) => {\n        selectChange(len)\n      })\n    } else {\n      // 表格单选\n      watch(() => selectedRowKeys.value, () => {\n        selectChange()\n      })\n    }\n\n    const {\n      pageSize,\n      currentPage,\n      total,\n      setTotal,\n      setCurrentPage,\n      currentPageChange,\n      pageSizeChange,\n    } = usePagination(fetchData, { pageSize:props.defaultPagination.pageSize, currentPage:props.defaultPagination.currentPage, total: props.defaultPagination.total })\n    const pagination = reactive({\n      show: true,\n      currentPage: currentPage,\n      pageSize: pageSize,\n      total: total,\n    })\n\n    // 查询表格数据\n    async function fetchData () {\n      await props.dataFetcher({\n        pageSize: pagination.pageSize,\n        currentPage: pagination.currentPage,\n        params: searchParams.value,\n        setTotal: setAllTotal,\n      })\n      Object.assign(totalInfoData, { search: true, checked: false, total: total.value })\n    }\n\n    // 设置总数\n    const setAllTotal = (newTotal: number) => {\n      setTotal(newTotal)\n      pagination.total = newTotal\n    }\n\n    const getSlotNames = (cols: any, result: any[]) => {\n      cols.forEach(col => {\n        if (col.slotName && !reservedSlotName.includes(col.slotName)) {\n          result.push(col)\n        }\n        if (col.children && Array.isArray(col.children)) {\n          getSlotNames(col.children, result)\n        }\n      })\n    }\n    // 过滤几个已使用的保留插槽\n    const reservedSlotName = ['toolbar-extra-before','toolbar-extra-after','selectionCol', 'tableSelection', 'customExpand', 'tableIndex', 'action']\n    const slotCols = computed(() => {\n      const result: any[] = []\n      getSlotNames(props.cols, result)\n      return result\n    })\n    const searchItemsSlots = computed(() => {\n      const result: string[] = []\n      props.searchItems.forEach(si => {\n        if (si.type === 'slot' && si.slotName) {\n          result.push(si.slotName)\n        }\n      })\n      return result\n    })\n\n    const filterSlots = computed(() => {\n      const result: string[] = []\n      props.cols.forEach((item: any) => {\n        if (item.filter && item.filter.slotName && !reservedSlotName.includes(item.filter.slotName)) {\n          result.push(item.filter)\n        }\n      })\n      return result\n    })\n\n    /**\n     * 重新刷新接口数据，重置多选，一般用于多选或其他操作\n     * @param auto 在当前页没有数据时，是否自动向前翻页。默认false\n     */\n    const refresh = async (auto = false) => {\n      await fetchData()\n      if (auto && props.tableData.length === 0 && pagination.total > 0 && pagination.currentPage > 1) {\n        pagination.currentPage -= 1\n        await fetchData()\n      }\n      selectedRowKeys.value = []\n      isSelectedAll.value = false\n    }\n\n    /**\n     * 设置数据回到第一页，保留搜索以及多选等条件\n     */\n    const reset = () => {\n      setCurrentPage(1)\n    }\n\n    /**\n     * 重置搜索，重置多选等，并且设置数据回到第一页，\n     */\n    const resetAll = () => {\n      selectedRowKeys.value = []\n      isSelectedAll.value = false\n      clearTags([])\n    }\n\n    /**\n     * 重置搜索，重置多选\n     */\n    const clearAll = () => {\n      selectedRowKeys.value = []\n      isSelectedAll.value = false\n      currentSearchTags.value = []\n      searchParams.value = {}\n    }\n\n    // 手动设置行选中状态，用于把表格作为选择工具时，回显已选的数据\n    const setSeletedRowKeys = (keys: string[]) => {\n      selectedRowKeys.value = keys\n      // 单选时还需要设置 selectedRadioKey 才能让 radio 回显选中状态\n      if (!props.isMultipleSelect) {\n        selectedRadioKey.value = keys[0]\n      }\n    }\n\n    const tableContentObserver = new ResizeObserver(entries => {\n      // 注意，entres是个数组，数组项为每个需要监听的DOM节点\n      entries.forEach(entry => {\n        // console.log('大小位置 contentRect', entry.contentRect)\n        // console.log('监听的DOM target', entry.target)\n        if (entry.target.className.indexOf('tree-page-content') !== -1) {\n          // 执行内容区的高度变动\n          setTableHeight(entry.contentRect.height)\n        }\n      })\n    })\n\n    const handleRadioChange = (id: string | number) => {\n      selectedRowKeys.value = [id]\n      selectRow()\n    }\n\n    watch(() => props.tabs, () => {\n      if (props.tabs?.length) {\n        const defaultTab = props.tabs.find(t => t.default)\n        activeTab.value = defaultTab?.name ?? props.tabs[0].name\n      }\n    }, {\n      immediate: true,\n      deep: true,\n    })\n\n    // 初始化查询表格数据\n    onMounted(async () => {\n      // tableContentObserver.observe(tableContentRef.value as Element)\n      if (props.searchItems.length <= 0) {\n        setCurrentPage(1)\n      }\n    })\n    onBeforeUnmount(() => {\n      tableContentObserver && tableContentObserver.disconnect()\n    })\n\n    return {\n      activeTab,\n      tableContentHeight,\n      currentSearchTags,\n      totalInfoData,\n      newCols,\n      slotCols,\n      filterSlots,\n      tableStyle,\n\n      searchItemsSlots,\n      searchBarChanged,\n      setContentHeight,\n\n      setTagBoxHeight,\n      clearTags,\n\n      isSelectedAll,\n      selectedRowKeys,\n      selectAll,\n      selectRow,\n      isIndeterminate,\n\n      pagination,\n      pageSize,\n      currentPage,\n      total,\n      setTotal,\n      currentPageChange,\n      pageSizeChange,\n\n      refresh,\n      reset,\n      resetAll,\n      clearAll,\n      setSeletedRowKeys,\n      simpleTableListRef,\n      tableContentRef,\n      handleRadioChange,\n      selectedRadioKey,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport PageTableV2 from './src/page-table-v2.vue'\n\nexport const FxPageTableV2 = withInstall(PageTableV2)\nexport default FxPageTableV2\n\nexport * from './src/types'\n","function echartsFontSize(res: number, basisHeight: number) {\n  const clientHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight\n  if (!clientHeight) return\n  const fontSize = clientHeight / basisHeight\n  return res * fontSize\n}\n\nconst EChartUtils = {\n  echartsFontSize,\n}\n\nexport { EChartUtils }\n","import { HlLoading, LoadingOptions, LoadingInstance, HlMessage } from 'hongluan-ui'\n\nlet loading: LoadingInstance\nlet needLoadingRequestCount = 0\n\nfunction startLoading (args: LoadingOptions | undefined) {\n  loading = HlLoading.service({ lock: true,\n    text: '加载中……',\n    background: 'rgba(0, 0, 0, 0.05)',\n    ...args })\n}\n\nfunction tryCloseLoading () {\n  loading.close()\n}\n\nfunction preventShakeHandle (fn: { (): void; (): void; }, wait: number) {\n  let timer: NodeJS.Timeout\n  let startTime = 0\n\n  return function run () {\n    const nowTime = new Date().getTime()\n    if (nowTime - startTime < wait) {\n      // 触发时间\n      clearTimeout(timer)\n      startTime = nowTime\n      timer = setTimeout(() => {\n        fn()\n      }, wait)\n    } else {\n      startTime = nowTime\n      timer = setTimeout(() => {\n        fn()\n      }, wait)\n    }\n  }\n}\n\nconst Loading = {\n  showFullScreenLoading (args = {}) {\n    if (needLoadingRequestCount === 0) {\n      startLoading(args)\n    }\n    needLoadingRequestCount++\n  },\n  tryHideFullScreenLoading () {\n    if (needLoadingRequestCount <= 0) return\n    needLoadingRequestCount--\n    if (needLoadingRequestCount === 0) {\n      preventShakeHandle(tryCloseLoading, 300)()\n    }\n  },\n  showMessageTip(code: number, txt: string) {\n    switch (code) {\n      case 1:\n        // 成功\n        HlMessage({\n          showClose: true,\n          message: `${txt}`,\n          type: 'success',\n        })\n        break\n      case 2:\n        // 轻微级别\n        HlMessage({\n          showClose: true,\n          message: `${txt}`,\n          type: 'warning',\n        })\n        break\n      case 3:\n        // 一般级别\n        HlMessage({\n          showClose: true,\n          message: `${txt}`,\n          type: 'info',\n        })\n        break\n      case 4:\n      case 5:\n        // 严重\n        HlMessage({\n          showClose: true,\n          message: `${txt}`,\n          type: 'error',\n        })\n        break\n      default:\n        console.error('code error!')\n        break\n    }\n  },\n}\n\nexport { Loading }\n","<template>\n  <div :class=\"`${PREFIX.toLowerCase()}-file-upload`\">\n    <hl-upload\n      :class=\"listType==='text'?'custom-file-upload':''\"\n      :headers=\"{authorization: token}\"\n      :action=\"fileService\"\n      :list-type=\"listType\"\n      :accept=\"accept\"\n      :limit=\"limit\"\n      :file-list=\"fileList\"\n      :multiple=\"multiple\"\n      :disabled=\"disabled\"\n      :show-file-list=\"showFileList\"\n      :on-preview=\"handlePictureCardPreview\"\n      :on-remove=\"handleRemove\"\n      :on-success=\"handleSuccess\"\n      :on-exceed=\"handleExceed\"\n    >\n      <!--图片上传-->\n      <hl-icon v-if=\"listType==='card'\"><two-upload /></hl-icon>\n      <!--文件上传-->\n      <hl-button v-if=\"listType==='text'&&!disabled\" type=\"primary\" icon-position=\"left\">\n        {{ textButton }}\n        <template #icon>\n          <hl-icon><two-upload /></hl-icon>\n        </template>\n      </hl-button>\n    </hl-upload>\n    <hl-dialog v-model=\"dialogVisible\" title=\"查看图片\" width=\"50%\" :append-to-body=\"true\">\n      <hl-thumb :src=\"dialogImageUrl\" class=\"full\" />\n    </hl-dialog>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, onMounted, PropType } from 'vue'\nimport { HlMessage } from 'hongluan-ui'\nimport { TwoUpload } from '@hongluan-ui/icons'\nimport { fileSizeLimit, FileList } from './types'\nimport { PREFIX } from '@pc-fx-framework/utils'\n\nexport default defineComponent({\n  name: 'FileUpload',\n  components: { TwoUpload },\n  props: {\n    token: {\n      type: String,\n      default: '',\n    },\n    textButton: {\n      type: String,\n      default: '点击上传',\n    },\n    showFileList: {\n      type: Boolean,\n      default: true,\n    },\n    listType: {\n      type: String,\n      default: 'text',\n    },\n    accept: {\n      type: String,\n      default: '.*',\n    },\n    limit: {\n      type: Number,\n    },\n    multiple: {\n      type: Boolean,\n      default: false,\n    },\n    // 文件上传后的列表id数组字符串\n    ids: {\n      type: String,\n      default: '',\n    },\n    // 用于回显\n    getFileList: {\n      type: Function as PropType<(...args: any) => void>,\n      default: () => ({}),\n    },\n    disabled: {\n      type: Boolean,\n      default: false,\n    },\n    // 文件上传路径,API地址\n    fileService: {\n      type: String,\n      default: '',\n    },\n    // 文件大小\n    fileSizeLimit: {\n      type: Object,\n      default: () => ({\n        video: 100, // 视频100M\n        image: 5, // 图片5M\n      }),\n    },\n  },\n  emits: ['handleSuccess', 'update:ids'],\n  setup (props, { emit }) {\n    const fileList = ref<FileList[]>([])\n\n    // 初始化文件数据方法\n    const initData = () => {\n      if (props.ids) {\n        props.getFileList({\n          ids: props.ids,\n          setFileList: setFileList,\n        })\n      }\n    }\n    onMounted(() => {\n      initData()\n    })\n\n    const setFileList = (list: FileList[]) => {\n      fileList.value = list\n    }\n\n    const dialogImageUrl = ref('')\n    const dialogVisible = ref(false)\n\n    // 删除文件\n    const handleRemove = (file: any, newFileList: any) => {\n      fileList.value = newFileList\n      emit('handleSuccess', fileList.value)\n      emit('update:ids', fileList.value.map(item => { return item.id }).join(','))\n    }\n\n    // 文件预览\n    const handlePictureCardPreview = (file: { url: string; }) => {\n      // 判断图片还是文件\n      const fileName = file.url.split('/')[file.url.split('/').length - 1]\n\n      if (/\\.(gif|jpg|jpeg|png|GIF|JPG|PNG)$/.test(fileName)) {\n        dialogImageUrl.value = file.url\n        dialogVisible.value = true\n      } else {\n        // 简单处理下载，浏览器不能在线预览则调用下载\n        window.open(file.url)\n      }\n    }\n\n    // 图片上传前的校验\n    const handelBeforeUpload = (file: File) => {\n      dialogImageUrl.value = ''\n      const fileSizeLimit: fileSizeLimit = props.fileSizeLimit\n      const type = file.type.split('/')[0]\n      if (file.size > fileSizeLimit[type] * 1024 * 1024) {\n        HlMessage.warning(\n          type === 'video'\n            ? `视频文件不能超过 ${fileSizeLimit[type]} MB`\n            : `图片文件不能超过 ${fileSizeLimit[type]} MB`,\n        )\n        return false\n      }\n      return true\n    }\n\n    // 文件限制提示\n    const handleExceed = (files: string | any[], newFileList: string | any[]) => {\n      HlMessage.warning(\n        `当前限制选择 ${props.limit} 个文件，本次选择了 ${files.length} 个文件，共选择了 ${files.length + newFileList.length} 个文件`,\n      )\n    }\n\n    // 上传成功\n    const handleSuccess = (res: any) => {\n      if (+res.code === 0) {\n        console.log(res.data)\n        // 普通上传\n        if (props.showFileList) {\n          fileList.value.push({\n            ...res.data,\n            name: res.data.originalName,\n          })\n          emit('handleSuccess', fileList.value)\n          emit('update:ids', fileList.value.map(item => { return item.id }).join(','))\n        } else {\n          // 导入上传\n          emit('handleSuccess', res)\n        }\n      } else {\n        emit('handleSuccess', res)\n      }\n    }\n    return {\n      dialogImageUrl,\n      dialogVisible,\n      handleRemove,\n      handlePictureCardPreview,\n      handelBeforeUpload,\n      handleSuccess,\n      handleExceed,\n      fileList,\n      setFileList,\n      PREFIX,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport FileUpload from './src/file-upload.vue'\n\nexport const FxFileUpload = withInstall(FileUpload)\nexport default FxFileUpload\n\nexport * from './src/types'\n","<template>\n  <hl-panel\n    radius=\"0px\"\n    class=\"content m-b-lg\"\n    style=\"width: 100%; --panel-header-height: 60px;\"\n    borderless\n    padding=\"var(--xl)\"\n    header-class=\"bg-content\"\n    body-padding=\"60px\"\n    body-class=\"display-flex items-left items-top flex-col content\"\n    footer-style\n  >\n    <template #header>\n      <div class=\"panel-header-left\">\n        <hl-icon class=\"static\" type=\"primary\" size=\"md\">\n          <FillBookOpen />\n        </hl-icon>\n      </div>\n      <div class=\"panel-title\">\n        <h6 class=\"text-title w-full\">{{ detailOpt.title ?? '基本信息' }}</h6>\n      </div>\n      <div class=\"panel-header-right\"></div>\n    </template>\n    <template #default>\n      <hl-row layout=\"grid\" count=\"xl:count-4 md:count-3 count-md-2\" gap-x=\"var(--md)\" gap-y=\"var(--xl)\" class=\"show-col w-full m-t-lg\">\n        <hl-col v-for=\"item in detailOpt.cols\" :key=\"item.key\" span=\"col\">\n          <hl-group align=\"items-left items-top\" class=\"w-full\" dir=\"vertical\" gap=\"var(--xxs)\">\n            <div class=\"text-secondary\">{{ item.label }}</div>\n            <div v-if=\"!item.slot\" class=\"text-regular font-lg font-bold\">{{ detailOpt.data[item.key]?detailOpt.data[item.key]:'--' }}</div>\n            <div v-else class=\"text-regular font-lg font-bold\">\n              <slot :name=\"item.slot\" :detail=\"detailOpt.data\"></slot>\n            </div>\n          </hl-group>\n        </hl-col>\n      </hl-row>\n      <!-- 相关图片 -->\n      <hl-row v-if=\"detailOpt?.imageOpt?.show\" class=\"m-t-lg\" count=\"count-xl-4 count-lg-3 count-md-2\" gap-x=\"var(--xxl)\" gap-y=\"var(--xl)\">\n        <hl-group align=\"items-left items-top\" class=\"w-full\" dir=\"vertical\" gap=\"var(--xxs)\">\n          <div class=\"text-secondary\">{{ detailOpt?.imageOpt.title ?? '相关图片' }}</div>\n          <hl-group v-if=\"detailOpt?.imageOpt?.list.length>0\" gap=\"var(--md)\">\n            <hl-thumb\n              v-for=\"item in detailOpt?.imageOpt?.list\"\n              :key=\"item\"\n              style=\"width: calc(var(--lg) * 5); height: calc(var(--lg) * 5)\"\n              :src=\"item\"\n              fit=\"cover\"\n              :preview-src-list=\"detailOpt.imageOpt.list\"\n            />\n          </hl-group>\n        </hl-group>\n      </hl-row>\n      <!-- slot -->\n      <hl-row class=\"m-t-lg\">\n        <slot></slot>\n      </hl-row>\n    </template>\n  </hl-panel>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, PropType } from 'vue'\nimport { HlPanel, HlIcon, HlRow, HlGroup, HlCol, HlThumb } from 'hongluan-ui'\nimport type { PageDetailOption } from './types'\nimport { FillBookOpen } from '@hongluan-ui/icons'\n\nexport default defineComponent({\n  name: 'PageDetail',\n  components: { HlPanel, HlIcon, HlRow, HlGroup, HlCol, HlThumb, FillBookOpen },\n  props: {\n    detailOpt: {\n      type: Object as PropType<PageDetailOption>,\n      required: true,\n      default: () => ({}),\n    },\n  },\n  setup() {\n    return {}\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport PageDetail from './src/page-detail.vue'\n\nexport const FxPageDetail = withInstall(PageDetail)\nexport default FxPageDetail\n\nexport * from './src/types'\n","<template>\n  <div class=\"fx-anim-page\">\n    <transition name=\"fade-transform\" mode=\"out-in\">\n      <div v-if=\"showContent\" class=\"page-content\">\n        <slot></slot>\n      </div>\n    </transition>\n    <!-- <router-view v-slot=\"{ Component }\">\n      <transition name=\"fade-transform\" mode=\"out-in\"> <component :is=\"Component\" /> </transition>\n    </router-view> -->\n  </div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, getCurrentInstance, ref, watch } from 'vue'\n\nexport default defineComponent({\n  name: 'AnimPage',\n  props: {\n    path: {\n      type: String,\n      default: '',\n    },\n  },\n  setup(props) {\n    const showContent = ref(false)\n    const instance = getCurrentInstance()\n    const route = instance.appContext.config.globalProperties.$route\n    watch(\n      () => route?.path,\n      () => {\n        showContent.value = route.path === props.path\n      },\n      { immediate: true },\n    )\n    return {\n      showContent,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport AnimPage from './src/index.vue'\n\nexport const FxAnimPage = withInstall(AnimPage)\nexport default FxAnimPage\n\n","<template>\n  <hl-button\n    type=\"primary\"\n    class=\"gradual-button\"\n    icon-position=\"left\"\n    style=\"\n      --button-height: calc(var(--xs) * 6);\n      --button-padding-x: calc(var(--xs) * 2);\n      --form-icon-size: var(--xl);\n    \"\n    @click=\"$emit('click')\"\n  >\n    {{ label }}\n    <template #icon>\n      <hl-icon>\n        <slot name=\"icon\">\n          <svg viewBox=\"0 0 32 32\">\n            <defs>\n              <linearGradient\n                id=\"linearGradient-1\"\n                x1=\"50%\"\n                y1=\"0%\"\n                x2=\"50%\"\n                y2=\"99.889147%\"\n              >\n                <stop stop-color=\"#FFFFFF\" offset=\"0%\" />\n                <stop stop-color=\"#BAE0FF\" offset=\"100%\" />\n              </linearGradient>\n            </defs>\n            <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n              <rect\n                fill-opacity=\"0.01\"\n                fill=\"#FFFFFF\"\n                x=\"0\"\n                y=\"0\"\n                width=\"32\"\n                height=\"32\"\n              />\n              <path\n                d=\"M26,3 L26,30 L6,30 L6,3 L26,3 Z M17.5,12 L15.5,12 L15.5,15.5 L12,15.5 L12,17.5 L15.5,17.5 L15.5,21 L17.5,21 L17.5,17.5 L21,17.5 L21,15.5 L17.5,15.5 L17.5,12 Z\"\n                fill-opacity=\"0.5\"\n                fill=\"#FFFFFF\"\n              />\n              <path\n                d=\"M29,9 L29,28 L3,28 L3,9 L29,9 Z M17.5,12 L15.5,12 L15.5,15.5 L12,15.5 L12,17.5 L15.5,17.5 L15.5,21 L17.5,21 L17.5,17.5 L21,17.5 L21,15.5 L17.5,15.5 L17.5,12 Z\"\n                fill-opacity=\"0.3\"\n                fill=\"#FFFFFF\"\n              />\n              <path\n                d=\"M27,2 L27,30 L5,30 L5,11.991862 L13.0142796,2 L27,2 Z M17.5,12 L15.5,12 L15.5,15.5 L12,15.5 L12,17.5 L15.5,17.5 L15.5,21 L17.5,21 L17.5,17.5 L21,17.5 L21,15.5 L17.5,15.5 L17.5,12 Z\"\n                fill=\"url(#linearGradient-1)\"\n              />\n            </g>\n          </svg>\n        </slot>\n      </hl-icon>\n    </template>\n  </hl-button>\n</template>\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { HlIcon, HlButton } from 'hongluan-ui'\n\nexport default defineComponent({\n  name: 'ActionButton',\n  components: { HlIcon, HlButton },\n  props: {\n    label: {\n      type: String,\n      default: '',\n    },\n  },\n  emits: ['click'],\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport ActionButton from './src/action-button.vue'\n\nexport const FxActionButton = withInstall(ActionButton)\nexport default FxActionButton\n","<template>\n  <div class=\"fx-v-panel\" @mouseenter=\"enter()\" @mouseleave=\"leave()\">\n    <hl-panel\n      class=\"panel-card\"\n      padding=\"calc(var(--xxs) * 5)\"\n      borderless\n      :collapsed=\"collapse\"\n      :style=\"bodyHeight ? `--panel-body-height: ${bodyHeight}` : ''\"\n    >\n      <template #header>\n        <div class=\"panel-header-left\">\n          <hl-icon size=\"lg\">\n            <svg viewBox=\"0 0 27 16\" xmlns=\"http://www.w3.org/2000/svg\">\n              <g stroke=\"none\" stroke-width=\"1\" fill=\"#71F8FC\" fill-rule=\"evenodd\">\n                <polygon points=\"23.6666667 0 27 0 19.3333333 16 16 16\" />\n                <polygon fill-opacity=\"0.7\" points=\"15.6666667 0 19 0 11.3333333 16 8 16\" />\n                <polygon fill-opacity=\"0.4\" points=\"7.66666667 0 11 0 3.33333333 16 5.69405634e-14 16\" />\n              </g>\n            </svg>\n          </hl-icon>\n        </div>\n        <h2 class=\"panel-title\">\n          <slot name=\"title\">\n            {{ title }}\n          </slot>\n        </h2>\n        <div class=\"panel-header-right\">\n          <slot name=\"action\"></slot>\n        </div>\n      </template>\n      <slot></slot>\n    </hl-panel>\n    <hl-group\n      v-if=\"isHovering() && (collapsable || sizes?.length)\"\n      dir=\"vertical\"\n      gap-y=\"var(--xxs)\"\n      :class=\"['action-bar', actionBarDir]\"\n      @mouseenter=\"enter()\"\n      @mouseleave=\"leave()\"\n    >\n      <div class=\"icon-wrapper\">\n        <hl-icon v-if=\"collapsable\" size=\"sm\" class=\"cursor-pointer\" @click=\"changeStatus\">\n          <fill-maximize2 v-if=\"!collapse\" />\n          <fill-minimize2 v-else />\n        </hl-icon>\n      </div>\n      <hl-group\n        v-if=\"sizes?.length && !collapse\"\n        class=\"size-options font-lg\"\n        dir=\"vertical\"\n        gap-y=\"var(--xxs)\"\n        align=\"items-middle\"\n      >\n        <span\n          v-for=\"s in sizes\"\n          :key=\"s\"\n          :class=\"{'active': currentSize === s}\"\n          @click=\"changeSize(s)\"\n        >\n          {{ s }}\n        </span>\n      </hl-group>\n    </hl-group>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref, watch } from 'vue'\nimport { HlPanel, HlIcon, HlGroup } from 'hongluan-ui'\nimport { FillMaximize2, FillMinimize2 } from '@hongluan-ui/icons'\nimport { useHovering } from 'hongluan-hooks'\nimport type { PropType } from 'vue'\n\nexport default defineComponent({\n  name: 'VPanel',\n  components: { HlPanel, HlIcon, HlGroup, FillMaximize2, FillMinimize2 },\n  props: {\n    title: {\n      type: String,\n      default: '',\n    },\n    bodyHeight: {\n      type: String,\n      default: '',\n    },\n    actionBarDir: {\n      type: String as PropType<'left' | 'right'>,\n      default: 'right',\n    },\n    collapsable: Boolean,\n    sizes: Array,\n    defaultSize: String,\n  },\n  emits: ['size-change', 'collapse-change'],\n  setup(props, { emit }) {\n    const collapse = ref(false)\n    const currentSize = ref(props.defaultSize ?? (props.sizes?.[0] ?? ''))\n\n    const { enter, leave, isHovering } = useHovering()\n\n    const changeStatus = () => {\n      collapse.value = !collapse.value\n      emit('collapse-change', collapse.value)\n    }\n    const changeSize = (size: string) => {\n      currentSize.value = size\n      emit('size-change', size)\n    }\n\n    watch(() => props.defaultSize, val => {\n      currentSize.value = val\n    })\n\n    return {\n      collapse,\n      currentSize,\n      changeStatus,\n      changeSize,\n      enter,\n      leave,\n      isHovering,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VPanel from './src/index.vue'\n\nexport const FxVPanel = withInstall(VPanel)\nexport default FxVPanel\n","<template>\n  <!-- 面板内容 begin-->\n  <hl-panel class=\"page-panel\" :body-padding=\"bodyPadding\" borderless :style=\"[bodyHeight ? `--panel-body-height: ${bodyHeight}` : '', width ? `width: ${width}` : '']\">\n    <template #header>\n      <div class=\"panel-header-left\">\n        <hl-icon size=\"lg\">\n          <svg viewBox=\"0 0 27 16\" xmlns=\"http://www.w3.org/2000/svg\">\n            <g stroke=\"none\" stroke-width=\"1\" fill=\"#71F8FC\" fill-rule=\"evenodd\">\n              <polygon points=\"23.6666667 0 27 0 19.3333333 16 16 16\" />\n              <polygon fill-opacity=\"0.7\" points=\"15.6666667 0 19 0 11.3333333 16 8 16\" />\n              <polygon fill-opacity=\"0.4\" points=\"7.66666667 0 11 0 3.33333333 16 5.69405634e-14 16\" />\n            </g>\n          </svg>\n        </hl-icon>\n      </div>\n      <h2 class=\"panel-title\">\n        <slot name=\"title\">\n          {{ title }}\n        </slot>\n      </h2>\n      <div class=\"panel-header-right\">\n        <slot name=\"action\"></slot>\n        <hl-icon v-if=\"showClose\" @click=\"$emit('close')\">\n          <two-close />\n        </hl-icon>\n      </div>\n    </template>\n    <slot></slot>\n  </hl-panel>\n  <!-- 面板内容 end-->\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport { HlPanel, HlIcon } from 'hongluan-ui'\nimport { TwoClose } from '@hongluan-ui/icons'\n\nexport default defineComponent({\n  name: 'VModal',\n  components: { HlPanel, HlIcon, TwoClose },\n  props: {\n    title: {\n      type: String,\n      default: '',\n    },\n    width: {\n      type: String,\n      default: '',\n    },\n    bodyHeight: {\n      type: String,\n      default: '',\n    },\n    bodyPadding: {\n      type: String,\n      default: '',\n    },\n    showClose: {\n      type: Boolean,\n      default: true,\n    },\n  },\n  emits: ['close'],\n  setup() {\n    return {}\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VModal from './src/index.vue'\n\nexport const FxVModal = withInstall(VModal)\nexport default FxVModal\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n  this.__data__ = [];\n  this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n  return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n  var length = array.length;\n  while (length--) {\n    if (eq(array[length][0], key)) {\n      return length;\n    }\n  }\n  return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    return false;\n  }\n  var lastIndex = data.length - 1;\n  if (index == lastIndex) {\n    data.pop();\n  } else {\n    splice.call(data, index, 1);\n  }\n  --this.size;\n  return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n  return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n  var data = this.__data__,\n      index = assocIndexOf(data, key);\n\n  if (index < 0) {\n    ++this.size;\n    data.push([key, value]);\n  } else {\n    data[index][1] = value;\n  }\n  return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n    listCacheDelete = require('./_listCacheDelete'),\n    listCacheGet = require('./_listCacheGet'),\n    listCacheHas = require('./_listCacheHas'),\n    listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n  this.__data__ = new ListCache;\n  this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n  var data = this.__data__,\n      result = data['delete'](key);\n\n  this.size = data.size;\n  return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n  return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n  return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n  var isOwn = hasOwnProperty.call(value, symToStringTag),\n      tag = value[symToStringTag];\n\n  try {\n    value[symToStringTag] = undefined;\n    var unmasked = true;\n  } catch (e) {}\n\n  var result = nativeObjectToString.call(value);\n  if (unmasked) {\n    if (isOwn) {\n      value[symToStringTag] = tag;\n    } else {\n      delete value[symToStringTag];\n    }\n  }\n  return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n  return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n    getRawTag = require('./_getRawTag'),\n    objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n    undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n  if (value == null) {\n    return value === undefined ? undefinedTag : nullTag;\n  }\n  return (symToStringTag && symToStringTag in Object(value))\n    ? getRawTag(value)\n    : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n    isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n    funcTag = '[object Function]',\n    genTag = '[object GeneratorFunction]',\n    proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n  if (!isObject(value)) {\n    return false;\n  }\n  // The use of `Object#toString` avoids issues with the `typeof` operator\n  // in Safari 9 which returns 'object' for typed arrays and other constructors.\n  var tag = baseGetTag(value);\n  return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n  var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n  return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n  return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n  if (func != null) {\n    try {\n      return funcToString.call(func);\n    } catch (e) {}\n    try {\n      return (func + '');\n    } catch (e) {}\n  }\n  return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n    isMasked = require('./_isMasked'),\n    isObject = require('./isObject'),\n    toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n  funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n  .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n *  else `false`.\n */\nfunction baseIsNative(value) {\n  if (!isObject(value) || isMasked(value)) {\n    return false;\n  }\n  var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n  return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n  return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n    getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n  var value = getValue(object, key);\n  return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n    root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n  this.__data__ = nativeCreate ? nativeCreate(null) : {};\n  this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n  var result = this.has(key) && delete this.__data__[key];\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n  var data = this.__data__;\n  if (nativeCreate) {\n    var result = data[key];\n    return result === HASH_UNDEFINED ? undefined : result;\n  }\n  return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n  var data = this.__data__;\n  return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n  var data = this.__data__;\n  this.size += this.has(key) ? 0 : 1;\n  data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n  return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n    hashDelete = require('./_hashDelete'),\n    hashGet = require('./_hashGet'),\n    hashHas = require('./_hashHas'),\n    hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n    ListCache = require('./_ListCache'),\n    Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n  this.size = 0;\n  this.__data__ = {\n    'hash': new Hash,\n    'map': new (Map || ListCache),\n    'string': new Hash\n  };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n  var type = typeof value;\n  return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n    ? (value !== '__proto__')\n    : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n  var data = map.__data__;\n  return isKeyable(key)\n    ? data[typeof key == 'string' ? 'string' : 'hash']\n    : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n  var result = getMapData(this, key)['delete'](key);\n  this.size -= result ? 1 : 0;\n  return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n  return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n  return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n  var data = getMapData(this, key),\n      size = data.size;\n\n  data.set(key, value);\n  this.size += data.size == size ? 0 : 1;\n  return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n    mapCacheDelete = require('./_mapCacheDelete'),\n    mapCacheGet = require('./_mapCacheGet'),\n    mapCacheHas = require('./_mapCacheHas'),\n    mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n  var index = -1,\n      length = entries == null ? 0 : entries.length;\n\n  this.clear();\n  while (++index < length) {\n    var entry = entries[index];\n    this.set(entry[0], entry[1]);\n  }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n    Map = require('./_Map'),\n    MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n  var data = this.__data__;\n  if (data instanceof ListCache) {\n    var pairs = data.__data__;\n    if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n      pairs.push([key, value]);\n      this.size = ++data.size;\n      return this;\n    }\n    data = this.__data__ = new MapCache(pairs);\n  }\n  data.set(key, value);\n  this.size = data.size;\n  return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n    stackClear = require('./_stackClear'),\n    stackDelete = require('./_stackDelete'),\n    stackGet = require('./_stackGet'),\n    stackHas = require('./_stackHas'),\n    stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n  var data = this.__data__ = new ListCache(entries);\n  this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n  try {\n    var func = getNative(Object, 'defineProperty');\n    func({}, '', {});\n    return func;\n  } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n  if (key == '__proto__' && defineProperty) {\n    defineProperty(object, key, {\n      'configurable': true,\n      'enumerable': true,\n      'value': value,\n      'writable': true\n    });\n  } else {\n    object[key] = value;\n  }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n    eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n  if ((value !== undefined && !eq(object[key], value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n  return function(object, iteratee, keysFunc) {\n    var index = -1,\n        iterable = Object(object),\n        props = keysFunc(object),\n        length = props.length;\n\n    while (length--) {\n      var key = props[fromRight ? length : ++index];\n      if (iteratee(iterable[key], key, iterable) === false) {\n        break;\n      }\n    }\n    return object;\n  };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n    allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of  `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n  if (isDeep) {\n    return buffer.slice();\n  }\n  var length = buffer.length,\n      result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n  buffer.copy(result);\n  return result;\n}\n\nmodule.exports = cloneBuffer;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n  var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n  new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n  return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n  var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n  return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n  var index = -1,\n      length = source.length;\n\n  array || (array = Array(length));\n  while (++index < length) {\n    array[index] = source[index];\n  }\n  return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n  function object() {}\n  return function(proto) {\n    if (!isObject(proto)) {\n      return {};\n    }\n    if (objectCreate) {\n      return objectCreate(proto);\n    }\n    object.prototype = proto;\n    var result = new object;\n    object.prototype = undefined;\n    return result;\n  };\n}());\n\nmodule.exports = baseCreate;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n  return function(arg) {\n    return func(transform(arg));\n  };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n  var Ctor = value && value.constructor,\n      proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n  return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var baseCreate = require('./_baseCreate'),\n    getPrototype = require('./_getPrototype'),\n    isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n  return (typeof object.constructor == 'function' && !isPrototype(object))\n    ? baseCreate(getPrototype(object))\n    : {};\n}\n\nmodule.exports = initCloneObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n  return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n    isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n *  else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n  return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n    !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n  return typeof value == 'number' &&\n    value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isFunction = require('./isFunction'),\n    isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n  return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n    isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n *  else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n  return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n  return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n    stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n    getPrototype = require('./_getPrototype'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n    objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n  if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n    return false;\n  }\n  var proto = getPrototype(value);\n  if (proto === null) {\n    return true;\n  }\n  var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n  return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n    funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n    isLength = require('./isLength'),\n    isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n    arrayTag = '[object Array]',\n    boolTag = '[object Boolean]',\n    dateTag = '[object Date]',\n    errorTag = '[object Error]',\n    funcTag = '[object Function]',\n    mapTag = '[object Map]',\n    numberTag = '[object Number]',\n    objectTag = '[object Object]',\n    regexpTag = '[object RegExp]',\n    setTag = '[object Set]',\n    stringTag = '[object String]',\n    weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n    dataViewTag = '[object DataView]',\n    float32Tag = '[object Float32Array]',\n    float64Tag = '[object Float64Array]',\n    int8Tag = '[object Int8Array]',\n    int16Tag = '[object Int16Array]',\n    int32Tag = '[object Int32Array]',\n    uint8Tag = '[object Uint8Array]',\n    uint8ClampedTag = '[object Uint8ClampedArray]',\n    uint16Tag = '[object Uint16Array]',\n    uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n  return isObjectLike(value) &&\n    isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n  return function(value) {\n    return func(value);\n  };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n  try {\n    // Use `util.types` for Node.js 10+.\n    var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n    if (types) {\n      return types;\n    }\n\n    // Legacy `process.binding('util')` for Node.js < 10.\n    return freeProcess && freeProcess.binding && freeProcess.binding('util');\n  } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n    baseUnary = require('./_baseUnary'),\n    nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n  if (key === 'constructor' && typeof object[key] === 'function') {\n    return;\n  }\n\n  if (key == '__proto__') {\n    return;\n  }\n\n  return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseAssignValue = require('./_baseAssignValue'),\n    eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n  var objValue = object[key];\n  if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n      (value === undefined && !(key in object))) {\n    baseAssignValue(object, key, value);\n  }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n    baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n  var isNew = !object;\n  object || (object = {});\n\n  var index = -1,\n      length = props.length;\n\n  while (++index < length) {\n    var key = props[index];\n\n    var newValue = customizer\n      ? customizer(object[key], source[key], key, object, source)\n      : undefined;\n\n    if (newValue === undefined) {\n      newValue = source[key];\n    }\n    if (isNew) {\n      baseAssignValue(object, key, newValue);\n    } else {\n      assignValue(object, key, newValue);\n    }\n  }\n  return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n  var index = -1,\n      result = Array(n);\n\n  while (++index < n) {\n    result[index] = iteratee(index);\n  }\n  return result;\n}\n\nmodule.exports = baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n  var type = typeof value;\n  length = length == null ? MAX_SAFE_INTEGER : length;\n\n  return !!length &&\n    (type == 'number' ||\n      (type != 'symbol' && reIsUint.test(value))) &&\n        (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseTimes = require('./_baseTimes'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray'),\n    isBuffer = require('./isBuffer'),\n    isIndex = require('./_isIndex'),\n    isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n  var isArr = isArray(value),\n      isArg = !isArr && isArguments(value),\n      isBuff = !isArr && !isArg && isBuffer(value),\n      isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n      skipIndexes = isArr || isArg || isBuff || isType,\n      result = skipIndexes ? baseTimes(value.length, String) : [],\n      length = result.length;\n\n  for (var key in value) {\n    if ((inherited || hasOwnProperty.call(value, key)) &&\n        !(skipIndexes && (\n           // Safari 9 has enumerable `arguments.length` in strict mode.\n           key == 'length' ||\n           // Node.js 0.10 has enumerable non-index properties on buffers.\n           (isBuff && (key == 'offset' || key == 'parent')) ||\n           // PhantomJS 2 has enumerable non-index properties on typed arrays.\n           (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n           // Skip index properties.\n           isIndex(key, length)\n        ))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n  var result = [];\n  if (object != null) {\n    for (var key in Object(object)) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n    isPrototype = require('./_isPrototype'),\n    nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n  if (!isObject(object)) {\n    return nativeKeysIn(object);\n  }\n  var isProto = isPrototype(object),\n      result = [];\n\n  for (var key in object) {\n    if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n      result.push(key);\n    }\n  }\n  return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n    baseKeysIn = require('./_baseKeysIn'),\n    isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n *   this.a = 1;\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n  return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n    keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n *   this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n  return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n    cloneBuffer = require('./_cloneBuffer'),\n    cloneTypedArray = require('./_cloneTypedArray'),\n    copyArray = require('./_copyArray'),\n    initCloneObject = require('./_initCloneObject'),\n    isArguments = require('./isArguments'),\n    isArray = require('./isArray'),\n    isArrayLikeObject = require('./isArrayLikeObject'),\n    isBuffer = require('./isBuffer'),\n    isFunction = require('./isFunction'),\n    isObject = require('./isObject'),\n    isPlainObject = require('./isPlainObject'),\n    isTypedArray = require('./isTypedArray'),\n    safeGet = require('./_safeGet'),\n    toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n *  counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n  var objValue = safeGet(object, key),\n      srcValue = safeGet(source, key),\n      stacked = stack.get(srcValue);\n\n  if (stacked) {\n    assignMergeValue(object, key, stacked);\n    return;\n  }\n  var newValue = customizer\n    ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n    : undefined;\n\n  var isCommon = newValue === undefined;\n\n  if (isCommon) {\n    var isArr = isArray(srcValue),\n        isBuff = !isArr && isBuffer(srcValue),\n        isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n    newValue = srcValue;\n    if (isArr || isBuff || isTyped) {\n      if (isArray(objValue)) {\n        newValue = objValue;\n      }\n      else if (isArrayLikeObject(objValue)) {\n        newValue = copyArray(objValue);\n      }\n      else if (isBuff) {\n        isCommon = false;\n        newValue = cloneBuffer(srcValue, true);\n      }\n      else if (isTyped) {\n        isCommon = false;\n        newValue = cloneTypedArray(srcValue, true);\n      }\n      else {\n        newValue = [];\n      }\n    }\n    else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n      newValue = objValue;\n      if (isArguments(objValue)) {\n        newValue = toPlainObject(objValue);\n      }\n      else if (!isObject(objValue) || isFunction(objValue)) {\n        newValue = initCloneObject(srcValue);\n      }\n    }\n    else {\n      isCommon = false;\n    }\n  }\n  if (isCommon) {\n    // Recursively merge objects and arrays (susceptible to call stack limits).\n    stack.set(srcValue, newValue);\n    mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n    stack['delete'](srcValue);\n  }\n  assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n    assignMergeValue = require('./_assignMergeValue'),\n    baseFor = require('./_baseFor'),\n    baseMergeDeep = require('./_baseMergeDeep'),\n    isObject = require('./isObject'),\n    keysIn = require('./keysIn'),\n    safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n *  counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n  if (object === source) {\n    return;\n  }\n  baseFor(source, function(srcValue, key) {\n    stack || (stack = new Stack);\n    if (isObject(srcValue)) {\n      baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n    }\n    else {\n      var newValue = customizer\n        ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n        : undefined;\n\n      if (newValue === undefined) {\n        newValue = srcValue;\n      }\n      assignMergeValue(object, key, newValue);\n    }\n  }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n  return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n  switch (args.length) {\n    case 0: return func.call(thisArg);\n    case 1: return func.call(thisArg, args[0]);\n    case 2: return func.call(thisArg, args[0], args[1]);\n    case 3: return func.call(thisArg, args[0], args[1], args[2]);\n  }\n  return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n  start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n  return function() {\n    var args = arguments,\n        index = -1,\n        length = nativeMax(args.length - start, 0),\n        array = Array(length);\n\n    while (++index < length) {\n      array[index] = args[start + index];\n    }\n    index = -1;\n    var otherArgs = Array(start + 1);\n    while (++index < start) {\n      otherArgs[index] = args[index];\n    }\n    otherArgs[start] = transform(array);\n    return apply(func, this, otherArgs);\n  };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n  return function() {\n    return value;\n  };\n}\n\nmodule.exports = constant;\n","var constant = require('./constant'),\n    defineProperty = require('./_defineProperty'),\n    identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n  return defineProperty(func, 'toString', {\n    'configurable': true,\n    'enumerable': false,\n    'value': constant(string),\n    'writable': true\n  });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n    HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n  var count = 0,\n      lastCalled = 0;\n\n  return function() {\n    var stamp = nativeNow(),\n        remaining = HOT_SPAN - (stamp - lastCalled);\n\n    lastCalled = stamp;\n    if (remaining > 0) {\n      if (++count >= HOT_COUNT) {\n        return arguments[0];\n      }\n    } else {\n      count = 0;\n    }\n    return func.apply(undefined, arguments);\n  };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n    shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n    overRest = require('./_overRest'),\n    setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n  return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n    isArrayLike = require('./isArrayLike'),\n    isIndex = require('./_isIndex'),\n    isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n *  else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n  if (!isObject(object)) {\n    return false;\n  }\n  var type = typeof index;\n  if (type == 'number'\n        ? (isArrayLike(object) && isIndex(index, object.length))\n        : (type == 'string' && index in object)\n      ) {\n    return eq(object[index], value);\n  }\n  return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n    isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n  return baseRest(function(object, sources) {\n    var index = -1,\n        length = sources.length,\n        customizer = length > 1 ? sources[length - 1] : undefined,\n        guard = length > 2 ? sources[2] : undefined;\n\n    customizer = (assigner.length > 3 && typeof customizer == 'function')\n      ? (length--, customizer)\n      : undefined;\n\n    if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n      customizer = length < 3 ? undefined : customizer;\n      length = 1;\n    }\n    object = Object(object);\n    while (++index < length) {\n      var source = sources[index];\n      if (source) {\n        assigner(object, source, index, customizer);\n      }\n    }\n    return object;\n  });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n    createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n *   'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n *   'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n  baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n","import { isReactive, nextTick, onBeforeUnmount, toRef, watch } from 'vue'\n\nimport type { Ref } from 'vue'\nimport type { Indexable } from 'fx-front-utils'\n\nfunction useRenderChart(cb: () => void, data: Ref<unknown> | Indexable<any>, field = 'chartData') {\n  const watcherData = isReactive(data) ? toRef(data, field as keyof typeof data) : data\n  const unwatcher = watch(watcherData, () => {\n    nextTick(() => {\n      cb()\n    })\n  }, {\n    immediate: true,\n    deep: true,\n  })\n\n  onBeforeUnmount(() => {\n    unwatcher && unwatcher()\n  })\n}\n\nexport { useRenderChart }\n","import { getCurrentInstance } from 'vue'\nimport { getAllConfig } from '@pc-fx-framework/utils/config'\n\nimport type { InstallOptions } from '@pc-fx-framework/utils/config'\n\nexport function useGlobalConfig(): InstallOptions {\n  const vm: any = getCurrentInstance()\n  if ('$FX' in vm.proxy) {\n    return vm.proxy.$FX\n  }\n  return getAllConfig()\n}\n","import { ref } from 'vue'\n\nfunction useMaxScreen() {\n  const isMaxScreen = ref(true)\n\n  const changeFullScreen = () => {\n    isMaxScreen.value = !isMaxScreen.value\n    if (isMaxScreen.value) {\n      const doc: any = document\n      if (doc.exitFullscreen) {\n        doc.exitFullscreen()\n      } else if (doc.mozCancelFullScreen) {\n        doc.mozCancelFullScreen()\n      } else if (doc.webkitExitFullscreen) {\n        doc.webkitExitFullscreen()\n      }\n    } else {\n      const element: any = document.documentElement\n      if (element.requestFullscreen) {\n        element.requestFullscreen()\n      } else if (element.mozRequestFullScreen) {\n        element.mozRequestFullScreen()\n      } else if (element.webkitRequestFullscreen) {\n        element.webkitRequestFullscreen()\n      } else if (element.msRequestFullscreen) {\n        element.msRequestFullscreen()\n      }\n    }\n  }\n\n  return {\n    isMaxScreen,\n    changeFullScreen,\n  }\n}\n\nexport { useMaxScreen }\n","import { computed, onBeforeUnmount, onMounted, ref } from 'vue'\n\nfunction useTextTimer() {\n  const dates = ref('')\n  const day = ref('')\n  const times = ref('00:00:00')\n  const fullDatetime = computed(() => dates.value + ' ' + times.value + ' ' + day.value)\n  let timerHandler = 0\n\n  const getDay = (num: number) => {\n    const week = [\n      '星期天',\n      '星期一',\n      '星期二',\n      '星期三',\n      '星期四',\n      '星期五',\n      '星期六',\n    ]\n    return week[num]\n  }\n\n  const refreshTime = () => {\n    const date = new Date()\n    day.value = getDay(date.getDay())\n    dates.value =\n        date.getFullYear() +\n        '年' +\n        (date.getMonth() + 1) +\n        '月' +\n        date.getDate() +\n        '日'\n    timerHandler = window.setInterval(() => {\n      const curDate = new Date()\n      let h: number | string = curDate.getHours()\n      let m: number | string = curDate.getMinutes()\n      let s: number | string = curDate.getSeconds()\n      if (h >= 0 && h < 10) {\n        h = '0' + h\n      }\n      if (m >= 0 && m < 10) {\n        m = '0' + m\n      }\n      if (s >= 0 && s < 10) {\n        s = '0' + s\n      }\n      times.value = h + ':' + m + ':' + s\n    }, 1000)\n  }\n  onMounted(() => {\n    refreshTime()\n  })\n  onBeforeUnmount(() => {\n    timerHandler && window.clearInterval(Number(timerHandler))\n  })\n\n  return {\n    dates,\n    times,\n    day,\n    fullDatetime,\n  }\n}\n\nexport { useTextTimer }\n","import { useGlobalConfig } from '../use-global-config'\n\nconst isObject = (obj: any) => {\n  return Object.prototype.toString.call(obj) === '[object Object]'\n}\nconst defaultAttributes = [\n  'lineHeight',\n  'margin',\n  'fontSize',\n  'left',\n  'right',\n  'top',\n  'bottom',\n  'padding',\n  'itemWidth',\n  'itemHeight',\n  'itemGap',\n  'symbolSize',\n  'width',\n  'height',\n  'barMaxWidth',\n]\n\nfunction useResponsiveChart() {\n  const FX = useGlobalConfig()\n  const basicPX = FX.visualized.basicPX\n\n  const updateOptionToResponsive = (option: any, keyArr: string[] = defaultAttributes) => {\n    if (typeof option !== 'object') return\n    for (const key in option) {\n      if (option.hasOwnProperty(key)) {\n        const element = option[key]\n        const type = typeof element\n\n        if (keyArr.includes(key)) {\n          switch (type) {\n            case 'number':\n              option[key] = element * basicPX\n              break\n              // array\n            case 'object':\n              option[key] = element.map(item => typeof item !== 'number' ? item : item * basicPX)\n              break\n            default:\n              break\n          }\n        } else if (isObject(element)) {\n          updateOptionToResponsive(element, keyArr)\n        } else if (Array.isArray(element)) {\n          element.forEach(ele => updateOptionToResponsive(ele, keyArr))\n        }\n      }\n    }\n  }\n\n  return {\n    updateOptionToResponsive,\n    defaultAttributes,\n  }\n}\n\nexport { useResponsiveChart }\n","import { ref, onMounted, onActivated, onBeforeMount, onDeactivated } from 'vue'\n\nfunction useTele (autoDestroy?: boolean) {\n  const showTeleport = ref(false)\n\n\n  onMounted(() => {\n    showTeleport.value = true\n  })\n  onActivated(() => {\n    showTeleport.value = true\n  })\n\n  onBeforeMount(() => {\n    if (autoDestroy) {\n      showTeleport.value = false\n    }\n  })\n  onDeactivated(() => {\n    if (autoDestroy) {\n      showTeleport.value = false\n    }\n  })\n\n  return {\n    showTeleport,\n  }\n}\n\nexport { useTele }\n","import { h, ref, onUnmounted } from 'vue'\nimport { HlMessage } from 'hongluan-ui'\nimport { ModelessDialogManager } from 'hongluan-business-ui'\n\nexport interface PreviewItem {\n  id: string\n  name: string\n  url: string\n  sourceType: 1 | 2 // 1: img, 2: video,\n}\n\nfunction usePreviewer() {\n  const modelessIds = ref<string[]>([])\n\n  const showModelessDialogManager = (item: PreviewItem, initVideoWidth: string, limitNum?: number | null) => {\n    ModelessDialogManager.show({\n      id: item.id,\n      title: item.name,\n      useDock: false,\n      snapshot: false,\n      body: item.sourceType === 2\n        ? h('video',\n          {\n            class: 'videoBox',\n            src: `${item.url}`,\n            autoPlay: true,\n            controls: true,\n            muted: true,\n            style: {\n              width: initVideoWidth,\n            },\n          },\n        )\n        : h('img',\n          {\n            class: 'videoBox',\n            src: `${item.url}`,\n            style: {\n              width: initVideoWidth,\n            },\n          },\n        ),\n      resize: true,\n      onResize: (dlg: HTMLDivElement) => {\n        const videoNode = dlg.querySelector('.videoBox')\n        videoNode?.setAttribute('style', 'width:100%')\n      },\n      onClose: () => {\n        limitNum && modelessIds.value.splice(\n          modelessIds.value.findIndex(el => el === item.id),\n          1,\n        )\n      },\n    })\n  }\n  const openPreviewer = (item: PreviewItem, limitNum?: number | null, initVideoWidth = '500px') => {\n    if (limitNum) {\n      if (!modelessIds.value.includes(`${item.id}`)) {\n        if (modelessIds.value.length <= limitNum - 1) {\n          modelessIds.value.push(`${item.id}`)\n          showModelessDialogManager(item, initVideoWidth, limitNum)\n        } else {\n          HlMessage.warning({\n            message: `最多打开${limitNum}路视频!`,\n          })\n        }\n      } else {\n        HlMessage.warning({\n          message: '已打开!',\n        })\n      }\n    } else {\n      showModelessDialogManager(item, initVideoWidth, limitNum)\n    }\n  }\n\n  onUnmounted(() => {\n    modelessIds.value = []\n    ModelessDialogManager.closeAll()\n  })\n\n  return {\n    openPreviewer,\n  }\n}\n\nexport { usePreviewer }\n","import { ref, onMounted } from 'vue'\n\nfunction useIframe() {\n  const isIframe = ref(false)\n\n  onMounted(() => {\n    isIframe.value = window.parent !== window\n  })\n\n  return {\n    isIframe,\n  }\n}\n\nexport { useIframe }\n","<template>\n  <div ref=\"chartContainer\" class=\"echart-container\"></div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, onMounted, PropType } from 'vue'\nimport merge from 'lodash/merge'\nimport * as echarts from 'echarts'\nimport { useEChart, useScrollEChartData } from 'hongluan-hooks'\nimport { useRenderChart, useResponsiveChart } from '@pc-fx-framework/hooks'\n\nimport type { BarChartData } from './types'\n\nexport default defineComponent({\n  name: 'VColumnChart',\n  props: {\n    chartData: {\n      type: Array as PropType<BarChartData[]>,\n      default: () => [],\n    },\n    barWidth: {\n      type: Number,\n      default: 8,\n    },\n    barColor: {\n      type: [String, Array] as PropType<string | [string, string]>,\n      default: () => ['#71F8FC', 'rgba(0,250,255,0.16)'],\n    },\n    backgroundColor: {\n      type: String,\n      default: 'rgba(56,75,103,0.16)',\n    },\n    // 每次滚动个数\n    scrollCount: {\n      type: Number,\n      default: 4,\n    },\n    // 每次展示个数\n    showCount: {\n      type: Number,\n      default: Number.MAX_SAFE_INTEGER,\n    },\n    // 定时器时间间隔\n    interval: {\n      type: Number,\n      default: 5000,\n    },\n    xAxis: {\n      type: Object,\n      default: () => ({}),\n    },\n    yAxis: {\n      type: Object,\n      default: () => ({}),\n    },\n    hoverStop: Boolean,\n    isVertical: {\n      type: Boolean,\n      default: true,\n    },\n    // echarts.tooltip\n    tooltip: {\n      type: Object,\n      default: () => ({}),\n    },\n    // echarts.grid\n    grid: {\n      type: Object,\n      default: () => ({}),\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption, addChartEvent } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    const renderChart = (chartData: BarChartData[]) => {\n      const colorDir: [number, number, number, number] = props.isVertical ? [0, 0, 0, 1] : [1, 0, 0, 0]\n      const option = {\n        tooltip: merge({\n          trigger: 'axis',\n          axisPointer: {\n            type: 'none',\n          },\n          extraCssText: 'border-radius: 0;',\n          formatter: (params: any) => `\n          <div class=\"font-md\" style=\"background-color:#fff;border-raduis:0;\">\n            ${params[0].marker}\n            <span>${params[0].axisValue} <span style=\"font-weight: bold; margin-left: var(--md)\">${params[0].value}</span></span>\n          </div>\n          `,\n        }, props.tooltip),\n        grid: merge({\n          top: '10',\n          left: '0%',\n          right: '10',\n          bottom: '0%',\n          containLabel: true,\n        }, props.grid),\n        xAxis: merge({\n          type: props.isVertical ? 'category' : 'value',\n          splitLine: {\n            show: props.isVertical ? false : true,\n            lineStyle: {\n              type: 'solid',\n              color: '#2B394E',\n            },\n          },\n          axisLabel: {\n            fontSize: 12,\n            color: '#6F8EA8',\n            lineHeight: 20,\n            margin: 5,\n          },\n          axisTick: {\n            alignWithLabel: true,\n          },\n          axisLine: {\n            lineStyle: {\n              color: '#2B394E',\n            },\n          },\n          data: props.isVertical ? chartData.map(d => d.label) : null,\n        }, props.xAxis),\n        yAxis: merge({\n          type: props.isVertical ? 'value' : 'category',\n          splitNumber: 3,\n          splitLine: {\n            show: props.isVertical ? true : false,\n            lineStyle: {\n              type: 'solid',\n              color: '#2B394E',\n            },\n          },\n          axisLabel: {\n            fontSize: 12,\n            color: '#6F8EA8',\n            lineHeight: 20,\n          },\n          axisLine: {\n            lineStyle: {\n              color: '#2B394E',\n            },\n          },\n          data: props.isVertical ? null : chartData.map(d => d.label),\n        }, props.yAxis),\n        series: [\n          {\n            itemStyle: {\n              color: typeof props.barColor === 'string' ? props.barColor : new echarts.graphic.LinearGradient(...colorDir, [\n                { offset: 0, color: props.barColor[0] },\n                { offset: 1, color: props.barColor[1] },\n              ]),\n              borderRadius: [2, 2, 0, 0],\n            },\n            barWidth: props.barWidth,\n            showBackground: true,\n            backgroundStyle: {\n              color: props.backgroundColor,\n            },\n            data: chartData.map(d => d.value),\n            type: 'bar',\n          },\n        ],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n    }\n\n    const { startScroll, stopScroll } = useScrollEChartData({\n      showCount: props.showCount,\n      scrollCount: props.scrollCount,\n      interval: props.interval,\n      chartData: props.chartData,\n    }, renderChart)\n\n    useRenderChart(startScroll, props)\n\n    onMounted(() => {\n      if (props.hoverStop) {\n        addChartEvent('mouseover', stopScroll)\n        addChartEvent('mouseout', startScroll)\n      }\n    })\n\n    return {\n      chartContainer,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VColumnChart from './src/index.vue'\n\nexport const FxVColumnChart = withInstall(VColumnChart)\nexport default FxVColumnChart\n\nexport * from './src/types'\n","<template>\n  <div ref=\"chartContainer\" class=\"echart-container\"></div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, PropType } from 'vue'\nimport { useEChart } from 'hongluan-hooks'\nimport { useRenderChart, useResponsiveChart } from '@pc-fx-framework/hooks'\n\nimport type { SpireColumnChartData } from './types'\n\nexport default defineComponent({\n  name: 'VSpireColumnChart',\n  props: {\n    chartData: {\n      type: Array as PropType<SpireColumnChartData[]>,\n      default: () => [],\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    const renderChart = () => {\n      const option = {\n        grid: {\n          left: '0',\n          top: '0',\n          right: '0',\n          bottom: '20%',\n        },\n        tooltip: {\n          axisPointer: {\n            type: 'none',\n          },\n          extraCssText: 'border-radius: 0;',\n          formatter: (params: any) => {\n            return params.componentType === 'series' ? `\n              <div class=\"font-md\" style=\"background-color:#fff;border-raduis:0;\">\n                ${params.marker}\n                <span>${params.data.name} <span style=\"font-weight: bold; margin-left: var(--md)\">${params.data.value}</span></span>\n              </div>\n            ` : ''\n          },\n        },\n        legend: {\n          data: props.chartData.map(d => ({\n            name: d.label,\n            itemStyle: {\n              color: {\n                type: 'linear',\n                x: 0,\n                y: 0,\n                x2: 0,\n                y2: 1,\n                colorStops: [{\n                  offset: 0,\n                  color: d.color[0],\n                },\n                {\n                  offset: 1,\n                  color: d.color[1],\n                },\n                ],\n                global: false,\n              },\n            },\n          })),\n          bottom: '-5',\n          icon: 'rect',\n          itemHeight: 12,\n          itemWidth: 12,\n          itemGap: 16,\n          textStyle: {\n            'color': '#84A4F6',\n          },\n        },\n        xAxis: {\n          type: 'category',\n          data: props.chartData.map(d => d.label),\n          axisLabel: {\n            show: false,\n          },\n          axisTick: {\n            show: false,\n          },\n          axisLine: {\n            show: false,\n          },\n          splitLine: {\n            'show': false,\n          },\n        },\n        yAxis: {\n          type: 'value',\n          axisLabel: {\n            show: false,\n          },\n          axisTick: {\n            show: false,\n          },\n          axisLine: {\n            show: false,\n          },\n          splitLine: {\n            show: false,\n          },\n        },\n        series: [\n          ...new Array(props.chartData.length).fill(0).map((_, idx) => ({\n            name: props.chartData[idx].label,\n            data: new Array(props.chartData.length).fill(0),\n            'stack': 'a',\n            'type': 'bar',\n          })),\n          {\n            type: 'pictorialBar',\n            name: '',\n            data: props.chartData.map(d => ({\n              name: d.label,\n              value: d.value,\n              label: {\n                show: true,\n                position: 'top',\n                fontSize: 14,\n                fontWeight: 'bold',\n                color: '#fff',\n              },\n              itemStyle: {\n                color: {\n                  type: 'linear',\n                  x: 0,\n                  y: 0,\n                  x2: 0,\n                  y2: 1,\n                  colorStops: [{\n                    offset: 0,\n                    color: d.color[0],\n                  },\n                  {\n                    offset: 1,\n                    color: d.color[1],\n                  },\n                  ],\n                  global: false,\n                },\n              },\n            })),\n            stack: 'a',\n            symbol: 'path://M0,10 L10,10 C5.5,10 5.5,5 5,0 C4.5,5 4.5,10 0,10 z',\n          },\n        ],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n    }\n\n    useRenderChart(renderChart, props)\n\n    return {\n      chartContainer,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VSpireColumnChart from './src/index.vue'\n\nexport const FxVSpireColumnChart = withInstall(VSpireColumnChart)\nexport default FxVSpireColumnChart\n\nexport * from './src/types'\n","<template>\n  <hl-group full=\"full-x\" align=\"items-middle\" gap=\"var(--md)\" style=\"height: 100%\">\n    <div\n      ref=\"chartContainer\"\n      class=\"static\"\n      :style=\"`min-height: ${showLabel ? height : '100%'}; min-width: ${showLabel ? height : '100%'}`\"\n    ></div>\n    <hl-group\n      v-if=\"showLabel\"\n      dir=\"vertical\"\n      align=\"items-center\"\n      :gap=\"legend.gapY\"\n      class=\"static p-r-md\"\n      style=\"width: 45%; height:100%; overflow-y:auto\"\n    >\n      <hl-group\n        v-for=\"(item, index) in chartData\"\n        :key=\"index\"\n        :gap=\"legend.gapX\"\n        align=\"items-middle items-between\"\n        :class=\"['cursor-pointer static', isHighlights[index] ? 'is-checked' : '']\"\n        :style=\"`opacity:${isHides[index] ? 0.2 : 1}`\"\n        @click=\"hideSerie(index)\"\n      >\n        <span class=\"echart-fill-rect static\" :style=\"`background-color:${item.color}`\"></span>\n        <span class=\"text-secondary font-md w-full checked:text-link\">{{ item.label }}</span>\n        <h3 class=\"font-lg font-din static\">{{ item.value }}</h3>\n      </hl-group>\n    </hl-group>\n  </hl-group>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, onMounted, PropType } from 'vue'\nimport { useEChart } from 'hongluan-hooks'\nimport { HlGroup } from 'hongluan-ui'\nimport * as echarts from 'echarts'\nimport { useRenderChart, useResponsiveChart } from '@pc-fx-framework/hooks'\nimport merge from 'lodash/merge'\n\nimport type { PieChartData } from './types'\n\nexport default defineComponent({\n  name: 'VPieChart',\n  components: { HlGroup },\n  props: {\n    chartData: {\n      type: Array as PropType<PieChartData[]>,\n      default: () => [],\n    },\n    height: {\n      type: String,\n      default: 'calc(var(--xxl) * 5)',\n    },\n    radius: {\n      type: Array as PropType<string[]>,\n      default: () => ['20%', '70%'],\n    },\n    legend: {\n      type: Object as PropType<{ gap: string; }>,\n      default: () => ({ gapX: 'var(--sm)', gapY: 'var(--sm)' }),\n    },\n    title: {\n      type: String,\n      default: '',\n    },\n    fullTitle: {\n      type: Object,\n      default: () => ({}),\n    },\n    showLabel: {\n      type: Boolean,\n      default: true,\n    },\n    // echarts.tooltip\n    tooltip: {\n      type: Object,\n      default: () => ({}),\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption, addChartEvent } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    const isHides = ref<boolean[]>([])\n    const isHighlights = ref<boolean[]>([])\n    const color = ref([] as string[])\n\n    const setColor = () => {\n      color.value = []\n      props.chartData.forEach((item, index) => {\n        if (item.value !== 0 && !isHides.value[index]) {\n          color.value.push(item.color, 'transparent')\n        }\n      })\n    }\n    const setChartData = (data: PieChartData[]) => {\n      const data1 = [] as PieChartData[]\n      const sum = data.reduce((prev, cur) => prev + cur.value, 0)\n      const nonZeroCount = data.filter(d => d.value).length\n      // 给每个数据后添加特定的透明的数据形成间隔\n      data.forEach((item, idx) => {\n        if (item.value !== 0 && !isHides.value[idx]) {\n          data1.push(item, {\n            label: '',\n            value: nonZeroCount <= 1 ? 0 : sum / 70, // 根据总值算间隔大小\n            color: '',\n            labelLine: {\n              show: false,\n              lineStyle: {\n                color: 'transparent',\n              },\n            },\n            itemStyle: {\n              color: 'transparent',\n            },\n          })\n        }\n      })\n      return data1\n    }\n    const renderChart = () => {\n      setColor()\n      const data1 = setChartData(props.chartData)\n      // 每层圆环大小\n      const radius2 = [Number(props.radius[1].split('%')[0]) - 10 + '%', Number(props.radius[1].split('%')[0]) + 4 + '%']\n      const radius3 = [Number(props.radius[1].split('%')[0]) + 4 + '%', Number(props.radius[1].split('%')[0]) + 8 + '%']\n\n      const option = {\n        tooltip: merge({\n          confine: true,\n          axisPointer: {\n            type: 'none',\n          },\n          extraCssText: 'border-radius: 0;',\n          formatter: (params: any) => {\n            return params.seriesIndex <= 1 && params.componentType === 'series' ? `\n              <div class=\"font-md\" style=\"background-color:#fff;border-raduis:0;\">\n                ${params.marker}\n                <span>${params.data.label} <span style=\"font-weight: bold; margin-left: var(--md)\">${params.data.value}</span></span>\n              </div>\n            ` : ''\n          },\n        }, props.tooltip),\n        title: [\n          merge({\n            text: props.title,\n            top: 'center',\n            left: 'center',\n            textStyle: {\n              color: '#6F8EA8',\n              fontSize: 14,\n            },\n           }, props.fullTitle),\n        ],\n        series: [\n          // 最外层圆环\n          {\n            type: 'pie',\n            radius: radius3,\n            center: ['50%', '50%'],\n            startAngle: 90,\n            selectedMode: 'single',\n            selectedOffset: 0,\n            itemStyle: {\n              color: (params: any) => color.value[params.dataIndex],\n            },\n            emptyCircleStyle: {\n              color: 'rgba(47,71,110,0.12)',\n            },\n            label: {\n              show: false,\n            },\n            data: data1,\n            emphasis: {\n              scale: true,\n            },\n          },\n          {\n            type: 'pie',\n            radius: radius2,\n            center: ['50%', '50%'],\n            startAngle: 90,\n            selectedMode: 'single',\n            selectedOffset: 0,\n            itemStyle: {\n              color: (params: any) => color.value[params.dataIndex],\n              opacity: 0.16,\n            },\n            emptyCircleStyle: {\n              color: 'rgba(47,71,110,0.12)',\n            },\n            label: {\n              show: false,\n            },\n            emphasis: {\n              scale: false,\n            },\n            data: data1,\n          },\n          {\n            type: 'pie',\n            radius: ['49%', '50%'],\n            center: ['50%', '50%'],\n            startAngle: 90,\n            selectedMode: 'single',\n            selectedOffset: 0,\n            itemStyle: {\n              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [\n                { offset: 0, color: 'rgba(64,83,112,0.6)' },\n                { offset: 0.5, color: 'rgba(0,0,0,0.00)' },\n                { offset: 1, color: 'rgba(64,83,112,0.6)' },\n              ]),\n            },\n            label: {\n              show: false,\n            },\n            emphasis: {\n              scale: false,\n            },\n            data: [100],\n          },\n          {\n            type: 'pie',\n            radius: '50%',\n            center: ['50%', '50%'],\n            startAngle: 90,\n            selectedMode: 'single',\n            selectedOffset: 0,\n            itemStyle: {\n              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [\n                { offset: 0, color: 'rgba(64,83,112,0.23)' },\n                { offset: 0.5, color: 'rgba(0,0,0,0)' },\n                { offset: 1, color: 'rgba(64,83,112,0.23)' },\n              ]),\n            },\n            label: {\n              show: false,\n            },\n            emphasis: {\n              scale: false,\n            },\n            data: [100],\n          },\n        ],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n    }\n    const hideSerie = (idx: number) => {\n      isHides.value[idx] = !isHides.value[idx]\n      renderChart()\n    }\n\n    useRenderChart(renderChart, props)\n\n    onMounted(() => {\n      addChartEvent('click', (params: any) => {\n        if (params.componentType === 'series' && params.seriesIndex === 0) {\n          const idx = props.chartData.findIndex(c => c.label === params.data.label)\n          if (idx > -1) {\n            isHighlights.value.fill(false)\n            isHighlights.value[idx] = true\n          }\n        }\n      })\n    })\n\n    return {\n      chartContainer,\n      isHides,\n      isHighlights,\n      hideSerie,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VPieChart from './src/index.vue'\n\nexport const FxVPieChart = withInstall(VPieChart)\nexport default FxVPieChart\n\nexport * from './src/types'\n","<template>\n  <hl-group full=\"full-x\" align=\"items-middle\" gap=\"var(--md)\" style=\"height: 100%\">\n    <div\n      ref=\"chartContainer\"\n      class=\"echart-container static\"\n      :style=\"`min-height: ${showLabel ? height : '100%'}; min-width: ${showLabel ? height : '100%'}`\"\n    ></div>\n    <hl-group\n      v-if=\"showLabel\"\n      dir=\"vertical\"\n      align=\"items-center\"\n      gap=\"var(--md)\"\n      class=\"static p-r-md\"\n      style=\"width: 45%\"\n    >\n      <hl-group\n        v-for=\"(item, index) in chartData\"\n        :key=\"index\"\n        :gap=\"legend.gap\"\n        align=\"items-middle items-between\"\n        :class=\"['cursor-pointer static', isHighlights[index] ? 'is-checked' : '']\"\n        :style=\"`opacity:${isHides[index] ? 0.2 : 1}`\"\n        @click=\"hideSerie(index)\"\n      >\n        <span class=\"echart-fill-rect static\" :style=\"`background-color:${item.color}`\"></span>\n        <span class=\"text-secondary font-md w-full text-link-checked\">{{ item.label }}</span>\n        <h3 class=\"font-lg font-din static\">{{ item.value }}</h3>\n      </hl-group>\n    </hl-group>\n  </hl-group>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, ref, onMounted, PropType } from 'vue'\nimport merge from 'lodash/merge'\nimport { useEChart } from 'hongluan-hooks'\nimport { HlGroup } from 'hongluan-ui'\nimport { useRenderChart, useResponsiveChart } from '@pc-fx-framework/hooks'\n\nimport type { PieChartData } from '../../pie-chart/src/types'\n\nexport default defineComponent({\n  name: 'VRosePieChart',\n  components: { HlGroup },\n  props: {\n    chartData: {\n      type: Array as PropType<PieChartData[]>,\n      default: () => [],\n    },\n    legend: {\n      type: Object as PropType<{ gap: string; }>,\n      default: () => ({ gap: 'var(--sm)' }),\n    },\n    height: {\n      type: String,\n      default: 'calc(var(--xxl) * 5)',\n    },\n    title: {\n      type: String,\n      default: '',\n    },\n    showLabel: {\n      type: Boolean,\n      default: true,\n    },\n    // echarts.tooltip\n    tooltip: {\n      type: Object,\n      default: () => ({}),\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption, addChartEvent } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    const isHides = ref<boolean[]>([])\n    const isHighlights = ref<boolean[]>([])\n\n    const renderChart = () => {\n      const option = {\n        confine: true,\n        tooltip: merge({\n          axisPointer: {\n            type: 'none',\n          },\n          extraCssText: 'border-radius: 0;',\n          formatter: (params: any) => {\n            return params.seriesIndex === 0 && params.componentType === 'series' ? `\n              <div class=\"font-md\" style=\"background-color:#fff;border-raduis:0;\">\n                ${params.marker}\n                <span>${params.data.label} <span style=\"font-weight: bold; margin-left: var(--md)\">${params.data.value}</span></span>\n              </div>\n            ` : ''\n          },\n        }, props.tooltip),\n        title: [\n          {\n            text: props.title,\n            top: 'center',\n            left: 'center',\n            textStyle: {\n              color: '#6F8EA8',\n              fontSize: 14,\n            },\n          },\n        ],\n        series: [\n          {\n            name: '',\n            type: 'pie',\n            radius: ['40%', '90%'],\n            center: ['50%', '50%'],\n            roseType: 'radius',\n            minShowLabelAngle: 60,\n            left: '0',\n            itemStyle: {\n              color: (params: any) => props.chartData[params.dataIndex].color,\n            },\n            emptyCircleStyle: {\n              color: 'rgba(47,71,110,0.12)',\n            },\n            label: {\n              show: false,\n            },\n            labelLine: {\n              length: 1,\n              length2: 20,\n              smooth: true,\n            },\n            data: props.chartData.filter((_, idx) => !isHides.value[idx]),\n          },\n        ],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n    }\n    const hideSerie = (idx: number) => {\n      isHides.value[idx] = !isHides.value[idx]\n      renderChart()\n    }\n\n    useRenderChart(renderChart, props)\n\n    onMounted(() => {\n      addChartEvent('click', (params: any) => {\n        if (params.componentType === 'series' && params.seriesIndex === 0) {\n          const idx = props.chartData.findIndex(c => c.label === params.data.label)\n          if (idx > -1) {\n            isHighlights.value.fill(false)\n            isHighlights.value[idx] = true\n          }\n        }\n      })\n    })\n\n    return {\n      chartContainer,\n      isHides,\n      isHighlights,\n      hideSerie,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VRosePieChart from './src/index.vue'\n\nexport const FxVRosePieChart = withInstall(VRosePieChart)\nexport default FxVRosePieChart\n","<template>\n  <hl-scrollbar\n    class=\"scrolling-bar-chart-container\"\n    :style=\"{ height, '--bar-color': barStyle?.color }\"\n  >\n    <div class=\"scrolling-bar-chart\">\n      <div\n        v-for=\"(barItem, idx) in chartData\"\n        :key=\"idx\"\n        class=\"bar-item\"\n        :style=\"`${margin ? 'margin: ' + margin : '' }`\"\n      >\n        <div class=\"label-value m-b-xxs\">\n          <span class=\"label\" :style=\"getLabelStyle(barItem)\">{{ labelFormatter(barItem.label) }}</span>\n          <span class=\"value\" :style=\"getValueStyle(barItem)\">{{ valueFormatter(getBarItemTotal(barItem)) }}</span>\n        </div>\n        <div\n          :class=\"['bar-bg', isStack ? 'stack' : '']\"\n          :style=\"{\n            backgroundColor: barItem?.barStyle?.backgroundColor || barStyle?.backgroundColor,\n            height: barItem?.barStyle?.width || barStyle?.width\n          }\"\n        >\n          <template v-if=\"isStack\">\n            <div\n              v-for=\"(subBarItem, sidx) in barItem.value\"\n              :key=\"sidx\"\n              class=\"bar\"\n              :style=\"{\n                background: subBarItem?.barStyle?.color || barStyle?.color,\n                width: `${subBarItem.value / maxVal * 100}%`\n              }\"\n            ></div>\n          </template>\n          <div\n            v-else\n            class=\"bar\"\n            :style=\"{\n              background: barItem?.barStyle?.color || barStyle?.color,\n              width: `${barItem.value / maxVal * 100}%`\n            }\"\n          ></div>\n        </div>\n      </div>\n    </div>\n  </hl-scrollbar>\n</template>\n<script lang=\"ts\">\nimport { CSSProperties, defineComponent, PropType, computed } from 'vue'\nimport { HlScrollbar } from 'hongluan-ui'\nimport type { ScrollingBarChartData } from './types'\n\nexport default defineComponent({\n  name: 'VScrollingBarChart',\n  components: { HlScrollbar },\n  props: {\n    height: {\n      type: String,\n      required: true,\n    },\n    margin: {\n      type: String,\n      default: '',\n    },\n    barStyle: {\n      type: Object as PropType<{ width: string; color: string; backgroundColor: string; }>,\n      default: () => ({\n        width: '1em',\n        color: '#71F8FC',\n        backgroundColor: 'rgba(47,71,110,0.12)',\n      }),\n    },\n    labelStyle: {\n      type: Object as PropType<CSSProperties>,\n      default: () => ({\n        fontSize: '1em',\n        color: '#B5CEE3',\n      }),\n    },\n    valueStyle: {\n      type: Object as PropType<CSSProperties>,\n      default: () => ({\n        fontSize: '1.2em',\n        color: '#B5CEE3',\n      }),\n    },\n    chartData: {\n      type: Array as PropType<ScrollingBarChartData[]>,\n      default: () => [],\n    },\n    labelFormatter: {\n      type: Function as PropType<(label: string) => string>,\n      default: (label: string) => label,\n    },\n    valueFormatter: {\n      type: Function as PropType<(value: number) => string>,\n      default: (value: number) => value,\n    },\n  },\n  setup(props) {\n    const isStack = computed(() => props.chartData.every(d => Array.isArray(d.value)))\n    const maxVal = computed(() => {\n      if (isStack.value) {\n        return Math.max(\n          ...props.chartData.map(d =>\n            (d.value as ScrollingBarChartData[]).reduce((prev, cur) => prev + (cur.value as number), 0),\n          ),\n        )\n      } else {\n        return Math.max(...props.chartData.map(d => (d.value as number)))\n      }\n    })\n\n    const getLabelStyle = (charItem: ScrollingBarChartData) => ({ ...props.labelStyle, ...(charItem?.labelStyle ?? {}) })\n    const getValueStyle = (charItem: ScrollingBarChartData) => ({ ...props.valueStyle, ...(charItem?.valueStyle ?? {}) })\n    const getBarItemTotal = (charItem: ScrollingBarChartData) => isStack.value ? (charItem.value as ScrollingBarChartData[]).reduce((prev, cur) => prev + (cur.value as number), 0) : charItem.value\n\n    return {\n      maxVal,\n      isStack,\n      getLabelStyle,\n      getValueStyle,\n      getBarItemTotal,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VScrollingBarChart from './src/index.vue'\n\nexport const FxVScrollingBarChart = withInstall(VScrollingBarChart)\nexport default FxVScrollingBarChart\n\nexport * from './src/types'\n","<template>\n  <hl-scrollbar\n    class=\"scrolling-list-chart-container\"\n    :style=\"{ height, '--bar-color': barStyle?.color }\"\n  >\n    <div class=\"scrolling-list-chart\">\n      <div v-for=\"(barItem, idx) in chartData\" :key=\"idx\" class=\"list-item\" :style=\"itemStyle\">\n        <div class=\"list-box m-b-xxs\">\n          <slot name=\"label\" :row=\"barItem\">\n            <span class=\"label\" :style=\"getLabelStyle(barItem)\">\n              {{\n                labelFormatter(barItem.label)\n              }}\n            </span>\n          </slot>\n          <div\n            :class=\"['list-bg', isStack ? 'stack' : '']\"\n            :style=\"{\n              background: barItem?.barStyle?.background || barStyle?.background,\n              height: barItem?.barStyle?.width || barStyle?.width,\n            }\"\n          >\n            <template v-if=\"isStack\">\n              <div\n                v-for=\"(subBarItem, sidx) in barItem.value\"\n                :key=\"sidx\"\n                class=\"list\"\n                :style=\"{\n                  background: subBarItem?.barStyle?.color || barStyle?.color,\n                  width: `${(subBarItem.value / maxVal) * 100}%`,\n                }\"\n              ></div>\n            </template>\n            <div\n              v-else\n              class=\"list\"\n              :style=\"{\n                background: barItem?.barStyle?.color || barStyle?.color,\n                width: `${(barItem.value / maxVal) * 100}%`,\n              }\"\n            ></div>\n            <span class=\"value\" :style=\"getValueStyle(barItem)\">\n              {{\n                valueFormatter(getBarItemTotal(barItem))\n              }}\n            </span>\n          </div>\n        </div>\n      </div>\n    </div>\n  </hl-scrollbar>\n</template>\n<script lang=\"ts\">\nimport { CSSProperties, defineComponent, PropType, computed } from 'vue'\nimport { HlScrollbar } from 'hongluan-ui'\nimport { ScrollingListChartData } from './types'\n\nexport default defineComponent({\n  name: 'VScrollingListChart',\n  components: { HlScrollbar },\n  props: {\n    height: {\n      type: String,\n    },\n    itemStyle: {\n      type: Object as PropType<CSSProperties>,\n      default: () => ({\n        margin: '4px 0 0',\n        height: '44px',\n        lineHeight: '44px',\n      }),\n    },\n    barStyle: {\n      type: Object as PropType<{\n        width: string\n        color: string\n        backgroundColor: string\n      }>,\n      default: () => ({\n        width: '1em',\n        color: '#71F8FC',\n        backgroundColor: 'none',\n      }),\n    },\n    labelStyle: {\n      type: Object as PropType<CSSProperties>,\n      default: () => ({\n        fontSize: '1em',\n        color: '#FFFFFF',\n        width: '30%',\n      }),\n    },\n    valueStyle: {\n      type: Object as PropType<CSSProperties>,\n      default: () => ({\n        fontSize: '1.2em',\n        color: '#FFFFFF',\n      }),\n    },\n    chartData: {\n      type: Array as PropType<ScrollingListChartData[]>,\n      default: () => [],\n    },\n    labelFormatter: {\n      type: Function as PropType<(label: string) => string>,\n      default: (label: string) => label,\n    },\n    valueFormatter: {\n      type: Function as PropType<(value: number) => string>,\n      default: (value: number) => value,\n    },\n  },\n  setup(props) {\n    const isStack = computed(() => props.chartData.every(d => Array.isArray(d.value)))\n    const maxVal = computed(() => {\n      if (isStack.value) {\n        return Math.max(\n          ...props.chartData.map(d => (d.value as ScrollingListChartData[]).reduce(\n            (prev, cur) => prev + (cur.value as number),\n            0,\n          )),\n        )\n      }\n      return Math.max(...props.chartData.map(d => d.value as number))\n    })\n\n    const getLabelStyle = (charItem: ScrollingListChartData) => ({\n      ...props.labelStyle,\n      ...(charItem?.labelStyle ?? {}),\n    })\n    const getValueStyle = (charItem: ScrollingListChartData) => ({\n      left: `${(charItem.value as number / maxVal.value) * 100}%`,\n      ...props.valueStyle,\n      ...(charItem?.valueStyle ?? {}),\n    })\n    const getBarItemTotal = (charItem: ScrollingListChartData) => (isStack.value\n      ? (charItem.value as ScrollingListChartData[]).reduce(\n        (prev, cur) => prev + (cur.value as number),\n        0,\n      )\n      : charItem.value)\n\n    return {\n      maxVal,\n      isStack,\n      getLabelStyle,\n      getValueStyle,\n      getBarItemTotal,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VScrollingListChart from './src/index.vue'\n\nexport const FxVScrollingListChart = withInstall(VScrollingListChart)\nexport default FxVScrollingListChart\n\nexport * from './src/types'\n","<template>\n  <div ref=\"chartContainer\" class=\"echart-container\"></div>\n</template>\n<script lang=\"ts\">\nimport { defineComponent, PropType } from 'vue'\nimport * as echarts from 'echarts'\nimport { useEChart } from 'hongluan-hooks'\nimport { useRenderChart, useResponsiveChart } from '@pc-fx-framework/hooks'\n\nimport type { PyramidChartData } from './types'\n\nexport default defineComponent({\n  name: 'VPyramidChart',\n  props: {\n    chartData: {\n      type: Array as PropType<PyramidChartData[]>,\n      default: () => [],\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    const renderChart = () => {\n      const option = {\n        // tooltip: {\n        //   axisPointer: {\n        //     type: 'none',\n        //   },\n        //   extraCssText: 'border-radius: 0;',\n        //   formatter: (params: any) => {\n        //     return params.componentType === 'series' ? `\n        //       <div style=\"backgroundColor:#fff;borderRaduis:0\">\n        //         ${params.marker}\n        //         <span>${params.data.name} <span style=\"font-weight: bold; margin-left: var(--md)\">${params.data.value}</span></span>\n        //       </div>\n        //     ` : ''\n        //   },\n        // },\n        legend: {\n          data: props.chartData.map(d => d.label),\n          bottom: '-5',\n          icon: 'rect',\n          itemHeight: 12,\n          itemWidth: 12,\n          itemGap: 16,\n          textStyle: {\n            'color': '#84A4F6',\n          },\n        },\n        series: [{\n          type: 'funnel',\n          left: '10%',\n          top: 0,\n          bottom: 45,\n          width: '80%',\n          sort: 'ascending',\n          // min: 0,\n          // max: Math.max(...props.chartData.map(d => d.value)),\n          // minSize: '0%',\n          // maxSize: '100%',\n          gap: 2,\n          label: {\n            show: false,\n            position: 'inside',\n          },\n          emphasis: {\n            label: {\n              color: '#fff',\n              fontSize: 14,\n              formatter: '{c}',\n              backgroundColor: 'transparent',\n              fontWeight: 'bold',\n            },\n            labelLine: {\n              show: false,\n            },\n          },\n          data: props.chartData.map(d => ({\n            value: d.value,\n            name: d.label,\n            itemStyle: {\n              color: typeof d.color === 'string' ? d.color : new echarts.graphic.LinearGradient(0, 0, 0, 1, [\n                { offset: 0, color: d.color[0] },\n                { offset: 1, color: d.color[1] },\n              ]),\n              borderWidth: 0,\n              borderRadius: [2, 2, 0, 0],\n            },\n          })),\n        }],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n    }\n\n    useRenderChart(renderChart, props)\n\n    return {\n      chartContainer,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VPyramidChart from './src/index.vue'\n\nexport const FxVPyramidChart = withInstall(VPyramidChart)\nexport default FxVPyramidChart\n\nexport * from './src/types'\n","<template>\n  <div ref=\"chartContainer\" class=\"echart-container\"></div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, PropType } from 'vue'\nimport * as echarts from 'echarts'\nimport merge from 'lodash/merge'\nimport { useEChart } from 'hongluan-hooks'\nimport { useRenderChart, useResponsiveChart } from '@pc-fx-framework/hooks'\n\nimport type { LineSeriesDataItem, LineChartDataItem } from './types'\n\nexport default defineComponent({\n  name: 'VLineChart',\n  props: {\n    // 指标及配置 如: [{ label: \"重大风险\", key: \"level1\", itemStyle: { color: \"#FD6161\" } }]\n    seriesData: {\n      required: true,\n      type: Array as PropType<LineSeriesDataItem[]>,\n    },\n    // y轴数据 如：[{  xValue: \"一月\", level1: 20, level2: 40, level3: 30, level4: 11 }]\n    chartData: {\n      required: true,\n      type: Array as PropType<LineChartDataItem[]>,\n      default: () => [],\n    },\n    xAxis: {\n      type: Object,\n      default: () => ({}),\n    },\n    yAxis: {\n      type: Object,\n      default: () => ({}),\n    },\n    grid: {\n      type: Object,\n      default: () => ({\n        top: '20',\n        left: '0',\n        right: '0',\n        bottom: '40',\n        containLabel: true,\n      }),\n    },\n    // echarts.legend\n    legend: {\n      type: Object,\n      default: () => ({}),\n    },\n    // echarts.tooltip\n    tooltip: {\n      type: Object,\n      default: () => ({}),\n    },\n    showArea: {\n      type: Boolean,\n      default: false,\n    },\n    // echarts.dataZoom\n    dataZoom: {\n      type: Array,\n      default: () => ([]),\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    const seriesItemStyle = {\n      itemStyle: {\n        color: '#F1E723',\n      },\n      showSymbol: false,\n      symbolSize: 4,\n      lineStyle: {\n        width: 2,\n      },\n      type: 'line',\n    }\n\n    const getSeriesData = () =>\n      props.seriesData.map(item => ({\n        ...JSON.parse(JSON.stringify(seriesItemStyle)),\n        itemStyle: item?.itemStyle ?? seriesItemStyle.itemStyle,\n        name: item.label,\n        data: props.chartData?.map(ele => ele[item.key]),\n        areaStyle: item.areaStyleColor ? {\n          opacity: 0.8,\n          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [\n            {\n              offset: 0,\n              color: item.areaStyleColor[0],\n            },\n            {\n              offset: 1,\n              color: item.areaStyleColor[1],\n            },\n          ]),\n        } : undefined,\n      }))\n\n    const renderChart = () => {\n      const option = {\n        grid: props.grid,\n        legend: merge({\n          data: props.seriesData.map(item => item.label),\n          icon: 'rect',\n          itemWidth: 10,\n          itemHeight: 10,\n          itemGap: 20,\n          textStyle: {\n            fontSize: 12,\n            color: '#A1A5B7',\n          },\n        }, props.legend),\n        tooltip: merge({\n          trigger: 'axis',\n          axisPointer: {\n            show: false,\n            lineStyle: {\n              color: 'rgba(255,255,255,0)',\n              type: 'solid',\n            },\n          },\n          textStyle: {\n            fontSize: 14,\n          },\n          extraCssText: 'border-radius: 0',\n        }, props.tooltip),\n        xAxis: merge({\n          axisLabel: {\n            fontSize: 12,\n            color: '#6F8EA8',\n            lineHeight: 24,\n            margin: 5,\n          },\n          axisTick: {\n            alignWithLabel: true,\n          },\n          axisLine: {\n            lineStyle: {\n              color: '#34435A',\n            },\n          },\n          type: 'category',\n          data: props.chartData?.map(item => item.xValue),\n        }, props.xAxis),\n        yAxis: merge({\n          splitLine: {\n            lineStyle: {\n              type: 'line',\n              color: '#253346',\n            },\n          },\n          axisLabel: {\n            fontSize: 12,\n            color: '#6F8EA8',\n            lineHeight: 24,\n          },\n          type: 'value',\n          nameTextStyle: {\n            color: '#6F8EA8',\n            align: 'left',\n            padding: [0, 0, 0, -22],\n          },\n        }, props.yAxis),\n        dataZoom: props.dataZoom,\n        series: [\n          ...getSeriesData(),\n          {\n            showBackground: true,\n            backgroundStyle: {\n              color: 'rgba(56,75,103,0.16)',\n            },\n            itemStyle: {\n              color: 'rgba(180, 180, 180, 0)',\n            },\n            barMaxWidth: 24,\n            name: '',\n            data: Array(props.chartData?.length).fill(0),\n            selectedMode: false,\n            type: 'bar',\n            tooltip: {\n              show: false,\n            },\n          },\n        ],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n    }\n\n    useRenderChart(renderChart, props)\n\n    return {\n      chartContainer,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VLineChart from './src/index.vue'\n\nexport const FxVLineChart = withInstall(VLineChart)\nexport default FxVLineChart\n\nexport * from './src/types'\n","<template>\n  <div ref=\"chartContainer\" class=\"echart-container\"></div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, PropType } from 'vue'\nimport merge from 'lodash/merge'\nimport { useEChart } from 'hongluan-hooks'\nimport { useRenderChart, useResponsiveChart } from '@pc-fx-framework/hooks'\n\nimport type { StackBarLegendItem, StackBarChartDataItem } from './types'\n\nexport default defineComponent({\n  name: 'VStackedBarChart',\n  props: {\n    // 指标及配置 如: [{ label: \"重大风险\", key: \"greatRisk\", itemStyle: { color: \"#FD6161\" } }]\n    legend: {\n      required: true,\n      type: Array as PropType<StackBarLegendItem[]>,\n    },\n    // y轴数据 如：[{  xValue: \"一月\", greatRisk: 20, biggerRisk: 40, normalRisk: 30, lowRisk: 11 }]\n    chartData: {\n      required: true,\n      type: Array as PropType<StackBarChartDataItem[]>,\n      deflautl: () => [],\n    },\n    xAxis: {\n      type: Object,\n      default: () => ({}),\n    },\n    yAxis: {\n      type: Object,\n      default: () => ({}),\n    },\n    grid: {\n      type: Object,\n      default: () => ({\n        top: '20',\n        left: '0',\n        right: '0',\n        bottom: '40',\n        containLabel: true,\n      }),\n    },\n    // echarts.tooltip\n    tooltip: {\n      type: Object,\n      default: () => ({}),\n    },\n    // echarts.legend\n    legendReal: {\n      type: Object,\n      default: () => ({}),\n    },\n    // echarts.dataZoom\n    dataZoom: {\n      type: Array,\n      default: () => ([]),\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    const seriesItemStyle = {\n      itemStyle: {\n        borderRadius: [2, 2, 0, 0],\n      },\n      barWidth: 22,\n      type: 'bar',\n      stack: 'one',\n      showBackground: true,\n      backgroundStyle: {\n        color: 'rgba(56,75,103, 0.1)',\n      },\n    }\n\n    const getSeriesData = () => props.legend.map(item => ({\n      ...JSON.parse(JSON.stringify(seriesItemStyle)),\n      itemStyle: item?.itemStyle ?? seriesItemStyle.itemStyle,\n      barWidth: item?.barWidth ?? seriesItemStyle.barWidth,\n      name: item.label,\n      data: props.chartData?.map(ele => ele[item.key]),\n    }))\n\n    const renderChart = () => {\n      const option = {\n        grid: props.grid,\n        legend: merge({\n          data: props.legend.map(item => item.label),\n          bottom: '3%',\n          itemWidth: 10,\n          itemHeight: 10,\n          itemGap: 16,\n          textStyle: {\n            fontSize: 12,\n            color: '#A1A5B7',\n          },\n        }, props.legendReal),\n        tooltip: merge({\n          trigger: 'axis',\n          axisPointer: {\n            show: false,\n            lineStyle: {\n              color: 'rgba(255,255,255,0)',\n              type: 'solid',\n            },\n          },\n          extraCssText: 'border-radius: 0',\n          textStyle: {\n            fontSize: 14,\n          },\n        }, props.tooltip),\n        xAxis: merge({\n          axisLabel: {\n            interval: 0,\n            fontSize: 12,\n            color: '#6F8EA8',\n            lineHeight: 20,\n            margin: 5,\n          },\n          axisTick: {\n            alignWithLabel: true,\n          },\n          axisLine: {\n            lineStyle: {\n              color: '#2B394E',\n            },\n          },\n          type: 'category',\n          data: props.chartData?.map(item => item.xValue),\n        }, props.xAxis),\n        yAxis: merge({\n          splitNumber: 3,\n          splitLine: {\n            lineStyle: {\n              type: 'solid',\n              color: '#2B394E',\n            },\n          },\n          axisLabel: {\n            fontSize: 12,\n            color: '#6F8EA8',\n            lineHeight: 20,\n          },\n          type: 'value',\n        }, props.yAxis),\n        dataZoom: props.dataZoom,\n        series: [\n          ...getSeriesData(),\n        ],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n    }\n\n    useRenderChart(renderChart, props)\n\n    return {\n      chartContainer,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VStackedBarChart from './src/index.vue'\n\nexport const FxVStackedBarChart = withInstall(VStackedBarChart)\nexport default FxVStackedBarChart\n\nexport * from './src/types'\n","<template>\n  <div ref=\"chartContainer\" class=\"echart-container\"></div>\n</template>\n\n<script lang=\"ts\">\nimport {\n  defineComponent,\n  PropType,\n  ref,\n} from 'vue'\nimport { useEChart } from 'hongluan-hooks'\nimport { useRenderChart, useResponsiveChart } from '@pc-fx-framework/hooks'\nimport { ProportionPieChartDataItem } from './types'\n\nexport default defineComponent({\n  name: 'VProportionPieChart',\n  props: {\n    chartData: {\n      required: true,\n      type: Array as PropType<ProportionPieChartDataItem[]>,\n      default: () => [],\n    },\n    // click时圆环颜色\n    activeColor: {\n      type: String,\n      default: 'rgba(113, 248, 252)',\n    },\n    label1: {\n      type: Object,\n      default: () => ({}),\n    },\n    label2: {\n      type: Object,\n      default: () => ({}),\n    },\n  },\n  setup(props) {\n    const { chartContainer, setChartOption, addChartEvent, dispatchAction } = useEChart()\n    const { updateOptionToResponsive } = useResponsiveChart()\n\n    // 默认圆环颜色\n    const DEFAULT_COLOR = '#1D2B3E'\n    const seriesItem = {\n      value: '',\n      name: '',\n      label: {\n        color: '#fff',\n      },\n      itemStyle: {\n        color: DEFAULT_COLOR,\n      },\n      emphasis: {\n        itemStyle: {},\n      },\n    }\n    const seriesData = ref<any[]>([])\n\n    const getSeriesData = () => {\n      seriesData.value = props.chartData.map(item => ({\n        ...seriesItem,\n        itemStyle: { color: item.color || DEFAULT_COLOR },\n        value: item.value,\n        name: item.label,\n      }))\n    }\n\n    // 调整文字角度\n    const angleText = (i: number, num: number) => {\n      // 每个元素的角度\n      const everyAngle = 360 / num\n      // 文字现在所在的角度\n      const currentAngle = i * everyAngle + everyAngle / 2\n\n      if (currentAngle <= 90) {\n        return -currentAngle\n      } if (currentAngle <= 180 && currentAngle > 90) {\n        return 180 - currentAngle\n      } if (currentAngle < 270 && currentAngle > 180) {\n        return 180 - currentAngle\n      } if (currentAngle < 360 && currentAngle >= 270) {\n        return 360 - currentAngle\n      }\n      return 0\n    }\n    // 有值的色图的正切处理\n    const getColorData = () => {\n      let data = []\n      data = JSON.parse(JSON.stringify(seriesData.value))\n      for (let i = 0; i < data.length; i++) {\n        if (i === 0) {\n          data[i].label.color = '#333'\n          data[i].itemStyle.color = props.activeColor\n          data[i].label.rotate = angleText(i, data.length)\n        } else {\n          data[i].label.color = '#fff'\n          data[i].label.rotate = angleText(i, data.length)\n        }\n      }\n      return data\n    }\n    // 最外层大圈的数据\n    const getFirseCircleData = () => {\n      let data = []\n      data = JSON.parse(JSON.stringify(seriesData.value))\n      for (let i = 0; i < data.length; i++) {\n        data[i].value = 1\n        data[i].label.rotate = angleText(i, data.length)\n        data[i].itemStyle = {}\n        if (i === 0) {\n          data[i].label.color = props.activeColor\n        }\n      }\n      return data\n    }\n    // 透明饼图（hover、click）时背景的数据\n    const getBgCircleData = () => {\n      const data2 = []\n      for (let i = 0; i < seriesData.value.length; i++) {\n        if (i === 0) {\n          data2.push({\n            value: 1,\n            itemStyle: {\n              color: 'rgba(25, 255, 224,0.05)',\n            },\n          })\n        } else {\n          data2.push({\n            value: 1,\n            itemStyle: {\n              color: 'transparent',\n            },\n          })\n        }\n      }\n      return data2\n    }\n\n    const renderChart = () => {\n      const option = {\n        grid: {\n        },\n        polar: {},\n        angleAxis: {\n          show: false,\n          interval: 1,\n          type: 'category',\n          data: [],\n\n        },\n        // 中间画圈圈的坐标轴\n        radiusAxis: {\n          show: false,\n        },\n        series: [{\n          type: 'pie',\n          radius: ['70%', '96%'],\n          itemStyle: {\n            color: 'transparent',\n          },\n          labelLine: {\n            show: false,\n            length: 30,\n            length2: 55,\n          },\n          label: {\n            position: 'inside',\n            align: 'right',\n            fontSize: 14,\n            ...props.label1,\n          },\n          emphasis: {\n            scale: false,\n          },\n          name: '',\n          data: getFirseCircleData(),\n        },\n        {\n          stack: 'a',\n          type: 'pie',\n          radius: ['75%', '36%'],\n          roseType: 'area',\n          zlevel: 10,\n          emphasis: {\n            scale: false,\n          },\n          labelLayout: {\n            hideOverlap: false,\n          },\n          label: {\n            show: true,\n            fontSize: 12,\n            color: '#fff',\n            position: 'inside',\n            rotate: 30,\n            align: 'right',\n            fontWeight: 'bold',\n            formatter: '{c}%',\n            ...props.label2,\n          },\n          animation: false,\n          data: getColorData(),\n        },\n        {\n          type: 'pie',\n          zlevel: 99,\n          radius: ['15%', '98%'],\n          selectedOffset: 0,\n          animation: false,\n          label: {\n            show: false,\n          },\n          emphasis: {\n            scale: false,\n          },\n          data: getBgCircleData(),\n        }],\n      }\n      updateOptionToResponsive(option)\n      setChartOption(option)\n      // 监听点击事件 改变色值\n      addChartEvent('click', (a: { dataIndex: string | number; }) => {\n      // 最外层的字体颜色重置变色\n        for (let da1 = 0; da1 < option.series[0].data.length; da1++) {\n          option.series[0].data[da1].label.color = '#fff'\n        }\n\n        // 色圈的字体颜色和选中颜色重置\n        for (let da2 = 0; da2 < option.series[1].data.length; da2++) {\n          option.series[1].data[da2].itemStyle.color = seriesData.value[da2].itemStyle.color\n          option.series[1].data[da2].label.color = '#fff'\n        }\n\n        // 背景的透明饼图的重置\n        for (let da3 = 0; da3 < option.series[2].data.length; da3++) {\n          option.series[2].data[da3].itemStyle.color = 'transparent'\n        }\n\n        option.series[1].data[a.dataIndex].itemStyle.color = props.activeColor\n        option.series[1].data[a.dataIndex].label.color = '#333'\n        option.series[0].data[a.dataIndex].label.color = props.activeColor\n        option.series[2].data[a.dataIndex].itemStyle.color = 'rgba(25, 255, 224, 0.1)'\n        setChartOption(option)\n      })\n\n      addChartEvent('mouseover', (a: { dataIndex: number; }) => {\n        dispatchAction({\n          type: 'highlight',\n          seriesIndex: 1,\n          dataIndex: a.dataIndex,\n        })\n      })\n\n      addChartEvent('mouseout', (a: { dataIndex: number; }) => {\n        dispatchAction({\n          type: 'downplay',\n          seriesIndex: 1,\n          dataIndex: a.dataIndex,\n        })\n      })\n    }\n\n    useRenderChart(() => {\n      getSeriesData()\n      renderChart()\n    }, props)\n\n    return {\n      chartContainer,\n    }\n  },\n})\n</script>\n","import { withInstall } from '@pc-fx-framework/utils/with-install'\nimport VProportionPieChart from './src/index.vue'\n\nexport const FxVProportionPieChart = withInstall(VProportionPieChart)\nexport default FxVProportionPieChart\n\nexport * from './src/types'\n","import { FxPageTable } from '@pc-fx-framework/components/page-table'\nimport { FxPageTableV2 } from '@pc-fx-framework/components/page-table-v2'\nimport { FxFileUpload } from '@pc-fx-framework/components/file-upload'\nimport { FxPageDetail } from '@pc-fx-framework/components/page-detail'\nimport { FxAnimPage } from '@pc-fx-framework/components/anim-page'\nimport { FxActionButton } from '@pc-fx-framework/components/action-button'\n\n// 大屏组件\nimport { FxVPanel } from '@pc-fx-framework/components/visualized/panel'\nimport { FxVModal } from '@pc-fx-framework/components/visualized/modal'\nimport { FxVColumnChart } from '@pc-fx-framework/components/visualized/charts/column-chart'\nimport { FxVSpireColumnChart } from '@pc-fx-framework/components/visualized/charts/spire-column-chart'\nimport { FxVPieChart } from '@pc-fx-framework/components/visualized/charts/pie-chart'\nimport { FxVRosePieChart } from '@pc-fx-framework/components/visualized/charts/rose-pie-chart'\nimport { FxVScrollingBarChart } from '@pc-fx-framework/components/visualized/charts/scrolling-bar-chart'\nimport { FxVScrollingListChart } from '@pc-fx-framework/components/visualized/charts/scrolling-list-chart'\nimport { FxVPyramidChart } from '@pc-fx-framework/components/visualized/charts/pyramid-chart'\nimport { FxVLineChart } from '@pc-fx-framework/components/visualized/charts/line-chart'\nimport { FxVStackedBarChart } from '@pc-fx-framework/components/visualized/charts/stacked-bar-chart'\nimport { FxVProportionPieChart } from '@pc-fx-framework/components/visualized/charts/proportion-pie-chart'\n\nimport type { Plugin } from 'vue'\n\nexport default [\n  FxPageTable,\n  FxPageTableV2,\n  FxFileUpload,\n  FxPageDetail,\n  FxAnimPage,\n  FxActionButton,\n\n  // 大屏组件\n  FxVPanel,\n  FxVModal,\n  FxVColumnChart,\n  FxVSpireColumnChart,\n  FxVPieChart,\n  FxVRosePieChart,\n  FxVScrollingBarChart,\n  FxVScrollingListChart,\n  FxVPyramidChart,\n  FxVLineChart,\n  FxVStackedBarChart,\n  FxVProportionPieChart,\n] as Plugin[]\n\n","export default [\n]\n\n","import makeInstaller from './make-installer'\nimport Components from './component'\nimport Plugins from './plugin'\n\nexport default makeInstaller([\n  ...Components,\n  ...Plugins,\n])\n","import type { ObjectDirective } from 'vue'\n\nconst Focus: ObjectDirective = {\n  mounted(el: HTMLInputElement) {\n    el?.focus()\n  },\n}\n\nexport default Focus\n","import installer from './defaults'\nexport * from '@pc-fx-framework/components'\nexport * from '@pc-fx-framework/directives'\nexport * from '@pc-fx-framework/hooks'\nexport * from '@pc-fx-framework/tokens'\nexport * from '@pc-fx-framework/utils'\n\nexport { default as makeInstaller } from './make-installer'\nexport { default } from './defaults'\n\nexport const install = installer.install\nexport const version = installer.version\n"],"names":["t","s","o","l","version","e","r","_export_sfc","_sfc_main","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_sfc_render","_hoisted_7","TwoFilter","_createBlock","_normalizeClass","_createSlots","_withCtx","_createVNode","_withModifiers","_renderSlot","_createElementVNode","_renderList","_normalizeProps","Utils","_openBlock","_createElementBlock","_Fragment","_mergeProps","_toDisplayString","_createCommentVNode","_withDirectives","_vShow","_createTextVNode","_guardReactiveProps","c","u","TwoUpload","fileSizeLimit","FillBookOpen","_Transition","FillMaximize2","FillMinimize2","_normalizeStyle","TwoClose","listCacheClear","eq","require$$0","assocIndexOf","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","require$$1","require$$2","require$$3","require$$4","ListCache","stackClear","stackDelete","stackGet","stackHas","freeGlobal","global","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","objectToString","baseGetTag","isObject","funcTag","isFunction","coreJsData","isMasked","funcProto","funcToString","toSource","baseIsNative","getValue","getNative","Map","nativeCreate","hashClear","hashDelete","HASH_UNDEFINED","hashGet","hashHas","hashSet","Hash","mapCacheClear","isKeyable","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","stackSet","require$$5","Stack","defineProperty","baseAssignValue","assignMergeValue","createBaseFor","baseFor","Uint8Array","cloneArrayBuffer","cloneTypedArray","copyArray","baseCreate","overArg","getPrototype","isPrototype","initCloneObject","isObjectLike","argsTag","baseIsArguments","isArguments","isArray","MAX_SAFE_INTEGER","isLength","isArrayLike","isArrayLikeObject","objectTag","isPlainObject","baseIsTypedArray","baseUnary","isTypedArray","safeGet","assignValue","copyObject","baseTimes","isIndex","isBuffer","arrayLikeKeys","nativeKeysIn","baseKeysIn","keysIn","toPlainObject","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","baseMergeDeep","baseMerge","identity","apply","overRest","constant","baseSetToString","shortOut","setToString","baseRest","isIterateeCall","createAssigner","m","a","f","i","n","d","v","g","useResponsiveChart","merge","useRenderChart","p","x","h","k"],"mappings":"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"}