diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json
new file mode 100644
index 0000000..82772e0
--- /dev/null
+++ b/.eslintrc-auto-import.json
@@ -0,0 +1,84 @@
+{
+ "globals": {
+ "Component": true,
+ "ComponentPublicInstance": true,
+ "ComputedRef": true,
+ "EffectScope": true,
+ "ExtractDefaultPropTypes": true,
+ "ExtractPropTypes": true,
+ "ExtractPublicPropTypes": true,
+ "InjectionKey": true,
+ "PropType": true,
+ "Ref": true,
+ "VNode": true,
+ "WritableComputedRef": true,
+ "acceptHMRUpdate": true,
+ "computed": true,
+ "createApp": true,
+ "createPinia": true,
+ "customRef": true,
+ "defineAsyncComponent": true,
+ "defineComponent": true,
+ "defineStore": true,
+ "effectScope": true,
+ "getActivePinia": true,
+ "getCurrentInstance": true,
+ "getCurrentScope": true,
+ "h": true,
+ "inject": true,
+ "isProxy": true,
+ "isReactive": true,
+ "isReadonly": true,
+ "isRef": true,
+ "mapActions": true,
+ "mapGetters": true,
+ "mapState": true,
+ "mapStores": true,
+ "mapWritableState": true,
+ "markRaw": true,
+ "nextTick": true,
+ "onActivated": true,
+ "onBeforeMount": true,
+ "onBeforeRouteLeave": true,
+ "onBeforeRouteUpdate": true,
+ "onBeforeUnmount": true,
+ "onBeforeUpdate": true,
+ "onDeactivated": true,
+ "onErrorCaptured": true,
+ "onMounted": true,
+ "onRenderTracked": true,
+ "onRenderTriggered": true,
+ "onScopeDispose": true,
+ "onServerPrefetch": true,
+ "onUnmounted": true,
+ "onUpdated": true,
+ "provide": true,
+ "reactive": true,
+ "readonly": true,
+ "ref": true,
+ "resolveComponent": true,
+ "setActivePinia": true,
+ "setMapStoreSuffix": true,
+ "shallowReactive": true,
+ "shallowReadonly": true,
+ "shallowRef": true,
+ "storeToRefs": true,
+ "toRaw": true,
+ "toRef": true,
+ "toRefs": true,
+ "toValue": true,
+ "triggerRef": true,
+ "unref": true,
+ "useAttrs": true,
+ "useCssModule": true,
+ "useCssVars": true,
+ "useLink": true,
+ "useRoute": true,
+ "useRouter": true,
+ "useSlots": true,
+ "watch": true,
+ "watchEffect": true,
+ "watchPostEffect": true,
+ "watchSyncEffect": true
+ }
+}
\ No newline at end of file
diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 0000000..8848317
--- /dev/null
+++ b/.eslintrc.cjs
@@ -0,0 +1,23 @@
+/* eslint-env node */
+require('@rushstack/eslint-patch/modern-module-resolution')
+
+module.exports = {
+ root: true,
+ 'extends': [
+ 'plugin:vue/vue3-essential',
+ 'eslint:recommended',
+ '@vue/eslint-config-typescript',
+ '@vue/eslint-config-prettier',
+ './.eslintrc-auto-import.json',
+ ],
+ rules: {
+ "@typescript-eslint/ban-ts-ignore": "off",
+ "@typescript-eslint/ban-ts-comment": "off"
+ },
+ env: {
+ "vue/setup-compiler-macros": true
+ },
+ parserOptions: {
+ ecmaVersion: 'latest'
+ }
+}
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..38adffa
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,28 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+.DS_Store
+dist
+dist-ssr
+coverage
+*.local
+
+/cypress/videos/
+/cypress/screenshots/
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..66e2335
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,8 @@
+{
+ "$schema": "https://json.schemastore.org/prettierrc",
+ "semi": false,
+ "tabWidth": 2,
+ "singleQuote": true,
+ "printWidth": 100,
+ "trailingComma": "none"
+}
\ No newline at end of file
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000..e69de29
diff --git a/auto-imports.d.ts b/auto-imports.d.ts
new file mode 100644
index 0000000..03c8775
--- /dev/null
+++ b/auto-imports.d.ts
@@ -0,0 +1,82 @@
+/* eslint-disable */
+/* prettier-ignore */
+// @ts-nocheck
+// Generated by unplugin-auto-import
+export {}
+declare global {
+ const EffectScope: typeof import('vue')['EffectScope']
+ const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
+ const computed: typeof import('vue')['computed']
+ const createApp: typeof import('vue')['createApp']
+ const createPinia: typeof import('pinia')['createPinia']
+ const customRef: typeof import('vue')['customRef']
+ const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
+ const defineComponent: typeof import('vue')['defineComponent']
+ const defineStore: typeof import('pinia')['defineStore']
+ const effectScope: typeof import('vue')['effectScope']
+ const getActivePinia: typeof import('pinia')['getActivePinia']
+ const getCurrentInstance: typeof import('vue')['getCurrentInstance']
+ const getCurrentScope: typeof import('vue')['getCurrentScope']
+ const h: typeof import('vue')['h']
+ const inject: typeof import('vue')['inject']
+ const isProxy: typeof import('vue')['isProxy']
+ const isReactive: typeof import('vue')['isReactive']
+ const isReadonly: typeof import('vue')['isReadonly']
+ const isRef: typeof import('vue')['isRef']
+ const mapActions: typeof import('pinia')['mapActions']
+ const mapGetters: typeof import('pinia')['mapGetters']
+ const mapState: typeof import('pinia')['mapState']
+ const mapStores: typeof import('pinia')['mapStores']
+ const mapWritableState: typeof import('pinia')['mapWritableState']
+ const markRaw: typeof import('vue')['markRaw']
+ const nextTick: typeof import('vue')['nextTick']
+ const onActivated: typeof import('vue')['onActivated']
+ const onBeforeMount: typeof import('vue')['onBeforeMount']
+ const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
+ const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
+ const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
+ const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
+ const onDeactivated: typeof import('vue')['onDeactivated']
+ const onErrorCaptured: typeof import('vue')['onErrorCaptured']
+ const onMounted: typeof import('vue')['onMounted']
+ const onRenderTracked: typeof import('vue')['onRenderTracked']
+ const onRenderTriggered: typeof import('vue')['onRenderTriggered']
+ const onScopeDispose: typeof import('vue')['onScopeDispose']
+ const onServerPrefetch: typeof import('vue')['onServerPrefetch']
+ const onUnmounted: typeof import('vue')['onUnmounted']
+ const onUpdated: typeof import('vue')['onUpdated']
+ const provide: typeof import('vue')['provide']
+ const reactive: typeof import('vue')['reactive']
+ const readonly: typeof import('vue')['readonly']
+ const ref: typeof import('vue')['ref']
+ const resolveComponent: typeof import('vue')['resolveComponent']
+ const setActivePinia: typeof import('pinia')['setActivePinia']
+ const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
+ const shallowReactive: typeof import('vue')['shallowReactive']
+ const shallowReadonly: typeof import('vue')['shallowReadonly']
+ const shallowRef: typeof import('vue')['shallowRef']
+ const storeToRefs: typeof import('pinia')['storeToRefs']
+ const toRaw: typeof import('vue')['toRaw']
+ const toRef: typeof import('vue')['toRef']
+ const toRefs: typeof import('vue')['toRefs']
+ const toValue: typeof import('vue')['toValue']
+ const triggerRef: typeof import('vue')['triggerRef']
+ const unref: typeof import('vue')['unref']
+ const useAttrs: typeof import('vue')['useAttrs']
+ const useCssModule: typeof import('vue')['useCssModule']
+ const useCssVars: typeof import('vue')['useCssVars']
+ const useLink: typeof import('vue-router')['useLink']
+ const useRoute: typeof import('vue-router')['useRoute']
+ const useRouter: typeof import('vue-router')['useRouter']
+ const useSlots: typeof import('vue')['useSlots']
+ const watch: typeof import('vue')['watch']
+ const watchEffect: typeof import('vue')['watchEffect']
+ const watchPostEffect: typeof import('vue')['watchPostEffect']
+ const watchSyncEffect: typeof import('vue')['watchSyncEffect']
+}
+// for type re-export
+declare global {
+ // @ts-ignore
+ export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
+ import('vue')
+}
diff --git a/components.d.ts b/components.d.ts
new file mode 100644
index 0000000..ab8d35f
--- /dev/null
+++ b/components.d.ts
@@ -0,0 +1,75 @@
+/* eslint-disable */
+/* prettier-ignore */
+// @ts-nocheck
+// Generated by unplugin-vue-components
+// Read more: https://github.com/vuejs/core/pull/3399
+import '@vue/runtime-core'
+
+export {}
+
+declare module '@vue/runtime-core' {
+ export interface GlobalComponents {
+ _index: typeof import('./src/core/components/_sample/_index.vue')['default']
+ AAffix: typeof import('ant-design-vue/es')['Affix']
+ AAvatar: typeof import('ant-design-vue/es')['Avatar']
+ ABadge: typeof import('ant-design-vue/es')['Badge']
+ AButton: typeof import('ant-design-vue/es')['Button']
+ ACard: typeof import('ant-design-vue/es')['Card']
+ AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
+ ADivider: typeof import('ant-design-vue/es')['Divider']
+ ADrawer: typeof import('ant-design-vue/es')['Drawer']
+ ADropdown: typeof import('ant-design-vue/es')['Dropdown']
+ AForm: typeof import('ant-design-vue/es')['Form']
+ AFormItem: typeof import('ant-design-vue/es')['FormItem']
+ AInput: typeof import('ant-design-vue/es')['Input']
+ AInputPassword: typeof import('ant-design-vue/es')['InputPassword']
+ ALayout: typeof import('ant-design-vue/es')['Layout']
+ ALayoutContent: typeof import('ant-design-vue/es')['LayoutContent']
+ ALayoutHeader: typeof import('ant-design-vue/es')['LayoutHeader']
+ ALayoutSider: typeof import('ant-design-vue/es')['LayoutSider']
+ AMenu: typeof import('ant-design-vue/es')['Menu']
+ AMenuDivider: typeof import('ant-design-vue/es')['MenuDivider']
+ AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
+ AModal: typeof import('ant-design-vue/es')['Modal']
+ APagination: typeof import('ant-design-vue/es')['Pagination']
+ APopconfirm: typeof import('ant-design-vue/es')['Popconfirm']
+ APopover: typeof import('ant-design-vue/es')['Popover']
+ ARadio: typeof import('ant-design-vue/es')['Radio']
+ ARadioButton: typeof import('ant-design-vue/es')['RadioButton']
+ ARadioGroup: typeof import('ant-design-vue/es')['RadioGroup']
+ ASelect: typeof import('ant-design-vue/es')['Select']
+ ASelectOption: typeof import('ant-design-vue/es')['SelectOption']
+ ASpin: typeof import('ant-design-vue/es')['Spin']
+ ASubMenu: typeof import('ant-design-vue/es')['SubMenu']
+ ASwitch: typeof import('ant-design-vue/es')['Switch']
+ ATable: typeof import('ant-design-vue/es')['Table']
+ ATabPane: typeof import('ant-design-vue/es')['TabPane']
+ ATabs: typeof import('ant-design-vue/es')['Tabs']
+ ATextarea: typeof import('ant-design-vue/es')['Textarea']
+ ATooltip: typeof import('ant-design-vue/es')['Tooltip']
+ AUpload: typeof import('ant-design-vue/es')['Upload']
+ BaseButton: typeof import('./src/core/components/BaseButton/index.ts')['default']
+ BaseCard: typeof import('./src/core/components/BaseCard/index.ts')['default']
+ BaseDatePicker: typeof import('./src/core/components/BaseDatePicker/index.ts')['default']
+ BaseIcon: typeof import('./src/core/components/BaseIcon/index.ts')['default']
+ BaseInputNumber: typeof import('./src/core/components/BaseInputNumber/index.ts')['default']
+ BaseModal: typeof import('./src/core/components/BaseModal/index.ts')['default']
+ BaseSwitch: typeof import('./src/core/components/BaseSwitch/index.ts')['default']
+ BaseTable: typeof import('./src/core/components/BaseTable/index.ts')['default']
+ BaseTableOld: typeof import('./src/core/components/BaseTableOld/index.ts')['default']
+ BasicCard: typeof import('./src/components/BasicCard.vue')['default']
+ BasicInfoItem: typeof import('./src/components/BasicInfoItem.vue')['default']
+ BasicInput: typeof import('./src/components/BasicInput.vue')['default']
+ BasicMainCard: typeof import('./src/components/BasicMainCard.vue')['default']
+ BasicMainCardFull: typeof import('./src/components/BasicMainCardFull.vue')['default']
+ BasicMobileHeader: typeof import('./src/components/BasicMobileHeader.vue')['default']
+ BasicModal: typeof import('./src/components/BasicModal.vue')['default']
+ BasicSelect: typeof import('./src/components/BasicSelect.vue')['default']
+ BasicShowContext: typeof import('./src/components/BasicShowContext.vue')['default']
+ BasicTextArea: typeof import('./src/components/BasicTextArea.vue')['default']
+ BudgetSelect: typeof import('./src/components/BudgetSelect.vue')['default']
+ CustomTag: typeof import('./src/components/CustomTag.vue')['default']
+ RouterLink: typeof import('vue-router')['RouterLink']
+ RouterView: typeof import('vue-router')['RouterView']
+ }
+}
diff --git a/config.ts b/config.ts
new file mode 100644
index 0000000..ec59a21
--- /dev/null
+++ b/config.ts
@@ -0,0 +1,34 @@
+import pkg from './package.json'
+//import colors from './baseColor.json'
+/** base config **/
+/** api document http://omde.feep.ir/docu **/
+
+const baseURL: string = 'http://37.32.26.111/server/'
+
+const uploadURL = `${baseURL}/site/file`
+const baseURLStorage = baseURL
+const prefixCls = 'hr-tamin'
+const version = pkg.version
+const tokenName = 'peransa_token'
+const appName = { fa: 'داشبورد مدیریتی', en: 'Admin Dashboard' }
+/** Defining the secret key for crypto-js **/
+const secretKey = 'pwd@1234'
+
+const baseIconSize = '24'
+const baseButtonIconSize = '24'
+const menuIconSize = '20'
+
+export {
+ baseURL,
+ prefixCls,
+ //colors,
+ version,
+ tokenName,
+ appName,
+ secretKey,
+ uploadURL,
+ baseURLStorage,
+ baseIconSize,
+ baseButtonIconSize,
+ menuIconSize
+}
diff --git a/env.d.ts b/env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..b7f14a8
--- /dev/null
+++ b/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+ admin ghatreh gold
+
+
+
+
+
+
diff --git a/my-uno.config.ts b/my-uno.config.ts
new file mode 100644
index 0000000..8934ed6
--- /dev/null
+++ b/my-uno.config.ts
@@ -0,0 +1,34 @@
+import {
+ defineConfig,
+ presetAttributify,
+ presetIcons,
+ presetTypography,
+ presetUno,
+ presetWebFonts,
+ transformerDirectives,
+ transformerVariantGroup
+} from 'unocss'
+
+export default defineConfig({
+ shortcuts: [
+ // ...
+ ],
+ theme: {
+ colors: {
+ // ...
+ primary: '#0A1B37'
+ }
+ },
+ presets: [
+ presetUno(),
+ presetAttributify(),
+ presetIcons(),
+ presetTypography(),
+ presetWebFonts({
+ fonts: {
+ // ...
+ }
+ })
+ ],
+ transformers: [transformerDirectives(), transformerVariantGroup()]
+})
diff --git a/package-lock.json b/package-lock.json
new file mode 100644
index 0000000..00e31d9
--- /dev/null
+++ b/package-lock.json
@@ -0,0 +1,10198 @@
+{
+ "name": "admin-vue3",
+ "version": "0.0.1",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "admin-vue3",
+ "version": "0.0.1",
+ "dependencies": {
+ "@vueuse/core": "^10.1.2",
+ "@vueuse/head": "^1.1.26",
+ "ant-design-vue": "^3.2.19",
+ "apexcharts": "^3.45.1",
+ "axios": "^1.3.6",
+ "crypto-js": "^4.1.1",
+ "dayjalali": "^1.0.1",
+ "echarts": "^5.4.3",
+ "jalaliday": "^2.3.0",
+ "lodash": "^4.17.21",
+ "moment": "^2.29.4",
+ "moment-jalaali": "^0.10.0",
+ "pinia": "^2.0.33",
+ "vue": "3.3.13",
+ "vue-content-loader": "^2.0.1",
+ "vue-echarts": "^6.6.8",
+ "vue-router": "^4.1.6",
+ "vue3-apexcharts": "^1.4.4",
+ "vue3-otp-input": "^0.4.1"
+ },
+ "devDependencies": {
+ "@rushstack/eslint-patch": "^1.2.0",
+ "@types/crypto-js": "^4.1.1",
+ "@types/lodash": "^4.14.195",
+ "@types/node": "^18.15.13",
+ "@unocss/preset-attributify": "^0.50.8",
+ "@unocss/preset-uno": "^0.50.8",
+ "@unocss/transformer-compile-class": "^0.50.8",
+ "@unocss/transformer-directives": "^0.50.8",
+ "@unocss/transformer-variant-group": "^0.50.8",
+ "@vitejs/plugin-vue": "^4.1.0",
+ "@vitejs/plugin-vue-jsx": "^3.0.1",
+ "@vue/eslint-config-prettier": "^7.1.0",
+ "@vue/eslint-config-typescript": "^11.0.2",
+ "@vue/tsconfig": "^0.1.3",
+ "eslint": "^8.36.0",
+ "eslint-plugin-vue": "^9.9.0",
+ "less": "^4.1.3",
+ "less-loader": "^11.1.2",
+ "npm-run-all": "^4.1.5",
+ "prettier": "^2.8.8",
+ "typescript": "~4.9.5",
+ "unocss": "^0.50.8",
+ "unplugin-auto-import": "^0.15.3",
+ "unplugin-vue-components": "^0.24.1",
+ "vite": "^4.5.5",
+ "vite-plugin-pwa": "^0.14.7",
+ "vue-tsc": "^1.2.1"
+ }
+ },
+ "node_modules/@aashutoshrathi/word-wrap": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz",
+ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+ "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@ant-design/colors": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-6.0.0.tgz",
+ "integrity": "sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==",
+ "dependencies": {
+ "@ctrl/tinycolor": "^3.4.0"
+ }
+ },
+ "node_modules/@ant-design/icons-svg": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz",
+ "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g=="
+ },
+ "node_modules/@ant-design/icons-vue": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-6.1.0.tgz",
+ "integrity": "sha512-EX6bYm56V+ZrKN7+3MT/ubDkvJ5rK/O2t380WFRflDcVFgsvl3NLH7Wxeau6R8DbrO5jWR6DSTC3B6gYFp77AA==",
+ "dependencies": {
+ "@ant-design/colors": "^6.0.0",
+ "@ant-design/icons-svg": "^4.2.1"
+ },
+ "peerDependencies": {
+ "vue": ">=3.0.3"
+ }
+ },
+ "node_modules/@antfu/install-pkg": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-0.1.1.tgz",
+ "integrity": "sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==",
+ "dev": true,
+ "dependencies": {
+ "execa": "^5.1.1",
+ "find-up": "^5.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@antfu/utils": {
+ "version": "0.7.7",
+ "resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.7.tgz",
+ "integrity": "sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+ "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/compat-data": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
+ "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz",
+ "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helpers": "^7.23.7",
+ "@babel/parser": "^7.23.6",
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.7",
+ "@babel/types": "^7.23.6",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+ "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.23.6",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-annotate-as-pure": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
+ "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
+ "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
+ "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.23.5",
+ "@babel/helper-validator-option": "^7.23.5",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-create-class-features-plugin": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz",
+ "integrity": "sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-member-expression-to-functions": "^7.23.0",
+ "@babel/helper-optimise-call-expression": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.20",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-create-regexp-features-plugin": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
+ "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "regexpu-core": "^5.3.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-define-polyfill-provider": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz",
+ "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.22.6",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-member-expression-to-functions": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz",
+ "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.23.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+ "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+ "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-simple-access": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/helper-validator-identifier": "^7.22.20"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-optimise-call-expression": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
+ "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
+ "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-remap-async-to-generator": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
+ "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-wrap-function": "^7.22.20"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-replace-supers": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz",
+ "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-member-expression-to-functions": "^7.22.15",
+ "@babel/helper-optimise-call-expression": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
+ "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
+ "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+ "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+ "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-wrap-function": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
+ "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.22.19"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz",
+ "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.7",
+ "@babel/types": "^7.23.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+ "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
+ "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz",
+ "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz",
+ "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/plugin-transform-optional-chaining": "^7.23.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.13.0"
+ }
+ },
+ "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz",
+ "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-private-property-in-object": {
+ "version": "7.21.0-placeholder-for-preset-env.2",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
+ "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.12.13"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-class-static-block": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+ "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-dynamic-import": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+ "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-export-namespace-from": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
+ "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-assertions": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz",
+ "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-attributes": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz",
+ "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
+ "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-private-property-in-object": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+ "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
+ "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
+ "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.18.6",
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-arrow-functions": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz",
+ "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-async-generator-functions": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz",
+ "integrity": "sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-remap-async-to-generator": "^7.22.20",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-async-to-generator": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz",
+ "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-remap-async-to-generator": "^7.22.20"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-block-scoped-functions": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz",
+ "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-block-scoping": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz",
+ "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-class-properties": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz",
+ "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-class-static-block": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz",
+ "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.12.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-classes": {
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz",
+ "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.20",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-computed-properties": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz",
+ "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/template": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-destructuring": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz",
+ "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-dotall-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz",
+ "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-duplicate-keys": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz",
+ "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-dynamic-import": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz",
+ "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-exponentiation-operator": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz",
+ "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-export-namespace-from": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz",
+ "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-for-of": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz",
+ "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-function-name": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz",
+ "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-json-strings": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz",
+ "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-literals": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz",
+ "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-logical-assignment-operators": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz",
+ "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-member-expression-literals": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz",
+ "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-amd": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz",
+ "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-commonjs": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
+ "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-simple-access": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-systemjs": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz",
+ "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.20"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-modules-umd": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz",
+ "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
+ "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-new-target": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz",
+ "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz",
+ "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-numeric-separator": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz",
+ "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-object-rest-spread": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz",
+ "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.23.3",
+ "@babel/helper-compilation-targets": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.23.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-object-super": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz",
+ "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.20"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-optional-catch-binding": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz",
+ "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-optional-chaining": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz",
+ "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-parameters": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz",
+ "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-methods": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz",
+ "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-property-in-object": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz",
+ "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-create-class-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-property-literals": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz",
+ "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-regenerator": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz",
+ "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "regenerator-transform": "^0.15.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-reserved-words": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz",
+ "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-shorthand-properties": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz",
+ "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-spread": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz",
+ "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-sticky-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz",
+ "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-template-literals": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz",
+ "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-typeof-symbol": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz",
+ "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-typescript": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz",
+ "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-create-class-features-plugin": "^7.23.6",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-typescript": "^7.23.3"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-escapes": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz",
+ "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-property-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz",
+ "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz",
+ "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-sets-regex": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz",
+ "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/preset-env": {
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.8.tgz",
+ "integrity": "sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.23.5",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-option": "^7.23.5",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3",
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7",
+ "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-class-properties": "^7.12.13",
+ "@babel/plugin-syntax-class-static-block": "^7.14.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
+ "@babel/plugin-syntax-import-assertions": "^7.23.3",
+ "@babel/plugin-syntax-import-attributes": "^7.23.3",
+ "@babel/plugin-syntax-import-meta": "^7.10.4",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+ "@babel/plugin-syntax-top-level-await": "^7.14.5",
+ "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+ "@babel/plugin-transform-arrow-functions": "^7.23.3",
+ "@babel/plugin-transform-async-generator-functions": "^7.23.7",
+ "@babel/plugin-transform-async-to-generator": "^7.23.3",
+ "@babel/plugin-transform-block-scoped-functions": "^7.23.3",
+ "@babel/plugin-transform-block-scoping": "^7.23.4",
+ "@babel/plugin-transform-class-properties": "^7.23.3",
+ "@babel/plugin-transform-class-static-block": "^7.23.4",
+ "@babel/plugin-transform-classes": "^7.23.8",
+ "@babel/plugin-transform-computed-properties": "^7.23.3",
+ "@babel/plugin-transform-destructuring": "^7.23.3",
+ "@babel/plugin-transform-dotall-regex": "^7.23.3",
+ "@babel/plugin-transform-duplicate-keys": "^7.23.3",
+ "@babel/plugin-transform-dynamic-import": "^7.23.4",
+ "@babel/plugin-transform-exponentiation-operator": "^7.23.3",
+ "@babel/plugin-transform-export-namespace-from": "^7.23.4",
+ "@babel/plugin-transform-for-of": "^7.23.6",
+ "@babel/plugin-transform-function-name": "^7.23.3",
+ "@babel/plugin-transform-json-strings": "^7.23.4",
+ "@babel/plugin-transform-literals": "^7.23.3",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.23.4",
+ "@babel/plugin-transform-member-expression-literals": "^7.23.3",
+ "@babel/plugin-transform-modules-amd": "^7.23.3",
+ "@babel/plugin-transform-modules-commonjs": "^7.23.3",
+ "@babel/plugin-transform-modules-systemjs": "^7.23.3",
+ "@babel/plugin-transform-modules-umd": "^7.23.3",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
+ "@babel/plugin-transform-new-target": "^7.23.3",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4",
+ "@babel/plugin-transform-numeric-separator": "^7.23.4",
+ "@babel/plugin-transform-object-rest-spread": "^7.23.4",
+ "@babel/plugin-transform-object-super": "^7.23.3",
+ "@babel/plugin-transform-optional-catch-binding": "^7.23.4",
+ "@babel/plugin-transform-optional-chaining": "^7.23.4",
+ "@babel/plugin-transform-parameters": "^7.23.3",
+ "@babel/plugin-transform-private-methods": "^7.23.3",
+ "@babel/plugin-transform-private-property-in-object": "^7.23.4",
+ "@babel/plugin-transform-property-literals": "^7.23.3",
+ "@babel/plugin-transform-regenerator": "^7.23.3",
+ "@babel/plugin-transform-reserved-words": "^7.23.3",
+ "@babel/plugin-transform-shorthand-properties": "^7.23.3",
+ "@babel/plugin-transform-spread": "^7.23.3",
+ "@babel/plugin-transform-sticky-regex": "^7.23.3",
+ "@babel/plugin-transform-template-literals": "^7.23.3",
+ "@babel/plugin-transform-typeof-symbol": "^7.23.3",
+ "@babel/plugin-transform-unicode-escapes": "^7.23.3",
+ "@babel/plugin-transform-unicode-property-regex": "^7.23.3",
+ "@babel/plugin-transform-unicode-regex": "^7.23.3",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.23.3",
+ "@babel/preset-modules": "0.1.6-no-external-plugins",
+ "babel-plugin-polyfill-corejs2": "^0.4.7",
+ "babel-plugin-polyfill-corejs3": "^0.8.7",
+ "babel-plugin-polyfill-regenerator": "^0.5.4",
+ "core-js-compat": "^3.31.0",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/preset-modules": {
+ "version": "0.1.6-no-external-plugins",
+ "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
+ "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@babel/types": "^7.4.4",
+ "esutils": "^2.0.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/@babel/regjsgen": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
+ "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
+ "dev": true
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.23.8",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
+ "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
+ "dependencies": {
+ "regenerator-runtime": "^0.14.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
+ "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.22.13",
+ "@babel/parser": "^7.22.15",
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.23.7",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz",
+ "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.6",
+ "@babel/types": "^7.23.6",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
+ "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.23.4",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@ctrl/tinycolor": {
+ "version": "3.6.1",
+ "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz",
+ "integrity": "sha512-SITSV6aIXsuVNV3f3O0f2n/cgyEDWoSqtZMYiAmcsYHydcKrOz3gUxB/iXd/Qf08+IZX4KpgNbvUdMBmWz+kcA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
+ "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
+ "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
+ "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
+ "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
+ "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
+ "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
+ "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
+ "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
+ "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
+ "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
+ "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
+ "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
+ "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
+ "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
+ "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
+ "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
+ "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
+ "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
+ "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
+ "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
+ "cpu": [
+ "ia32"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
+ "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ }
+ },
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.10.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
+ "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+ "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.6.0",
+ "globals": "^13.19.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@eslint/js": {
+ "version": "8.56.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
+ "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.11.14",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
+ "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^2.0.2",
+ "debug": "^4.3.1",
+ "minimatch": "^3.0.5"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz",
+ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==",
+ "dev": true
+ },
+ "node_modules/@iconify/types": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
+ "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==",
+ "dev": true
+ },
+ "node_modules/@iconify/utils": {
+ "version": "2.1.15",
+ "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-2.1.15.tgz",
+ "integrity": "sha512-8chdk3NhkYiqIVxPRBPN5wGnVYaTqc8XUagCNez84Ex7yK/oNrj1XINVn7zv+JljqZbF6r5B/bd1gRNlMSwYhg==",
+ "dev": true,
+ "dependencies": {
+ "@antfu/install-pkg": "^0.1.1",
+ "@antfu/utils": "^0.7.5",
+ "@iconify/types": "^2.0.0",
+ "debug": "^4.3.4",
+ "kolorist": "^1.8.0",
+ "local-pkg": "^0.4.3"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
+ "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.22",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
+ "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@polka/url": {
+ "version": "1.0.0-next.24",
+ "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz",
+ "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==",
+ "dev": true
+ },
+ "node_modules/@rollup/plugin-replace": {
+ "version": "5.0.5",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-5.0.5.tgz",
+ "integrity": "sha512-rYO4fOi8lMaTg/z5Jb+hKnrHHVn8j2lwkqwyS4kTRhKyWOLf2wST2sWXr4WzWiTcoHTp2sTjqUbqIj2E39slKQ==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "magic-string": "^0.30.3"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz",
+ "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@rushstack/eslint-patch": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.7.0.tgz",
+ "integrity": "sha512-Jh4t/593gxs0lJZ/z3NnasKlplXT2f+4y/LZYuaKZW5KAaiVFL/fThhs+17EbUd53jUVJ0QudYCBGbN/psvaqg==",
+ "dev": true
+ },
+ "node_modules/@simonwep/pickr": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.8.2.tgz",
+ "integrity": "sha512-/l5w8BIkrpP6n1xsetx9MWPWlU6OblN5YgZZphxan0Tq4BByTCETL6lyIeY8lagalS2Nbt4F2W034KHLIiunKA==",
+ "dependencies": {
+ "core-js": "^3.15.1",
+ "nanopop": "^2.1.0"
+ }
+ },
+ "node_modules/@surma/rollup-plugin-off-main-thread": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz",
+ "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==",
+ "dev": true,
+ "dependencies": {
+ "ejs": "^3.1.6",
+ "json5": "^2.2.0",
+ "magic-string": "^0.25.0",
+ "string.prototype.matchall": "^4.0.6"
+ }
+ },
+ "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/magic-string": {
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
+ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+ "dev": true,
+ "dependencies": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ },
+ "node_modules/@types/crypto-js": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.2.1.tgz",
+ "integrity": "sha512-FSPGd9+OcSok3RsM0UZ/9fcvMOXJ1ENE/ZbLfOPlBWj7BgXtEAM8VYfTtT760GiLbQIMoVozwVuisjvsVwqYWw==",
+ "dev": true
+ },
+ "node_modules/@types/eslint": {
+ "version": "8.56.10",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz",
+ "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@types/estree": "*",
+ "@types/json-schema": "*"
+ }
+ },
+ "node_modules/@types/eslint-scope": {
+ "version": "3.7.7",
+ "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
+ "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@types/eslint": "*",
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+ "dev": true
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.15",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+ "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+ "dev": true
+ },
+ "node_modules/@types/lodash": {
+ "version": "4.14.202",
+ "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz",
+ "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==",
+ "dev": true
+ },
+ "node_modules/@types/node": {
+ "version": "18.19.8",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.8.tgz",
+ "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~5.26.4"
+ }
+ },
+ "node_modules/@types/resolve": {
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
+ "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/semver": {
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
+ "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+ "dev": true
+ },
+ "node_modules/@types/trusted-types": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+ "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
+ "dev": true
+ },
+ "node_modules/@types/web-bluetooth": {
+ "version": "0.0.20",
+ "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
+ "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz",
+ "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/regexpp": "^4.4.0",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/type-utils": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
+ "debug": "^4.3.4",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "natural-compare-lite": "^1.4.0",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz",
+ "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+ "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/type-utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz",
+ "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "@typescript-eslint/utils": "5.62.0",
+ "debug": "^4.3.4",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
+ "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
+ "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+ "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+ "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@ungap/structured-clone": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz",
+ "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==",
+ "dev": true
+ },
+ "node_modules/@unhead/dom": {
+ "version": "1.8.10",
+ "resolved": "https://registry.npmjs.org/@unhead/dom/-/dom-1.8.10.tgz",
+ "integrity": "sha512-dBeDbHrBjeU+eVgMsD91TGEazb1dwLrY0x/ve01CldMCmm+WcRu++SUW7s1QX84mzGH2EgFz78o1OPn6jpV3zw==",
+ "dependencies": {
+ "@unhead/schema": "1.8.10",
+ "@unhead/shared": "1.8.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/@unhead/schema": {
+ "version": "1.8.10",
+ "resolved": "https://registry.npmjs.org/@unhead/schema/-/schema-1.8.10.tgz",
+ "integrity": "sha512-cy8RGOPkwOVY5EmRoCgGV8AqLjy/226xBVTY54kBct02Om3hBdpB9FZa9frM910pPUXMI8PNmFgABO23O7IdJA==",
+ "dependencies": {
+ "hookable": "^5.5.3",
+ "zhead": "^2.2.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/@unhead/shared": {
+ "version": "1.8.10",
+ "resolved": "https://registry.npmjs.org/@unhead/shared/-/shared-1.8.10.tgz",
+ "integrity": "sha512-pEFryAs3EmV+ShDQx2ZBwUnt5l3RrMrXSMZ50oFf+MImKZNARVvD4+3I8fEI9wZh+Zq0JYG3UAfzo51MUP+Juw==",
+ "dependencies": {
+ "@unhead/schema": "1.8.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/@unhead/ssr": {
+ "version": "1.8.10",
+ "resolved": "https://registry.npmjs.org/@unhead/ssr/-/ssr-1.8.10.tgz",
+ "integrity": "sha512-7wKRKDd8c2NFmMyPetj8Ah5u2hXunDBZT5Y2DH83O16PiMxx4/uobGamTV1EfcqjTvOKJvAqkrYZNYSWss99NQ==",
+ "dependencies": {
+ "@unhead/schema": "1.8.10",
+ "@unhead/shared": "1.8.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/@unhead/vue": {
+ "version": "1.8.10",
+ "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-1.8.10.tgz",
+ "integrity": "sha512-KF8pftHnxnlBlgNpKXWLTg3ZUtkuDCxRPUFSDBy9CtqRSX/qvAhLZ26mbqRVmHj8KigiRHP/wnPWNyGnUx20Bg==",
+ "dependencies": {
+ "@unhead/schema": "1.8.10",
+ "@unhead/shared": "1.8.10",
+ "hookable": "^5.5.3",
+ "unhead": "1.8.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ },
+ "peerDependencies": {
+ "vue": ">=2.7 || >=3"
+ }
+ },
+ "node_modules/@unocss/astro": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/astro/-/astro-0.50.8.tgz",
+ "integrity": "sha512-kphNlr0PWGzvkCgKx7RaZWQ45khieCCt9OffUnxbRRft+jodsVXIwzHn+bOhGtIKpEpZiOzxRzTYjfW/R6XnTw==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8",
+ "@unocss/reset": "0.50.8",
+ "@unocss/vite": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/cli": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/cli/-/cli-0.50.8.tgz",
+ "integrity": "sha512-LBLt8oxGQSfTubOreXs8L7cxHvuYt4wA1MZ45jf4GT/C4moS8cqL7QFX66+MN/cNwvojqXSXQ2HtRJ1IZojfgA==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@rollup/pluginutils": "^5.0.2",
+ "@unocss/config": "0.50.8",
+ "@unocss/core": "0.50.8",
+ "@unocss/preset-uno": "0.50.8",
+ "cac": "^6.7.14",
+ "chokidar": "^3.5.3",
+ "colorette": "^2.0.19",
+ "consola": "^2.15.3",
+ "fast-glob": "^3.2.12",
+ "magic-string": "^0.30.0",
+ "pathe": "^1.1.0",
+ "perfect-debounce": "^0.1.3"
+ },
+ "bin": {
+ "unocss": "bin/unocss.mjs"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/config": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/config/-/config-0.50.8.tgz",
+ "integrity": "sha512-+Hzl99klLiIq7Lcc5EirTSfBqUH+5NOCmEkXXWcYKYyAk3BLnBU9Fk76P7HxchDwQ5zdwpC4Cq++LQlqbAw/Uw==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8",
+ "unconfig": "^0.3.7"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/core": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/core/-/core-0.50.8.tgz",
+ "integrity": "sha512-rWmyeNE0Na8dJPDynLVar0X22qMHFNhO+/F2FZDpG4tubTavXJJo9uvhZr/D381kiWxt+XZ38y6EAD4UMdBqMA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/inspector": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/inspector/-/inspector-0.50.8.tgz",
+ "integrity": "sha512-M963+B9iYGDI7m8KONppJ9EvrDowKWnzzmMLGf+D+qEXmXdnSztMZxEnOdg/caYyHJMw+4jlftyYRZB0VXnAGA==",
+ "dev": true,
+ "dependencies": {
+ "gzip-size": "^6.0.0",
+ "sirv": "^2.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/postcss": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/postcss/-/postcss-0.50.8.tgz",
+ "integrity": "sha512-UbFD+25EkmBonZggKuQdunAU+1O6O83NcnMqSalhn4vhsr4yHeD4P+Omr+CnBcuOxkP4h2JYHzfzdpe4DZxKYg==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/config": "0.50.8",
+ "@unocss/core": "0.50.8",
+ "css-tree": "^2.3.1",
+ "fast-glob": "^3.2.12",
+ "magic-string": "^0.30.0",
+ "postcss": "^8.4.21"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "postcss": "^8.4.21"
+ }
+ },
+ "node_modules/@unocss/preset-attributify": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/preset-attributify/-/preset-attributify-0.50.8.tgz",
+ "integrity": "sha512-aSL+I8OSjnom4RpvUcxIRjYETFhW5n51TA56yB9+ex78z5/EhIzOSS5PytGxJWj4hKUY5W9cZ7sCuUs0eaQ6VA==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-icons": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/preset-icons/-/preset-icons-0.50.8.tgz",
+ "integrity": "sha512-tQ05aP7ZRRP39+egB16gFMK6fkEdS8ob4rJeqUG6vEXiiAFWVbotI/NbHQapqk3wRthmyI3d9rUtxClJ2micvw==",
+ "dev": true,
+ "dependencies": {
+ "@iconify/utils": "^2.1.5",
+ "@unocss/core": "0.50.8",
+ "ofetch": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-mini": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/preset-mini/-/preset-mini-0.50.8.tgz",
+ "integrity": "sha512-/4sbOdyaqJMvFkw1xzo2+h6bZJHw6WCYw1mF+f0ydHzj8ruvwaj9ClDDOweW5cdrk3wzDzRZ6NPRahKqLwv6/Q==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-tagify": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/preset-tagify/-/preset-tagify-0.50.8.tgz",
+ "integrity": "sha512-CNm9wEmDGEsCvBgWTBOPhH5ts5iobQh5mBeZyH2uCKuQNX+Vc21tXLX78bCk2V4yJ7mpqUWokDNqgTaNhTZjnw==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-typography": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/preset-typography/-/preset-typography-0.50.8.tgz",
+ "integrity": "sha512-jraHusTmbJq9UHgQ43ifzVJobTyoJLuGzeGqBzgLNac+V4BltzqHghup6obA09asQio7xe+crFkTV4IXWNK1lA==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8",
+ "@unocss/preset-mini": "0.50.8"
+ }
+ },
+ "node_modules/@unocss/preset-uno": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/preset-uno/-/preset-uno-0.50.8.tgz",
+ "integrity": "sha512-BVgGpv+G9dauX6oRuno8ATOx6bjykiTGuy9NWZCG+/0vux0wplylQm/nSWYsEZZoxRwGOaAoNx93TeOPoofrXQ==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8",
+ "@unocss/preset-mini": "0.50.8",
+ "@unocss/preset-wind": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-web-fonts": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/preset-web-fonts/-/preset-web-fonts-0.50.8.tgz",
+ "integrity": "sha512-diGJVTC3W2lovRL9hlV7h4mdzKjoyJD1rlLai2QMZP/+UCsEwDcL9JFF0lZTlEN5GtcbgvcyPRZKB1/ituvjdg==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8",
+ "ofetch": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/preset-wind": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/preset-wind/-/preset-wind-0.50.8.tgz",
+ "integrity": "sha512-lF6MAJm2HVF8GJoBIIus1cpZL1ybisj8fl3KYEzVUFUWCwmNnxG4rr+CGnck3bDRYk2zmEvTwX+cISTCwq2u1Q==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8",
+ "@unocss/preset-mini": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/reset": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/reset/-/reset-0.50.8.tgz",
+ "integrity": "sha512-2WoM6O9VyuHDPAnvCXr7LBJQ8ZRHDnuQAFsL1dWXp561Iq2l9whdNtPuMcozLGJGUUrFfVBXIrHY4sfxxScgWg==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/scope": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/scope/-/scope-0.50.8.tgz",
+ "integrity": "sha512-QA4G9JYK8jrnU02qi1WBi45S+V0HKNUY0u6h5drYqRkcUho2YrpcfMagYi1A5XGg5ykmtP9e6vx1D9lij+JGnQ==",
+ "dev": true
+ },
+ "node_modules/@unocss/transformer-attributify-jsx": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.50.8.tgz",
+ "integrity": "sha512-Ht2SfxWbkkFgZQE8KEicmOvxk2INQccuiH4gdyycj3y1tkOXU+Xm1QFruJT7+BPHr0QJp257nA0XmQD/Bhd1kA==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/transformer-attributify-jsx-babel": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/transformer-attributify-jsx-babel/-/transformer-attributify-jsx-babel-0.50.8.tgz",
+ "integrity": "sha512-Eyt0irFRspHpngj+mDbREuVoqJ49csIhcls6NqerqrZKAI4/jYGNLFy99jyM1ry2L3sHwLP7rbT7AoFrWuLnvA==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/transformer-compile-class": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/transformer-compile-class/-/transformer-compile-class-0.50.8.tgz",
+ "integrity": "sha512-2himb5VinZcx7d72nauoqLGk4niC0sFFK/09lmJxFj1jnZqqYBMS48V0PyUypabA5W+bHQ1TJwqcv95wMHIIzA==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/transformer-directives": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/transformer-directives/-/transformer-directives-0.50.8.tgz",
+ "integrity": "sha512-x/OdR5lK7Gy1Y4r6cOLG2LccWGWDyflz9cDv4DkZKg7pQShcjNFZ3UMAO+74fJO6Jvhvl9iDYpeTZo8009wr7A==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8",
+ "css-tree": "^2.3.1"
+ }
+ },
+ "node_modules/@unocss/transformer-variant-group": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/transformer-variant-group/-/transformer-variant-group-0.50.8.tgz",
+ "integrity": "sha512-UjDsa3K3Bv11u3q8BYZ4ZrdMhlu937hiQct6sXzFIQcSnOwqOokr/h6V/8aB3hFiPWX/yQuIIQnQJjYTVWZYxw==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/core": "0.50.8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@unocss/vite": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/@unocss/vite/-/vite-0.50.8.tgz",
+ "integrity": "sha512-pHk7D0jHAlBUKSp0y0dMuKesLSSv1O0fTNewUAz1NUpISTno3zizuKSpRs8OzCFInta6QeAVSaWe8K69PcfFog==",
+ "dev": true,
+ "dependencies": {
+ "@ampproject/remapping": "^2.2.0",
+ "@rollup/pluginutils": "^5.0.2",
+ "@unocss/config": "0.50.8",
+ "@unocss/core": "0.50.8",
+ "@unocss/inspector": "0.50.8",
+ "@unocss/scope": "0.50.8",
+ "@unocss/transformer-directives": "0.50.8",
+ "chokidar": "^3.5.3",
+ "fast-glob": "^3.2.12",
+ "magic-string": "^0.30.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0"
+ }
+ },
+ "node_modules/@vitejs/plugin-vue": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz",
+ "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==",
+ "dev": true,
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.0.0 || ^5.0.0",
+ "vue": "^3.2.25"
+ }
+ },
+ "node_modules/@vitejs/plugin-vue-jsx": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.1.0.tgz",
+ "integrity": "sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.23.3",
+ "@babel/plugin-transform-typescript": "^7.23.3",
+ "@vue/babel-plugin-jsx": "^1.1.5"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^4.0.0 || ^5.0.0",
+ "vue": "^3.0.0"
+ }
+ },
+ "node_modules/@volar/language-core": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz",
+ "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==",
+ "dev": true,
+ "dependencies": {
+ "@volar/source-map": "1.11.1"
+ }
+ },
+ "node_modules/@volar/source-map": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz",
+ "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==",
+ "dev": true,
+ "dependencies": {
+ "muggle-string": "^0.3.1"
+ }
+ },
+ "node_modules/@volar/typescript": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz",
+ "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==",
+ "dev": true,
+ "dependencies": {
+ "@volar/language-core": "1.11.1",
+ "path-browserify": "^1.0.1"
+ }
+ },
+ "node_modules/@vue/babel-helper-vue-transform-on": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.0.tgz",
+ "integrity": "sha512-Zn6iRYAVvWl835GCcNsLUroy+jwNjH1yd83hvKNSgbiCkzeZwXvEFCC1u0lVKwoqL7z0IcrtY3dkBMuMxwB1fw==",
+ "dev": true
+ },
+ "node_modules/@vue/babel-plugin-jsx": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.0.tgz",
+ "integrity": "sha512-z0t7fjk03TqncyWYoChKQ4rWx1LXJaw1kNEDrUU5tbPWI2zkCPv2imQJOYlJ8GyTDoQ6/nD82asFcSxDRJ8YgQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-jsx": "^7.23.3",
+ "@babel/template": "^7.22.15",
+ "@babel/traverse": "^7.23.7",
+ "@babel/types": "^7.23.6",
+ "@vue/babel-helper-vue-transform-on": "1.2.0",
+ "@vue/babel-plugin-resolve-type": "1.2.0-beta.0",
+ "camelcase": "^6.3.0",
+ "html-tags": "^3.3.1",
+ "svg-tags": "^1.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vue/babel-plugin-resolve-type": {
+ "version": "1.2.0-beta.0",
+ "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.0-beta.0.tgz",
+ "integrity": "sha512-zG5nXU+89UjXHVvvf0yehU0MDF1caJssCUF+bU5HWevEoR5qoRLt7wX6rNTtG/ZKHFUvB8BibIKL62Ix167Wxg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.22.10",
+ "@babel/helper-module-imports": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/parser": "^7.22.11",
+ "@vue/compiler-sfc": "^3.4.15"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@vue/compiler-core": {
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.15.tgz",
+ "integrity": "sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.23.6",
+ "@vue/shared": "3.4.15",
+ "entities": "^4.5.0",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "node_modules/@vue/compiler-dom": {
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.15.tgz",
+ "integrity": "sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==",
+ "dev": true,
+ "dependencies": {
+ "@vue/compiler-core": "3.4.15",
+ "@vue/shared": "3.4.15"
+ }
+ },
+ "node_modules/@vue/compiler-sfc": {
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.15.tgz",
+ "integrity": "sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.23.6",
+ "@vue/compiler-core": "3.4.15",
+ "@vue/compiler-dom": "3.4.15",
+ "@vue/compiler-ssr": "3.4.15",
+ "@vue/shared": "3.4.15",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.5",
+ "postcss": "^8.4.33",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "node_modules/@vue/compiler-ssr": {
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.15.tgz",
+ "integrity": "sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==",
+ "dev": true,
+ "dependencies": {
+ "@vue/compiler-dom": "3.4.15",
+ "@vue/shared": "3.4.15"
+ }
+ },
+ "node_modules/@vue/devtools-api": {
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz",
+ "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA=="
+ },
+ "node_modules/@vue/eslint-config-prettier": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-7.1.0.tgz",
+ "integrity": "sha512-Pv/lVr0bAzSIHLd9iz0KnvAr4GKyCEl+h52bc4e5yWuDVtLgFwycF7nrbWTAQAS+FU6q1geVd07lc6EWfJiWKQ==",
+ "dev": true,
+ "dependencies": {
+ "eslint-config-prettier": "^8.3.0",
+ "eslint-plugin-prettier": "^4.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">= 7.28.0",
+ "prettier": ">= 2.0.0"
+ }
+ },
+ "node_modules/@vue/eslint-config-typescript": {
+ "version": "11.0.3",
+ "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-11.0.3.tgz",
+ "integrity": "sha512-dkt6W0PX6H/4Xuxg/BlFj5xHvksjpSlVjtkQCpaYJBIEuKj2hOVU7r+TIe+ysCwRYFz/lGqvklntRkCAibsbPw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/eslint-plugin": "^5.59.1",
+ "@typescript-eslint/parser": "^5.59.1",
+ "vue-eslint-parser": "^9.1.1"
+ },
+ "engines": {
+ "node": "^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0",
+ "eslint-plugin-vue": "^9.0.0",
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vue/language-core": {
+ "version": "1.8.27",
+ "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz",
+ "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==",
+ "dev": true,
+ "dependencies": {
+ "@volar/language-core": "~1.11.1",
+ "@volar/source-map": "~1.11.1",
+ "@vue/compiler-dom": "^3.3.0",
+ "@vue/shared": "^3.3.0",
+ "computeds": "^0.0.1",
+ "minimatch": "^9.0.3",
+ "muggle-string": "^0.3.1",
+ "path-browserify": "^1.0.1",
+ "vue-template-compiler": "^2.7.14"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vue/language-core/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/@vue/language-core/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@vue/reactivity": {
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.15.tgz",
+ "integrity": "sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "@vue/shared": "3.4.15"
+ }
+ },
+ "node_modules/@vue/reactivity-transform": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.13.tgz",
+ "integrity": "sha512-oWnydGH0bBauhXvh5KXUy61xr9gKaMbtsMHk40IK9M4gMuKPJ342tKFarY0eQ6jef8906m35q37wwA8DMZOm5Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.23.5",
+ "@vue/compiler-core": "3.3.13",
+ "@vue/shared": "3.3.13",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.5"
+ }
+ },
+ "node_modules/@vue/reactivity-transform/node_modules/@vue/compiler-core": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.13.tgz",
+ "integrity": "sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.23.5",
+ "@vue/shared": "3.3.13",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "node_modules/@vue/reactivity-transform/node_modules/@vue/shared": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.13.tgz",
+ "integrity": "sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/runtime-core": {
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.15.tgz",
+ "integrity": "sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==",
+ "optional": true,
+ "peer": true,
+ "dependencies": {
+ "@vue/reactivity": "3.4.15",
+ "@vue/shared": "3.4.15"
+ }
+ },
+ "node_modules/@vue/runtime-dom": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.13.tgz",
+ "integrity": "sha512-JJkpE8R/hJKXqVTgUoODwS5wqKtOsmJPEqmp90PDVGygtJ4C0PtOkcEYXwhiVEmef6xeXcIlrT3Yo5aQ4qkHhQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/runtime-core": "3.3.13",
+ "@vue/shared": "3.3.13",
+ "csstype": "^3.1.3"
+ }
+ },
+ "node_modules/@vue/runtime-dom/node_modules/@vue/reactivity": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.13.tgz",
+ "integrity": "sha512-fjzCxceMahHhi4AxUBzQqqVhuA21RJ0COaWTbIBl1PruGW1CeY97louZzLi4smpYx+CHfFPPU/CS8NybbGvPKQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/shared": "3.3.13"
+ }
+ },
+ "node_modules/@vue/runtime-dom/node_modules/@vue/runtime-core": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.13.tgz",
+ "integrity": "sha512-1TzA5TvGuh2zUwMJgdfvrBABWZ7y8kBwBhm7BXk8rvdx2SsgcGfz2ruv2GzuGZNvL1aKnK8CQMV/jFOrxNQUMA==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/reactivity": "3.3.13",
+ "@vue/shared": "3.3.13"
+ }
+ },
+ "node_modules/@vue/runtime-dom/node_modules/@vue/shared": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.13.tgz",
+ "integrity": "sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/server-renderer": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.13.tgz",
+ "integrity": "sha512-vSnN+nuf6iSqTL3Qgx/9A+BT+0Zf/VJOgF5uMZrKjYPs38GMYyAU1coDyBNHauehXDaP+zl73VhwWv0vBRBHcg==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-ssr": "3.3.13",
+ "@vue/shared": "3.3.13"
+ },
+ "peerDependencies": {
+ "vue": "3.3.13"
+ }
+ },
+ "node_modules/@vue/server-renderer/node_modules/@vue/compiler-core": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.13.tgz",
+ "integrity": "sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.23.5",
+ "@vue/shared": "3.3.13",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "node_modules/@vue/server-renderer/node_modules/@vue/compiler-dom": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.13.tgz",
+ "integrity": "sha512-EYRDpbLadGtNL0Gph+HoKiYqXLqZ0xSSpR5Dvnu/Ep7ggaCbjRDIus1MMxTS2Qm0koXED4xSlvTZaTnI8cYAsw==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-core": "3.3.13",
+ "@vue/shared": "3.3.13"
+ }
+ },
+ "node_modules/@vue/server-renderer/node_modules/@vue/compiler-ssr": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.13.tgz",
+ "integrity": "sha512-d/P3bCeUGmkJNS1QUZSAvoCIW4fkOKK3l2deE7zrp0ypJEy+En2AcypIkqvcFQOcw3F0zt2VfMvNsA9JmExTaw==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.3.13",
+ "@vue/shared": "3.3.13"
+ }
+ },
+ "node_modules/@vue/server-renderer/node_modules/@vue/shared": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.13.tgz",
+ "integrity": "sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==",
+ "license": "MIT"
+ },
+ "node_modules/@vue/shared": {
+ "version": "3.4.15",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.15.tgz",
+ "integrity": "sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==",
+ "devOptional": true
+ },
+ "node_modules/@vue/tsconfig": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.1.3.tgz",
+ "integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==",
+ "dev": true,
+ "peerDependencies": {
+ "@types/node": "*"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/core": {
+ "version": "10.7.2",
+ "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.7.2.tgz",
+ "integrity": "sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==",
+ "dependencies": {
+ "@types/web-bluetooth": "^0.0.20",
+ "@vueuse/metadata": "10.7.2",
+ "@vueuse/shared": "10.7.2",
+ "vue-demi": ">=0.14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/core/node_modules/vue-demi": {
+ "version": "0.14.6",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
+ "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@vueuse/head": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/@vueuse/head/-/head-1.3.1.tgz",
+ "integrity": "sha512-XCcHGfDzkGlHS7KIPJVYN//L7jpfASLsN7MUE19ndHVQLnPIDxqFLDl7IROsY81PKzawVAUe4OYVWcGixseWxA==",
+ "dependencies": {
+ "@unhead/dom": "^1.3.1",
+ "@unhead/schema": "^1.3.1",
+ "@unhead/ssr": "^1.3.1",
+ "@unhead/vue": "^1.3.1"
+ },
+ "peerDependencies": {
+ "vue": ">=2.7 || >=3"
+ }
+ },
+ "node_modules/@vueuse/metadata": {
+ "version": "10.7.2",
+ "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.7.2.tgz",
+ "integrity": "sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==",
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared": {
+ "version": "10.7.2",
+ "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.7.2.tgz",
+ "integrity": "sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==",
+ "dependencies": {
+ "vue-demi": ">=0.14.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/@vueuse/shared/node_modules/vue-demi": {
+ "version": "0.14.6",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
+ "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@webassemblyjs/ast": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
+ "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
+ "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-api-error": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
+ "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-buffer": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
+ "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-numbers": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/floating-point-hex-parser": "1.11.6",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/helper-wasm-bytecode": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/helper-wasm-section": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
+ "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.12.1"
+ }
+ },
+ "node_modules/@webassemblyjs/ieee754": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@xtuc/ieee754": "^1.2.0"
+ }
+ },
+ "node_modules/@webassemblyjs/leb128": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@webassemblyjs/utf8": {
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/@webassemblyjs/wasm-edit": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
+ "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-opt": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1",
+ "@webassemblyjs/wast-printer": "1.12.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-gen": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
+ "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-opt": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
+ "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-buffer": "1.12.1",
+ "@webassemblyjs/wasm-gen": "1.12.1",
+ "@webassemblyjs/wasm-parser": "1.12.1"
+ }
+ },
+ "node_modules/@webassemblyjs/wasm-parser": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
+ "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@webassemblyjs/helper-api-error": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/ieee754": "1.11.6",
+ "@webassemblyjs/leb128": "1.11.6",
+ "@webassemblyjs/utf8": "1.11.6"
+ }
+ },
+ "node_modules/@webassemblyjs/wast-printer": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
+ "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@webassemblyjs/ast": "1.12.1",
+ "@xtuc/long": "4.2.2"
+ }
+ },
+ "node_modules/@xtuc/ieee754": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+ "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/@xtuc/long": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
+ "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/@yr/monotone-cubic-spline": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/@yr/monotone-cubic-spline/-/monotone-cubic-spline-1.0.3.tgz",
+ "integrity": "sha512-FQXkOta0XBSUPHndIKON2Y9JeQz5ZeMqLYZVVK93FliNBFm7LNMIZmY6FrMEB9XPcDbE2bekMbZD6kzDkxwYjA=="
+ },
+ "node_modules/acorn": {
+ "version": "8.11.3",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
+ "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-import-assertions": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
+ "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
+ "dev": true,
+ "peer": true,
+ "peerDependencies": {
+ "acorn": "^8"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ajv-keywords": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
+ "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
+ "dev": true,
+ "peer": true,
+ "peerDependencies": {
+ "ajv": "^6.9.1"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ant-design-vue": {
+ "version": "3.2.20",
+ "resolved": "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-3.2.20.tgz",
+ "integrity": "sha512-YWpMfGaGoRastIXEYfCoJiaRiDHk4chqtYhlKQM5GqPt6NfvrM1Vg2e60yHtjxlZjed91wCMm0rAmyUr7Hwzdg==",
+ "dependencies": {
+ "@ant-design/colors": "^6.0.0",
+ "@ant-design/icons-vue": "^6.1.0",
+ "@babel/runtime": "^7.10.5",
+ "@ctrl/tinycolor": "^3.4.0",
+ "@simonwep/pickr": "~1.8.0",
+ "array-tree-filter": "^2.1.0",
+ "async-validator": "^4.0.0",
+ "dayjs": "^1.10.5",
+ "dom-align": "^1.12.1",
+ "dom-scroll-into-view": "^2.0.0",
+ "lodash": "^4.17.21",
+ "lodash-es": "^4.17.15",
+ "resize-observer-polyfill": "^1.5.1",
+ "scroll-into-view-if-needed": "^2.2.25",
+ "shallow-equal": "^1.0.0",
+ "vue-types": "^3.0.0",
+ "warning": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=12.22.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/ant-design-vue"
+ },
+ "peerDependencies": {
+ "vue": ">=3.2.0"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/apexcharts": {
+ "version": "3.45.1",
+ "resolved": "https://registry.npmjs.org/apexcharts/-/apexcharts-3.45.1.tgz",
+ "integrity": "sha512-pPjj/SA6dfPvR/IKRZF0STdfBGpBh3WRt7K0DFuW9P8erypYkX17EHu3/molPRfo2zSiQwTVpshHC5ncysqfkA==",
+ "dependencies": {
+ "@yr/monotone-cubic-spline": "^1.0.3",
+ "svg.draggable.js": "^2.2.2",
+ "svg.easing.js": "^2.0.0",
+ "svg.filter.js": "^2.0.2",
+ "svg.pathmorphing.js": "^0.1.3",
+ "svg.resize.js": "^1.4.3",
+ "svg.select.js": "^3.0.1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/array-buffer-byte-length": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
+ "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "is-array-buffer": "^3.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/array-tree-filter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
+ "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/arraybuffer.prototype.slice": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
+ "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "is-array-buffer": "^3.0.2",
+ "is-shared-array-buffer": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/async": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz",
+ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==",
+ "dev": true
+ },
+ "node_modules/async-validator": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-4.2.5.tgz",
+ "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg=="
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
+ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/axios": {
+ "version": "1.6.5",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz",
+ "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==",
+ "dependencies": {
+ "follow-redirects": "^1.15.4",
+ "form-data": "^4.0.0",
+ "proxy-from-env": "^1.1.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs2": {
+ "version": "0.4.8",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz",
+ "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/compat-data": "^7.22.6",
+ "@babel/helper-define-polyfill-provider": "^0.5.0",
+ "semver": "^6.3.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs3": {
+ "version": "0.8.7",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz",
+ "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.4.4",
+ "core-js-compat": "^3.33.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-corejs3/node_modules/@babel/helper-define-polyfill-provider": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz",
+ "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-compilation-targets": "^7.22.6",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "debug": "^4.1.1",
+ "lodash.debounce": "^4.0.8",
+ "resolve": "^1.14.2"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/babel-plugin-polyfill-regenerator": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz",
+ "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-define-polyfill-provider": "^0.5.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+ "dev": true
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.22.2",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
+ "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001565",
+ "electron-to-chromium": "^1.4.601",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
+ },
+ "node_modules/builtin-modules": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz",
+ "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cac": {
+ "version": "6.7.14",
+ "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
+ "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
+ "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.1",
+ "set-function-length": "^1.1.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001579",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz",
+ "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
+ },
+ "node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/chrome-trace-event": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
+ "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
+ },
+ "node_modules/colorette": {
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+ "dev": true
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "node_modules/common-tags": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz",
+ "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/compute-scroll-into-view": {
+ "version": "1.0.20",
+ "resolved": "https://registry.npmjs.org/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz",
+ "integrity": "sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg=="
+ },
+ "node_modules/computeds": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz",
+ "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==",
+ "dev": true
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/consola": {
+ "version": "2.15.3",
+ "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
+ "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
+ "dev": true
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
+ "node_modules/copy-anything": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz",
+ "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
+ "dev": true,
+ "dependencies": {
+ "is-what": "^3.14.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mesqueeb"
+ }
+ },
+ "node_modules/core-js": {
+ "version": "3.35.1",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.1.tgz",
+ "integrity": "sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==",
+ "hasInstallScript": true,
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/core-js-compat": {
+ "version": "3.35.1",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.1.tgz",
+ "integrity": "sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==",
+ "dev": true,
+ "dependencies": {
+ "browserslist": "^4.22.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/core-js"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/crypto-js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz",
+ "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q=="
+ },
+ "node_modules/crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/css-tree": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz",
+ "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==",
+ "dev": true,
+ "dependencies": {
+ "mdn-data": "2.0.30",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
+ }
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "dev": true,
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/csstype": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
+ "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
+ "license": "MIT"
+ },
+ "node_modules/dayjalali": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dayjalali/-/dayjalali-1.0.1.tgz",
+ "integrity": "sha512-f+uDwP9kQSjlDdGTJjMpWaHe9BaIkQjZRkk32SNj6pRNkJRc2bTmIW5AbEwVX3vwa5INDwi6K7+Cik67/PzWqA==",
+ "license": "MIT",
+ "dependencies": {
+ "jalaali-js": "^1.2.8"
+ }
+ },
+ "node_modules/dayjs": {
+ "version": "1.11.10",
+ "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz",
+ "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ=="
+ },
+ "node_modules/de-indent": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
+ "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
+ "dev": true
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
+ "dev": true
+ },
+ "node_modules/deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/define-data-property": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
+ "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.1",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+ "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/defu": {
+ "version": "6.1.4",
+ "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
+ "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
+ "dev": true
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/destr": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.2.tgz",
+ "integrity": "sha512-65AlobnZMiCET00KaFFjUefxDX0khFA/E4myqZ7a6Sq1yZtR8+FVIvilVX66vF2uobSumxooYZChiRPCKNqhmg==",
+ "dev": true
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dom-align": {
+ "version": "1.12.4",
+ "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz",
+ "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw=="
+ },
+ "node_modules/dom-scroll-into-view": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz",
+ "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w=="
+ },
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true
+ },
+ "node_modules/echarts": {
+ "version": "5.4.3",
+ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz",
+ "integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==",
+ "dependencies": {
+ "tslib": "2.3.0",
+ "zrender": "5.4.4"
+ }
+ },
+ "node_modules/ejs": {
+ "version": "3.1.9",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
+ "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+ "dev": true,
+ "dependencies": {
+ "jake": "^10.8.5"
+ },
+ "bin": {
+ "ejs": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.640",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz",
+ "integrity": "sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA==",
+ "dev": true
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+ "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/entities": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/errno": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+ "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "prr": "~1.0.1"
+ },
+ "bin": {
+ "errno": "cli.js"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.22.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz",
+ "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==",
+ "dev": true,
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.0",
+ "arraybuffer.prototype.slice": "^1.0.2",
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.5",
+ "es-set-tostringtag": "^2.0.1",
+ "es-to-primitive": "^1.2.1",
+ "function.prototype.name": "^1.1.6",
+ "get-intrinsic": "^1.2.2",
+ "get-symbol-description": "^1.0.0",
+ "globalthis": "^1.0.3",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.0",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0",
+ "internal-slot": "^1.0.5",
+ "is-array-buffer": "^3.0.2",
+ "is-callable": "^1.2.7",
+ "is-negative-zero": "^2.0.2",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.2",
+ "is-string": "^1.0.7",
+ "is-typed-array": "^1.1.12",
+ "is-weakref": "^1.0.2",
+ "object-inspect": "^1.13.1",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.4",
+ "regexp.prototype.flags": "^1.5.1",
+ "safe-array-concat": "^1.0.1",
+ "safe-regex-test": "^1.0.0",
+ "string.prototype.trim": "^1.2.8",
+ "string.prototype.trimend": "^1.0.7",
+ "string.prototype.trimstart": "^1.0.7",
+ "typed-array-buffer": "^1.0.0",
+ "typed-array-byte-length": "^1.0.0",
+ "typed-array-byte-offset": "^1.0.0",
+ "typed-array-length": "^1.0.4",
+ "unbox-primitive": "^1.0.2",
+ "which-typed-array": "^1.1.13"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-module-lexer": {
+ "version": "1.5.3",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz",
+ "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/es-set-tostringtag": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz",
+ "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.2",
+ "has-tostringtag": "^1.0.0",
+ "hasown": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.18.20",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
+ "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "optionalDependencies": {
+ "@esbuild/android-arm": "0.18.20",
+ "@esbuild/android-arm64": "0.18.20",
+ "@esbuild/android-x64": "0.18.20",
+ "@esbuild/darwin-arm64": "0.18.20",
+ "@esbuild/darwin-x64": "0.18.20",
+ "@esbuild/freebsd-arm64": "0.18.20",
+ "@esbuild/freebsd-x64": "0.18.20",
+ "@esbuild/linux-arm": "0.18.20",
+ "@esbuild/linux-arm64": "0.18.20",
+ "@esbuild/linux-ia32": "0.18.20",
+ "@esbuild/linux-loong64": "0.18.20",
+ "@esbuild/linux-mips64el": "0.18.20",
+ "@esbuild/linux-ppc64": "0.18.20",
+ "@esbuild/linux-riscv64": "0.18.20",
+ "@esbuild/linux-s390x": "0.18.20",
+ "@esbuild/linux-x64": "0.18.20",
+ "@esbuild/netbsd-x64": "0.18.20",
+ "@esbuild/openbsd-x64": "0.18.20",
+ "@esbuild/sunos-x64": "0.18.20",
+ "@esbuild/win32-arm64": "0.18.20",
+ "@esbuild/win32-ia32": "0.18.20",
+ "@esbuild/win32-x64": "0.18.20"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.56.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
+ "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@eslint-community/regexpp": "^4.6.1",
+ "@eslint/eslintrc": "^2.1.4",
+ "@eslint/js": "8.56.0",
+ "@humanwhocodes/config-array": "^0.11.13",
+ "@humanwhocodes/module-importer": "^1.0.1",
+ "@nodelib/fs.walk": "^1.2.8",
+ "@ungap/structured-clone": "^1.2.0",
+ "ajv": "^6.12.4",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.2.2",
+ "eslint-visitor-keys": "^3.4.3",
+ "espree": "^9.6.1",
+ "esquery": "^1.4.2",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "find-up": "^5.0.0",
+ "glob-parent": "^6.0.2",
+ "globals": "^13.19.0",
+ "graphemer": "^1.4.0",
+ "ignore": "^5.2.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "is-path-inside": "^3.0.3",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.1.2",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.3",
+ "strip-ansi": "^6.0.1",
+ "text-table": "^0.2.0"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-prettier": {
+ "version": "8.10.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz",
+ "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==",
+ "dev": true,
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-prettier": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz",
+ "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==",
+ "dev": true,
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.28.0",
+ "prettier": ">=2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-vue": {
+ "version": "9.20.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.20.1.tgz",
+ "integrity": "sha512-GyCs8K3lkEvoyC1VV97GJhP1SvqsKCiWGHnbn0gVUYiUhaH2+nB+Dv1uekv1THFMPbBfYxukrzQdltw950k+LQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.4.0",
+ "natural-compare": "^1.4.0",
+ "nth-check": "^2.1.1",
+ "postcss-selector-parser": "^6.0.13",
+ "semver": "^7.5.4",
+ "vue-eslint-parser": "^9.4.0",
+ "xml-name-validator": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-vue/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-plugin-vue/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-plugin-vue/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/eslint/node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint/node_modules/globals": {
+ "version": "13.24.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz",
+ "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.6.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz",
+ "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.9.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.4.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
+ "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esquery/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "node_modules/fast-diff": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
+ "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
+ "dev": true
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+ "dev": true
+ },
+ "node_modules/fastq": {
+ "version": "1.16.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
+ "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/filelist": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+ "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
+ "dev": true,
+ "dependencies": {
+ "minimatch": "^5.0.1"
+ }
+ },
+ "node_modules/filelist/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/filelist/node_modules/minimatch": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+ "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+ "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.2.9",
+ "keyv": "^4.5.3",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.2.9",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
+ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+ "dev": true
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.15.5",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz",
+ "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/for-each": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.1.3"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
+ "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "dependencies": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/function.prototype.name": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz",
+ "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "functions-have-names": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functions-have-names": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
+ "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2",
+ "has-proto": "^1.0.1",
+ "has-symbols": "^1.0.3",
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-own-enumerable-property-symbols": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz",
+ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==",
+ "dev": true
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/get-symbol-description": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
+ "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "deprecated": "Glob versions prior to v9 are no longer supported",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/glob-to-regexp": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+ "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/globalthis": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz",
+ "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true
+ },
+ "node_modules/graphemer": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
+ "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
+ "dev": true
+ },
+ "node_modules/gzip-size": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz",
+ "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==",
+ "dev": true,
+ "dependencies": {
+ "duplexer": "^0.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz",
+ "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-property-descriptors": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
+ "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-tostringtag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
+ "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+ "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/he": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+ "dev": true,
+ "bin": {
+ "he": "bin/he"
+ }
+ },
+ "node_modules/hookable": {
+ "version": "5.5.3",
+ "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
+ "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ=="
+ },
+ "node_modules/hosted-git-info": {
+ "version": "2.8.9",
+ "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz",
+ "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
+ "dev": true
+ },
+ "node_modules/html-tags": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
+ "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.6.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/idb": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz",
+ "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==",
+ "dev": true
+ },
+ "node_modules/ignore": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+ "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/image-size": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+ "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+ "dev": true,
+ "optional": true,
+ "bin": {
+ "image-size": "bin/image-size.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/internal-slot": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz",
+ "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==",
+ "dev": true,
+ "dependencies": {
+ "get-intrinsic": "^1.2.2",
+ "hasown": "^2.0.0",
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-array-buffer": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
+ "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.0",
+ "is-typed-array": "^1.1.10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "dev": true
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+ "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+ "dev": true,
+ "dependencies": {
+ "has-bigints": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+ "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "dev": true,
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz",
+ "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
+ "dev": true
+ },
+ "node_modules/is-negative-zero": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+ "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz",
+ "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-obj": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
+ "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
+ "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz",
+ "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
+ "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-regexp": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz",
+ "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-shared-array-buffer": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+ "dev": true,
+ "dependencies": {
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
+ "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "dev": true,
+ "dependencies": {
+ "which-typed-array": "^1.1.11"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakref": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+ "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-what": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
+ "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
+ "dev": true
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/jake": {
+ "version": "10.8.7",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz",
+ "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==",
+ "dev": true,
+ "dependencies": {
+ "async": "^3.2.3",
+ "chalk": "^4.0.2",
+ "filelist": "^1.0.4",
+ "minimatch": "^3.1.2"
+ },
+ "bin": {
+ "jake": "bin/cli.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/jake/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/jake/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/jake/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/jake/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/jake/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jake/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jalaali-js": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/jalaali-js/-/jalaali-js-1.2.8.tgz",
+ "integrity": "sha512-Jl/EwY84JwjW2wsWqeU4pNd22VNQ7EkjI36bDuLw31wH98WQW4fPjD0+mG7cdCK+Y8D6s9R3zLiQ3LaKu6bD8A==",
+ "license": "MIT"
+ },
+ "node_modules/jalaliday": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/jalaliday/-/jalaliday-2.3.0.tgz",
+ "integrity": "sha512-B/m3TqsRrTFED/HBDqON6rPKe0MpoLxNICZ5uZeZ/scHJUHKQNr1n+wdZSj8MxrY1Bmo05gllZeNEw4beXd2oQ=="
+ },
+ "node_modules/jest-worker": {
+ "version": "27.5.1",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+ "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/jest-worker/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/jiti": {
+ "version": "1.21.0",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz",
+ "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==",
+ "dev": true,
+ "bin": {
+ "jiti": "bin/jiti.js"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+ "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+ "dev": true
+ },
+ "node_modules/json-parse-better-errors": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
+ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+ "dev": true
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "dev": true
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/jsonc-parser": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz",
+ "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==",
+ "dev": true
+ },
+ "node_modules/jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "dependencies": {
+ "universalify": "^2.0.0"
+ },
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/jsonpointer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz",
+ "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "4.5.4",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+ "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+ "dev": true,
+ "dependencies": {
+ "json-buffer": "3.0.1"
+ }
+ },
+ "node_modules/kolorist": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz",
+ "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==",
+ "dev": true
+ },
+ "node_modules/less": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz",
+ "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==",
+ "dev": true,
+ "dependencies": {
+ "copy-anything": "^2.0.1",
+ "parse-node-version": "^1.0.1",
+ "tslib": "^2.3.0"
+ },
+ "bin": {
+ "lessc": "bin/lessc"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "optionalDependencies": {
+ "errno": "^0.1.1",
+ "graceful-fs": "^4.1.2",
+ "image-size": "~0.5.0",
+ "make-dir": "^2.1.0",
+ "mime": "^1.4.1",
+ "needle": "^3.1.0",
+ "source-map": "~0.6.0"
+ }
+ },
+ "node_modules/less-loader": {
+ "version": "11.1.4",
+ "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.4.tgz",
+ "integrity": "sha512-6/GrYaB6QcW6Vj+/9ZPgKKs6G10YZai/l/eJ4SLwbzqNTBsAqt5hSLVF47TgsiBxV1P6eAU0GYRH3YRuQU9V3A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 14.15.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "less": "^3.5.0 || ^4.0.0",
+ "webpack": "^5.0.0"
+ }
+ },
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/load-json-file": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
+ "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "parse-json": "^4.0.0",
+ "pify": "^3.0.0",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/load-json-file/node_modules/pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/loader-runner": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
+ "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=6.11.5"
+ }
+ },
+ "node_modules/local-pkg": {
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz",
+ "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==",
+ "dev": true,
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
+ "node_modules/lodash.debounce": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
+ "dev": true
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "node_modules/lodash.sortby": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+ "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==",
+ "dev": true
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.30.5",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz",
+ "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.4.15"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+ "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "pify": "^4.0.1",
+ "semver": "^5.6.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/make-dir/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/mdn-data": {
+ "version": "2.0.30",
+ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz",
+ "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==",
+ "dev": true
+ },
+ "node_modules/memorystream": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
+ "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+ "dev": true,
+ "optional": true,
+ "bin": {
+ "mime": "cli.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mlly": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.5.0.tgz",
+ "integrity": "sha512-NPVQvAY1xr1QoVeG0cy8yUYC7FQcOx6evl/RjT1wL5FvzPnzOysoqB/jmx/DhssT2dYa8nxECLAaFI/+gVLhDQ==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.11.3",
+ "pathe": "^1.1.2",
+ "pkg-types": "^1.0.3",
+ "ufo": "^1.3.2"
+ }
+ },
+ "node_modules/moment": {
+ "version": "2.30.1",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz",
+ "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/moment-jalaali": {
+ "version": "0.10.0",
+ "resolved": "https://registry.npmjs.org/moment-jalaali/-/moment-jalaali-0.10.0.tgz",
+ "integrity": "sha512-XICH1+UHd3zyaE1bXWQBlhoXBqbzEyFfT0TrifNobHxLALRuTSwXn376bX8FmkYg9mZimevwwdd6EB57s5wuFA==",
+ "dependencies": {
+ "jalaali-js": "^1.1.0",
+ "moment": "^2.22.2",
+ "moment-timezone": "^0.5.21",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "node_modules/moment-timezone": {
+ "version": "0.5.44",
+ "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.44.tgz",
+ "integrity": "sha512-nv3YpzI/8lkQn0U6RkLd+f0W/zy/JnoR5/EyPz/dNkPTBjA2jNLCVxaiQ8QpeLymhSZvX0wCL5s27NQWdOPwAw==",
+ "dependencies": {
+ "moment": "^2.29.4"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mrmime": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
+ "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/muggle-string": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz",
+ "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==",
+ "dev": true
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.7",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+ "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/nanopop": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.4.1.tgz",
+ "integrity": "sha512-hhtYHTaQPmclHHCWmh2EJpWQ9FCA47kj2r/vXqI0ACeMi/qR9qFYDQRSx+luami7qw1OkBR4luJqS6ADoC3FPQ=="
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "node_modules/natural-compare-lite": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz",
+ "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==",
+ "dev": true
+ },
+ "node_modules/needle": {
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz",
+ "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==",
+ "dev": true,
+ "optional": true,
+ "dependencies": {
+ "iconv-lite": "^0.6.3",
+ "sax": "^1.2.4"
+ },
+ "bin": {
+ "needle": "bin/needle"
+ },
+ "engines": {
+ "node": ">= 4.4.x"
+ }
+ },
+ "node_modules/neo-async": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
+ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
+ "dev": true,
+ "peer": true
+ },
+ "node_modules/nice-try": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+ "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+ "dev": true
+ },
+ "node_modules/node-fetch-native": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.1.tgz",
+ "integrity": "sha512-bW9T/uJDPAJB2YNYEpWzE54U5O3MQidXsOyTfnbKYtTtFexRvGzb1waphBN4ZwP6EcIvYYEOwW0b72BpAqydTw==",
+ "dev": true
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+ "dev": true
+ },
+ "node_modules/normalize-package-data": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
+ "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+ "dev": true,
+ "dependencies": {
+ "hosted-git-info": "^2.1.4",
+ "resolve": "^1.10.0",
+ "semver": "2 || 3 || 4 || 5",
+ "validate-npm-package-license": "^3.0.1"
+ }
+ },
+ "node_modules/normalize-package-data/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-run-all": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz",
+ "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "chalk": "^2.4.1",
+ "cross-spawn": "^6.0.5",
+ "memorystream": "^0.3.1",
+ "minimatch": "^3.0.4",
+ "pidtree": "^0.3.0",
+ "read-pkg": "^3.0.0",
+ "shell-quote": "^1.6.1",
+ "string.prototype.padend": "^3.0.0"
+ },
+ "bin": {
+ "npm-run-all": "bin/npm-run-all/index.js",
+ "run-p": "bin/run-p/index.js",
+ "run-s": "bin/run-s/index.js"
+ },
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/cross-spawn": {
+ "version": "6.0.5",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+ "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "dev": true,
+ "dependencies": {
+ "nice-try": "^1.0.4",
+ "path-key": "^2.0.1",
+ "semver": "^5.5.0",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ },
+ "engines": {
+ "node": ">=4.8"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/path-key": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+ "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/semver": {
+ "version": "5.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+ "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/shebang-command": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+ "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/shebang-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+ "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-run-all/node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nth-check": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+ "dev": true,
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.13.1",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz",
+ "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+ "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/ofetch": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.3.3.tgz",
+ "integrity": "sha512-s1ZCMmQWXy4b5K/TW9i/DtiN8Ku+xCiHcjQ6/J/nDdssirrQNOoB165Zu8EqLMA2lln1JUth9a0aW9Ap2ctrUg==",
+ "dev": true,
+ "dependencies": {
+ "destr": "^2.0.1",
+ "node-fetch-native": "^1.4.0",
+ "ufo": "^1.3.0"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz",
+ "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==",
+ "dev": true,
+ "dependencies": {
+ "@aashutoshrathi/word-wrap": "^1.2.3",
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
+ "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==",
+ "dev": true,
+ "dependencies": {
+ "error-ex": "^1.3.1",
+ "json-parse-better-errors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/parse-node-version": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
+ "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.10"
+ }
+ },
+ "node_modules/path-browserify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+ "dev": true
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pathe": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
+ "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
+ "dev": true
+ },
+ "node_modules/perfect-debounce": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-0.1.3.tgz",
+ "integrity": "sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==",
+ "dev": true
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pidtree": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz",
+ "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==",
+ "dev": true,
+ "bin": {
+ "pidtree": "bin/pidtree.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/pify": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+ "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+ "dev": true,
+ "optional": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pinia": {
+ "version": "2.1.7",
+ "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.7.tgz",
+ "integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==",
+ "dependencies": {
+ "@vue/devtools-api": "^6.5.0",
+ "vue-demi": ">=0.14.5"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.4.0",
+ "typescript": ">=4.4.4",
+ "vue": "^2.6.14 || ^3.3.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ },
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/pinia/node_modules/vue-demi": {
+ "version": "0.14.6",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz",
+ "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/pkg-types": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz",
+ "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==",
+ "dev": true,
+ "dependencies": {
+ "jsonc-parser": "^3.2.0",
+ "mlly": "^1.2.0",
+ "pathe": "^1.1.0"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.33",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
+ "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.7",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.0.15",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz",
+ "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==",
+ "dev": true,
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "url": "https://github.com/prettier/prettier?sponsor=1"
+ }
+ },
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dev": true,
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/pretty-bytes": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz",
+ "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==",
+ "dev": true,
+ "engines": {
+ "node": "^14.13.1 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/prr": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+ "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/punycode": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/read-pkg": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
+ "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==",
+ "dev": true,
+ "dependencies": {
+ "load-json-file": "^4.0.0",
+ "normalize-package-data": "^2.3.2",
+ "path-type": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/path-type": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
+ "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+ "dev": true,
+ "dependencies": {
+ "pify": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/read-pkg/node_modules/pify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
+ "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dev": true,
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/regenerate": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
+ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
+ "dev": true
+ },
+ "node_modules/regenerate-unicode-properties": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
+ "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
+ "dev": true,
+ "dependencies": {
+ "regenerate": "^1.4.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.14.1",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
+ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
+ },
+ "node_modules/regenerator-transform": {
+ "version": "0.15.2",
+ "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
+ "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/runtime": "^7.8.4"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
+ "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "set-function-name": "^2.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexpu-core": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
+ "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/regjsgen": "^0.8.0",
+ "regenerate": "^1.4.2",
+ "regenerate-unicode-properties": "^10.1.0",
+ "regjsparser": "^0.9.1",
+ "unicode-match-property-ecmascript": "^2.0.0",
+ "unicode-match-property-value-ecmascript": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/regjsparser": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
+ "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+ "dev": true,
+ "dependencies": {
+ "jsesc": "~0.5.0"
+ },
+ "bin": {
+ "regjsparser": "bin/parser"
+ }
+ },
+ "node_modules/regjsparser/node_modules/jsesc": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+ "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resize-detector": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/resize-detector/-/resize-detector-0.3.0.tgz",
+ "integrity": "sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ=="
+ },
+ "node_modules/resize-observer-polyfill": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
+ "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "3.29.4",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
+ "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
+ "dev": true,
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=14.18.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/safe-array-concat": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
+ "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "get-intrinsic": "^1.2.2",
+ "has-symbols": "^1.0.3",
+ "isarray": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/safe-regex-test": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz",
+ "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "get-intrinsic": "^1.2.2",
+ "is-regex": "^1.1.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/sax": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz",
+ "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==",
+ "dev": true,
+ "optional": true
+ },
+ "node_modules/schema-utils": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
+ "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.8",
+ "ajv": "^6.12.5",
+ "ajv-keywords": "^3.5.2"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ }
+ },
+ "node_modules/scroll-into-view-if-needed": {
+ "version": "2.2.31",
+ "resolved": "https://registry.npmjs.org/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz",
+ "integrity": "sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==",
+ "dependencies": {
+ "compute-scroll-into-view": "^1.0.20"
+ }
+ },
+ "node_modules/scule": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/scule/-/scule-1.2.0.tgz",
+ "integrity": "sha512-CRCmi5zHQnSoeCik9565PONMg0kfkvYmcSqrbOJY4txFfy1wvVULV4FDaiXhUblUgahdqz3F2NwHZ8i4eBTwUw==",
+ "dev": true
+ },
+ "node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/set-function-length": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
+ "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.2",
+ "gopd": "^1.0.1",
+ "has-property-descriptors": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/set-function-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
+ "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+ "dev": true,
+ "dependencies": {
+ "define-data-property": "^1.0.1",
+ "functions-have-names": "^1.2.3",
+ "has-property-descriptors": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/shallow-equal": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
+ "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
+ "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
+ },
+ "node_modules/sirv": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
+ "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
+ "dev": true,
+ "dependencies": {
+ "@polka/url": "^1.0.0-next.24",
+ "mrmime": "^2.0.0",
+ "totalist": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.21",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
+ "dev": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "deprecated": "Please use @jridgewell/sourcemap-codec instead",
+ "dev": true
+ },
+ "node_modules/spdx-correct": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+ "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+ "dev": true,
+ "dependencies": {
+ "spdx-expression-parse": "^3.0.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "dev": true
+ },
+ "node_modules/spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
+ "dependencies": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "node_modules/spdx-license-ids": {
+ "version": "3.0.16",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
+ "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
+ "dev": true
+ },
+ "node_modules/string.prototype.matchall": {
+ "version": "4.0.10",
+ "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz",
+ "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1",
+ "get-intrinsic": "^1.2.1",
+ "has-symbols": "^1.0.3",
+ "internal-slot": "^1.0.5",
+ "regexp.prototype.flags": "^1.5.0",
+ "set-function-name": "^2.0.0",
+ "side-channel": "^1.0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.padend": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.5.tgz",
+ "integrity": "sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trim": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz",
+ "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz",
+ "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz",
+ "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.2.0",
+ "es-abstract": "^1.22.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/stringify-object": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
+ "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==",
+ "dev": true,
+ "dependencies": {
+ "get-own-enumerable-property-symbols": "^3.0.0",
+ "is-obj": "^1.0.1",
+ "is-regexp": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz",
+ "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/strip-literal": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz",
+ "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.10.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/svg-tags": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
+ "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
+ "dev": true
+ },
+ "node_modules/svg.draggable.js": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/svg.draggable.js/-/svg.draggable.js-2.2.2.tgz",
+ "integrity": "sha512-JzNHBc2fLQMzYCZ90KZHN2ohXL0BQJGQimK1kGk6AvSeibuKcIdDX9Kr0dT9+UJ5O8nYA0RB839Lhvk4CY4MZw==",
+ "dependencies": {
+ "svg.js": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/svg.easing.js": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/svg.easing.js/-/svg.easing.js-2.0.0.tgz",
+ "integrity": "sha512-//ctPdJMGy22YoYGV+3HEfHbm6/69LJUTAqI2/5qBvaNHZ9uUFVC82B0Pl299HzgH13rKrBgi4+XyXXyVWWthA==",
+ "dependencies": {
+ "svg.js": ">=2.3.x"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/svg.filter.js": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/svg.filter.js/-/svg.filter.js-2.0.2.tgz",
+ "integrity": "sha512-xkGBwU+dKBzqg5PtilaTb0EYPqPfJ9Q6saVldX+5vCRy31P6TlRCP3U9NxH3HEufkKkpNgdTLBJnmhDHeTqAkw==",
+ "dependencies": {
+ "svg.js": "^2.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/svg.js": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/svg.js/-/svg.js-2.7.1.tgz",
+ "integrity": "sha512-ycbxpizEQktk3FYvn/8BH+6/EuWXg7ZpQREJvgacqn46gIddG24tNNe4Son6omdXCnSOaApnpZw6MPCBA1dODA=="
+ },
+ "node_modules/svg.pathmorphing.js": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/svg.pathmorphing.js/-/svg.pathmorphing.js-0.1.3.tgz",
+ "integrity": "sha512-49HWI9X4XQR/JG1qXkSDV8xViuTLIWm/B/7YuQELV5KMOPtXjiwH4XPJvr/ghEDibmLQ9Oc22dpWpG0vUDDNww==",
+ "dependencies": {
+ "svg.js": "^2.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/svg.resize.js": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/svg.resize.js/-/svg.resize.js-1.4.3.tgz",
+ "integrity": "sha512-9k5sXJuPKp+mVzXNvxz7U0uC9oVMQrrf7cFsETznzUDDm0x8+77dtZkWdMfRlmbkEEYvUn9btKuZ3n41oNA+uw==",
+ "dependencies": {
+ "svg.js": "^2.6.5",
+ "svg.select.js": "^2.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/svg.resize.js/node_modules/svg.select.js": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-2.1.2.tgz",
+ "integrity": "sha512-tH6ABEyJsAOVAhwcCjF8mw4crjXSI1aa7j2VQR8ZuJ37H2MBUbyeqYr5nEO7sSN3cy9AR9DUwNg0t/962HlDbQ==",
+ "dependencies": {
+ "svg.js": "^2.2.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/svg.select.js": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/svg.select.js/-/svg.select.js-3.0.1.tgz",
+ "integrity": "sha512-h5IS/hKkuVCbKSieR9uQCj9w+zLHoPh+ce19bBYyqF53g6mnPB8sAtIbe1s9dh2S2fCmYX2xel1Ln3PJBbK4kw==",
+ "dependencies": {
+ "svg.js": "^2.6.5"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "dev": true,
+ "peer": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/temp-dir": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz",
+ "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tempy": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz",
+ "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==",
+ "dev": true,
+ "dependencies": {
+ "is-stream": "^2.0.0",
+ "temp-dir": "^2.0.0",
+ "type-fest": "^0.16.0",
+ "unique-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/terser": {
+ "version": "5.31.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz",
+ "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.8.2",
+ "commander": "^2.20.0",
+ "source-map-support": "~0.5.20"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/terser-webpack-plugin": {
+ "version": "5.3.10",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
+ "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.20",
+ "jest-worker": "^27.4.5",
+ "schema-utils": "^3.1.1",
+ "serialize-javascript": "^6.0.1",
+ "terser": "^5.26.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependencies": {
+ "webpack": "^5.1.0"
+ },
+ "peerDependenciesMeta": {
+ "@swc/core": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ },
+ "uglify-js": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/totalist": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
+ "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz",
+ "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
+ "node_modules/tsutils/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.16.0",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz",
+ "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typed-array-buffer": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
+ "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.2.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/typed-array-byte-length": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
+ "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-byte-offset": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
+ "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
+ "dev": true,
+ "dependencies": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "has-proto": "^1.0.1",
+ "is-typed-array": "^1.1.10"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typed-array-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
+ "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "for-each": "^0.3.3",
+ "is-typed-array": "^1.1.9"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "4.9.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
+ "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
+ "devOptional": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/ufo": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz",
+ "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==",
+ "dev": true
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
+ "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-bigints": "^1.0.2",
+ "has-symbols": "^1.0.3",
+ "which-boxed-primitive": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/unconfig": {
+ "version": "0.3.11",
+ "resolved": "https://registry.npmjs.org/unconfig/-/unconfig-0.3.11.tgz",
+ "integrity": "sha512-bV/nqePAKv71v3HdVUn6UefbsDKQWRX+bJIkiSm0+twIds6WiD2bJLWWT3i214+J/B4edufZpG2w7Y63Vbwxow==",
+ "dev": true,
+ "dependencies": {
+ "@antfu/utils": "^0.7.6",
+ "defu": "^6.1.2",
+ "jiti": "^1.20.0",
+ "mlly": "^1.4.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/undici-types": {
+ "version": "5.26.5",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+ "dev": true
+ },
+ "node_modules/unhead": {
+ "version": "1.8.10",
+ "resolved": "https://registry.npmjs.org/unhead/-/unhead-1.8.10.tgz",
+ "integrity": "sha512-dth8FvZkLriO5ZWWOBIYBNSfGiwJtKcqpPWpSOk/Z0e2jdlgwoZEWZHFyte0EKvmbZxKcsWNMqIuv7dEmS5yZQ==",
+ "dependencies": {
+ "@unhead/dom": "1.8.10",
+ "@unhead/schema": "1.8.10",
+ "@unhead/shared": "1.8.10",
+ "hookable": "^5.5.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/unicode-canonical-property-names-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-ecmascript": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+ "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
+ "dev": true,
+ "dependencies": {
+ "unicode-canonical-property-names-ecmascript": "^2.0.0",
+ "unicode-property-aliases-ecmascript": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-match-property-value-ecmascript": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
+ "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unicode-property-aliases-ecmascript": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+ "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/unimport": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/unimport/-/unimport-3.7.1.tgz",
+ "integrity": "sha512-V9HpXYfsZye5bPPYUgs0Otn3ODS1mDUciaBlXljI4C2fTwfFpvFZRywmlOu943puN9sncxROMZhsZCjNXEpzEQ==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^5.1.0",
+ "acorn": "^8.11.2",
+ "escape-string-regexp": "^5.0.0",
+ "estree-walker": "^3.0.3",
+ "fast-glob": "^3.3.2",
+ "local-pkg": "^0.5.0",
+ "magic-string": "^0.30.5",
+ "mlly": "^1.4.2",
+ "pathe": "^1.1.1",
+ "pkg-types": "^1.0.3",
+ "scule": "^1.1.1",
+ "strip-literal": "^1.3.0",
+ "unplugin": "^1.5.1"
+ }
+ },
+ "node_modules/unimport/node_modules/escape-string-regexp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+ "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/unimport/node_modules/estree-walker": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+ "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "^1.0.0"
+ }
+ },
+ "node_modules/unimport/node_modules/local-pkg": {
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz",
+ "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==",
+ "dev": true,
+ "dependencies": {
+ "mlly": "^1.4.2",
+ "pkg-types": "^1.0.3"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ }
+ },
+ "node_modules/unique-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+ "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+ "dev": true,
+ "dependencies": {
+ "crypto-random-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+ "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/unocss": {
+ "version": "0.50.8",
+ "resolved": "https://registry.npmjs.org/unocss/-/unocss-0.50.8.tgz",
+ "integrity": "sha512-3yqKkSm/SKCKxFolXNR12Mi64lr4PW95LSHKZ/a9Yzlf2PT1NirAn8/uJ8KoJJBNR2YWobtkLi4UplFz/8IAYA==",
+ "dev": true,
+ "dependencies": {
+ "@unocss/astro": "0.50.8",
+ "@unocss/cli": "0.50.8",
+ "@unocss/core": "0.50.8",
+ "@unocss/postcss": "0.50.8",
+ "@unocss/preset-attributify": "0.50.8",
+ "@unocss/preset-icons": "0.50.8",
+ "@unocss/preset-mini": "0.50.8",
+ "@unocss/preset-tagify": "0.50.8",
+ "@unocss/preset-typography": "0.50.8",
+ "@unocss/preset-uno": "0.50.8",
+ "@unocss/preset-web-fonts": "0.50.8",
+ "@unocss/preset-wind": "0.50.8",
+ "@unocss/reset": "0.50.8",
+ "@unocss/transformer-attributify-jsx": "0.50.8",
+ "@unocss/transformer-attributify-jsx-babel": "0.50.8",
+ "@unocss/transformer-compile-class": "0.50.8",
+ "@unocss/transformer-directives": "0.50.8",
+ "@unocss/transformer-variant-group": "0.50.8",
+ "@unocss/vite": "0.50.8"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@unocss/webpack": "0.50.8"
+ },
+ "peerDependenciesMeta": {
+ "@unocss/webpack": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.6.0.tgz",
+ "integrity": "sha512-BfJEpWBu3aE/AyHx8VaNE/WgouoQxgH9baAiH82JjX8cqVyi3uJQstqwD5J+SZxIK326SZIhsSZlALXVBCknTQ==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.11.2",
+ "chokidar": "^3.5.3",
+ "webpack-sources": "^3.2.3",
+ "webpack-virtual-modules": "^0.6.1"
+ }
+ },
+ "node_modules/unplugin-auto-import": {
+ "version": "0.15.3",
+ "resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.15.3.tgz",
+ "integrity": "sha512-RLT8SqbPn4bT7yBshZId0uPSofKWnwr66RyDaxWaFb/+f7OTDOWAsVNz+hOQLBWSjvbekr2xZY9ccS8TDHJbCQ==",
+ "dev": true,
+ "dependencies": {
+ "@antfu/utils": "^0.7.2",
+ "@rollup/pluginutils": "^5.0.2",
+ "local-pkg": "^0.4.3",
+ "magic-string": "^0.30.0",
+ "minimatch": "^9.0.0",
+ "unimport": "^3.0.6",
+ "unplugin": "^1.3.1"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@nuxt/kit": "^3.2.2",
+ "@vueuse/core": "*"
+ },
+ "peerDependenciesMeta": {
+ "@nuxt/kit": {
+ "optional": true
+ },
+ "@vueuse/core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-auto-import/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/unplugin-auto-import/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/unplugin-vue-components": {
+ "version": "0.24.1",
+ "resolved": "https://registry.npmjs.org/unplugin-vue-components/-/unplugin-vue-components-0.24.1.tgz",
+ "integrity": "sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==",
+ "dev": true,
+ "dependencies": {
+ "@antfu/utils": "^0.7.2",
+ "@rollup/pluginutils": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.2.12",
+ "local-pkg": "^0.4.3",
+ "magic-string": "^0.30.0",
+ "minimatch": "^7.4.2",
+ "resolve": "^1.22.1",
+ "unplugin": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@babel/parser": "^7.15.8",
+ "@nuxt/kit": "^3.2.2",
+ "vue": "2 || 3"
+ },
+ "peerDependenciesMeta": {
+ "@babel/parser": {
+ "optional": true
+ },
+ "@nuxt/kit": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/brace-expansion": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+ "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0"
+ }
+ },
+ "node_modules/unplugin-vue-components/node_modules/minimatch": {
+ "version": "7.4.6",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-7.4.6.tgz",
+ "integrity": "sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/upath": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+ "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+ "dev": true,
+ "engines": {
+ "node": ">=4",
+ "yarn": "*"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+ "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
+ },
+ "node_modules/validate-npm-package-license": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+ "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+ "dev": true,
+ "dependencies": {
+ "spdx-correct": "^3.0.0",
+ "spdx-expression-parse": "^3.0.0"
+ }
+ },
+ "node_modules/vite": {
+ "version": "4.5.5",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.5.tgz",
+ "integrity": "sha512-ifW3Lb2sMdX+WU91s3R0FyQlAyLxOzCSCP37ujw0+r5POeHPwe6udWVIElKQq8gk3t7b8rkmvqC6IHBpCff4GQ==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.18.10",
+ "postcss": "^8.4.27",
+ "rollup": "^3.27.1"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": "^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ },
+ "peerDependencies": {
+ "@types/node": ">= 14",
+ "less": "*",
+ "lightningcss": "^1.21.0",
+ "sass": "*",
+ "stylus": "*",
+ "sugarss": "*",
+ "terser": "^5.4.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vite-plugin-pwa": {
+ "version": "0.14.7",
+ "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.14.7.tgz",
+ "integrity": "sha512-dNJaf0fYOWncmjxv9HiSa2xrSjipjff7IkYE5oIUJ2x5HKu3cXgA8LRgzOwTc5MhwyFYRSU0xyN0Phbx3NsQYw==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/plugin-replace": "^5.0.1",
+ "debug": "^4.3.4",
+ "fast-glob": "^3.2.12",
+ "pretty-bytes": "^6.0.0",
+ "rollup": "^3.7.2",
+ "workbox-build": "^6.5.4",
+ "workbox-window": "^6.5.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "vite": "^3.1.0 || ^4.0.0",
+ "workbox-build": "^6.5.4",
+ "workbox-window": "^6.5.4"
+ }
+ },
+ "node_modules/vue": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.13.tgz",
+ "integrity": "sha512-LDnUpQvDgsfc0u/YgtAgTMXJlJQqjkxW1PVcOnJA5cshPleULDjHi7U45pl2VJYazSSvLH8UKcid/kzH8I0a0Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.3.13",
+ "@vue/compiler-sfc": "3.3.13",
+ "@vue/runtime-dom": "3.3.13",
+ "@vue/server-renderer": "3.3.13",
+ "@vue/shared": "3.3.13"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue-content-loader": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/vue-content-loader/-/vue-content-loader-2.0.1.tgz",
+ "integrity": "sha512-pkof4+q2xmzNEdhqelxtJejeP/vQUJtLle4/v2ueG+HURqM9Q/GIGC8GJ2bVVWeLfTDET51jqimwQdmxJTlu0g==",
+ "peerDependencies": {
+ "vue": "^3"
+ }
+ },
+ "node_modules/vue-echarts": {
+ "version": "6.6.8",
+ "resolved": "https://registry.npmjs.org/vue-echarts/-/vue-echarts-6.6.8.tgz",
+ "integrity": "sha512-3EGrxKGCGjHnkhudRQQ4fkK5iJxxXNQ1fXvSWA/7mzR/oV7BBSHYvC3gDbG/WIW0A/Fcx2H8k5H3NDyWgjyi8g==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "resize-detector": "^0.3.0",
+ "vue-demi": "^0.13.11"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.5",
+ "@vue/runtime-core": "^3.0.0",
+ "echarts": "^5.4.1",
+ "vue": "^2.6.12 || ^3.1.1"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ },
+ "@vue/runtime-core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue-echarts/node_modules/vue-demi": {
+ "version": "0.13.11",
+ "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz",
+ "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==",
+ "hasInstallScript": true,
+ "bin": {
+ "vue-demi-fix": "bin/vue-demi-fix.js",
+ "vue-demi-switch": "bin/vue-demi-switch.js"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/antfu"
+ },
+ "peerDependencies": {
+ "@vue/composition-api": "^1.0.0-rc.1",
+ "vue": "^3.0.0-0 || ^2.6.0"
+ },
+ "peerDependenciesMeta": {
+ "@vue/composition-api": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/vue-eslint-parser": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.0.tgz",
+ "integrity": "sha512-7KsNBb6gHFA75BtneJsoK/dbZ281whUIwFYdQxA68QrCrGMXYzUMbPDHGcOQ0OocIVKrWSKWXZ4mL7tonCXoUw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.3.4",
+ "eslint-scope": "^7.1.1",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
+ "esquery": "^1.4.0",
+ "lodash": "^4.17.21",
+ "semver": "^7.3.6"
+ },
+ "engines": {
+ "node": "^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=6.0.0"
+ }
+ },
+ "node_modules/vue-eslint-parser/node_modules/eslint-scope": {
+ "version": "7.2.2",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz",
+ "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/vue-eslint-parser/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/vue-eslint-parser/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/vue-eslint-parser/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/vue-eslint-parser/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/vue-router": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz",
+ "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==",
+ "dependencies": {
+ "@vue/devtools-api": "^6.5.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/posva"
+ },
+ "peerDependencies": {
+ "vue": "^3.2.0"
+ }
+ },
+ "node_modules/vue-template-compiler": {
+ "version": "2.7.16",
+ "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
+ "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
+ "dev": true,
+ "dependencies": {
+ "de-indent": "^1.0.2",
+ "he": "^1.2.0"
+ }
+ },
+ "node_modules/vue-tsc": {
+ "version": "1.8.27",
+ "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz",
+ "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==",
+ "dev": true,
+ "dependencies": {
+ "@volar/typescript": "~1.11.1",
+ "@vue/language-core": "1.8.27",
+ "semver": "^7.5.4"
+ },
+ "bin": {
+ "vue-tsc": "bin/vue-tsc.js"
+ },
+ "peerDependencies": {
+ "typescript": "*"
+ }
+ },
+ "node_modules/vue-tsc/node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/vue-tsc/node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/vue-tsc/node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/vue-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/vue-types/-/vue-types-3.0.2.tgz",
+ "integrity": "sha512-IwUC0Aq2zwaXqy74h4WCvFCUtoV0iSWr0snWnE9TnU18S66GAQyqQbRf2qfJtUuiFsBf6qp0MEwdonlwznlcrw==",
+ "dependencies": {
+ "is-plain-object": "3.0.1"
+ },
+ "engines": {
+ "node": ">=10.15.0"
+ },
+ "peerDependencies": {
+ "vue": "^3.0.0"
+ }
+ },
+ "node_modules/vue/node_modules/@vue/compiler-core": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.13.tgz",
+ "integrity": "sha512-bwi9HShGu7uaZLOErZgsH2+ojsEdsjerbf2cMXPwmvcgZfVPZ2BVZzCVnwZBxTAYd6Mzbmf6izcUNDkWnBBQ6A==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.23.5",
+ "@vue/shared": "3.3.13",
+ "estree-walker": "^2.0.2",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "node_modules/vue/node_modules/@vue/compiler-dom": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.13.tgz",
+ "integrity": "sha512-EYRDpbLadGtNL0Gph+HoKiYqXLqZ0xSSpR5Dvnu/Ep7ggaCbjRDIus1MMxTS2Qm0koXED4xSlvTZaTnI8cYAsw==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-core": "3.3.13",
+ "@vue/shared": "3.3.13"
+ }
+ },
+ "node_modules/vue/node_modules/@vue/compiler-sfc": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.13.tgz",
+ "integrity": "sha512-DQVmHEy/EKIgggvnGRLx21hSqnr1smUS9Aq8tfxiiot8UR0/pXKHN9k78/qQ7etyQTFj5em5nruODON7dBeumw==",
+ "license": "MIT",
+ "dependencies": {
+ "@babel/parser": "^7.23.5",
+ "@vue/compiler-core": "3.3.13",
+ "@vue/compiler-dom": "3.3.13",
+ "@vue/compiler-ssr": "3.3.13",
+ "@vue/reactivity-transform": "3.3.13",
+ "@vue/shared": "3.3.13",
+ "estree-walker": "^2.0.2",
+ "magic-string": "^0.30.5",
+ "postcss": "^8.4.32",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "node_modules/vue/node_modules/@vue/compiler-ssr": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.13.tgz",
+ "integrity": "sha512-d/P3bCeUGmkJNS1QUZSAvoCIW4fkOKK3l2deE7zrp0ypJEy+En2AcypIkqvcFQOcw3F0zt2VfMvNsA9JmExTaw==",
+ "license": "MIT",
+ "dependencies": {
+ "@vue/compiler-dom": "3.3.13",
+ "@vue/shared": "3.3.13"
+ }
+ },
+ "node_modules/vue/node_modules/@vue/shared": {
+ "version": "3.3.13",
+ "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.13.tgz",
+ "integrity": "sha512-/zYUwiHD8j7gKx2argXEMCUXVST6q/21DFU0sTfNX0URJroCe3b1UF6vLJ3lQDfLNIiiRl2ONp7Nh5UVWS6QnA==",
+ "license": "MIT"
+ },
+ "node_modules/vue3-apexcharts": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/vue3-apexcharts/-/vue3-apexcharts-1.4.4.tgz",
+ "integrity": "sha512-TH89uZrxGjaDvkaYAISvj8+k6Bf1rUKFillc8oJirs5XZEPiwM1ELKZQ786wz0rfPqkSHHny2lqqUCK7Rw+LcQ==",
+ "peerDependencies": {
+ "apexcharts": "> 3.0.0",
+ "vue": "> 3.0.0"
+ }
+ },
+ "node_modules/vue3-otp-input": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/vue3-otp-input/-/vue3-otp-input-0.4.1.tgz",
+ "integrity": "sha512-wVl9i3DcWlO0C7fBI9V+RIP3crm/1tY72fuhvb3YM2JfbLoYofB96aPl5AgFhA0Cse5bQEMYtIvOeiqW3rfbAw==",
+ "engines": {
+ "node": ">=16.0.0",
+ "npm": ">=8.0.0"
+ },
+ "peerDependencies": {
+ "vue": "^3.0.*"
+ }
+ },
+ "node_modules/warning": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
+ "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/watchpack": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz",
+ "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.1.2"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz",
+ "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==",
+ "dev": true
+ },
+ "node_modules/webpack": {
+ "version": "5.91.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.91.0.tgz",
+ "integrity": "sha512-rzVwlLeBWHJbmgTC/8TvAcu5vpJNII+MelQpylD4jNERPwpBJOE2lEcko1zJX3QJeLjTTAnQxn/OJ8bjDzVQaw==",
+ "dev": true,
+ "peer": true,
+ "dependencies": {
+ "@types/eslint-scope": "^3.7.3",
+ "@types/estree": "^1.0.5",
+ "@webassemblyjs/ast": "^1.12.1",
+ "@webassemblyjs/wasm-edit": "^1.12.1",
+ "@webassemblyjs/wasm-parser": "^1.12.1",
+ "acorn": "^8.7.1",
+ "acorn-import-assertions": "^1.9.0",
+ "browserslist": "^4.21.10",
+ "chrome-trace-event": "^1.0.2",
+ "enhanced-resolve": "^5.16.0",
+ "es-module-lexer": "^1.2.1",
+ "eslint-scope": "5.1.1",
+ "events": "^3.2.0",
+ "glob-to-regexp": "^0.4.1",
+ "graceful-fs": "^4.2.11",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.2.0",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^3.2.0",
+ "tapable": "^2.1.1",
+ "terser-webpack-plugin": "^5.3.10",
+ "watchpack": "^2.4.1",
+ "webpack-sources": "^3.2.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
+ },
+ "peerDependenciesMeta": {
+ "webpack-cli": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/webpack-sources": {
+ "version": "3.2.3",
+ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
+ "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/webpack-virtual-modules": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz",
+ "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==",
+ "dev": true
+ },
+ "node_modules/whatwg-url": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz",
+ "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==",
+ "dev": true,
+ "dependencies": {
+ "lodash.sortby": "^4.7.0",
+ "tr46": "^1.0.1",
+ "webidl-conversions": "^4.0.2"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "dev": true,
+ "dependencies": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
+ "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
+ "dev": true,
+ "dependencies": {
+ "available-typed-arrays": "^1.0.5",
+ "call-bind": "^1.0.4",
+ "for-each": "^0.3.3",
+ "gopd": "^1.0.1",
+ "has-tostringtag": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/workbox-background-sync": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.1.tgz",
+ "integrity": "sha512-trJd3ovpWCvzu4sW0E8rV3FUyIcC0W8G+AZ+VcqzzA890AsWZlUGOTSxIMmIHVusUw/FDq1HFWfy/kC/WTRqSg==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "idb": "^7.0.1",
+ "workbox-core": "6.6.1"
+ }
+ },
+ "node_modules/workbox-broadcast-update": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.1.tgz",
+ "integrity": "sha512-fBhffRdaANdeQ1V8s692R9l/gzvjjRtydBOvR6WCSB0BNE2BacA29Z4r9/RHd9KaXCPl6JTdI9q0bR25YKP8TQ==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "6.6.1"
+ }
+ },
+ "node_modules/workbox-build": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.1.tgz",
+ "integrity": "sha512-INPgDx6aRycAugUixbKgiEQBWD0MPZqU5r0jyr24CehvNuLPSXp/wGOpdRJmts656lNiXwqV7dC2nzyrzWEDnw==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "@apideck/better-ajv-errors": "^0.3.1",
+ "@babel/core": "^7.11.1",
+ "@babel/preset-env": "^7.11.0",
+ "@babel/runtime": "^7.11.2",
+ "@rollup/plugin-babel": "^5.2.0",
+ "@rollup/plugin-node-resolve": "^11.2.1",
+ "@rollup/plugin-replace": "^2.4.1",
+ "@surma/rollup-plugin-off-main-thread": "^2.2.3",
+ "ajv": "^8.6.0",
+ "common-tags": "^1.8.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "fs-extra": "^9.0.1",
+ "glob": "^7.1.6",
+ "lodash": "^4.17.20",
+ "pretty-bytes": "^5.3.0",
+ "rollup": "^2.43.1",
+ "rollup-plugin-terser": "^7.0.0",
+ "source-map": "^0.8.0-beta.0",
+ "stringify-object": "^3.3.0",
+ "strip-comments": "^2.0.1",
+ "tempy": "^0.6.0",
+ "upath": "^1.2.0",
+ "workbox-background-sync": "6.6.1",
+ "workbox-broadcast-update": "6.6.1",
+ "workbox-cacheable-response": "6.6.1",
+ "workbox-core": "6.6.1",
+ "workbox-expiration": "6.6.1",
+ "workbox-google-analytics": "6.6.1",
+ "workbox-navigation-preload": "6.6.1",
+ "workbox-precaching": "6.6.1",
+ "workbox-range-requests": "6.6.1",
+ "workbox-recipes": "6.6.1",
+ "workbox-routing": "6.6.1",
+ "workbox-strategies": "6.6.1",
+ "workbox-streams": "6.6.1",
+ "workbox-sw": "6.6.1",
+ "workbox-window": "6.6.1"
+ },
+ "engines": {
+ "node": ">=16.0.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz",
+ "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==",
+ "dev": true,
+ "dependencies": {
+ "json-schema": "^0.4.0",
+ "jsonpointer": "^5.0.0",
+ "leven": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "ajv": ">=8"
+ }
+ },
+ "node_modules/workbox-build/node_modules/@rollup/plugin-babel": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz",
+ "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-module-imports": "^7.10.4",
+ "@rollup/pluginutils": "^3.1.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0",
+ "@types/babel__core": "^7.1.9",
+ "rollup": "^1.20.0||^2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/babel__core": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": {
+ "version": "11.2.1",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz",
+ "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "@types/resolve": "1.17.1",
+ "builtin-modules": "^3.1.0",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.19.0"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/@rollup/plugin-replace": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz",
+ "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^3.1.0",
+ "magic-string": "^0.25.7"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0 || ^2.0.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/@rollup/pluginutils": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
+ "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "0.0.39",
+ "estree-walker": "^1.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
+ "node_modules/workbox-build/node_modules/ajv": {
+ "version": "8.12.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+ "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/workbox-build/node_modules/estree-walker": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
+ "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
+ "dev": true
+ },
+ "node_modules/workbox-build/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/workbox-build/node_modules/jest-worker": {
+ "version": "26.6.2",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
+ "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ },
+ "node_modules/workbox-build/node_modules/magic-string": {
+ "version": "0.25.9",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
+ "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
+ "dev": true,
+ "dependencies": {
+ "sourcemap-codec": "^1.4.8"
+ }
+ },
+ "node_modules/workbox-build/node_modules/pretty-bytes": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz",
+ "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/workbox-build/node_modules/rollup": {
+ "version": "2.79.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz",
+ "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==",
+ "dev": true,
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/workbox-build/node_modules/rollup-plugin-terser": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
+ "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
+ "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "jest-worker": "^26.2.1",
+ "serialize-javascript": "^4.0.0",
+ "terser": "^5.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.0.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/serialize-javascript": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+ "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
+ "dev": true,
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/workbox-build/node_modules/source-map": {
+ "version": "0.8.0-beta.0",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz",
+ "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==",
+ "dev": true,
+ "dependencies": {
+ "whatwg-url": "^7.0.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/workbox-build/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/workbox-cacheable-response": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.1.tgz",
+ "integrity": "sha512-85LY4veT2CnTCDxaVG7ft3NKaFbH6i4urZXgLiU4AiwvKqS2ChL6/eILiGRYXfZ6gAwDnh5RkuDbr/GMS4KSag==",
+ "deprecated": "workbox-background-sync@6.6.1",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "6.6.1"
+ }
+ },
+ "node_modules/workbox-core": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.1.tgz",
+ "integrity": "sha512-ZrGBXjjaJLqzVothoE12qTbVnOAjFrHDXpZe7coCb6q65qI/59rDLwuFMO4PcZ7jcbxY+0+NhUVztzR/CbjEFw==",
+ "deprecated": "this package has been deprecated",
+ "dev": true
+ },
+ "node_modules/workbox-expiration": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.1.tgz",
+ "integrity": "sha512-qFiNeeINndiOxaCrd2DeL1Xh1RFug3JonzjxUHc5WkvkD2u5abY3gZL1xSUNt3vZKsFFGGORItSjVTVnWAZO4A==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "idb": "^7.0.1",
+ "workbox-core": "6.6.1"
+ }
+ },
+ "node_modules/workbox-google-analytics": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.1.tgz",
+ "integrity": "sha512-1TjSvbFSLmkpqLcBsF7FuGqqeDsf+uAXO/pjiINQKg3b1GN0nBngnxLcXDYo1n/XxK4N7RaRrpRlkwjY/3ocuA==",
+ "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained",
+ "dev": true,
+ "dependencies": {
+ "workbox-background-sync": "6.6.1",
+ "workbox-core": "6.6.1",
+ "workbox-routing": "6.6.1",
+ "workbox-strategies": "6.6.1"
+ }
+ },
+ "node_modules/workbox-navigation-preload": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.1.tgz",
+ "integrity": "sha512-DQCZowCecO+wRoIxJI2V6bXWK6/53ff+hEXLGlQL4Rp9ZaPDLrgV/32nxwWIP7QpWDkVEtllTAK5h6cnhxNxDA==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "6.6.1"
+ }
+ },
+ "node_modules/workbox-precaching": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.1.tgz",
+ "integrity": "sha512-K4znSJ7IKxCnCYEdhNkMr7X1kNh8cz+mFgx9v5jFdz1MfI84pq8C2zG+oAoeE5kFrUf7YkT5x4uLWBNg0DVZ5A==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "6.6.1",
+ "workbox-routing": "6.6.1",
+ "workbox-strategies": "6.6.1"
+ }
+ },
+ "node_modules/workbox-range-requests": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.1.tgz",
+ "integrity": "sha512-4BDzk28govqzg2ZpX0IFkthdRmCKgAKreontYRC5YsAPB2jDtPNxqx3WtTXgHw1NZalXpcH/E4LqUa9+2xbv1g==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "6.6.1"
+ }
+ },
+ "node_modules/workbox-recipes": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.1.tgz",
+ "integrity": "sha512-/oy8vCSzromXokDA+X+VgpeZJvtuf8SkQ8KL0xmRivMgJZrjwM3c2tpKTJn6PZA6TsbxGs3Sc7KwMoZVamcV2g==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "workbox-cacheable-response": "6.6.1",
+ "workbox-core": "6.6.1",
+ "workbox-expiration": "6.6.1",
+ "workbox-precaching": "6.6.1",
+ "workbox-routing": "6.6.1",
+ "workbox-strategies": "6.6.1"
+ }
+ },
+ "node_modules/workbox-routing": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.1.tgz",
+ "integrity": "sha512-j4ohlQvfpVdoR8vDYxTY9rA9VvxTHogkIDwGdJ+rb2VRZQ5vt1CWwUUZBeD/WGFAni12jD1HlMXvJ8JS7aBWTg==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "6.6.1"
+ }
+ },
+ "node_modules/workbox-strategies": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.1.tgz",
+ "integrity": "sha512-WQLXkRnsk4L81fVPkkgon1rZNxnpdO5LsO+ws7tYBC6QQQFJVI6v98klrJEjFtZwzw/mB/HT5yVp7CcX0O+mrw==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "6.6.1"
+ }
+ },
+ "node_modules/workbox-streams": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.1.tgz",
+ "integrity": "sha512-maKG65FUq9e4BLotSKWSTzeF0sgctQdYyTMq529piEN24Dlu9b6WhrAfRpHdCncRS89Zi2QVpW5V33NX8PgH3Q==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "workbox-core": "6.6.1",
+ "workbox-routing": "6.6.1"
+ }
+ },
+ "node_modules/workbox-sw": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.1.tgz",
+ "integrity": "sha512-R7whwjvU2abHH/lR6kQTTXLHDFU2izht9kJOvBRYK65FbwutT4VvnUAJIgHvfWZ/fokrOPhfoWYoPCMpSgUKHQ==",
+ "deprecated": "this package has been deprecated",
+ "dev": true
+ },
+ "node_modules/workbox-window": {
+ "version": "6.6.1",
+ "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.1.tgz",
+ "integrity": "sha512-wil4nwOY58nTdCvif/KEZjQ2NP8uk3gGeRNy2jPBbzypU4BT4D9L8xiwbmDBpZlSgJd2xsT9FvSNU0gsxV51JQ==",
+ "deprecated": "this package has been deprecated",
+ "dev": true,
+ "dependencies": {
+ "@types/trusted-types": "^2.0.2",
+ "workbox-core": "6.6.1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/xml-name-validator": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+ "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zhead": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/zhead/-/zhead-2.2.4.tgz",
+ "integrity": "sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==",
+ "funding": {
+ "url": "https://github.com/sponsors/harlan-zw"
+ }
+ },
+ "node_modules/zrender": {
+ "version": "5.4.4",
+ "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz",
+ "integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==",
+ "dependencies": {
+ "tslib": "2.3.0"
+ }
+ }
+ }
+}
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..9fbd03c
--- /dev/null
+++ b/package.json
@@ -0,0 +1,70 @@
+{
+ "name": "admin-vue3",
+ "version": "0.0.1",
+ "author": {
+ "name": "Ali Ghasami",
+ "email": "alighassami@yahoo.com",
+ "url": "alighasami.ir"
+ },
+ "private": true,
+ "scripts": {
+ "dev": "vite",
+ "build": "run-p build-only",
+ "build-type-check": "run-p type-check build-only",
+ "preview": "vite preview",
+ "build-only": "vite build",
+ "type-check": "vue-tsc --noEmit",
+ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
+ "format": "prettier --write src/"
+ },
+ "dependencies": {
+ "@vueuse/core": "^10.1.2",
+ "@vueuse/head": "^1.1.26",
+ "ant-design-vue": "^3.2.19",
+ "apexcharts": "^3.45.1",
+ "axios": "^1.3.6",
+ "crypto-js": "^4.1.1",
+ "dayjalali": "^1.0.1",
+ "echarts": "^5.4.3",
+ "jalaliday": "^2.3.0",
+ "lodash": "^4.17.21",
+ "moment": "^2.29.4",
+ "moment-jalaali": "^0.10.0",
+ "pinia": "^2.0.33",
+ "vue": "3.3.13",
+ "vue-content-loader": "^2.0.1",
+ "vue-echarts": "^6.6.8",
+ "vue-router": "^4.1.6",
+ "vue3-apexcharts": "^1.4.4",
+ "vue3-otp-input": "^0.4.1"
+ },
+ "devDependencies": {
+ "@rushstack/eslint-patch": "^1.2.0",
+ "@types/crypto-js": "^4.1.1",
+ "@types/lodash": "^4.14.195",
+ "@types/node": "^18.15.13",
+ "@unocss/preset-attributify": "^0.50.8",
+ "@unocss/preset-uno": "^0.50.8",
+ "@unocss/transformer-compile-class": "^0.50.8",
+ "@unocss/transformer-directives": "^0.50.8",
+ "@unocss/transformer-variant-group": "^0.50.8",
+ "@vitejs/plugin-vue": "^4.1.0",
+ "@vitejs/plugin-vue-jsx": "^3.0.1",
+ "@vue/eslint-config-prettier": "^7.1.0",
+ "@vue/eslint-config-typescript": "^11.0.2",
+ "@vue/tsconfig": "^0.1.3",
+ "eslint": "^8.36.0",
+ "eslint-plugin-vue": "^9.9.0",
+ "less": "^4.1.3",
+ "less-loader": "^11.1.2",
+ "npm-run-all": "^4.1.5",
+ "prettier": "^2.8.8",
+ "typescript": "~4.9.5",
+ "unocss": "^0.50.8",
+ "unplugin-auto-import": "^0.15.3",
+ "unplugin-vue-components": "^0.24.1",
+ "vite": "^4.5.5",
+ "vite-plugin-pwa": "^0.14.7",
+ "vue-tsc": "^1.2.1"
+ }
+}
diff --git a/preDependency.md b/preDependency.md
new file mode 100644
index 0000000..3ad0d38
--- /dev/null
+++ b/preDependency.md
@@ -0,0 +1,21 @@
+## Pre Dependency For Panel
+### html - css
+### js and type script
+### vue 3
+### vue 3 script setup
+### pinia for store
+### vite and plugin for vite
+### less
+### uno css
+- https://github.com/unocss/unocss
+- https://github.com/unocss/unocss/tree/main/packages/preset-attributify/
+- https://github.com/unocss/unocss/tree/main/packages/transformer-variant-group
+- https://github.com/unocss/unocss/tree/main/packages/transformer-directives
+- https://github.com/unocss/unocss/tree/main/packages/transformer-compile-class/
+- https://github.com/unocss/unocss/tree/main/packages/preset-uno
+- https://github.com/reslear/unocss-preset-scrollbar-hide
+### git and git Submodules
+### vue use
+### axios
+### @vueuse/head
+- https://github.com/vueuse/head
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..9cc4f2d
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/api/accounting.ts b/src/api/accounting.ts
new file mode 100644
index 0000000..cc123ab
--- /dev/null
+++ b/src/api/accounting.ts
@@ -0,0 +1,9 @@
+import useAxios from "@core/utils/useAxios";
+import type {Accounting, TotalAccounting} from "@/model/accounting";
+
+export const getAccountingTable = async (start: string,end: string) =>
+ await useAxios.post('/admin/dashboard/finance', {startDate: start, endDate: end});
+
+//Accounting Tab
+export const getTotalAccountingTable = async () =>
+ await useAxios.post('/admin/finance');
\ No newline at end of file
diff --git a/src/api/card.ts b/src/api/card.ts
new file mode 100644
index 0000000..677f66d
--- /dev/null
+++ b/src/api/card.ts
@@ -0,0 +1,10 @@
+import useAxios from '@core/utils/useAxios'
+import type { AddId, Customer } from '@/model/customer'
+import type { TableInput } from '@core/type/baseTable'
+import type { Card, cardSts } from '@/model/card'
+
+export const changeAccountSts = async (obj: cardSts) =>
+ await useAxios.post(`/admin/account/sts`, obj)
+
+export const getAccountTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/account/table', params)
diff --git a/src/api/city.ts b/src/api/city.ts
new file mode 100644
index 0000000..4b807e1
--- /dev/null
+++ b/src/api/city.ts
@@ -0,0 +1,16 @@
+import useAxios from '@core/utils/useAxios'
+import type { City, Province } from '@/model/city'
+import type { TableInput } from '@core/type/baseTable'
+
+export const getProvinces = async () => await useAxios.get>(`/api/city/state`)
+
+export const getAllCities = async () => await useAxios.get>(`/api/city/all`)
+
+export const getCitiesList = async (id: number) =>
+ await useAxios.get>(`/api/city/${id}`)
+
+export const getCitiesTable = async (params: TableInput) =>
+ await useAxios.post>(`/api/city/table`, params)
+
+export const addCity = async (id?: number, title?: string) =>
+ await useAxios.post(`/api/city`, { parent_id: id, title: title })
diff --git a/src/api/consts.ts b/src/api/consts.ts
new file mode 100644
index 0000000..4bc754a
--- /dev/null
+++ b/src/api/consts.ts
@@ -0,0 +1,21 @@
+import useAxios from '@core/utils/useAxios'
+import type { Const } from '@/model/const'
+
+export const getNatureConst = async () => await useAxios.get>('/api/const/key/nature')
+
+export const getBudgetConst = async () => await useAxios.get>('/api/const/key/budget')
+
+export const getProjectConst = async () => await useAxios.get>('/api/const/key/type')
+
+export const getUserTypeConst = async () =>
+ await useAxios.get>('/api/const/key/user_type')
+
+export const getSectionConst = async () =>
+ await useAxios.get>('/api/const/key/section')
+
+export const updateEditConst = async (obj: Const) =>
+ await useAxios.put(`/admin/const/1`, obj)
+
+export const createAddConst = async (obj: Const) => await useAxios.post(`/admin/const`, obj)
+
+export const deleteConst = async (id: number) => await useAxios.delete(`/api/const/${id}`)
diff --git a/src/api/customer.ts b/src/api/customer.ts
new file mode 100644
index 0000000..ea2a234
--- /dev/null
+++ b/src/api/customer.ts
@@ -0,0 +1,36 @@
+import useAxios from '@core/utils/useAxios'
+import type { AddId, Customer } from '@/model/customer'
+import type { TableInput } from '@core/type/baseTable'
+
+export const createCustomer = async (obj: Customer) =>
+ await useAxios.post(`/admin/customer`, obj)
+
+export const deleteCustomer = async (id: number) => await useAxios.delete(`/admin/customer/${id}`)
+export const updateCustomer = async (id: number, obj: Customer) =>
+ await useAxios.put(`/admin/customer/${id}`, obj)
+
+export const getCustomerTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/customer/table', params)
+
+export const getCustomersList = async () => await useAxios.get(`/admin/customer/list`)
+
+export const changeCustomerActivation = async (id: number) =>
+ await useAxios.get(`/admin/customer/active/${id}`)
+
+export const changeCustomerOrderActivation = async (id: number) =>
+ await useAxios.get(`/admin/customer/trade/${id}`)
+
+export const changeCustomerArchive = async (id: number) =>
+ await useAxios.get(`/admin/customer/archive/${id}`)
+
+export const confirmUser = async (id: number) =>
+ await useAxios.get(`/admin/customer/is_valid/${id}`)
+
+export const getCustomerArchiveTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/customer/archive/table', params)
+
+export const getSingleTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/customer/single/table', params)
+
+export const getSingleArchiveTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/customer/single/archive/table', params)
diff --git a/src/api/dashboard.ts b/src/api/dashboard.ts
new file mode 100644
index 0000000..23ad20c
--- /dev/null
+++ b/src/api/dashboard.ts
@@ -0,0 +1,13 @@
+import useAxios from '@core/utils/useAxios'
+import type { AddId, User } from '@/model/user'
+import type { TableInput } from '@core/type/baseTable'
+import type {Dashboard} from '@/model/dashboard'
+import type {PriceChart} from "@/model/priceChart";
+
+export const getDashboard = async () => await useAxios.get('/admin/dashboard')
+
+export const updateMyInformation = async (val: User) =>
+ await useAxios.post('/admin/me/update', val)
+
+//priceChart
+export const getAllPrices = async () => await useAxios.post('/admin/prices')
diff --git a/src/api/login.ts b/src/api/login.ts
new file mode 100644
index 0000000..d5af445
--- /dev/null
+++ b/src/api/login.ts
@@ -0,0 +1,8 @@
+import useAxios from '@core/utils/useAxios'
+import type { Token, UserLoginState } from '@/model/login'
+
+export const Login = async (values: UserLoginState) =>
+ await useAxios.post('/auth/login', values)
+
+export const Verify = async (values: UserLoginState) =>
+ await useAxios.post('/auth/verify', values)
diff --git a/src/api/order.ts b/src/api/order.ts
new file mode 100644
index 0000000..44318ee
--- /dev/null
+++ b/src/api/order.ts
@@ -0,0 +1,23 @@
+import type { TableInput,TableOutput } from '@core/type/baseTable'
+import useAxios from '@core/utils/useAxios'
+import type { Order,OrderSts } from '@/model/order'
+import type { AddId, Customer } from '@/model/customer'
+
+export const getOrderTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/order/table', params)
+
+export const createOrder = async (obj: Order) =>
+ await useAxios.post(`/admin/single/order`, obj)
+
+export const getSingleOrder = async (id: number) =>
+ await useAxios.get(`/admin/order/single/${id}`)
+
+export const getNewOrderTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/order/table/new', params)
+
+
+export const getSingleTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/customer/single/table', params)
+
+export const changeOrderSts = async (params: OrderSts) =>
+ await useAxios.post('/admin/order/sts', params)
diff --git a/src/api/othersPrices.ts b/src/api/othersPrices.ts
new file mode 100644
index 0000000..60493fe
--- /dev/null
+++ b/src/api/othersPrices.ts
@@ -0,0 +1,4 @@
+import useAxios from "@core/utils/useAxios";
+import type {OthersPrices} from "@/model/othersPrices";
+
+export const getOthersPrices = async () => await useAxios.get('api/price/last')
\ No newline at end of file
diff --git a/src/api/permission.ts b/src/api/permission.ts
new file mode 100644
index 0000000..ccfe284
--- /dev/null
+++ b/src/api/permission.ts
@@ -0,0 +1,19 @@
+import useAxios from '@core/utils/useAxios'
+import type { Permission, UserPermission } from '@/model/permission'
+
+export const getTreeData = async () => await useAxios.get('/api/permission/show/rid')
+
+export const updatePermission = async (obj: Permission) =>
+ await useAxios.post('/api/permission', obj)
+
+export const getSelectedData = async (user_type_id?: number, section_id?: number) =>
+ await useAxios.get(`/api/permission/${user_type_id}/${section_id}`)
+
+export const updateUserPermission = async (obj: UserPermission) =>
+ await useAxios.post('/api/exclude', obj)
+
+export const getUserSelectedData = async (id?: number) => await useAxios.get(`/api/exclude/${id}`)
+
+export async function getUserPermissions(user_id: number) {
+ return await useAxios.get(`/api/exclude/user/permission/${user_id}`)
+}
diff --git a/src/api/price.ts b/src/api/price.ts
new file mode 100644
index 0000000..d6a5b49
--- /dev/null
+++ b/src/api/price.ts
@@ -0,0 +1,14 @@
+import type { AddId } from '@/model/customer'
+import useAxios from '@core/utils/useAxios'
+import type { last, Price } from "@/model/price";
+import type { TableInput } from '@core/type/baseTable'
+import type { MethodePrices } from "@/model/product";
+
+export const createPrice = async (obj: Price) => await useAxios.post(`/admin/price`, obj)
+
+export const getPriceTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/price/table', params)
+
+export const getLastPrice = async () => await useAxios.get(`/api/price/last`)
+
+export const methodePrices = async () => await useAxios.get('/admin/p')
diff --git a/src/api/priceTriggers.ts b/src/api/priceTriggers.ts
new file mode 100644
index 0000000..7f5b8af
--- /dev/null
+++ b/src/api/priceTriggers.ts
@@ -0,0 +1,6 @@
+import type {TableInput} from "@core/type/baseTable";
+import useAxios from "@core/utils/useAxios";
+import type {PriceTriggers} from "@/model/priceTriggers";
+
+export const getPriceTriggersTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/price_triggers/table', params)
\ No newline at end of file
diff --git a/src/api/product.ts b/src/api/product.ts
new file mode 100644
index 0000000..c92f188
--- /dev/null
+++ b/src/api/product.ts
@@ -0,0 +1,61 @@
+import useAxios from '@core/utils/useAxios'
+import type { AddId, Customer } from '@/model/customer'
+import type { TableInput } from '@core/type/baseTable'
+import type { Accounting } from "@/model/accounting"
+import type { Balance, SetActiveTime } from "@/model/product";
+
+export const createProduct = async (obj: Customer) =>
+ await useAxios.post(`/admin/product`, obj)
+
+export const deleteCustomer = async (id: number) => await useAxios.delete(`/admin/product/${id}`)
+export const updateCustomer = async (id: number, obj: Customer) =>
+ await useAxios.put(`/admin/product/${id}`, obj)
+
+export const getCustomerTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/product/table', params)
+
+export const getCustomersList = async () => await useAxios.get(`/admin/product/list`)
+
+export const changeProductActivation = async (id: number) =>
+ await useAxios.get(`/admin/product/active/${id}`)
+
+export const changeCustomerOrderActivation = async (id: number) =>
+ await useAxios.get(`/admin/product/trade/${id}`)
+
+export const changeCustomerArchive = async (id: number) =>
+ await useAxios.get(`/admin/product/archive/${id}`)
+
+export const confirmUser = async (id: number) =>
+ await useAxios.get(`/admin/product/is_valid/${id}`)
+
+export const getCustomerArchiveTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/product/archive/table', params)
+
+export const getSingleTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/product/single/table', params)
+
+export const getSingleArchiveTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/product/single/archive/table', params)
+
+export const getCustomerById = async (id: number) => {
+ return await useAxios.get(`/admin/product/${id}`)
+}
+export const changeBuyActiveProduct = async (id?: number) => {
+ return await useAxios.get(`/admin/product/open_buy/${id}`)
+}
+export const changeSellActiveProduct = async (id?: number) => {
+ return await useAxios.get(`/admin/product/open_sell/${id}`)
+}
+export const changeActiveProduct = async (id: number) => {
+ return await useAxios.get(`/admin/product/active/${id}`)
+}
+export const changeVisibilityProduct = async (id: number) => {
+ return await useAxios.get(`/admin/product/hide/${id}`)
+}
+export const setActiveTime = async (open: string, close: string) =>{
+ await useAxios.put(`/admin/products`, {auto_open_at: open, auto_close_at: close})
+}
+
+export const getBalance = async (startDate: string, endDate: string) => {
+ return await useAxios.post('/admin/getBalance', {startDate, endDate})
+}
\ No newline at end of file
diff --git a/src/api/sms.ts b/src/api/sms.ts
new file mode 100644
index 0000000..bf4a08f
--- /dev/null
+++ b/src/api/sms.ts
@@ -0,0 +1,25 @@
+import type { AddId, Customer } from '@/model/customer'
+import useAxios from '@core/utils/useAxios'
+import type { last, Price } from '@/model/price'
+import type { TableInput } from '@core/type/baseTable'
+import type { Order } from '@/model/order'
+import type { FunctionItem } from '@/model/Item'
+import sms from '@/router/routes/sms'
+import type { Sms } from '@/model/sms'
+
+export const getSMSTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/messages/table', params)
+
+export const getNumbersTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/messages/get_customer_list/table', params)
+
+export const getGroupsList = async () =>
+ await useAxios.get(`/admin/messages/functions`)
+
+export const getCustomerList = async (obj: string[]) =>
+ await useAxios.post<{ customers: Customer[] }>(`/admin/messages/get_customer_list`, {
+ functions: obj
+ })
+
+export const createSMS = async (obj: Sms) =>
+ await useAxios.post(`/admin/messages/send_message`, obj)
diff --git a/src/api/transaction.ts b/src/api/transaction.ts
new file mode 100644
index 0000000..3932f0a
--- /dev/null
+++ b/src/api/transaction.ts
@@ -0,0 +1,8 @@
+import type { TableInput } from '@core/type/baseTable'
+import useAxios from '@core/utils/useAxios'
+// import { Customer } from '@/model/customer'
+import type { Wallet } from '@/model/wallet'
+import type { Transaction } from '@/model/transaction'
+
+export const getTransactionTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/wallet/transaction/table', params)
diff --git a/src/api/user.ts b/src/api/user.ts
new file mode 100644
index 0000000..28431d4
--- /dev/null
+++ b/src/api/user.ts
@@ -0,0 +1,30 @@
+import useAxios from '@core/utils/useAxios'
+import type { AddId, User } from '@/model/user'
+import type { TableInput } from '@core/type/baseTable'
+import type {Referrals} from '@/model/referrals'
+import type {Funds} from "@/model/funds";
+
+//referrals
+export const getReferralsTable = async (params: TableInput,customer_id: number) => await useAxios.post>(`/admin/customers/${customer_id}/referrals`, params)
+//funds
+export const getFundsTable = async (params: TableInput,customer_id: number) => await useAxios.post>(`/admin/customers/${customer_id}/funds`, params)
+
+export const getReferrals = async (val: Referrals) => await useAxios.post(`/admin/customers/4/referrals`, val)
+//me
+export const getMyInformation = async () => await useAxios.get('/admin/me')
+
+export const updateMyInformation = async (val: User) => await useAxios.post('/admin/me/update', val)
+
+//users
+export const createUser = async (obj: User) => await useAxios.post(`/admin/user`, obj)
+
+export const updateUser = async (id: number, obj: User) =>
+ await useAxios.put(`/admin/user/${id}`, obj)
+
+export const deleteUser = async (id: number) => await useAxios.delete(`/admin/user/${id}`)
+
+export const getUserTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/user/table', params)
+
+export const changeUserActivation = async (id: number) =>
+ await useAxios.get(`/admin/user/active/${id}`)
diff --git a/src/api/wallet.ts b/src/api/wallet.ts
new file mode 100644
index 0000000..68cf83a
--- /dev/null
+++ b/src/api/wallet.ts
@@ -0,0 +1,29 @@
+import type { TableInput } from '@core/type/baseTable'
+import useAxios from '@core/utils/useAxios'
+// import { Customer } from '@/model/customer'
+import type { Charge, Wallet, Withdraw, SendWeight } from '@/model/wallet'
+
+export const getWalletTable = async (params?: TableInput) =>
+ await useAxios.post>('/admin/wallet/table', params)
+export const chargeWallet = async (params: Charge, type: 'gold' | 'money') =>
+ type === 'money'
+ ? await useAxios.post('/admin/wallet/charge', params)
+ : await useAxios.post('/admin/wallet/charge_gold', params)
+
+export const getWithdrawTable = async (params: TableInput) =>
+ await useAxios.post>('/admin/wallet/withdraw/table', params)
+
+export const completeWithdraw = async (params: Withdraw) =>
+ await useAxios.post('/admin/wallet/withdraw/complete', params)
+
+export const updateSts = async (id: number, sts: Object) => {
+ return await useAxios.put(`/admin/wallet/withdraw/${id}`, sts)
+}
+
+export const getWithdrawById = async (id: number) => {
+ return await useAxios.get(`/admin/wallet/withdraw/${id}`)
+}
+
+export const sendWeights = async (params: SendWeight ) => {
+ return await useAxios.put(`/admin/wallet/transaction/reprice`, params)
+}
diff --git a/src/assets/img/ghatrehLogo.png b/src/assets/img/ghatrehLogo.png
new file mode 100644
index 0000000..159909e
Binary files /dev/null and b/src/assets/img/ghatrehLogo.png differ
diff --git a/src/assets/img/ghatrehLogo_.png b/src/assets/img/ghatrehLogo_.png
new file mode 100644
index 0000000..7a5eed0
Binary files /dev/null and b/src/assets/img/ghatrehLogo_.png differ
diff --git a/src/assets/img/henzaLogo.png b/src/assets/img/henzaLogo.png
new file mode 100644
index 0000000..ed74ba9
Binary files /dev/null and b/src/assets/img/henzaLogo.png differ
diff --git a/src/assets/img/icon.png b/src/assets/img/icon.png
new file mode 100644
index 0000000..ee4d2b1
Binary files /dev/null and b/src/assets/img/icon.png differ
diff --git a/src/assets/img/logo_full_.png b/src/assets/img/logo_full_.png
new file mode 100644
index 0000000..1dd8b40
Binary files /dev/null and b/src/assets/img/logo_full_.png differ
diff --git a/src/assets/img/milliLogo.png b/src/assets/img/milliLogo.png
new file mode 100644
index 0000000..794c399
Binary files /dev/null and b/src/assets/img/milliLogo.png differ
diff --git a/src/assets/img/talaLogo.png b/src/assets/img/talaLogo.png
new file mode 100644
index 0000000..3c50070
Binary files /dev/null and b/src/assets/img/talaLogo.png differ
diff --git a/src/assets/style.less b/src/assets/style.less
new file mode 100644
index 0000000..c146f67
--- /dev/null
+++ b/src/assets/style.less
@@ -0,0 +1,95 @@
+
+
+.v-enter-active,
+.v-leave-active {
+ transition: opacity 0.5s ease;
+}
+
+.v-enter-from,
+.v-leave-to {
+ opacity: 0;
+}
+/*::-webkit-scrollbar-track {
+ background-color: #f2f6ff !important;
+}
+
+::-webkit-scrollbar {
+ width: 7px !important;
+ background-color: @primary-color !important;
+}
+
+::-webkit-scrollbar-thumb {
+ background-color: @second-color !important;
+ border-radius: @primary-color !important;
+}*/
+
+@media (max-width: 376px ) {
+ .ant-card-body {
+ padding: 5px;
+ }
+}
+
+.ant-form-item {
+ display: block;
+ margin-bottom: 0px;
+}
+
+.ant-select-selector{
+ border-radius: @border-radius-base !important;
+}
+.ant-input {
+ border-radius: @border-radius-base;
+}
+
+.ant-picker{
+ border-radius: @border-radius-base;
+ @apply w-full;
+}
+.ant-card-body{
+ @apply h-full;
+}
+.ant-table-tbody{
+ max-height: 50vh;
+}
+.ant-popover-buttons{
+ direction: ltr;
+}
+.ant-popover-title{
+ text-align: right;
+}
+
+//Todo Mohammad(this style change all tbody in project event in datepicker)
+/*tbody {
+ display: block;
+ overflow: auto;
+}*/
+
+//Todo Mohammad(this style change all tbody in project event in datepicker)
+/*thead, tbody tr {
+ display: table;
+ width: 100%;
+ table-layout: fixed;!* even columns width , fix width of table too*!
+}*/
+/*
+.ant-message-notice{
+ z-index: 1000000000000000;
+}*/
+.otp-input {
+ width: 52px;
+ height: 52px;
+ padding: 3px;
+ margin: 0 8px;
+ font-size: 20px;
+ text-align: center;
+ border: 1px solid #d1d5db;
+ border-radius: 4px;
+ background-color: white;
+ //@apply bg-gray-50;
+
+ &:focus-visible {
+ background-color: #fff;
+ //display: none;
+ outline: none;
+ border: 1px solid @primary-color !important;
+ }
+}
\ No newline at end of file
diff --git a/src/components/BasicCard.vue b/src/components/BasicCard.vue
new file mode 100644
index 0000000..7974052
--- /dev/null
+++ b/src/components/BasicCard.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicInfoItem.vue b/src/components/BasicInfoItem.vue
new file mode 100644
index 0000000..d4fa3da
--- /dev/null
+++ b/src/components/BasicInfoItem.vue
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicInfoModal/index.vue b/src/components/BasicInfoModal/index.vue
new file mode 100644
index 0000000..2c18957
--- /dev/null
+++ b/src/components/BasicInfoModal/index.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
{{ props.name }}
+
{{ props.type }}
+
+
+
{{ props.date }}
+
{{ props.time }}
+
+
+
+
+ {{ props.itemsTitle }}
+
+
+
{{ val.key }}
+
{{ val.value }}
+
+
+
توضیحات
+
{{ props.description ?? '-' }}
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicInfoModal/model/Info.ts b/src/components/BasicInfoModal/model/Info.ts
new file mode 100644
index 0000000..737c2ba
--- /dev/null
+++ b/src/components/BasicInfoModal/model/Info.ts
@@ -0,0 +1,16 @@
+export interface Info {
+ title?: string
+ date?: string
+ time?: string
+ type?: string | number
+ typeColor?: string
+ mobile?: number
+ name?: string
+ itemsTitle?: string
+ items?: Array
+ description?: string
+}
+export interface KeyVal {
+ key: string
+ value?: string | number
+}
diff --git a/src/components/BasicInput.vue b/src/components/BasicInput.vue
new file mode 100644
index 0000000..c728193
--- /dev/null
+++ b/src/components/BasicInput.vue
@@ -0,0 +1,125 @@
+
+
+
+ {{ props.title }}
+
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicMainCard.vue b/src/components/BasicMainCard.vue
new file mode 100644
index 0000000..0031e6d
--- /dev/null
+++ b/src/components/BasicMainCard.vue
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicMainCardFull.vue b/src/components/BasicMainCardFull.vue
new file mode 100644
index 0000000..cb8008f
--- /dev/null
+++ b/src/components/BasicMainCardFull.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicMenu/components/BasicMenuItem.vue b/src/components/BasicMenu/components/BasicMenuItem.vue
new file mode 100644
index 0000000..8999d6e
--- /dev/null
+++ b/src/components/BasicMenu/components/BasicMenuItem.vue
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+ {{ item?.meta?.title }}
+
+
+
+
+
+ {{ item.meta.title }}
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicMenu/index.vue b/src/components/BasicMenu/index.vue
new file mode 100644
index 0000000..8dbe1c8
--- /dev/null
+++ b/src/components/BasicMenu/index.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
diff --git a/src/components/BasicMobileHeader.vue b/src/components/BasicMobileHeader.vue
new file mode 100644
index 0000000..5bd6118
--- /dev/null
+++ b/src/components/BasicMobileHeader.vue
@@ -0,0 +1,234 @@
+
+
+
+
+
![]()
+
+
+
+
+
+
+
+
+
+
+
+ {{ userStore.userInfo?.name }}
+ {{ userStore.userInfo?.post_user }}
+
+
+
+
+
+
+ اطلاعات حساب کاربری
+
+
+
+
+
+ خروج
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicModal.vue b/src/components/BasicModal.vue
new file mode 100644
index 0000000..113bb67
--- /dev/null
+++ b/src/components/BasicModal.vue
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
diff --git a/src/components/BasicSelect.vue b/src/components/BasicSelect.vue
new file mode 100644
index 0000000..adf79ff
--- /dev/null
+++ b/src/components/BasicSelect.vue
@@ -0,0 +1,108 @@
+
+
+
+ {{ props.title }}
+
+
+
+ {{ noData }}
+
+
+
+
+ {{ val[props.valueName] }}
+
+ {{ val[props.valueName] }}
+
+ {{ val[props.valueName] }}
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicShowContext.vue b/src/components/BasicShowContext.vue
new file mode 100644
index 0000000..bb800c0
--- /dev/null
+++ b/src/components/BasicShowContext.vue
@@ -0,0 +1,17 @@
+
+
+
{{ props.title }}
+
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicTags/index.vue b/src/components/BasicTags/index.vue
new file mode 100644
index 0000000..4a6ff33
--- /dev/null
+++ b/src/components/BasicTags/index.vue
@@ -0,0 +1,63 @@
+
+
+
+
{{ item.name }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicTags/model/index.ts b/src/components/BasicTags/model/index.ts
new file mode 100644
index 0000000..fcb32a0
--- /dev/null
+++ b/src/components/BasicTags/model/index.ts
@@ -0,0 +1,4 @@
+export interface TagItem {
+ id: number | undefined
+ name: string | undefined
+}
diff --git a/src/components/BasicTextArea.vue b/src/components/BasicTextArea.vue
new file mode 100644
index 0000000..a80cc8d
--- /dev/null
+++ b/src/components/BasicTextArea.vue
@@ -0,0 +1,51 @@
+
+
+
+ {{ props.title }}
+
+
+
+
+
+
+
+
diff --git a/src/components/BasicUploads/BasicDraggableFileUpload.vue b/src/components/BasicUploads/BasicDraggableFileUpload.vue
new file mode 100644
index 0000000..331f399
--- /dev/null
+++ b/src/components/BasicUploads/BasicDraggableFileUpload.vue
@@ -0,0 +1,69 @@
+
+
+
+
+
برای آپلود، روی فایل کلیک کنید یا فایل را درون این قسمت بکشید
+
+
+
+
+
+
+
diff --git a/src/components/BasicUploads/model/index.ts b/src/components/BasicUploads/model/index.ts
new file mode 100644
index 0000000..b545490
--- /dev/null
+++ b/src/components/BasicUploads/model/index.ts
@@ -0,0 +1,4 @@
+export interface FileList {
+ uid?: any | null | undefined
+ name?: any | null | undefined
+}
diff --git a/src/components/BudgetSelect.vue b/src/components/BudgetSelect.vue
new file mode 100644
index 0000000..4d7febd
--- /dev/null
+++ b/src/components/BudgetSelect.vue
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/CustomTag.vue b/src/components/CustomTag.vue
new file mode 100644
index 0000000..a1b68b3
--- /dev/null
+++ b/src/components/CustomTag.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ProductUploader/IndexImageUploader.vue b/src/components/ProductUploader/IndexImageUploader.vue
new file mode 100644
index 0000000..09103b8
--- /dev/null
+++ b/src/components/ProductUploader/IndexImageUploader.vue
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/ProductUploader/ProductImageUploader.vue b/src/components/ProductUploader/ProductImageUploader.vue
new file mode 100644
index 0000000..fca4613
--- /dev/null
+++ b/src/components/ProductUploader/ProductImageUploader.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
diff --git a/src/components/ProductUploader/UploaderImage.vue b/src/components/ProductUploader/UploaderImage.vue
new file mode 100644
index 0000000..054e98f
--- /dev/null
+++ b/src/components/ProductUploader/UploaderImage.vue
@@ -0,0 +1,72 @@
+
+
+
+
![test]()
+
+
+
+ setVisible(true)"
+ />
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/SelectCompany/ReadyCitySelect.vue b/src/components/SelectCompany/ReadyCitySelect.vue
new file mode 100644
index 0000000..7faaddd
--- /dev/null
+++ b/src/components/SelectCompany/ReadyCitySelect.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
diff --git a/src/components/SelectCompany/ReadyProvinceSelect.vue b/src/components/SelectCompany/ReadyProvinceSelect.vue
new file mode 100644
index 0000000..cee7f50
--- /dev/null
+++ b/src/components/SelectCompany/ReadyProvinceSelect.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
diff --git a/src/core/README.md b/src/core/README.md
new file mode 100644
index 0000000..d069431
--- /dev/null
+++ b/src/core/README.md
@@ -0,0 +1,22 @@
+# Admin-Vue3-Core
+
+This is core admin vue 3 contains
+- basic components
+- composable
+- utils
+- base
+- config of project
+and ...
+## How use Core
+load component and other from /core/ folder and use (very easy)
+## How get update core
+```git
+git submodule update --remote --recursive
+```
+#### run top command in root of project
+
+#### The above Link describe about git submodule
+
+https://www.devroom.io/2020/03/09/the-git-submodule-cheat-sheet/
+
+
diff --git a/src/core/assets/css/ant-override.less b/src/core/assets/css/ant-override.less
new file mode 100644
index 0000000..7784e87
--- /dev/null
+++ b/src/core/assets/css/ant-override.less
@@ -0,0 +1,75 @@
+@import (less) "./var.less";
+
+.ant-input-affix-wrapper,
+.ant-dropdown-menu,
+.ant-menu-submenu > .ant-menu,
+.ant-tag,
+.ant-card,
+.ant-btn,
+.ant-picker,
+.ant-picker-panel-container,
+.ant-modal-content
+{
+ border-radius: var(--border-radius-base);
+}
+
+.ant-modal-header{
+ border-radius: var(--border-radius-base) var(--border-radius-base) 0 0;
+}
+
+.ant-modal-header{
+ padding: 16px;
+}
+
+.ant-modal-header{
+ border-bottom:none;
+}
+
+.ant-modal-footer{
+ border-top:none;
+}
+
+.ant-modal-close{
+ left: 0 !important;
+ right: unset;
+}
+
+.ant-modal-body{
+ padding: 12px;
+}
+
+
+
+.ant-drawer-header{
+ padding: 12px;
+}
+.ant-drawer-body{
+ padding: 12px;
+}
+
+.ant-card-body{
+ padding: 12px;
+}
+
+.ant-pagination-prev .ant-pagination-item-link, .ant-pagination-next .ant-pagination-item-link,.ant-pagination-item{
+ font-family: var(--font-family-base);
+ border-radius: var(--border-radius-base) !important;
+}
+
+.ant-input-group > .ant-input-rtl:first-child, .ant-input-group-rtl .ant-input-group-addon:first-child {
+ border-radius: 0 var(--border-radius-base) var(--border-radius-base) 0;
+}
+
+.ant-input-search > .ant-input-group > .ant-input-group-addon:last-child .ant-input-search-button {
+ border-radius: var(--border-radius-base) 0 0 var(--border-radius-base);
+}
+
+
+.ant-drawer-header{
+ @apply px-1 py-3;
+}
+
+
+
+
+
diff --git a/src/core/assets/css/dark.less b/src/core/assets/css/dark.less
new file mode 100644
index 0000000..e69de29
diff --git a/src/core/assets/css/fonts.less b/src/core/assets/css/fonts.less
new file mode 100644
index 0000000..377a88a
--- /dev/null
+++ b/src/core/assets/css/fonts.less
@@ -0,0 +1,68 @@
+@import (less) './var.less';
+
+@font-face {
+ font-family: @prefixCls-font-family;
+ src: url("../fonts/iranSans/woff2/IRANSansWeb(FaNum).woff2") format("woff2");
+ font-weight: normal;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: @prefixCls-font-family;
+ src: url("../fonts/iranSans/woff2/IRANSansWeb(FaNum)_Light.woff2") format("woff2");
+ font-weight: 100;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: @prefixCls-font-family;
+ src: url("../fonts/iranSans/woff2/IRANSansWeb(FaNum)_UltraLight.woff2") format("woff2");
+ font-weight: 300;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: @prefixCls-font-family;
+ src: url("../fonts/iranSans/woff2/IRANSansWeb(FaNum)_Medium.woff2") format("woff2");
+ font-weight: 500;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: @prefixCls-font-family;
+ src: url("../fonts/iranSans/woff2/IRANSansWeb(FaNum)_Bold.woff2") format("woff");
+ font-weight: 700;
+ font-style: normal;
+}
+
+/*@font-face {
+ font-family: @prefixCls-font-family;
+ src: url("/fonts/iranYekan/woff/iranyekanwebextraboldfanum.woff") format("woff");
+ font-weight: 800;
+ font-style: normal;
+}*/
+
+@font-face {
+ font-family: @prefixCls-font-family;
+ src: url("../fonts/iranSans/woff2/IRANSansWeb(FaNum)_Black.woff2") format("woff");
+ font-weight: 900;
+ font-style: normal;
+}
+
+/*
+.font-iran-yekan{
+ font-family: 'iran-yekan' !important;
+}
+*/
+/*
+.font-100{
+ //font-family:'iran-yekan-thin';
+ font-weight:100 ;
+}
+*/
+
+
+
+
+
+
diff --git a/src/core/assets/css/main.less b/src/core/assets/css/main.less
new file mode 100644
index 0000000..99f7561
--- /dev/null
+++ b/src/core/assets/css/main.less
@@ -0,0 +1,27 @@
+//@import (css) 'ant-design-vue/lib/style/
+//@import '~ant-design-vue/dist/antd.dark.css';
+@import 'ant-design-vue/dist/antd.variable.css';
+@import (less) './scroll.less';
+@import (less) "./fonts.less";
+@import (less) './var.less';
+@import (less) './ant-override.less';
+
+
+html {
+ scroll-behavior: smooth;
+}
+
+body {
+ font-family: @prefixCls-font-family !important;
+ //background-color: @prefixCls-background-color !important;
+ //color:#555 !important;
+}
+
+/*pre{
+ font-family: @prefixCls-font-family !important;
+}*/
+
+.en-font {
+ font-family: Arial !important;
+ direction: rtl !important;
+}
\ No newline at end of file
diff --git a/src/core/assets/css/scroll.less b/src/core/assets/css/scroll.less
new file mode 100644
index 0000000..be40d48
--- /dev/null
+++ b/src/core/assets/css/scroll.less
@@ -0,0 +1,142 @@
+//ok Code
+/*html {
+ overflow: scroll;
+ overflow-x: hidden;
+}*/
+
+.scroll-none{
+ &::-webkit-scrollbar {
+ width: 0; /* Remove scrollbar space */
+ background: transparent; /* Optional: just make scrollbar invisible */
+ }
+ /* Optional: show position indicator in red */
+ &::-webkit-scrollbar-thumb {
+ //background: #FF0000;
+ }
+}
+
+
+//scroll style
+
+::-webkit-scrollbar {
+ background-color: initial;
+ //background-color: red;
+}
+
+::-webkit-scrollbar {
+ width: 0.4rem !important;
+ height: 0.4rem !important;
+}
+
+::-webkit-scrollbar-thumb {
+ --tw-bg-opacity: 1 !important;
+ background-color: rgb(203 213 225/var(--tw-bg-opacity))!important;
+}
+
+::-webkit-scrollbar-thumb {
+ border-radius: 0.25rem !important;
+}
+
+.scrollbar-track\:\!bg-slate-100::-webkit-scrollbar-track {
+ --tw-bg-opacity: 1!important;
+ background-color: rgb(241 245 249/var(--tw-bg-opacity))!important;
+}
+
+::-webkit-scrollbar-track {
+ border-radius: 0.25rem!important;
+}
+
+
+
+
+
+
+
+
+/*
+.beauty-scroll{
+ scrollbar-color: red green;
+ scrollbar-width: thin;
+ -ms-overflow-style:none;
+ position: relative;
+ &::-webkit-scrollbar{
+ width: 3px;
+ height: 1px;
+ }
+ &::-webkit-scrollbar-thumb {
+ border-radius: 3px;
+ background: burlywood;
+ }
+ &::-webkit-scrollbar-track {
+ -webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
+ border-radius: 3px;
+ background: aqua;
+ }
+}
+*/
+
+/*&::-webkit-scrollbar{
+ width: 3px;
+ height: 1px;
+}
+&::-webkit-scrollbar-thumb {
+ border-radius: 3px;
+ background: burlywood;
+}
+&::-webkit-scrollbar-track {
+ -webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
+ border-radius: 3px;
+ background: aqua;
+}*/
+
+/* custom scrollbar */
+/*::-webkit-scrollbar {
+ width: 17px;
+}
+
+::-webkit-scrollbar-track {
+ background-color: transparent;
+}
+
+::-webkit-scrollbar-thumb {
+ background-color: #d6dee1;
+ border-radius: 20px;
+ border: 6px solid transparent;
+ background-clip: content-box;
+}
+
+::-webkit-scrollbar-thumb:hover {
+ background-color: #a8bbbf;
+}*/
+
+
+
+//ok Code
+/*
+html {
+ overflow: scroll;
+ overflow-x: hidden;
+}
+::-webkit-scrollbar {
+ width: 0; !* Remove scrollbar space *!
+ background: transparent; !* Optional: just make scrollbar invisible *!
+}
+!* Optional: show position indicator in red *!
+::-webkit-scrollbar-thumb {
+ //background: #FF0000;
+}
+*/
+
+
+//ok code
+/*html {
+ overflow: scroll;
+}
+::-webkit-scrollbar {
+ width: 0px;
+ background: transparent; !* make scrollbar transparent *!
+}*/
+
+
+
+
diff --git a/src/core/assets/css/var.less b/src/core/assets/css/var.less
new file mode 100644
index 0000000..4862a77
--- /dev/null
+++ b/src/core/assets/css/var.less
@@ -0,0 +1,71 @@
+//old method
+//override ant less variable
+//https://github.com/vueComponent/ant-design-vue/blob/main/components/style/themes/default.less
+// The prefix to use on all css classes from ant.
+/*@prefixCls: 'adminV3';
+!* Theme Config *!
+@header-height:56px;
+@prefixCls-font-family: 'iran-sans';
+@ant-prefix: @prefixCls;
+@primary-color:#0052d9; // #727071; //#abc2f7; //#f4474d;
+@border-radius-base: 4px;
+
+html{
+ --ant-primary-color:@primary-color;
+ --ant-primary-1:#f2f3ff;//#f6f6f4;
+ --border-radius-base:@border-radius-base;
+}*/
+
+
+
+//todo change var
+//new method
+
+@prefixCls: 'hr-tamin';
+/* Theme Config */
+@header-height:56px;
+@prefixCls-font-family: 'iran-sans';
+@ant-prefix: @prefixCls;
+@primary-color:#2563eb; // #727071; //#abc2f7; //#f4474d;
+@second-color: #3b82f6; // #727071; //#abc2f7; //#f4474d;
+@third-color: #B2B2B2; // #727071; //#abc2f7; //#f4474d;
+
+@bg-color-1: #F9FAFB;
+@bg-color-2: #F6F6F4;
+@border-color-1: #B2B2B2;
+
+@border-radius-base: 4px;
+
+html{
+ --ant-primary-color:@primary-color;
+ --ant-primary-color-hover:@second-color;
+ --ant-primary-color-active:@third-color;
+ --ant-primary-1:#f2f3ff;//#f6f6f4;
+ --border-radius-base:@border-radius-base;
+}
+
+
+
+/*
+@ant-prefix: @prefixCls;
+@border-radius-base: 8px; // major border radius
+@primary-color:#2b55e2; //#abc2f7; //#f4474d;
+// Border color
+@border-color-base: @gray-100; // base border outline a component
+// Form
+@form-item-label-font-size: 14px;
+//variables
+@prefixCls-font-family: 'iran-sans';
+@prefixCls-background-color: #fff;
+@gray-50: #f6f7f9;
+@gray-100: #e8eaee;
+@gray-900: #656f87;
+@prefixCls-secondary:#abc2f7; // #0072e9;
+@prefixCls-primary-rgba: #fce6e6;
+@prefixCls-secondary-rgb: #0072E914;
+@prefixCls-tertiary: #feb701;
+@prefixCls-tertiary-rgba: #fec94114;
+@prefixCls-green: #0f7f36;
+@prefixCls-green-rgba: #ecf5ef;
+@prefixCls-red: #f4474d;
+@prefixCls-red-rgba: #fce6e6;*/
diff --git a/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum).eot b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum).eot
new file mode 100644
index 0000000..389ec4b
Binary files /dev/null and b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum).eot differ
diff --git a/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Black.eot b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Black.eot
new file mode 100644
index 0000000..a9c2bef
Binary files /dev/null and b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Black.eot differ
diff --git a/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Bold.eot b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Bold.eot
new file mode 100644
index 0000000..7ce9b1b
Binary files /dev/null and b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Bold.eot differ
diff --git a/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Light.eot b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Light.eot
new file mode 100644
index 0000000..ee72989
Binary files /dev/null and b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Light.eot differ
diff --git a/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Medium.eot b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Medium.eot
new file mode 100644
index 0000000..3c20c14
Binary files /dev/null and b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_Medium.eot differ
diff --git a/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_UltraLight.eot b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_UltraLight.eot
new file mode 100644
index 0000000..c789bb3
Binary files /dev/null and b/src/core/assets/fonts/iranSans/eot/IRANSansWeb(FaNum)_UltraLight.eot differ
diff --git a/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum).ttf b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum).ttf
new file mode 100644
index 0000000..3835c1d
Binary files /dev/null and b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum).ttf differ
diff --git a/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Black.ttf b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Black.ttf
new file mode 100644
index 0000000..42af658
Binary files /dev/null and b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Black.ttf differ
diff --git a/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Bold.ttf b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Bold.ttf
new file mode 100644
index 0000000..adbf9e4
Binary files /dev/null and b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Bold.ttf differ
diff --git a/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Light.ttf b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Light.ttf
new file mode 100644
index 0000000..fae92bd
Binary files /dev/null and b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Light.ttf differ
diff --git a/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Medium.ttf b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Medium.ttf
new file mode 100644
index 0000000..9622928
Binary files /dev/null and b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_Medium.ttf differ
diff --git a/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_UltraLight.ttf b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_UltraLight.ttf
new file mode 100644
index 0000000..59dfb58
Binary files /dev/null and b/src/core/assets/fonts/iranSans/ttf/IRANSansWeb(FaNum)_UltraLight.ttf differ
diff --git a/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum).woff b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum).woff
new file mode 100644
index 0000000..1e6eb36
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum).woff differ
diff --git a/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Black.woff b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Black.woff
new file mode 100644
index 0000000..019c556
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Black.woff differ
diff --git a/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Bold.woff b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Bold.woff
new file mode 100644
index 0000000..7008b60
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Bold.woff differ
diff --git a/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Light.woff b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Light.woff
new file mode 100644
index 0000000..ecea926
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Light.woff differ
diff --git a/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Medium.woff b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Medium.woff
new file mode 100644
index 0000000..587883a
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_Medium.woff differ
diff --git a/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_UltraLight.woff b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_UltraLight.woff
new file mode 100644
index 0000000..c815b45
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff/IRANSansWeb(FaNum)_UltraLight.woff differ
diff --git a/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum).woff2 b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum).woff2
new file mode 100644
index 0000000..c3dcbab
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum).woff2 differ
diff --git a/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Black.woff2 b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Black.woff2
new file mode 100644
index 0000000..fc008ef
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Black.woff2 differ
diff --git a/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Bold.woff2 b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Bold.woff2
new file mode 100644
index 0000000..69f7c66
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Bold.woff2 differ
diff --git a/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Light.woff2 b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Light.woff2
new file mode 100644
index 0000000..40f5b09
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Light.woff2 differ
diff --git a/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Medium.woff2 b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Medium.woff2
new file mode 100644
index 0000000..8273b0a
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_Medium.woff2 differ
diff --git a/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_UltraLight.woff2 b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_UltraLight.woff2
new file mode 100644
index 0000000..8b77d17
Binary files /dev/null and b/src/core/assets/fonts/iranSans/woff2/IRANSansWeb(FaNum)_UltraLight.woff2 differ
diff --git a/src/core/assets/icons/icon.json b/src/core/assets/icons/icon.json
new file mode 100644
index 0000000..e1050d9
--- /dev/null
+++ b/src/core/assets/icons/icon.json
@@ -0,0 +1,1022 @@
+{
+ "vuesax-linear:24-support": "\n",
+ "vuesax-linear:3d-cube-scan": "\n",
+ "vuesax-linear:3d-rotate": "\n",
+ "vuesax-linear:3d-square": "\n",
+ "vuesax-linear:3dcube": "\n",
+ "vuesax-linear:3full": "\n",
+ "vuesax-linear:3square": "\n",
+ "vuesax-linear:aave-(aave)": "\n",
+ "vuesax-linear:activity": "\n",
+ "vuesax-linear:add-circle": "\n",
+ "vuesax-linear:add-square": "\n",
+ "vuesax-linear:add": "\n",
+ "vuesax-linear:additem": "\n",
+ "vuesax-linear:airdrop": "\n",
+ "vuesax-linear:airplane-square": "\n",
+ "vuesax-linear:airplane": "\n",
+ "vuesax-linear:airpod": "\n",
+ "vuesax-linear:airpods": "\n",
+ "vuesax-linear:alarm": "\n",
+ "vuesax-linear:align-bottom": "\n",
+ "vuesax-linear:align-horizontally": "\n",
+ "vuesax-linear:align-left": "\n",
+ "vuesax-linear:align-right": "\n",
+ "vuesax-linear:align-vertically": "\n",
+ "vuesax-linear:android": "\n",
+ "vuesax-linear:ankr-(ankr)": "\n",
+ "vuesax-linear:apple": "\n",
+ "vuesax-linear:aquarius": "\n",
+ "vuesax-linear:archive-1": "\n",
+ "vuesax-linear:archive-add": "\n",
+ "vuesax-linear:archive-book": "\n",
+ "vuesax-linear:archive-minus": "\n",
+ "vuesax-linear:archive-slash": "\n",
+ "vuesax-linear:archive-tick": "\n",
+ "vuesax-linear:archive": "\n",
+ "vuesax-linear:arrange-circle-2": "\n",
+ "vuesax-linear:arrange-circle": "\n",
+ "vuesax-linear:arrange-square-2": "\n",
+ "vuesax-linear:arrange-square": "\n",
+ "vuesax-linear:arrow-2": "\n",
+ "vuesax-linear:arrow-3": "\n",
+ "vuesax-linear:arrow-bottom": "\n",
+ "vuesax-linear:arrow-circle-down": "\n",
+ "vuesax-linear:arrow-circle-left": "\n",
+ "vuesax-linear:arrow-circle-right": "\n",
+ "vuesax-linear:arrow-down-1": "\n",
+ "vuesax-linear:arrow-down-2": "\n",
+ "vuesax-linear:arrow-down": "\n",
+ "vuesax-linear:arrow-left-1": "\n",
+ "vuesax-linear:arrow-left-2": "\n",
+ "vuesax-linear:arrow-left-3": "\n",
+ "vuesax-linear:arrow-left": "\n",
+ "vuesax-linear:arrow-right-1": "\n",
+ "vuesax-linear:arrow-right-2": "\n",
+ "vuesax-linear:arrow-right-3": "\n",
+ "vuesax-linear:arrow-right": "\n",
+ "vuesax-linear:arrow-square-down": "\n",
+ "vuesax-linear:arrow-square-left": "\n",
+ "vuesax-linear:arrow-square-right": "\n",
+ "vuesax-linear:arrow-square-up": "\n",
+ "vuesax-linear:arrow-square": "\n",
+ "vuesax-linear:arrow-swap-horizontal": "\n",
+ "vuesax-linear:arrow-up-1": "\n",
+ "vuesax-linear:arrow-up-2": "\n",
+ "vuesax-linear:arrow-up-3": "\n",
+ "vuesax-linear:arrow-up": "\n",
+ "vuesax-linear:arrow": "\n",
+ "vuesax-linear:attach-circle": "\n",
+ "vuesax-linear:attach-square": "\n",
+ "vuesax-linear:audio-square": "\n",
+ "vuesax-linear:augur-(rep)": "\n",
+ "vuesax-linear:autobrightness": "\n",
+ "vuesax-linear:autonio-(niox)": "\n",
+ "vuesax-linear:avalanche-(avax)": "\n",
+ "vuesax-linear:award": "\n",
+ "vuesax-linear:back-square": "\n",
+ "vuesax-linear:backward-10-seconds": "\n",
+ "vuesax-linear:backward-15-seconds": "\n",
+ "vuesax-linear:backward-5-seconds": "\n",
+ "vuesax-linear:backward-item-1": "\n",
+ "vuesax-linear:backward-item": "\n",
+ "vuesax-linear:backward": "\n",
+ "vuesax-linear:bag-2": "\n",
+ "vuesax-linear:bag-cross-1": "\n",
+ "vuesax-linear:bag-cross": "\n",
+ "vuesax-linear:bag-happy": "\n",
+ "vuesax-linear:bag-tick-2": "\n",
+ "vuesax-linear:bag-tick": "\n",
+ "vuesax-linear:bag-timer": "\n",
+ "vuesax-linear:bag": "\n",
+ "vuesax-linear:bank": "\n",
+ "vuesax-linear:barcode": "\n",
+ "vuesax-linear:battery-3full": "\n",
+ "vuesax-linear:battery-charging": "\n",
+ "vuesax-linear:battery-disable": "\n",
+ "vuesax-linear:battery-empty-1": "\n",
+ "vuesax-linear:battery-empty": "\n",
+ "vuesax-linear:battery-full": "\n",
+ "vuesax-linear:be": "\n",
+ "vuesax-linear:bezier-1": "\n",
+ "vuesax-linear:bezier": "\n",
+ "vuesax-linear:bill": "\n",
+ "vuesax-linear:binance-coin-(bnb)": "\n",
+ "vuesax-linear:binance-usd-(busd)": "\n",
+ "vuesax-linear:bitcoin-(btc)": "\n",
+ "vuesax-linear:bitcoin-card": "\n",
+ "vuesax-linear:bitcoin-convert": "\n",
+ "vuesax-linear:bitcoin-refresh": "\n",
+ "vuesax-linear:blend-2": "\n",
+ "vuesax-linear:blend": "\n",
+ "vuesax-linear:blogger": "\n",
+ "vuesax-linear:bluetooth-2": "\n",
+ "vuesax-linear:bluetooth-circle": "\n",
+ "vuesax-linear:bluetooth-rectangle": "\n",
+ "vuesax-linear:bluetooth": "\n",
+ "vuesax-linear:blur-1": "\n",
+ "vuesax-linear:blur": "\n",
+ "vuesax-linear:book-1": "\n",
+ "vuesax-linear:book-saved": "\n",
+ "vuesax-linear:book-square": "\n",
+ "vuesax-linear:book": "\n",
+ "vuesax-linear:bookmark-2": "\n",
+ "vuesax-linear:bookmark": "\n",
+ "vuesax-linear:bootsrap": "\n",
+ "vuesax-linear:box-1": "\n",
+ "vuesax-linear:box-2": "\n",
+ "vuesax-linear:box-add": "\n",
+ "vuesax-linear:box-remove": "\n",
+ "vuesax-linear:box-search": "\n",
+ "vuesax-linear:box-tick": "\n",
+ "vuesax-linear:box-time": "\n",
+ "vuesax-linear:box": "\n",
+ "vuesax-linear:briefcase": "\n",
+ "vuesax-linear:brifecase-cross": "\n",
+ "vuesax-linear:brifecase-tick": "\n",
+ "vuesax-linear:brifecase-timer": "\n",
+ "vuesax-linear:broom": "\n",
+ "vuesax-linear:brush-1": "\n",
+ "vuesax-linear:brush-2": "\n",
+ "vuesax-linear:brush-3": "\n",
+ "vuesax-linear:brush": "\n",
+ "vuesax-linear:bubble": "\n",
+ "vuesax-linear:bucket-circle-1": "\n",
+ "vuesax-linear:bucket-circle": "\n",
+ "vuesax-linear:bucket-square-1": "\n",
+ "vuesax-linear:bucket-square": "\n",
+ "vuesax-linear:building-3": "\n",
+ "vuesax-linear:building-4": "\n",
+ "vuesax-linear:building": "\n",
+ "vuesax-linear:buildings-2": "\n",
+ "vuesax-linear:buildings": "\n",
+ "vuesax-linear:buliding": "\n",
+ "vuesax-linear:bus": "\n",
+ "vuesax-linear:buy-crypto": "\n",
+ "vuesax-linear:cake": "\n",
+ "vuesax-linear:calculator": "\n",
+ "vuesax-linear:calendar-1": "\n",
+ "vuesax-linear:calendar-2": "\n",
+ "vuesax-linear:calendar-add": "\n",
+ "vuesax-linear:calendar-circle": "\n",
+ "vuesax-linear:calendar-edit": "\n",
+ "vuesax-linear:calendar-remove": "\n",
+ "vuesax-linear:calendar-search": "\n",
+ "vuesax-linear:calendar-tick": "\n",
+ "vuesax-linear:calendar": "\n",
+ "vuesax-linear:call-add": "\n",
+ "vuesax-linear:call-calling": "\n",
+ "vuesax-linear:call-incoming": "\n",
+ "vuesax-linear:call-minus": "\n",
+ "vuesax-linear:call-outgoing": "\n",
+ "vuesax-linear:call-received": "\n",
+ "vuesax-linear:call-remove": "\n",
+ "vuesax-linear:call-slash": "\n",
+ "vuesax-linear:call": "\n",
+ "vuesax-linear:camera-slash": "\n",
+ "vuesax-linear:camera": "\n",
+ "vuesax-linear:candle-2": "\n",
+ "vuesax-linear:candle": "\n",
+ "vuesax-linear:car": "\n",
+ "vuesax-linear:card-add": "\n",
+ "vuesax-linear:card-coin": "\n",
+ "vuesax-linear:card-edit": "\n",
+ "vuesax-linear:card-pos": "\n",
+ "vuesax-linear:card-receive": "\n",
+ "vuesax-linear:card-remove-1": "\n",
+ "vuesax-linear:card-remove": "\n",
+ "vuesax-linear:card-send": "\n",
+ "vuesax-linear:card-slash": "\n",
+ "vuesax-linear:card-tick-1": "\n",
+ "vuesax-linear:card-tick": "\n",
+ "vuesax-linear:card": "\n",
+ "vuesax-linear:cardano-(ada)": "\n",
+ "vuesax-linear:cards": "\n",
+ "vuesax-linear:category-2": "\n",
+ "vuesax-linear:category": "\n",
+ "vuesax-linear:cd": "\n",
+ "vuesax-linear:celo-(celo)": "\n",
+ "vuesax-linear:celsius-(cel)-": "\n",
+ "vuesax-linear:chainlink-(link)": "\n",
+ "vuesax-linear:chart-1": "\n",
+ "vuesax-linear:chart-2": "\n",
+ "vuesax-linear:chart-21": "\n",
+ "vuesax-linear:chart-3": "\n",
+ "vuesax-linear:chart-square": "\n",
+ "vuesax-linear:chart-success": "\n",
+ "vuesax-linear:chart": "\n",
+ "vuesax-linear:check": "\n",
+ "vuesax-linear:chrome": "\n",
+ "vuesax-linear:civic-(cvc)": "\n",
+ "vuesax-linear:clipboard-close": "\n",
+ "vuesax-linear:clipboard-export": "\n",
+ "vuesax-linear:clipboard-import": "\n",
+ "vuesax-linear:clipboard-text": "\n",
+ "vuesax-linear:clipboard-tick": "\n",
+ "vuesax-linear:clipboard": "\n",
+ "vuesax-linear:clock-1": "\n",
+ "vuesax-linear:clock": "\n",
+ "vuesax-linear:close-circle": "\n",
+ "vuesax-linear:close-square": "\n",
+ "vuesax-linear:cloud-add": "\n",
+ "vuesax-linear:cloud-change": "\n",
+ "vuesax-linear:cloud-connection": "\n",
+ "vuesax-linear:cloud-cross": "\n",
+ "vuesax-linear:cloud-drizzle": "\n",
+ "vuesax-linear:cloud-fog": "\n",
+ "vuesax-linear:cloud-lightning": "\n",
+ "vuesax-linear:cloud-minus": "\n",
+ "vuesax-linear:cloud-notif": "\n",
+ "vuesax-linear:cloud-plus": "\n",
+ "vuesax-linear:cloud-remove": "\n",
+ "vuesax-linear:cloud-snow": "\n",
+ "vuesax-linear:cloud-sunny": "\n",
+ "vuesax-linear:cloud": "\n",
+ "vuesax-linear:code-1": "\n",
+ "vuesax-linear:code-circle": "\n",
+ "vuesax-linear:code": "\n",
+ "vuesax-linear:coffee": "\n",
+ "vuesax-linear:coin-1": "\n",
+ "vuesax-linear:coin": "\n",
+ "vuesax-linear:color-swatch": "\n",
+ "vuesax-linear:colorfilter": "\n",
+ "vuesax-linear:colors-square-1": "\n",
+ "vuesax-linear:colors-square": "\n",
+ "vuesax-linear:command-square": "\n",
+ "vuesax-linear:command": "\n",
+ "vuesax-linear:component-1": "\n",
+ "vuesax-linear:component": "\n",
+ "vuesax-linear:computing": "\n",
+ "vuesax-linear:convert-3d-cube": "\n",
+ "vuesax-linear:convert": "\n",
+ "vuesax-linear:convertshape-2": "\n",
+ "vuesax-linear:convertshape": "\n",
+ "vuesax-linear:copy-success": "\n",
+ "vuesax-linear:copy": "\n",
+ "vuesax-linear:copyright": "\n",
+ "vuesax-linear:courthouse": "\n",
+ "vuesax-linear:cpu-charge": "\n",
+ "vuesax-linear:cpu-setting": "\n",
+ "vuesax-linear:cpu": "\n",
+ "vuesax-linear:creative-commons": "\n",
+ "vuesax-linear:crop": "\n",
+ "vuesax-linear:crown-1": "\n",
+ "vuesax-linear:crown": "\n",
+ "vuesax-linear:cup": "\n",
+ "vuesax-linear:dai-(dai)": "\n",
+ "vuesax-linear:danger": "\n",
+ "vuesax-linear:dash-(dash)": "\n",
+ "vuesax-linear:data-2": "\n",
+ "vuesax-linear:data": "\n",
+ "vuesax-linear:decred-(dcr)": "\n",
+ "vuesax-linear:dent-(dent)": "\n",
+ "vuesax-linear:designtools": "\n",
+ "vuesax-linear:device-message": "\n",
+ "vuesax-linear:devices-1": "\n",
+ "vuesax-linear:devices": "\n",
+ "vuesax-linear:diagram": "\n",
+ "vuesax-linear:diamonds": "\n",
+ "vuesax-linear:direct-down": "\n",
+ "vuesax-linear:direct-inbox": "\n",
+ "vuesax-linear:direct-left": "\n",
+ "vuesax-linear:direct-normal": "\n",
+ "vuesax-linear:direct-notification": "\n",
+ "vuesax-linear:direct-right": "\n",
+ "vuesax-linear:direct-send": "\n",
+ "vuesax-linear:direct-up": "\n",
+ "vuesax-linear:direct": "\n",
+ "vuesax-linear:directbox-default": "\n",
+ "vuesax-linear:directbox-notif": "\n",
+ "vuesax-linear:directbox-receive": "\n",
+ "vuesax-linear:directbox-send": "\n",
+ "vuesax-linear:discount-circle": "\n",
+ "vuesax-linear:discount-shape": "\n",
+ "vuesax-linear:discover-1": "\n",
+ "vuesax-linear:discover": "\n",
+ "vuesax-linear:dislike": "\n",
+ "vuesax-linear:document-1": "\n",
+ "vuesax-linear:document-cloud": "\n",
+ "vuesax-linear:document-code-2": "\n",
+ "vuesax-linear:document-code": "\n",
+ "vuesax-linear:document-copy": "\n",
+ "vuesax-linear:document-download": "\n",
+ "vuesax-linear:document-favorite": "\n",
+ "vuesax-linear:document-filter": "\n",
+ "vuesax-linear:document-forward": "\n",
+ "vuesax-linear:document-like": "\n",
+ "vuesax-linear:document-normal": "\n",
+ "vuesax-linear:document-previous": "\n",
+ "vuesax-linear:document-sketch": "\n",
+ "vuesax-linear:document-text-1": "\n",
+ "vuesax-linear:document-text": "\n",
+ "vuesax-linear:document-upload": "\n",
+ "vuesax-linear:document": "\n",
+ "vuesax-linear:dollar-circle": "\n",
+ "vuesax-linear:dollar-square": "\n",
+ "vuesax-linear:dribbble": "\n",
+ "vuesax-linear:driver-2": "\n",
+ "vuesax-linear:driver-refresh": "\n",
+ "vuesax-linear:driver": "\n",
+ "vuesax-linear:driving": "\n",
+ "vuesax-linear:drop": "\n",
+ "vuesax-linear:dropbox": "\n",
+ "vuesax-linear:edit-2": "\n",
+ "vuesax-linear:edit": "\n",
+ "vuesax-linear:educare-(ekt)": "\n",
+ "vuesax-linear:electricity": "\n",
+ "vuesax-linear:element-1": "\n",
+ "vuesax-linear:element-2": "\n",
+ "vuesax-linear:element-3": "\n",
+ "vuesax-linear:element-4": "\n",
+ "vuesax-linear:element-equal": "\n",
+ "vuesax-linear:element-plus": "\n",
+ "vuesax-linear:emercoin-(emc)": "\n",
+ "vuesax-linear:emoji-happy": "\n",
+ "vuesax-linear:emoji-normal": "\n",
+ "vuesax-linear:emoji-sad": "\n",
+ "vuesax-linear:empty-wallet-add": "\n",
+ "vuesax-linear:empty-wallet-change": "\n",
+ "vuesax-linear:empty-wallet-remove": "\n",
+ "vuesax-linear:empty-wallet-tick": "\n",
+ "vuesax-linear:empty-wallet-time": "\n",
+ "vuesax-linear:empty-wallet": "\n",
+ "vuesax-linear:enjin-coin-(enj)": "\n",
+ "vuesax-linear:eos-(eos)": "\n",
+ "vuesax-linear:eraser-1": "\n",
+ "vuesax-linear:eraser-2": "\n",
+ "vuesax-linear:eraser": "\n",
+ "vuesax-linear:ethereum-(eth)": "\n",
+ "vuesax-linear:ethereum-classic-(etc)": "\n",
+ "vuesax-linear:export-1": "\n",
+ "vuesax-linear:export-2": "\n",
+ "vuesax-linear:export-3": "\n",
+ "vuesax-linear:export": "\n",
+ "vuesax-linear:external-drive": "\n",
+ "vuesax-linear:eye-slash": "\n",
+ "vuesax-linear:eye": "\n",
+ "vuesax-linear:facebook": "\n",
+ "vuesax-linear:fatrows": "\n",
+ "vuesax-linear:favorite-chart": "\n",
+ "vuesax-linear:figma-1": "\n",
+ "vuesax-linear:figma": "\n",
+ "vuesax-linear:filter-add": "\n",
+ "vuesax-linear:filter-edit": "\n",
+ "vuesax-linear:filter-remove": "\n",
+ "vuesax-linear:filter-search": "\n",
+ "vuesax-linear:filter-square": "\n",
+ "vuesax-linear:filter-tick": "\n",
+ "vuesax-linear:filter": "\n",
+ "vuesax-linear:finger-cricle": "\n",
+ "vuesax-linear:finger-scan": "\n",
+ "vuesax-linear:firstline": "\n",
+ "vuesax-linear:flag-2": "\n",
+ "vuesax-linear:flag": "\n",
+ "vuesax-linear:flash-1": "\n",
+ "vuesax-linear:flash-circle-1": "\n",
+ "vuesax-linear:flash-circle-2": "\n",
+ "vuesax-linear:flash-circle": "\n",
+ "vuesax-linear:flash-slash": "\n",
+ "vuesax-linear:flash": "\n",
+ "vuesax-linear:folder-2": "\n",
+ "vuesax-linear:folder-add": "\n",
+ "vuesax-linear:folder-cloud": "\n",
+ "vuesax-linear:folder-connection": "\n",
+ "vuesax-linear:folder-cross": "\n",
+ "vuesax-linear:folder-favorite": "\n",
+ "vuesax-linear:folder-minus": "\n",
+ "vuesax-linear:folder-open": "\n",
+ "vuesax-linear:folder": "\n",
+ "vuesax-linear:format-circle": "\n",
+ "vuesax-linear:format-square": "\n",
+ "vuesax-linear:forward-10-seconds": "\n",
+ "vuesax-linear:forward-15-seconds": "\n",
+ "vuesax-linear:forward-5-seconds": "\n",
+ "vuesax-linear:forward-item-1": "\n",
+ "vuesax-linear:forward-item": "\n",
+ "vuesax-linear:forward-square": "\n",
+ "vuesax-linear:forward": "\n",
+ "vuesax-linear:frame-1": "\n",
+ "vuesax-linear:frame-2": "\n",
+ "vuesax-linear:frame-3": "\n",
+ "vuesax-linear:frame-4": "\n",
+ "vuesax-linear:frame-5": "\n",
+ "vuesax-linear:frame": "\n",
+ "vuesax-linear:framer": "\n",
+ "vuesax-linear:ftx-token-(ftt)": "\n",
+ "vuesax-linear:gallery-add": "\n",
+ "vuesax-linear:gallery-edit": "\n",
+ "vuesax-linear:gallery-export": "\n",
+ "vuesax-linear:gallery-favorite": "\n",
+ "vuesax-linear:gallery-import": "\n",
+ "vuesax-linear:gallery-remove": "\n",
+ "vuesax-linear:gallery-slash": "\n",
+ "vuesax-linear:gallery-tick": "\n",
+ "vuesax-linear:gallery": "\n",
+ "vuesax-linear:game": "\n",
+ "vuesax-linear:gameboy": "\n",
+ "vuesax-linear:gas-station": "\n",
+ "vuesax-linear:gemini-2": "\n",
+ "vuesax-linear:gemini": "\n",
+ "vuesax-linear:ghost": "\n",
+ "vuesax-linear:gift": "\n",
+ "vuesax-linear:glass-1": "\n",
+ "vuesax-linear:glass": "\n",
+ "vuesax-linear:global-edit": "\n",
+ "vuesax-linear:global-refresh": "\n",
+ "vuesax-linear:global-search": "\n",
+ "vuesax-linear:global": "\n",
+ "vuesax-linear:google-1": "\n",
+ "vuesax-linear:google-play": "\n",
+ "vuesax-linear:google": "\n",
+ "vuesax-linear:gps-slash": "\n",
+ "vuesax-linear:gps": "\n",
+ "vuesax-linear:grammerly": "\n",
+ "vuesax-linear:graph": "\n",
+ "vuesax-linear:grid-1": "\n",
+ "vuesax-linear:grid-2": "\n",
+ "vuesax-linear:grid-3": "\n",
+ "vuesax-linear:grid-4": "\n",
+ "vuesax-linear:grid-5": "\n",
+ "vuesax-linear:grid-6": "\n",
+ "vuesax-linear:grid-7": "\n",
+ "vuesax-linear:grid-8": "\n",
+ "vuesax-linear:grid-9": "\n",
+ "vuesax-linear:grid-edit": "\n",
+ "vuesax-linear:grid-eraser": "\n",
+ "vuesax-linear:grid-lock": "\n",
+ "vuesax-linear:group-1": "\n",
+ "vuesax-linear:group-10": "\n",
+ "vuesax-linear:group-11": "\n",
+ "vuesax-linear:group-2": "\n",
+ "vuesax-linear:group-3": "\n",
+ "vuesax-linear:group-4": "\n",
+ "vuesax-linear:group-5": "\n",
+ "vuesax-linear:group-6": "\n",
+ "vuesax-linear:group-7": "\n",
+ "vuesax-linear:group-8": "\n",
+ "vuesax-linear:group-9": "\n",
+ "vuesax-linear:group": "\n",
+ "vuesax-linear:happyemoji": "\n",
+ "vuesax-linear:harmony-(one)": "\n",
+ "vuesax-linear:hashtag-1": "\n",
+ "vuesax-linear:hashtag-down": "\n",
+ "vuesax-linear:hashtag-up": "\n",
+ "vuesax-linear:hashtag": "\n",
+ "vuesax-linear:headphone": "\n",
+ "vuesax-linear:headphones": "\n",
+ "vuesax-linear:health": "\n",
+ "vuesax-linear:heart-add": "\n",
+ "vuesax-linear:heart-circle": "\n",
+ "vuesax-linear:heart-edit": "\n",
+ "vuesax-linear:heart-remove": "\n",
+ "vuesax-linear:heart-search": "\n",
+ "vuesax-linear:heart-slash": "\n",
+ "vuesax-linear:heart-tick": "\n",
+ "vuesax-linear:heart": "\n",
+ "vuesax-linear:hedera-hashgraph-(hbar)": "\n",
+ "vuesax-linear:hex-(hex)": "\n",
+ "vuesax-linear:hierarchy-2": "\n",
+ "vuesax-linear:hierarchy-3": "\n",
+ "vuesax-linear:hierarchy-square-2": "\n",
+ "vuesax-linear:hierarchy-square-3": "\n",
+ "vuesax-linear:hierarchy-square": "\n",
+ "vuesax-linear:hierarchy": "\n",
+ "vuesax-linear:home-2": "\n",
+ "vuesax-linear:home-hashtag": "\n",
+ "vuesax-linear:home-trend-down": "\n",
+ "vuesax-linear:home-trend-up": "\n",
+ "vuesax-linear:home-wifi": "\n",
+ "vuesax-linear:home": "\n",
+ "vuesax-linear:hospital": "\n",
+ "vuesax-linear:house-2": "\n",
+ "vuesax-linear:house": "\n",
+ "vuesax-linear:html-3": "\n",
+ "vuesax-linear:html-5": "\n",
+ "vuesax-linear:huobi-token-(ht)": "\n",
+ "vuesax-linear:icon-(icx)": "\n",
+ "vuesax-linear:illustrator": "\n",
+ "vuesax-linear:image": "\n",
+ "vuesax-linear:import-1": "\n",
+ "vuesax-linear:import-2": "\n",
+ "vuesax-linear:import": "\n",
+ "vuesax-linear:info-circle": "\n",
+ "vuesax-linear:information": "\n",
+ "vuesax-linear:instagram": "\n",
+ "vuesax-linear:iost-(iost)": "\n",
+ "vuesax-linear:java-script": "\n",
+ "vuesax-linear:js": "\n",
+ "vuesax-linear:judge": "\n",
+ "vuesax-linear:kanban": "\n",
+ "vuesax-linear:key-square": "\n",
+ "vuesax-linear:key": "\n",
+ "vuesax-linear:keyboard-open": "\n",
+ "vuesax-linear:keyboard": "\n",
+ "vuesax-linear:kyber-network-(knc)": "\n",
+ "vuesax-linear:lamp-1": "\n",
+ "vuesax-linear:lamp-charge": "\n",
+ "vuesax-linear:lamp-on": "\n",
+ "vuesax-linear:lamp-slash": "\n",
+ "vuesax-linear:lamp": "\n",
+ "vuesax-linear:language-circle": "\n",
+ "vuesax-linear:language-square": "\n",
+ "vuesax-linear:layer": "\n",
+ "vuesax-linear:level": "\n",
+ "vuesax-linear:lifebuoy": "\n",
+ "vuesax-linear:like-1": "\n",
+ "vuesax-linear:like-dislike": "\n",
+ "vuesax-linear:like-shapes": "\n",
+ "vuesax-linear:like-tag": "\n",
+ "vuesax-linear:like": "\n",
+ "vuesax-linear:link-1": "\n",
+ "vuesax-linear:link-2": "\n",
+ "vuesax-linear:link-21": "\n",
+ "vuesax-linear:link-circle": "\n",
+ "vuesax-linear:link-square": "\n",
+ "vuesax-linear:link": "\n",
+ "vuesax-linear:litecoin(ltc)": "\n",
+ "vuesax-linear:location-add": "\n",
+ "vuesax-linear:location-cross": "\n",
+ "vuesax-linear:location-minus": "\n",
+ "vuesax-linear:location-slash": "\n",
+ "vuesax-linear:location-tick": "\n",
+ "vuesax-linear:location": "\n",
+ "vuesax-linear:lock-1": "\n",
+ "vuesax-linear:lock-circle": "\n",
+ "vuesax-linear:lock-slash": "\n",
+ "vuesax-linear:lock": "\n",
+ "vuesax-linear:login-1": "\n",
+ "vuesax-linear:login": "\n",
+ "vuesax-linear:logout-1": "\n",
+ "vuesax-linear:logout": "\n",
+ "vuesax-linear:lovely": "\n",
+ "vuesax-linear:magic-star": "\n",
+ "vuesax-linear:magicpen": "\n",
+ "vuesax-linear:main-component-1": "\n",
+ "vuesax-linear:main-component": "\n",
+ "vuesax-linear:maker-(mkr)": "\n",
+ "vuesax-linear:man": "\n",
+ "vuesax-linear:map-1": "\n",
+ "vuesax-linear:map": "\n",
+ "vuesax-linear:mask-1": "\n",
+ "vuesax-linear:mask-2": "\n",
+ "vuesax-linear:mask-3": "\n",
+ "vuesax-linear:mask": "\n",
+ "vuesax-linear:math": "\n",
+ "vuesax-linear:maximize-1": "\n",
+ "vuesax-linear:maximize-2": "\n",
+ "vuesax-linear:maximize-21": "\n",
+ "vuesax-linear:maximize-3": "\n",
+ "vuesax-linear:maximize-4": "\n",
+ "vuesax-linear:maximize-circle": "\n",
+ "vuesax-linear:maximize": "\n",
+ "vuesax-linear:medal-star": "\n",
+ "vuesax-linear:medal": "\n",
+ "vuesax-linear:menu-1": "\n",
+ "vuesax-linear:menu-board": "\n",
+ "vuesax-linear:menu": "\n",
+ "vuesax-linear:message-2": "\n",
+ "vuesax-linear:message-add-1": "\n",
+ "vuesax-linear:message-add": "\n",
+ "vuesax-linear:message-circle": "\n",
+ "vuesax-linear:message-edit": "\n",
+ "vuesax-linear:message-favorite": "\n",
+ "vuesax-linear:message-minus": "\n",
+ "vuesax-linear:message-notif": "\n",
+ "vuesax-linear:message-programming": "\n",
+ "vuesax-linear:message-question": "\n",
+ "vuesax-linear:message-remove": "\n",
+ "vuesax-linear:message-search": "\n",
+ "vuesax-linear:message-square": "\n",
+ "vuesax-linear:message-text-1": "\n",
+ "vuesax-linear:message-text": "\n",
+ "vuesax-linear:message-tick": "\n",
+ "vuesax-linear:message-time": "\n",
+ "vuesax-linear:message": "\n",
+ "vuesax-linear:messages-1": "\n",
+ "vuesax-linear:messages-2": "\n",
+ "vuesax-linear:messages-3": "\n",
+ "vuesax-linear:messages": "\n",
+ "vuesax-linear:messenger": "\n",
+ "vuesax-linear:microphone-2": "\n",
+ "vuesax-linear:microphone-slash-1": "\n",
+ "vuesax-linear:microphone-slash": "\n",
+ "vuesax-linear:microphone": "\n",
+ "vuesax-linear:microscope": "\n",
+ "vuesax-linear:milk": "\n",
+ "vuesax-linear:mini-music-sqaure": "\n",
+ "vuesax-linear:minus-cirlce": "\n",
+ "vuesax-linear:minus-square": "\n",
+ "vuesax-linear:minus": "\n",
+ "vuesax-linear:mirror": "\n",
+ "vuesax-linear:mirroring-screen": "\n",
+ "vuesax-linear:mobile-programming": "\n",
+ "vuesax-linear:mobile": "\n",
+ "vuesax-linear:monero-(xmr)": "\n",
+ "vuesax-linear:money-2": "\n",
+ "vuesax-linear:money-3": "\n",
+ "vuesax-linear:money-4": "\n",
+ "vuesax-linear:money-add": "\n",
+ "vuesax-linear:money-change": "\n",
+ "vuesax-linear:money-forbidden": "\n",
+ "vuesax-linear:money-receive": "\n",
+ "vuesax-linear:money-remove": "\n",
+ "vuesax-linear:money-send": "\n",
+ "vuesax-linear:money-tick": "\n",
+ "vuesax-linear:money-time": "\n",
+ "vuesax-linear:money": "\n",
+ "vuesax-linear:moneys": "\n",
+ "vuesax-linear:monitor-mobbile": "\n",
+ "vuesax-linear:monitor-recorder": "\n",
+ "vuesax-linear:monitor": "\n",
+ "vuesax-linear:moon": "\n",
+ "vuesax-linear:more-2": "\n",
+ "vuesax-linear:more-circle": "\n",
+ "vuesax-linear:more-square": "\n",
+ "vuesax-linear:more": "\n",
+ "vuesax-linear:mouse-1": "\n",
+ "vuesax-linear:mouse-circle": "\n",
+ "vuesax-linear:mouse-square": "\n",
+ "vuesax-linear:mouse": "\n",
+ "vuesax-linear:music-circle": "\n",
+ "vuesax-linear:music-dashboard": "\n",
+ "vuesax-linear:music-filter": "\n",
+ "vuesax-linear:music-library-2": "\n",
+ "vuesax-linear:music-play": "\n",
+ "vuesax-linear:music-playlist": "\n",
+ "vuesax-linear:music-square-add": "\n",
+ "vuesax-linear:music-square-remove": "\n",
+ "vuesax-linear:music-square-search": "\n",
+ "vuesax-linear:music-square": "\n",
+ "vuesax-linear:music": "\n",
+ "vuesax-linear:musicnote": "\n",
+ "vuesax-linear:nebulas-(nas)": "\n",
+ "vuesax-linear:nem-(xem)": "\n",
+ "vuesax-linear:nexo-(nexo)": "\n",
+ "vuesax-linear:next": "\n",
+ "vuesax-linear:note-1": "\n",
+ "vuesax-linear:note-2": "\n",
+ "vuesax-linear:note-21": "\n",
+ "vuesax-linear:note-add": "\n",
+ "vuesax-linear:note-favorite": "\n",
+ "vuesax-linear:note-remove": "\n",
+ "vuesax-linear:note-square": "\n",
+ "vuesax-linear:note-text": "\n",
+ "vuesax-linear:note": "\n",
+ "vuesax-linear:notification-1": "\n",
+ "vuesax-linear:notification-bing": "\n",
+ "vuesax-linear:notification-circle": "\n",
+ "vuesax-linear:notification-favorite": "\n",
+ "vuesax-linear:notification-status": "\n",
+ "vuesax-linear:notification": "\n",
+ "vuesax-linear:ocean-protocol-(ocean)": "\n",
+ "vuesax-linear:okb-(okb)": "\n",
+ "vuesax-linear:omega-circle-1": "\n",
+ "vuesax-linear:omega-circle": "\n",
+ "vuesax-linear:omega-square-1": "\n",
+ "vuesax-linear:omega-square": "\n",
+ "vuesax-linear:ontology-(ont)": "\n",
+ "vuesax-linear:paintbucket": "\n",
+ "vuesax-linear:paperclip-2": "\n",
+ "vuesax-linear:paperclip": "\n",
+ "vuesax-linear:password-check": "\n",
+ "vuesax-linear:path-2": "\n",
+ "vuesax-linear:path-square": "\n",
+ "vuesax-linear:path": "\n",
+ "vuesax-linear:pause-circle": "\n",
+ "vuesax-linear:pause": "\n",
+ "vuesax-linear:paypal": "\n",
+ "vuesax-linear:pen-add-1": "\n",
+ "vuesax-linear:pen-add": "\n",
+ "vuesax-linear:pen-close-1": "\n",
+ "vuesax-linear:pen-close": "\n",
+ "vuesax-linear:pen-remove-1": "\n",
+ "vuesax-linear:pen-remove": "\n",
+ "vuesax-linear:pen-tool-1": "\n",
+ "vuesax-linear:pen-tool-2-1": "\n",
+ "vuesax-linear:pen-tool-2": "\n",
+ "vuesax-linear:pen-tool": "\n",
+ "vuesax-linear:people": "\n",
+ "vuesax-linear:percentage-square": "\n",
+ "vuesax-linear:personalcard": "\n",
+ "vuesax-linear:pet": "\n",
+ "vuesax-linear:pharagraphspacing": "\n",
+ "vuesax-linear:photoshop": "\n",
+ "vuesax-linear:picture-frame": "\n",
+ "vuesax-linear:play-add": "\n",
+ "vuesax-linear:play-circle": "\n",
+ "vuesax-linear:play-cricle": "\n",
+ "vuesax-linear:play-remove": "\n",
+ "vuesax-linear:play": "\n",
+ "vuesax-linear:polkadot-(dot)": "\n",
+ "vuesax-linear:polygon-(matic)": "\n",
+ "vuesax-linear:polyswarm-(nct)": "\n",
+ "vuesax-linear:presention-chart": "\n",
+ "vuesax-linear:previous": "\n",
+ "vuesax-linear:printer-slash": "\n",
+ "vuesax-linear:printer": "\n",
+ "vuesax-linear:profile-2user": "\n",
+ "vuesax-linear:profile-add": "\n",
+ "vuesax-linear:profile-circle": "\n",
+ "vuesax-linear:profile-delete": "\n",
+ "vuesax-linear:profile-remove": "\n",
+ "vuesax-linear:profile-tick": "\n",
+ "vuesax-linear:profile": "\n",
+ "vuesax-linear:programming-arrow": "\n",
+ "vuesax-linear:programming-arrows": "\n",
+ "vuesax-linear:python": "\n",
+ "vuesax-linear:quant-(qnt)": "\n",
+ "vuesax-linear:quote-down-circle": "\n",
+ "vuesax-linear:quote-down-square": "\n",
+ "vuesax-linear:quote-down": "\n",
+ "vuesax-linear:quote-up-circle": "\n",
+ "vuesax-linear:quote-up-square": "\n",
+ "vuesax-linear:quote-up": "\n",
+ "vuesax-linear:radar-1": "\n",
+ "vuesax-linear:radar-2": "\n",
+ "vuesax-linear:radar": "\n",
+ "vuesax-linear:radio": "\n",
+ "vuesax-linear:ram-2": "\n",
+ "vuesax-linear:ram": "\n",
+ "vuesax-linear:ranking-1": "\n",
+ "vuesax-linear:ranking": "\n",
+ "vuesax-linear:receipt-1": "\n",
+ "vuesax-linear:receipt-2-1": "\n",
+ "vuesax-linear:receipt-2": "\n",
+ "vuesax-linear:receipt-add": "\n",
+ "vuesax-linear:receipt-discount": "\n",
+ "vuesax-linear:receipt-disscount": "\n",
+ "vuesax-linear:receipt-edit": "\n",
+ "vuesax-linear:receipt-item": "\n",
+ "vuesax-linear:receipt-minus": "\n",
+ "vuesax-linear:receipt-search": "\n",
+ "vuesax-linear:receipt-square": "\n",
+ "vuesax-linear:receipt-text": "\n",
+ "vuesax-linear:receipt": "\n",
+ "vuesax-linear:receive-square-2": "\n",
+ "vuesax-linear:receive-square": "\n",
+ "vuesax-linear:received": "\n",
+ "vuesax-linear:record-circle": "\n",
+ "vuesax-linear:record": "\n",
+ "vuesax-linear:recovery-convert": "\n",
+ "vuesax-linear:redo": "\n",
+ "vuesax-linear:refresh-2": "\n",
+ "vuesax-linear:refresh-circle": "\n",
+ "vuesax-linear:refresh-left-square": "\n",
+ "vuesax-linear:refresh-right-square": "\n",
+ "vuesax-linear:refresh-square-2": "\n",
+ "vuesax-linear:refresh": "\n",
+ "vuesax-linear:repeat-circle": "\n",
+ "vuesax-linear:repeat": "\n",
+ "vuesax-linear:repeate-music": "\n",
+ "vuesax-linear:repeate-one": "\n",
+ "vuesax-linear:reserve": "\n",
+ "vuesax-linear:rotate-left-1": "\n",
+ "vuesax-linear:rotate-left": "\n",
+ "vuesax-linear:rotate-right-1": "\n",
+ "vuesax-linear:rotate-right": "\n",
+ "vuesax-linear:route-square": "\n",
+ "vuesax-linear:routing-2": "\n",
+ "vuesax-linear:routing": "\n",
+ "vuesax-linear:row-horizontal": "\n",
+ "vuesax-linear:row-vertical": "\n",
+ "vuesax-linear:ruler&pen": "\n",
+ "vuesax-linear:ruler": "\n",
+ "vuesax-linear:safe-home": "\n",
+ "vuesax-linear:sagittarius": "\n",
+ "vuesax-linear:save-2": "\n",
+ "vuesax-linear:save-add": "\n",
+ "vuesax-linear:save-minus": "\n",
+ "vuesax-linear:save-remove": "\n",
+ "vuesax-linear:scan-barcode": "\n",
+ "vuesax-linear:scan": "\n",
+ "vuesax-linear:scanner": "\n",
+ "vuesax-linear:scanning": "\n",
+ "vuesax-linear:scissor-1": "\n",
+ "vuesax-linear:scissor-2": "\n",
+ "vuesax-linear:scissor": "\n",
+ "vuesax-linear:screenmirroring": "\n",
+ "vuesax-linear:scroll": "\n",
+ "vuesax-linear:search-favorite-1": "\n",
+ "vuesax-linear:search-favorite": "\n",
+ "vuesax-linear:search-normal-1": "\n",
+ "vuesax-linear:search-normal": "\n",
+ "vuesax-linear:search-status-1": "\n",
+ "vuesax-linear:search-status": "\n",
+ "vuesax-linear:search-zoom-in-1": "\n",
+ "vuesax-linear:search-zoom-in": "\n",
+ "vuesax-linear:search-zoom-out-1": "\n",
+ "vuesax-linear:search-zoom-out": "\n",
+ "vuesax-linear:security-card": "\n",
+ "vuesax-linear:security-safe": "\n",
+ "vuesax-linear:security-time": "\n",
+ "vuesax-linear:security-user": "\n",
+ "vuesax-linear:security": "\n",
+ "vuesax-linear:send-1": "\n",
+ "vuesax-linear:send-2": "\n",
+ "vuesax-linear:send-sqaure-2": "\n",
+ "vuesax-linear:send-square": "\n",
+ "vuesax-linear:send": "\n",
+ "vuesax-linear:setting-2": "\n",
+ "vuesax-linear:setting-3": "\n",
+ "vuesax-linear:setting-4": "\n",
+ "vuesax-linear:setting-5": "\n",
+ "vuesax-linear:setting": "\n",
+ "vuesax-linear:settings": "\n",
+ "vuesax-linear:shapes-1": "\n",
+ "vuesax-linear:shapes-2": "\n",
+ "vuesax-linear:shapes": "\n",
+ "vuesax-linear:share": "\n",
+ "vuesax-linear:shield-cross": "\n",
+ "vuesax-linear:shield-search": "\n",
+ "vuesax-linear:shield-security": "\n",
+ "vuesax-linear:shield-slash": "\n",
+ "vuesax-linear:shield-tick": "\n",
+ "vuesax-linear:shield": "\n",
+ "vuesax-linear:ship": "\n",
+ "vuesax-linear:shop-add": "\n",
+ "vuesax-linear:shop-remove": "\n",
+ "vuesax-linear:shop": "\n",
+ "vuesax-linear:shopping-bag": "\n",
+ "vuesax-linear:shopping-cart": "\n",
+ "vuesax-linear:siacoin-(sc)": "\n",
+ "vuesax-linear:sidebar-bottom": "\n",
+ "vuesax-linear:sidebar-left": "\n",
+ "vuesax-linear:sidebar-right": "\n",
+ "vuesax-linear:sidebar-top": "\n",
+ "vuesax-linear:signpost": "\n",
+ "vuesax-linear:simcard-1": "\n",
+ "vuesax-linear:simcard-2": "\n",
+ "vuesax-linear:simcard": "\n",
+ "vuesax-linear:size": "\n",
+ "vuesax-linear:slack": "\n",
+ "vuesax-linear:slash": "\n",
+ "vuesax-linear:slider-horizontal-1": "\n",
+ "vuesax-linear:slider-horizontal": "\n",
+ "vuesax-linear:slider-vertical-1": "\n",
+ "vuesax-linear:slider-vertical": "\n",
+ "vuesax-linear:slider": "\n",
+ "vuesax-linear:smallcaps": "\n",
+ "vuesax-linear:smart-car": "\n",
+ "vuesax-linear:smart-home": "\n",
+ "vuesax-linear:smileys": "\n",
+ "vuesax-linear:sms-edit": "\n",
+ "vuesax-linear:sms-notification": "\n",
+ "vuesax-linear:sms-search": "\n",
+ "vuesax-linear:sms-star": "\n",
+ "vuesax-linear:sms-tracking": "\n",
+ "vuesax-linear:sms": "\n",
+ "vuesax-linear:snapchat": "\n",
+ "vuesax-linear:solana-(sol)": "\n",
+ "vuesax-linear:sort": "\n",
+ "vuesax-linear:sound": "\n",
+ "vuesax-linear:speaker": "\n",
+ "vuesax-linear:speedometer": "\n",
+ "vuesax-linear:spotify": "\n",
+ "vuesax-linear:stacks-(stx)": "\n",
+ "vuesax-linear:star-1": "\n",
+ "vuesax-linear:star-slash": "\n",
+ "vuesax-linear:star": "\n",
+ "vuesax-linear:status-up": "\n",
+ "vuesax-linear:status": "\n",
+ "vuesax-linear:stellar-(xlm)": "\n",
+ "vuesax-linear:sticker": "\n",
+ "vuesax-linear:stickynote": "\n",
+ "vuesax-linear:stop-circle": "\n",
+ "vuesax-linear:stop": "\n",
+ "vuesax-linear:story": "\n",
+ "vuesax-linear:strongbox-2": "\n",
+ "vuesax-linear:strongbox": "\n",
+ "vuesax-linear:subtitle": "\n",
+ "vuesax-linear:sun-1": "\n",
+ "vuesax-linear:sun-fog": "\n",
+ "vuesax-linear:sun": "\n",
+ "vuesax-linear:tag-2": "\n",
+ "vuesax-linear:tag-cross": "\n",
+ "vuesax-linear:tag-right": "\n",
+ "vuesax-linear:tag-user": "\n",
+ "vuesax-linear:tag": "\n",
+ "vuesax-linear:task-square": "\n",
+ "vuesax-linear:task": "\n",
+ "vuesax-linear:teacher": "\n",
+ "vuesax-linear:tenx-(pay)": "\n",
+ "vuesax-linear:tether-(usdt)": "\n",
+ "vuesax-linear:text-block": "\n",
+ "vuesax-linear:text-bold": "\n",
+ "vuesax-linear:text-italic": "\n",
+ "vuesax-linear:text-underline": "\n",
+ "vuesax-linear:text": "\n",
+ "vuesax-linear:textalign-center": "\n",
+ "vuesax-linear:textalign-justifycenter": "\n",
+ "vuesax-linear:textalign-justifyleft": "\n",
+ "vuesax-linear:textalign-justifyright": "\n",
+ "vuesax-linear:textalign-left": "\n",
+ "vuesax-linear:textalign-right": "\n",
+ "vuesax-linear:the-graph-(grt)": "\n",
+ "vuesax-linear:theta-(theta)": "\n",
+ "vuesax-linear:thorchain-(rune)": "\n",
+ "vuesax-linear:tick-circle": "\n",
+ "vuesax-linear:tick-square": "\n",
+ "vuesax-linear:ticket-2": "\n",
+ "vuesax-linear:ticket-discount": "\n",
+ "vuesax-linear:ticket-expired": "\n",
+ "vuesax-linear:ticket-star": "\n",
+ "vuesax-linear:ticket": "\n",
+ "vuesax-linear:timer-1": "\n",
+ "vuesax-linear:timer-pause": "\n",
+ "vuesax-linear:timer-start": "\n",
+ "vuesax-linear:timer": "\n",
+ "vuesax-linear:toggle-off-circle": "\n",
+ "vuesax-linear:toggle-off": "\n",
+ "vuesax-linear:toggle-on-circle": "\n",
+ "vuesax-linear:toggle-on": "\n",
+ "vuesax-linear:trade": "\n",
+ "vuesax-linear:transaction-minus": "\n",
+ "vuesax-linear:translate": "\n",
+ "vuesax-linear:trash": "\n",
+ "vuesax-linear:tree": "\n",
+ "vuesax-linear:trello": "\n",
+ "vuesax-linear:trend-down": "\n",
+ "vuesax-linear:trend-up": "\n",
+ "vuesax-linear:triangle": "\n",
+ "vuesax-linear:trontron-(trx)": "\n",
+ "vuesax-linear:truck-remove": "\n",
+ "vuesax-linear:truck-tick": "\n",
+ "vuesax-linear:truck-time": "\n",
+ "vuesax-linear:trush-square": "\n",
+ "vuesax-linear:twitch": "\n",
+ "vuesax-linear:ui8": "\n",
+ "vuesax-linear:undo": "\n",
+ "vuesax-linear:unlimited": "\n",
+ "vuesax-linear:unlock": "\n",
+ "vuesax-linear:usd-coin-(usdc)": "\n",
+ "vuesax-linear:user-add": "\n",
+ "vuesax-linear:user-cirlce-add": "\n",
+ "vuesax-linear:user-edit": "\n",
+ "vuesax-linear:user-minus": "\n",
+ "vuesax-linear:user-octagon": "\n",
+ "vuesax-linear:user-remove": "\n",
+ "vuesax-linear:user-search": "\n",
+ "vuesax-linear:user-square": "\n",
+ "vuesax-linear:user-tag": "\n",
+ "vuesax-linear:user-tick": "\n",
+ "vuesax-linear:user": "\n",
+ "vuesax-linear:velas-(vlx)": "\n",
+ "vuesax-linear:verify": "\n",
+ "vuesax-linear:vibe-(vibe)": "\n",
+ "vuesax-linear:video-add": "\n",
+ "vuesax-linear:video-circle": "\n",
+ "vuesax-linear:video-horizontal": "\n",
+ "vuesax-linear:video-octagon": "\n",
+ "vuesax-linear:video-play": "\n",
+ "vuesax-linear:video-remove": "\n",
+ "vuesax-linear:video-slash": "\n",
+ "vuesax-linear:video-square": "\n",
+ "vuesax-linear:video-tick": "\n",
+ "vuesax-linear:video-time": "\n",
+ "vuesax-linear:video-vertical": "\n",
+ "vuesax-linear:video": "\n",
+ "vuesax-linear:voice-cricle": "\n",
+ "vuesax-linear:voice-square": "\n",
+ "vuesax-linear:volume-cross": "\n",
+ "vuesax-linear:volume-high": "\n",
+ "vuesax-linear:volume-low-1": "\n",
+ "vuesax-linear:volume-low": "\n",
+ "vuesax-linear:volume-mute": "\n",
+ "vuesax-linear:volume-slash": "\n",
+ "vuesax-linear:volume-up": "\n",
+ "vuesax-linear:vuesax": "\n",
+ "vuesax-linear:wallet-1": "\n",
+ "vuesax-linear:wallet-2": "\n",
+ "vuesax-linear:wallet-3": "\n",
+ "vuesax-linear:wallet-add-1": "\n",
+ "vuesax-linear:wallet-add": "\n",
+ "vuesax-linear:wallet-check": "\n",
+ "vuesax-linear:wallet-minus": "\n",
+ "vuesax-linear:wallet-money": "\n",
+ "vuesax-linear:wallet-remove": "\n",
+ "vuesax-linear:wallet-search": "\n",
+ "vuesax-linear:wallet": "\n",
+ "vuesax-linear:wanchain-(wan)-1": "\n",
+ "vuesax-linear:wanchain-(wan)": "\n",
+ "vuesax-linear:warning-2": "\n",
+ "vuesax-linear:watch-status": "\n",
+ "vuesax-linear:watch": "\n",
+ "vuesax-linear:weight-1": "\n",
+ "vuesax-linear:weight": "\n",
+ "vuesax-linear:whatsapp": "\n",
+ "vuesax-linear:wifi-square": "\n",
+ "vuesax-linear:wifi": "\n",
+ "vuesax-linear:wind-2": "\n",
+ "vuesax-linear:wind": "\n",
+ "vuesax-linear:windows": "\n",
+ "vuesax-linear:wing-(wing)": "\n",
+ "vuesax-linear:woman": "\n",
+ "vuesax-linear:xd": "\n",
+ "vuesax-linear:xiaomi": "\n",
+ "vuesax-linear:xrp-(xrp)": "\n",
+ "vuesax-linear:youtube": "\n",
+ "vuesax-linear:zel-(zel)": "\n",
+ "vuesax-linear:zoom": "\n",
+ "vuesax-linear:verify": "\n",
+ "vuesax-linear:chart-fail": ""
+}
\ No newline at end of file
diff --git a/src/core/assets/img/avatars/placeholder-f.jpg b/src/core/assets/img/avatars/placeholder-f.jpg
new file mode 100644
index 0000000..95da073
Binary files /dev/null and b/src/core/assets/img/avatars/placeholder-f.jpg differ
diff --git a/src/core/assets/img/avatars/placeholder-m.jpg b/src/core/assets/img/avatars/placeholder-m.jpg
new file mode 100644
index 0000000..6026c12
Binary files /dev/null and b/src/core/assets/img/avatars/placeholder-m.jpg differ
diff --git a/src/core/assets/img/avatars/placeholder.jpg b/src/core/assets/img/avatars/placeholder.jpg
new file mode 100644
index 0000000..65c9591
Binary files /dev/null and b/src/core/assets/img/avatars/placeholder.jpg differ
diff --git a/src/core/assets/img/layout/mix.png b/src/core/assets/img/layout/mix.png
new file mode 100644
index 0000000..f975a1d
Binary files /dev/null and b/src/core/assets/img/layout/mix.png differ
diff --git a/src/core/assets/img/layout/side.png b/src/core/assets/img/layout/side.png
new file mode 100644
index 0000000..b0c3882
Binary files /dev/null and b/src/core/assets/img/layout/side.png differ
diff --git a/src/core/assets/img/layout/top.png b/src/core/assets/img/layout/top.png
new file mode 100644
index 0000000..3ed3e27
Binary files /dev/null and b/src/core/assets/img/layout/top.png differ
diff --git a/src/core/assets/img/placeholders/placeholder.png b/src/core/assets/img/placeholders/placeholder.png
new file mode 100644
index 0000000..e152538
Binary files /dev/null and b/src/core/assets/img/placeholders/placeholder.png differ
diff --git a/src/core/assets/img/placeholders/video-placeholder.png b/src/core/assets/img/placeholders/video-placeholder.png
new file mode 100644
index 0000000..58d0a7c
Binary files /dev/null and b/src/core/assets/img/placeholders/video-placeholder.png differ
diff --git a/src/core/basicMain.ts b/src/core/basicMain.ts
new file mode 100644
index 0000000..b356a35
--- /dev/null
+++ b/src/core/basicMain.ts
@@ -0,0 +1,21 @@
+//import { setupPinia } from '@core/plugins/pinia'
+import type { App } from 'vue'
+import { setupRouter } from '@core/router'
+import '@core/assets/css/main.less'
+import 'uno.css'
+import { setupPinia } from '@core/plugins/pinia'
+//import { setupRoutes } from '@/router'
+
+export function basicMain(app: App) {
+ //setupRoutes()
+ const router = setupRouter(app)
+ /*router.addRoute({
+ name: 'dashboard',
+ path: '/dashboard',
+ component: () => import('@/pages/dashboard/index.vue')
+ })*/
+
+ // console.log(router)
+ //router.addRoute()
+ return { router }
+}
diff --git a/src/core/components/BaseButton/index.ts b/src/core/components/BaseButton/index.ts
new file mode 100644
index 0000000..7dfaf8e
--- /dev/null
+++ b/src/core/components/BaseButton/index.ts
@@ -0,0 +1,2 @@
+import button from './src/button.vue'
+export default button
diff --git a/src/core/components/BaseButton/src/button.vue b/src/core/components/BaseButton/src/button.vue
new file mode 100644
index 0000000..08ae3cb
--- /dev/null
+++ b/src/core/components/BaseButton/src/button.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseCard/index.ts b/src/core/components/BaseCard/index.ts
new file mode 100644
index 0000000..a2c9bf4
--- /dev/null
+++ b/src/core/components/BaseCard/index.ts
@@ -0,0 +1,2 @@
+import BaseCard from './src/BaseCard.vue'
+export default BaseCard
diff --git a/src/core/components/BaseCard/src/BaseCard.vue b/src/core/components/BaseCard/src/BaseCard.vue
new file mode 100644
index 0000000..9d22ecb
--- /dev/null
+++ b/src/core/components/BaseCard/src/BaseCard.vue
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/index.ts b/src/core/components/BaseDatePicker/index.ts
new file mode 100644
index 0000000..40211b5
--- /dev/null
+++ b/src/core/components/BaseDatePicker/index.ts
@@ -0,0 +1,2 @@
+import BaseDatePicker from './src/BaseDatePicker.vue'
+export default BaseDatePicker
diff --git a/src/core/components/BaseDatePicker/src/BaseDatePicker.vue b/src/core/components/BaseDatePicker/src/BaseDatePicker.vue
new file mode 100644
index 0000000..339e1d7
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/BaseDatePicker.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/configDayjs.ts b/src/core/components/BaseDatePicker/src/configDayjs.ts
new file mode 100644
index 0000000..3bff94c
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/configDayjs.ts
@@ -0,0 +1,26 @@
+/*
+import dayjs from 'dayjs'
+import updateLocale from 'dayjs/plugin/updateLocale'
+import jalaliday from 'jalaliday'
+dayjs.extend(jalaliday)
+dayjs.extend(updateLocale)
+dayjs.calendar('jalali') // Jalali Calendar
+const months = [
+ 'فروردین',
+ 'اردیبهشت',
+ 'خرداد',
+ 'تیر',
+ 'مرداد',
+ 'شهریور',
+ 'مهر',
+ 'آبان',
+ 'آذر',
+ 'دی',
+ 'بهمن',
+ 'اسفند',
+]
+dayjs.updateLocale('fa', {
+ monthsShort: months,
+ months,
+})
+*/
diff --git a/src/core/components/BaseDatePicker/src/datePick/PickerButton.tsx b/src/core/components/BaseDatePicker/src/datePick/PickerButton.tsx
new file mode 100644
index 0000000..ef8404f
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/PickerButton.tsx
@@ -0,0 +1,8 @@
+import type { FunctionalComponent } from 'vue';
+import type { ButtonProps } from 'ant-design-vue/es/button';
+import Button from 'ant-design-vue/es/button';
+
+const PickerButton: FunctionalComponent = (props: ButtonProps, { attrs, slots }) => {
+ return ;
+};
+export default PickerButton;
diff --git a/src/core/components/BaseDatePicker/src/datePick/PickerTag.tsx b/src/core/components/BaseDatePicker/src/datePick/PickerTag.tsx
new file mode 100644
index 0000000..eab4746
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/PickerTag.tsx
@@ -0,0 +1,6 @@
+import type { TagProps } from 'ant-design-vue/es/tag';
+import Tag from 'ant-design-vue/es/tag';
+
+export default function PickerTag(props: TagProps, { slots, attrs }) {
+ return ;
+}
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/DatePicker.test.js b/src/core/components/BaseDatePicker/src/datePick/__tests__/DatePicker.test.js
new file mode 100644
index 0000000..0a66f68
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/DatePicker.test.js
@@ -0,0 +1,66 @@
+import { mount } from '@vue/test-utils'
+import { asyncExpect } from '../../../tests/utils'
+import dayjs from 'dayjs'
+import MockDate from 'mockdate'
+import DatePicker from '../index'
+import focusTest from '../../../tests/shared/focusTest'
+jest.mock('../../_util/Portal')
+describe('DatePicker', () => {
+ focusTest(DatePicker)
+
+ beforeEach(() => {
+ document.body.outerHTML = ''
+ MockDate.set(dayjs('2016-11-22'))
+ })
+
+ afterEach(() => {
+ MockDate.reset()
+ })
+
+ it('prop locale should works', async () => {
+ const locale = {
+ lang: {
+ locale: 'mk',
+ placeholder: 'Избери дата',
+ rangePlaceholder: ['Начална дата', 'Крайна дата'],
+ today: 'Днес',
+ now: 'Сега',
+ backToToday: 'Към днес',
+ ok: 'Добре',
+ clear: 'Изчистване',
+ month: 'Месец',
+ year: 'Година',
+ timeSelect: 'Избор на час',
+ dateSelect: 'Избор на дата',
+ monthSelect: 'Избор на месец',
+ yearSelect: 'Избор на година',
+ decadeSelect: 'Десетилетие',
+ previousMonth: 'Предишен месец (PageUp)',
+ nextMonth: 'Следващ месец (PageDown)',
+ previousYear: 'Последна година (Control + left)',
+ nextYear: 'Следваща година (Control + right)',
+ previousDecade: 'Предишно десетилетие',
+ nextDecade: 'Следващо десетилетие',
+ previousCentury: 'Последен век',
+ nextCentury: 'Следващ век',
+ yearFormat: 'YYYY',
+ dateFormat: 'D M YYYY',
+ dayFormat: 'D',
+ dateTimeFormat: 'D M YYYY HH:mm:ss',
+ monthBeforeYear: true
+ },
+ timePickerLocale: {
+ placeholder: 'Избор на час'
+ }
+ }
+ const birthday = dayjs('2000-01-01', 'YYYY-MM-DD')
+ const wrapper = mount({
+ render() {
+ return
+ }
+ })
+ await asyncExpect(() => {
+ expect(wrapper.html()).toMatchSnapshot()
+ })
+ })
+})
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/QuarterPicker.test.js b/src/core/components/BaseDatePicker/src/datePick/__tests__/QuarterPicker.test.js
new file mode 100644
index 0000000..b77cabb
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/QuarterPicker.test.js
@@ -0,0 +1,17 @@
+import { mount } from '@vue/test-utils'
+import DatePicker from '../index'
+import focusTest from '../../../tests/shared/focusTest'
+
+const { QuarterPicker } = DatePicker
+jest.mock('../../_util/Portal')
+describe('QuarterPicker', () => {
+ focusTest(QuarterPicker)
+ fit('reset select item when popup close', async () => {
+ const wrapper = mount(DatePicker, {
+ props: { style: { width: '400px' }, picker: 'quarter' },
+ sync: false,
+ attachTo: 'body'
+ })
+ expect(wrapper.html()).toMatchSnapshot()
+ })
+})
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/RangePicker.test.js b/src/core/components/BaseDatePicker/src/datePick/__tests__/RangePicker.test.js
new file mode 100644
index 0000000..3afa4f2
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/RangePicker.test.js
@@ -0,0 +1,72 @@
+import { mount } from '@vue/test-utils'
+import { asyncExpect, setMockDate, resetMockDate, sleep } from '../../../tests/utils'
+import dayjs from 'dayjs'
+import DatePicker from '../index'
+import { openPicker, selectCell, closePicker } from './utils'
+import focusTest from '../../../tests/shared/focusTest'
+jest.mock('../../_util/Portal')
+const { RangePicker } = DatePicker
+
+describe('RangePicker', () => {
+ focusTest(RangePicker)
+
+ beforeEach(() => {
+ document.body.outerHTML = ''
+ setMockDate()
+ })
+
+ afterEach(() => {
+ resetMockDate()
+ })
+ // issue: https://github.com/ant-design/ant-design/issues/5872
+ xit('should not throw error when value is reset to `[]`', async () => {
+ const birthday = dayjs('2000-01-01', 'YYYY-MM-DD')
+ const wrapper = mount(
+ {
+ props: ['value'],
+ setup(props) {
+ return () =>
+ }
+ },
+ { attachTo: 'body', sync: 'false' }
+ )
+ wrapper.setProps({ value: [birthday, birthday] })
+ wrapper.setProps({ value: [] })
+ await sleep(0)
+ expect(() => {
+ openPicker(wrapper)
+ selectCell(wrapper, 3)
+ closePicker(wrapper)
+
+ openPicker(wrapper, 1)
+ selectCell(wrapper, 5, 1)
+ closePicker(wrapper, 1)
+ }).not.toThrow()
+ })
+
+ it('show month panel according to value', async () => {
+ const birthday = dayjs('2000-01-01', 'YYYY-MM-DD').locale('zh-cn')
+ const wrapper = mount(RangePicker, {
+ props: {
+ getPopupContainer: (trigger) => trigger,
+ format: 'YYYY/MM/DD',
+ showTime: true,
+ open: true
+ },
+ sync: false,
+ attachTo: 'body'
+ })
+ await asyncExpect(() => {
+ wrapper.setProps({ value: [birthday, birthday] })
+ })
+ await asyncExpect(() => {
+ expect(document.body.innerHTML).toMatchSnapshot()
+ })
+ })
+
+ fit('customize separator', async () => {
+ const wrapper = mount(RangePicker, { props: { separator: 'test' } })
+ await sleep()
+ expect(wrapper.html()).toMatchSnapshot()
+ })
+})
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/WeekPicker.test.js b/src/core/components/BaseDatePicker/src/datePick/__tests__/WeekPicker.test.js
new file mode 100644
index 0000000..7701b86
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/WeekPicker.test.js
@@ -0,0 +1,27 @@
+import { mount } from '@vue/test-utils'
+import { asyncExpect, setMockDate } from '../../../tests/utils'
+import DatePicker from '../index'
+import focusTest from '../../../tests/shared/focusTest'
+
+const { WeekPicker } = DatePicker
+jest.mock('../../_util/Portal')
+describe('WeekPicker', () => {
+ beforeEach(() => {
+ setMockDate()
+ })
+ focusTest(WeekPicker)
+
+ it('should support style prop', async () => {
+ const wrapper = mount(
+ {
+ render() {
+ return
+ }
+ },
+ { sync: false }
+ )
+ await asyncExpect(() => {
+ expect(wrapper.html()).toMatchSnapshot()
+ })
+ })
+})
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/DatePicker.test.js.snap b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/DatePicker.test.js.snap
new file mode 100644
index 0000000..6c3b99d
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/DatePicker.test.js.snap
@@ -0,0 +1,180 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`DatePicker prop locale should works 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Su |
+ Mo |
+ Tu |
+ We |
+ Th |
+ Fr |
+ Sa |
+
+
+
+
+ |
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+
+ |
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+ 8
+ |
+
+
+ |
+ 9
+ |
+
+ 10
+ |
+
+ 11
+ |
+
+ 12
+ |
+
+ 13
+ |
+
+ 14
+ |
+
+ 15
+ |
+
+
+ |
+ 16
+ |
+
+ 17
+ |
+
+ 18
+ |
+
+ 19
+ |
+
+ 20
+ |
+
+ 21
+ |
+
+ 22
+ |
+
+
+ |
+ 23
+ |
+
+ 24
+ |
+
+ 25
+ |
+
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+
+ |
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/QuarterPicker.test.js.snap b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/QuarterPicker.test.js.snap
new file mode 100644
index 0000000..b4f4686
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/QuarterPicker.test.js.snap
@@ -0,0 +1,47 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`QuarterPicker reset select item when popup close 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ Q1
+ |
+
+ Q2
+ |
+
+ Q3
+ |
+
+ Q4
+ |
+
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/RangePicker.test.js.snap b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/RangePicker.test.js.snap
new file mode 100644
index 0000000..e4fc4f5
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/RangePicker.test.js.snap
@@ -0,0 +1,557 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`RangePicker customize separator 1`] = `
+
+
+
test
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Su |
+ Mo |
+ Tu |
+ We |
+ Th |
+ Fr |
+ Sa |
+
+
+
+
+ |
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+ 2
+ |
+
+
+ |
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+ 8
+ |
+
+ 9
+ |
+
+
+ |
+ 10
+ |
+
+ 11
+ |
+
+ 12
+ |
+
+ 13
+ |
+
+ 14
+ |
+
+ 15
+ |
+
+ 16
+ |
+
+
+ |
+ 17
+ |
+
+ 18
+ |
+
+ 19
+ |
+
+ 20
+ |
+
+ 21
+ |
+
+ 22
+ |
+
+ 23
+ |
+
+
+ |
+ 24
+ |
+
+ 25
+ |
+
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+ 30
+ |
+
+
+ |
+ 1
+ |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Su |
+ Mo |
+ Tu |
+ We |
+ Th |
+ Fr |
+ Sa |
+
+
+
+
+ |
+ 1
+ |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+
+ |
+ 8
+ |
+
+ 9
+ |
+
+ 10
+ |
+
+ 11
+ |
+
+ 12
+ |
+
+ 13
+ |
+
+ 14
+ |
+
+
+ |
+ 15
+ |
+
+ 16
+ |
+
+ 17
+ |
+
+ 18
+ |
+
+ 19
+ |
+
+ 20
+ |
+
+ 21
+ |
+
+
+ |
+ 22
+ |
+
+ 23
+ |
+
+ 24
+ |
+
+ 25
+ |
+
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+
+ |
+ 29
+ |
+
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+
+ |
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+ 8
+ |
+
+ 9
+ |
+
+ 10
+ |
+
+ 11
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+exports[`RangePicker show month panel according to value 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Su |
+ Mo |
+ Tu |
+ We |
+ Th |
+ Fr |
+ Sa |
+
+
+
+
+ |
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+
+ |
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+ 8
+ |
+
+
+ |
+ 9
+ |
+
+ 10
+ |
+
+ 11
+ |
+
+ 12
+ |
+
+ 13
+ |
+
+ 14
+ |
+
+ 15
+ |
+
+
+ |
+ 16
+ |
+
+ 17
+ |
+
+ 18
+ |
+
+ 19
+ |
+
+ 20
+ |
+
+ 21
+ |
+
+ 22
+ |
+
+
+ |
+ 23
+ |
+
+ 24
+ |
+
+ 25
+ |
+
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+
+ |
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/WeekPicker.test.js.snap b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/WeekPicker.test.js.snap
new file mode 100644
index 0000000..3e6a5f9
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/WeekPicker.test.js.snap
@@ -0,0 +1,186 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`WeekPicker should support style prop 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ Su |
+ Mo |
+ Tu |
+ We |
+ Th |
+ Fr |
+ Sa |
+
+
+
+
+ | 35 |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+ 2
+ |
+
+
+ | 36 |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+ 8
+ |
+
+ 9
+ |
+
+
+ | 37 |
+
+ 10
+ |
+
+ 11
+ |
+
+ 12
+ |
+
+ 13
+ |
+
+ 14
+ |
+
+ 15
+ |
+
+ 16
+ |
+
+
+ | 38 |
+
+ 17
+ |
+
+ 18
+ |
+
+ 19
+ |
+
+ 20
+ |
+
+ 21
+ |
+
+ 22
+ |
+
+ 23
+ |
+
+
+ | 39 |
+
+ 24
+ |
+
+ 25
+ |
+
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+ 30
+ |
+
+
+ | 40 |
+
+ 1
+ |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/demo.test.js.snap b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/demo.test.js.snap
new file mode 100644
index 0000000..bccf1ab
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/demo.test.js.snap
@@ -0,0 +1,710 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`renders ./components/date-picker/demo/basic.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/bordered.vue correctly 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+exports[`renders ./components/date-picker/demo/date-render.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/disabled.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/disabled-date.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/extra-footer.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/format.vue correctly 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+exports[`renders ./components/date-picker/demo/mode.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/presetted-ranges.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/range-picker.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/select-in-range.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/size.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/start-end.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/suffix.vue correctly 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+exports[`renders ./components/date-picker/demo/switchable.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/text.vue correctly 1`] = `
+
+`;
+
+exports[`renders ./components/date-picker/demo/time.vue correctly 1`] = `
+
+`;
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/other.test.js.snap b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/other.test.js.snap
new file mode 100644
index 0000000..2c5b62e
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/__snapshots__/other.test.js.snap
@@ -0,0 +1,1077 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`MonthPicker and WeekPicker render MonthPicker 1`] = `""`;
+
+exports[`MonthPicker and WeekPicker render WeekPicker 1`] = `""`;
+
+exports[`Picker format by locale date 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Su |
+ Mo |
+ Tu |
+ We |
+ Th |
+ Fr |
+ Sa |
+
+
+
+
+ |
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+
+ |
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+ 8
+ |
+
+
+ |
+ 9
+ |
+
+ 10
+ |
+
+ 11
+ |
+
+ 12
+ |
+
+ 13
+ |
+
+ 14
+ |
+
+ 15
+ |
+
+
+ |
+ 16
+ |
+
+ 17
+ |
+
+ 18
+ |
+
+ 19
+ |
+
+ 20
+ |
+
+ 21
+ |
+
+ 22
+ |
+
+
+ |
+ 23
+ |
+
+ 24
+ |
+
+ 25
+ |
+
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+
+ |
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+exports[`Picker format by locale dateTime 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ | Su |
+ Mo |
+ Tu |
+ We |
+ Th |
+ Fr |
+ Sa |
+
+
+
+
+ |
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+
+ |
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+ 8
+ |
+
+
+ |
+ 9
+ |
+
+ 10
+ |
+
+ 11
+ |
+
+ 12
+ |
+
+ 13
+ |
+
+ 14
+ |
+
+ 15
+ |
+
+
+ |
+ 16
+ |
+
+ 17
+ |
+
+ 18
+ |
+
+ 19
+ |
+
+ 20
+ |
+
+ 21
+ |
+
+ 22
+ |
+
+
+ |
+ 23
+ |
+
+ 24
+ |
+
+ 25
+ |
+
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+
+ |
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+
+
+
+
+
+
+
+
+ -
+
00
+
+ -
+
01
+
+ -
+
02
+
+ -
+
03
+
+ -
+
04
+
+ -
+
05
+
+ -
+
06
+
+ -
+
07
+
+ -
+
08
+
+ -
+
09
+
+ -
+
10
+
+ -
+
11
+
+ -
+
12
+
+ -
+
13
+
+ -
+
14
+
+ -
+
15
+
+ -
+
16
+
+ -
+
17
+
+ -
+
18
+
+ -
+
19
+
+ -
+
20
+
+ -
+
21
+
+ -
+
22
+
+ -
+
23
+
+
+
+ -
+
00
+
+ -
+
01
+
+ -
+
02
+
+ -
+
03
+
+ -
+
04
+
+ -
+
05
+
+ -
+
06
+
+ -
+
07
+
+ -
+
08
+
+ -
+
09
+
+ -
+
10
+
+ -
+
11
+
+ -
+
12
+
+ -
+
13
+
+ -
+
14
+
+ -
+
15
+
+ -
+
16
+
+ -
+
17
+
+ -
+
18
+
+ -
+
19
+
+ -
+
20
+
+ -
+
21
+
+ -
+
22
+
+ -
+
23
+
+ -
+
24
+
+ -
+
25
+
+ -
+
26
+
+ -
+
27
+
+ -
+
28
+
+ -
+
29
+
+ -
+
30
+
+ -
+
31
+
+ -
+
32
+
+ -
+
33
+
+ -
+
34
+
+ -
+
35
+
+ -
+
36
+
+ -
+
37
+
+ -
+
38
+
+ -
+
39
+
+ -
+
40
+
+ -
+
41
+
+ -
+
42
+
+ -
+
43
+
+ -
+
44
+
+ -
+
45
+
+ -
+
46
+
+ -
+
47
+
+ -
+
48
+
+ -
+
49
+
+ -
+
50
+
+ -
+
51
+
+ -
+
52
+
+ -
+
53
+
+ -
+
54
+
+ -
+
55
+
+ -
+
56
+
+ -
+
57
+
+ -
+
58
+
+ -
+
59
+
+
+
+ -
+
00
+
+ -
+
01
+
+ -
+
02
+
+ -
+
03
+
+ -
+
04
+
+ -
+
05
+
+ -
+
06
+
+ -
+
07
+
+ -
+
08
+
+ -
+
09
+
+ -
+
10
+
+ -
+
11
+
+ -
+
12
+
+ -
+
13
+
+ -
+
14
+
+ -
+
15
+
+ -
+
16
+
+ -
+
17
+
+ -
+
18
+
+ -
+
19
+
+ -
+
20
+
+ -
+
21
+
+ -
+
22
+
+ -
+
23
+
+ -
+
24
+
+ -
+
25
+
+ -
+
26
+
+ -
+
27
+
+ -
+
28
+
+ -
+
29
+
+ -
+
30
+
+ -
+
31
+
+ -
+
32
+
+ -
+
33
+
+ -
+
34
+
+ -
+
35
+
+ -
+
36
+
+ -
+
37
+
+ -
+
38
+
+ -
+
39
+
+ -
+
40
+
+ -
+
41
+
+ -
+
42
+
+ -
+
43
+
+ -
+
44
+
+ -
+
45
+
+ -
+
46
+
+ -
+
47
+
+ -
+
48
+
+ -
+
49
+
+ -
+
50
+
+ -
+
51
+
+ -
+
52
+
+ -
+
53
+
+ -
+
54
+
+ -
+
55
+
+ -
+
56
+
+ -
+
57
+
+ -
+
58
+
+ -
+
59
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+exports[`Picker format by locale month 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ Jan
+ |
+
+ Feb
+ |
+
+ Mar
+ |
+
+
+ |
+ Apr
+ |
+
+ May
+ |
+
+ Jun
+ |
+
+
+ |
+ Jul
+ |
+
+ Aug
+ |
+
+ Sep
+ |
+
+
+ |
+ Oct
+ |
+
+ Nov
+ |
+
+ Dec
+ |
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+exports[`Picker format by locale week 1`] = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+ |
+ Su |
+ Mo |
+ Tu |
+ We |
+ Th |
+ Fr |
+ Sa |
+
+
+
+
+ | 1 |
+
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+
+ | 2 |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+ 6
+ |
+
+ 7
+ |
+
+ 8
+ |
+
+
+ | 3 |
+
+ 9
+ |
+
+ 10
+ |
+
+ 11
+ |
+
+ 12
+ |
+
+ 13
+ |
+
+ 14
+ |
+
+ 15
+ |
+
+
+ | 4 |
+
+ 16
+ |
+
+ 17
+ |
+
+ 18
+ |
+
+ 19
+ |
+
+ 20
+ |
+
+ 21
+ |
+
+ 22
+ |
+
+
+ | 5 |
+
+ 23
+ |
+
+ 24
+ |
+
+ 25
+ |
+
+ 26
+ |
+
+ 27
+ |
+
+ 28
+ |
+
+ 29
+ |
+
+
+ | 6 |
+
+ 30
+ |
+
+ 31
+ |
+
+ 1
+ |
+
+ 2
+ |
+
+ 3
+ |
+
+ 4
+ |
+
+ 5
+ |
+
+
+
+
+
+
+
+
+
+
+
+`;
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/demo.test.js b/src/core/components/BaseDatePicker/src/datePick/__tests__/demo.test.js
new file mode 100644
index 0000000..a4e7a91
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/demo.test.js
@@ -0,0 +1,3 @@
+import demoTest from '../../../tests/shared/demoTest';
+
+demoTest('date-picker');
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/mount.test.js b/src/core/components/BaseDatePicker/src/datePick/__tests__/mount.test.js
new file mode 100644
index 0000000..6ed966b
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/mount.test.js
@@ -0,0 +1,11 @@
+import DatePicker from '../index'
+import mountTest from '../../../tests/shared/mountTest'
+
+const { MonthPicker, WeekPicker, RangePicker } = DatePicker
+
+describe('mount', () => {
+ mountTest(DatePicker)
+ mountTest(MonthPicker)
+ mountTest(WeekPicker)
+ mountTest(RangePicker)
+})
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/other.test.js b/src/core/components/BaseDatePicker/src/datePick/__tests__/other.test.js
new file mode 100644
index 0000000..2e6260f
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/other.test.js
@@ -0,0 +1,73 @@
+import { mount } from '@vue/test-utils'
+import { asyncExpect, sleep } from '../../../tests/utils'
+import dayjs from 'dayjs'
+import DatePicker from '../index'
+import LocaleProvider from '../../locale-provider'
+import locale from '../../locale-provider/zh_CN'
+jest.mock('../../_util/Portal')
+const { MonthPicker, WeekPicker } = DatePicker
+
+describe('Picker format by locale', () => {
+ const myLocale = {
+ ...locale,
+ DatePicker: {
+ ...locale.DatePicker,
+ dateFormat: 'YYYY 年 M 月 D 日',
+ dateTimeFormat: 'YYYY 年 M 月 D 日 H 时 m 分 s 秒',
+ weekFormat: 'YYYY 年 W 周',
+ monthFormat: 'YYYY 年 M 月'
+ }
+ }
+
+ const date = dayjs('2000-01-01', 'YYYY-MM-DD')
+ function matchPicker(name, Picker, props) {
+ it(name, async () => {
+ const wrapper = mount(
+ {
+ render() {
+ return (
+
+
+
+ )
+ }
+ },
+ { sync: false }
+ )
+ await asyncExpect(() => {
+ expect(wrapper.html()).toMatchSnapshot()
+ })
+ })
+ }
+
+ matchPicker('date', DatePicker)
+ matchPicker('dateTime', DatePicker, { showTime: true })
+ matchPicker('week', WeekPicker)
+ matchPicker('month', MonthPicker)
+})
+
+describe('MonthPicker and WeekPicker', () => {
+ beforeEach(() => {
+ document.body.innerHTML = ''
+ })
+ it('render MonthPicker', async () => {
+ const birthday = dayjs('2000-01-01', 'YYYY-MM-DD').locale('zh-cn')
+ const wrapper = mount(MonthPicker, { props: { open: true }, sync: false })
+ await asyncExpect(() => {
+ wrapper.setProps({ value: birthday })
+ })
+
+ await asyncExpect(() => {
+ expect(document.body.innerHTML).toMatchSnapshot()
+ })
+ })
+
+ it('render WeekPicker', async () => {
+ const birthday = dayjs('2000-01-01', 'YYYY-MM-DD').locale('zh-cn')
+ const wrapper = mount(WeekPicker, { props: { open: false }, sync: false })
+ await sleep(10)
+ wrapper.setProps({ value: birthday, open: true })
+ await sleep(1000)
+ expect(document.body.innerHTML).toMatchSnapshot()
+ })
+})
diff --git a/src/core/components/BaseDatePicker/src/datePick/__tests__/utils.js b/src/core/components/BaseDatePicker/src/datePick/__tests__/utils.js
new file mode 100644
index 0000000..55c1665
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/__tests__/utils.js
@@ -0,0 +1,60 @@
+export function $$(className) {
+ return document.body.querySelectorAll(className);
+}
+export function hasSelected(wrapper, date) {
+ return document.body
+ .querySelector(`[title="${date.format('LL')}"][role="gridcell"]`)
+ .getAttribute('class')
+ .split(' ')
+ .includes('ant-calendar-selected-day');
+}
+
+export function openPanel(wrapper) {
+ wrapper.find('.ant-calendar-picker-input').trigger('click');
+}
+
+export function clearInput(wrapper) {
+ wrapper.find('.ant-calendar-picker-clear').trigger('click');
+}
+
+export function nextYear() {
+ $$('.ant-calendar-next-year-btn')[0].click();
+}
+
+export function nextMonth() {
+ $$('.ant-calendar-next-month-btn')[0].click();
+}
+
+export function selectDateFromBody(date, index) {
+ let calendar = document.body;
+ if (index !== undefined) {
+ calendar = document.body.querySelectorAll('.ant-calendar-range-part')[index];
+ }
+ calendar.querySelector(`[title="${date.format('LL')}"][role="gridcell"]`).click();
+}
+
+export function openPicker(wrapper, index = 0) {
+ wrapper.findAll('input')[index].trigger('mousedown');
+ wrapper.findAll('input')[index].trigger('focus');
+}
+export function closePicker(wrapper, index = 0) {
+ wrapper.findAll('input')[index].trigger('blur');
+}
+
+export function selectCell(wrapper, text, index = 0) {
+ let matchCell;
+ $$('table')
+ [index].querySelectorAll('td')
+ .forEach(td => {
+ if (td.textContent === String(text) && td.className.includes('-in-view')) {
+ matchCell = td;
+ td.click('click');
+ }
+ });
+
+ if (!matchCell) {
+ throw new Error('Cell not match in picker panel.');
+ }
+
+ return matchCell;
+}
diff --git a/src/core/components/BaseDatePicker/src/datePick/date-fns.tsx b/src/core/components/BaseDatePicker/src/datePick/date-fns.tsx
new file mode 100644
index 0000000..5ab86df
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/date-fns.tsx
@@ -0,0 +1,37 @@
+import type { App } from 'vue'
+import dataFnsGenerateConfig from '@core/components/BaseDatePicker/src/vc-picker/generate/dateFns'
+import type {
+ PickerProps,
+ PickerDateProps,
+ RangePickerProps as BaseRangePickerProps
+} from './generatePicker'
+import generatePicker from './generatePicker'
+import type { ExtraDatePickerProps, ExtraRangePickerProps } from './generatePicker/props'
+
+export type DatePickerProps = PickerProps & ExtraDatePickerProps
+export type MonthPickerProps = Omit, 'picker'> & ExtraDatePickerProps
+export type WeekPickerProps = Omit, 'picker'> & ExtraDatePickerProps
+export type RangePickerProps = BaseRangePickerProps & ExtraRangePickerProps
+
+const { DatePicker, WeekPicker, MonthPicker, YearPicker, TimePicker, QuarterPicker, RangePicker } =
+ generatePicker(dataFnsGenerateConfig)
+
+/* istanbul ignore next */
+export { RangePicker, WeekPicker, MonthPicker, QuarterPicker }
+
+export default Object.assign(DatePicker, {
+ WeekPicker,
+ MonthPicker,
+ YearPicker,
+ RangePicker,
+ TimePicker,
+ QuarterPicker,
+ install: (app: App) => {
+ app.component(DatePicker.name, DatePicker)
+ app.component(RangePicker.name, RangePicker)
+ app.component(MonthPicker.name, MonthPicker)
+ app.component(WeekPicker.name, WeekPicker)
+ app.component(QuarterPicker.name, QuarterPicker)
+ return app
+ }
+})
diff --git a/src/core/components/BaseDatePicker/src/datePick/dayjs.tsx b/src/core/components/BaseDatePicker/src/datePick/dayjs.tsx
new file mode 100644
index 0000000..ab48f42
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/dayjs.tsx
@@ -0,0 +1,38 @@
+import type { Dayjs } from 'dayjs'
+import type { App } from 'vue'
+import dayjsGenerateConfig from '@core/components/BaseDatePicker/src/vc-picker/generate/dayjs'
+import type {
+ PickerProps,
+ PickerDateProps,
+ RangePickerProps as BaseRangePickerProps
+} from './generatePicker'
+import generatePicker from './generatePicker'
+import type { ExtraDatePickerProps, ExtraRangePickerProps } from './generatePicker/props'
+
+export type DatePickerProps = PickerProps & ExtraDatePickerProps
+export type MonthPickerProps = Omit, 'picker'> & ExtraDatePickerProps
+export type WeekPickerProps = Omit, 'picker'> & ExtraDatePickerProps
+export type RangePickerProps = BaseRangePickerProps & ExtraRangePickerProps
+
+const { DatePicker, WeekPicker, MonthPicker, YearPicker, TimePicker, QuarterPicker, RangePicker } =
+ generatePicker(dayjsGenerateConfig)
+
+/* istanbul ignore next */
+export { RangePicker, WeekPicker, MonthPicker, QuarterPicker }
+
+export default Object.assign(DatePicker, {
+ WeekPicker,
+ MonthPicker,
+ YearPicker,
+ RangePicker,
+ TimePicker,
+ QuarterPicker,
+ install: (app: App) => {
+ app.component(DatePicker.name, DatePicker)
+ app.component(RangePicker.name, RangePicker)
+ app.component(MonthPicker.name, MonthPicker)
+ app.component(WeekPicker.name, WeekPicker)
+ app.component(QuarterPicker.name, QuarterPicker)
+ return app
+ }
+})
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/basic.vue b/src/core/components/BaseDatePicker/src/datePick/demo/basic.vue
new file mode 100644
index 0000000..f51e4b7
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/basic.vue
@@ -0,0 +1,42 @@
+
+---
+order: 0
+title:
+ zh-CN: 基本用法
+ en-US: Basic Usage
+---
+
+## zh-CN
+
+最简单的用法,在浮层中可以选择或者输入日期。
+
+## en-US
+
+Basic use case. Users can select or input a date in panel.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/bordered.vue b/src/core/components/BaseDatePicker/src/datePick/demo/bordered.vue
new file mode 100644
index 0000000..65a6e1b
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/bordered.vue
@@ -0,0 +1,51 @@
+
+---
+order: 23
+title:
+ zh-CN: 无边框
+ en-US: Bordered-less
+---
+
+## zh-CN
+
+无边框样式。
+
+## en-US
+
+Bordered-less style component.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/date-render.vue b/src/core/components/BaseDatePicker/src/datePick/demo/date-render.vue
new file mode 100644
index 0000000..939cc1a
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/date-render.vue
@@ -0,0 +1,60 @@
+
+---
+order: 9
+title:
+ zh-CN: 定制日期单元格
+ en-US: Customized Date Rendering
+---
+
+## zh-CN
+
+使用 `dateRender` 可以自定义日期单元格的内容和样式。
+
+## en-US
+
+We can customize the rendering of date cells in the calendar by providing a `dateRender` function to `DatePicker`.
+
+
+
+
+
+
+
+ {{ current.date() }}
+
+
+
+
+
+
+ {{ current.date() }}
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/disabled-date.vue b/src/core/components/BaseDatePicker/src/datePick/demo/disabled-date.vue
new file mode 100644
index 0000000..7f21b53
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/disabled-date.vue
@@ -0,0 +1,98 @@
+
+---
+order: 4
+title:
+ zh-CN: 不可选择日期和时间
+ en-US: Disabled Date & Time
+---
+
+## zh-CN
+
+可用 `disabledDate` 和 `disabledTime` 分别禁止选择部分日期和时间,其中 `disabledTime` 需要和 `showTime` 一起使用。
+
+## en-US
+
+Disabled part of dates and time by `disabledDate` and `disabledTime` respectively, and `disabledTime` only works with `showTime`.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/disabled.vue b/src/core/components/BaseDatePicker/src/datePick/demo/disabled.vue
new file mode 100644
index 0000000..9e14f78
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/disabled.vue
@@ -0,0 +1,47 @@
+
+---
+order: 3
+title:
+ zh-CN: 禁用
+ en-US: Disabled
+---
+
+## zh-CN
+
+选择框的不可用状态。
+
+## en-US
+
+A disabled state of the `DatePicker`.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/extra-footer.vue b/src/core/components/BaseDatePicker/src/datePick/demo/extra-footer.vue
new file mode 100644
index 0000000..63be974
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/extra-footer.vue
@@ -0,0 +1,37 @@
+
+---
+order: 7
+title:
+ zh-CN: 额外的页脚
+ en-US: Extra Footer
+---
+
+## zh-CN
+
+在浮层中加入额外的页脚,以满足某些定制信息的需求。
+
+## en-US
+
+Render extra footer in panel for customized requirements.
+
+
+
+
+
+
+ extra footer
+
+
+ extra footer
+
+
+ extra footer
+
+
+ extra footer
+
+
+ extra footer
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/format.vue b/src/core/components/BaseDatePicker/src/datePick/demo/format.vue
new file mode 100644
index 0000000..9aef11c
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/format.vue
@@ -0,0 +1,61 @@
+
+---
+order: 1
+title:
+ zh-CN: 日期格式
+ en-US: Date Format
+---
+
+## zh-CN
+
+使用 `format` 属性,可以自定义日期显示格式。
+
+## en-US
+
+We can set the date format by `format`.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/index.vue b/src/core/components/BaseDatePicker/src/datePick/demo/index.vue
new file mode 100644
index 0000000..3bfbe80
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/index.vue
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/mode.vue b/src/core/components/BaseDatePicker/src/datePick/demo/mode.vue
new file mode 100644
index 0000000..f61482e
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/mode.vue
@@ -0,0 +1,79 @@
+
+---
+order: 10
+title:
+ zh-CN: 受控面板
+ en-US: Controlled Panels
+---
+
+## zh-CN
+
+通过组合 `mode` 与 `onPanelChange` 控制要展示的面板。
+
+## en-US
+
+Determing which panel to show with `mode` and `onPanelChange`.
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/presetted-ranges.vue b/src/core/components/BaseDatePicker/src/datePick/demo/presetted-ranges.vue
new file mode 100644
index 0000000..a825beb
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/presetted-ranges.vue
@@ -0,0 +1,47 @@
+
+---
+order: 6
+title:
+ zh-CN: 预设范围
+ en-US: Preset Ranges
+---
+
+## zh-CN
+
+可以预设常用的日期范围以提高用户体验。
+
+## en-US
+
+We can set presetted ranges to RangePicker to improve user experience.
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/range-picker.vue b/src/core/components/BaseDatePicker/src/datePick/demo/range-picker.vue
new file mode 100644
index 0000000..68f25e6
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/range-picker.vue
@@ -0,0 +1,43 @@
+
+---
+order: 1
+title:
+ zh-CN: 范围选择器
+ en-US: Range Picker
+---
+
+## zh-CN
+
+通过设置 `picker` 属性,指定范围选择器类型。
+
+## en-US
+
+Set range picker type by `picker` prop.
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/select-in-range.vue b/src/core/components/BaseDatePicker/src/datePick/demo/select-in-range.vue
new file mode 100644
index 0000000..be52039
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/select-in-range.vue
@@ -0,0 +1,74 @@
+
+---
+order: 5
+title:
+ zh-CN: 选择不超过七天的范围
+ en-US: Select range dates in 7 days
+---
+
+## zh-CN
+
+这里举例如何用 `onCalendarChange` 和 `disabledDate` 来限制动态的日期区间选择。
+
+## en-US
+
+A example shows how to select a dynamic range by using `onCalendarChange` and `disabledDate`.
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/size.vue b/src/core/components/BaseDatePicker/src/datePick/demo/size.vue
new file mode 100644
index 0000000..120591f
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/size.vue
@@ -0,0 +1,41 @@
+
+---
+order: 8
+title:
+ zh-CN: 三种大小
+ en-US: Three Sizes
+---
+
+## zh-CN
+
+三种大小的输入框,若不设置,则为 `default`。
+
+## en-US
+
+The input box comes in three sizes. `default` will be used if `size` is omitted.
+
+
+
+
+
+
+ Large
+ Default
+ Small
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/start-end.vue b/src/core/components/BaseDatePicker/src/datePick/demo/start-end.vue
new file mode 100644
index 0000000..f1fe901
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/start-end.vue
@@ -0,0 +1,98 @@
+
+---
+order: 11
+title:
+ zh-CN: 自定义日期范围选择
+ en-US: Customized Range Picker
+---
+
+## zh-CN
+
+当 `RangePicker` 无法满足业务需求时,可以使用两个 `DatePicker` 实现类似的功能。
+> - 通过设置 `disabledDate` 方法,来约束开始和结束日期。
+> - 通过 `open` `openChange` 来优化交互。
+
+## en-US
+
+When `RangePicker` does not satisfied your requirements, try to implement similar functionality with two `DatePicker`.
+> - Use the `disabledDate` property to limit the start and end dates.
+> - Improve user experience with `open` and `openChange`.
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/suffix.vue b/src/core/components/BaseDatePicker/src/datePick/demo/suffix.vue
new file mode 100644
index 0000000..42ed119
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/suffix.vue
@@ -0,0 +1,69 @@
+
+---
+order: 13
+title:
+ zh-CN: 后缀图标
+ en-US: Suffix
+---
+
+## zh-CN
+
+通过 `suffixIcon` 自定义后缀图标
+
+## en-US
+
+Customize the suffix icon through `suffixIcon`
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/switchable.vue b/src/core/components/BaseDatePicker/src/datePick/demo/switchable.vue
new file mode 100644
index 0000000..b396de9
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/switchable.vue
@@ -0,0 +1,44 @@
+
+---
+order: 1.1
+title:
+ zh-CN: 切换不同的选择器
+ en-US: Switchable picker
+---
+
+## zh-CN
+
+提供选择器,自由切换不同类型的日期选择器,常用于日期筛选场合。
+
+## en-US
+
+Switch in different types of pickers by Select.
+
+
+
+
+ Time
+ Date
+ Week
+ Month
+ Quarter
+ Year
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/text.vue b/src/core/components/BaseDatePicker/src/datePick/demo/text.vue
new file mode 100644
index 0000000..30baf83
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/text.vue
@@ -0,0 +1,55 @@
+
+---
+order: 12
+title:
+ zh-CN: 自定义渲染
+ en-US: Custum Time
+---
+
+## zh-CN
+
+增加自定义渲染功能,在默认 `slot` 中,你可以设置任何你想渲染的组件。
+
+## en-US
+
+Added custom rendering function, in the default `slot`, you can set any component you want to render.
+
+
+
+
+
+
+ {{ time1 ? time1.toString() : 'SelectTime' }}
+
+
+
+ {{ time2 ? time2.toString() : '请选择' }}
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/demo/time.vue b/src/core/components/BaseDatePicker/src/datePick/demo/time.vue
new file mode 100644
index 0000000..41f64c0
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/demo/time.vue
@@ -0,0 +1,62 @@
+
+---
+order: 2
+title:
+ zh-CN: 日期时间选择
+ en-US: Choose Time
+---
+
+## zh-CN
+
+增加选择时间功能,当 `showTime` 为一个对象时,其属性会传递给内建的 `TimePicker`。
+
+## en-US
+
+This property provide an additional time selection. When `showTime` is an Object, its properties will be passed on to built-in `TimePicker`.
+
+
+
+
+
+
+
+
+
+
diff --git a/src/core/components/BaseDatePicker/src/datePick/generatePicker/generateRangePicker.tsx b/src/core/components/BaseDatePicker/src/datePick/generatePicker/generateRangePicker.tsx
new file mode 100644
index 0000000..5a647ad
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/generatePicker/generateRangePicker.tsx
@@ -0,0 +1,217 @@
+import CalendarOutlined from '@ant-design/icons-vue/CalendarOutlined'
+import ClockCircleOutlined from '@ant-design/icons-vue/ClockCircleOutlined'
+import CloseCircleFilled from '@ant-design/icons-vue/CloseCircleFilled'
+import SwapRightOutlined from '@ant-design/icons-vue/SwapRightOutlined'
+import { RangePicker as VCRangePicker } from '../../vc-picker'
+import type { GenerateConfig } from '@core/components/BaseDatePicker/src/vc-picker/generate'
+import enUS from '../locale/en_US'
+import { useLocaleReceiver } from 'ant-design-vue/es/locale-provider/LocaleReceiver'
+import { getRangePlaceholder } from '../util'
+import { getTimeProps, Components } from './index'
+import { computed, defineComponent, ref } from 'vue'
+import useConfigInject from 'ant-design-vue/es/_util/hooks/useConfigInject'
+import classNames from 'ant-design-vue/es/_util/classNames'
+import type { CommonProps, RangePickerProps } from './props'
+import { commonProps, rangePickerProps } from './props'
+import type { PanelMode, RangeValue } from '@core/components/BaseDatePicker/src/vc-picker/interface'
+import type { RangePickerSharedProps } from '@core/components/BaseDatePicker/src/vc-picker/RangePicker'
+import devWarning from 'ant-design-vue/es/vc-util/devWarning'
+import { useInjectFormItemContext } from 'ant-design-vue/es/form/FormItemContext'
+import omit from 'ant-design-vue/es/_util/omit'
+
+export default function generateRangePicker(
+ generateConfig: GenerateConfig,
+ extraProps: ExtraProps
+) {
+ const RangePicker = defineComponent({
+ name: 'ARangePicker',
+ inheritAttrs: false,
+ props: {
+ ...commonProps(),
+ ...rangePickerProps(),
+ ...extraProps
+ },
+ slots: [
+ 'suffixIcon',
+ // 'clearIcon',
+ 'prevIcon',
+ 'nextIcon',
+ 'superPrevIcon',
+ 'superNextIcon',
+ // 'panelRender',
+ 'dateRender',
+ 'renderExtraFooter'
+ // 'separator',
+ ],
+ setup(_props, { expose, slots, attrs, emit }) {
+ const props = _props as unknown as CommonProps & RangePickerProps
+ const formItemContext = useInjectFormItemContext()
+ devWarning(
+ !attrs.getCalendarContainer,
+ 'DatePicker',
+ '`getCalendarContainer` is deprecated. Please use `getPopupContainer"` instead.'
+ )
+ const { prefixCls, direction, getPopupContainer, size, rootPrefixCls } = useConfigInject(
+ 'picker',
+ props
+ )
+ const pickerRef = ref()
+ expose({
+ focus: () => {
+ pickerRef.value?.focus()
+ },
+ blur: () => {
+ pickerRef.value?.blur()
+ }
+ })
+ const maybeToStrings = (dates: DateType[]) => {
+ return props.valueFormat ? generateConfig.toString(dates, props.valueFormat) : dates
+ }
+ const onChange = (dates: [DateType, DateType], dateStrings: [string, string]) => {
+ const values = maybeToStrings(dates)
+ emit('update:value', values)
+ emit('change', values, dateStrings)
+ formItemContext.onFieldChange()
+ }
+ const onOpenChange = (open: boolean) => {
+ emit('update:open', open)
+ emit('openChange', open)
+ }
+ const onFocus = (e: FocusEvent) => {
+ emit('focus', e)
+ }
+ const onBlur = (e: FocusEvent) => {
+ emit('blur', e)
+ formItemContext.onFieldBlur()
+ }
+ const onPanelChange = (dates: RangeValue, modes: [PanelMode, PanelMode]) => {
+ const values = maybeToStrings(dates)
+ emit('panelChange', values, modes)
+ }
+ const onOk = (dates: DateType[]) => {
+ const value = maybeToStrings(dates)
+ emit('ok', value)
+ }
+ const onCalendarChange: RangePickerSharedProps['onCalendarChange'] = (
+ dates: [DateType, DateType],
+ dateStrings: [string, string],
+ info
+ ) => {
+ const values = maybeToStrings(dates)
+ emit('calendarChange', values, dateStrings, info)
+ }
+ const [contextLocale] = useLocaleReceiver('DatePicker', enUS)
+
+ const value = computed(() => {
+ if (props.value) {
+ return props.valueFormat
+ ? generateConfig.toDate(props.value, props.valueFormat)
+ : props.value
+ }
+ return props.value
+ })
+ const defaultValue = computed(() => {
+ if (props.defaultValue) {
+ return props.valueFormat
+ ? generateConfig.toDate(props.defaultValue, props.valueFormat)
+ : props.defaultValue
+ }
+ return props.defaultValue
+ })
+ const defaultPickerValue = computed(() => {
+ if (props.defaultPickerValue) {
+ return props.valueFormat
+ ? generateConfig.toDate(props.defaultPickerValue, props.valueFormat)
+ : props.defaultPickerValue
+ }
+ return props.defaultPickerValue
+ })
+ return () => {
+ const locale = { ...contextLocale.value, ...props.locale }
+ const p = { ...props, ...attrs }
+ const {
+ prefixCls: customizePrefixCls,
+ bordered = true,
+ placeholder,
+ suffixIcon = slots.suffixIcon?.(),
+ picker = 'date',
+ transitionName,
+ allowClear = true,
+ dateRender = slots.dateRender,
+ renderExtraFooter = slots.renderExtraFooter,
+ separator = slots.separator?.(),
+ clearIcon = slots.clearIcon?.(),
+ id = formItemContext.id.value,
+ ...restProps
+ } = p
+ delete restProps['onUpdate:value']
+ delete restProps['onUpdate:open']
+ const { format, showTime } = p as any
+
+ let additionalOverrideProps: any = {}
+ additionalOverrideProps = {
+ ...additionalOverrideProps,
+ ...(showTime ? getTimeProps({ format, picker, ...showTime }) : {}),
+ ...(picker === 'time'
+ ? getTimeProps({ format, ...omit(restProps, ['disabledTime']), picker })
+ : {})
+ }
+ const pre = prefixCls.value
+ return (
+
+
+
+ )
+ }
+ ref={pickerRef}
+ placeholder={getRangePlaceholder(picker, locale, placeholder as [string, string])}
+ suffixIcon={
+ suffixIcon || (picker === 'time' ? : )
+ }
+ clearIcon={clearIcon || }
+ allowClear={allowClear}
+ transitionName={transitionName || `${rootPrefixCls.value}-slide-up`}
+ {...restProps}
+ {...additionalOverrideProps}
+ id={id}
+ value={value.value}
+ defaultValue={defaultValue.value}
+ defaultPickerValue={defaultPickerValue.value}
+ picker={picker}
+ class={classNames(
+ {
+ [`${pre}-${size.value}`]: size.value,
+ [`${pre}-borderless`]: !bordered
+ },
+ attrs.class
+ )}
+ locale={locale!.lang}
+ prefixCls={pre}
+ getPopupContainer={attrs.getCalendarContainer || getPopupContainer.value}
+ generateConfig={generateConfig}
+ prevIcon={slots.prevIcon?.() || }
+ nextIcon={slots.nextIcon?.() || }
+ superPrevIcon={slots.superPrevIcon?.() || }
+ superNextIcon={slots.superNextIcon?.() || }
+ components={Components}
+ direction={direction.value}
+ onChange={onChange}
+ onOpenChange={onOpenChange}
+ onFocus={onFocus}
+ onBlur={onBlur}
+ onPanelChange={onPanelChange}
+ onOk={onOk}
+ onCalendarChange={onCalendarChange}
+ />
+ )
+ }
+ }
+ })
+
+ return RangePicker
+}
diff --git a/src/core/components/BaseDatePicker/src/datePick/generatePicker/generateSinglePicker.tsx b/src/core/components/BaseDatePicker/src/datePick/generatePicker/generateSinglePicker.tsx
new file mode 100644
index 0000000..0d555df
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/generatePicker/generateSinglePicker.tsx
@@ -0,0 +1,246 @@
+import CalendarOutlined from '@ant-design/icons-vue/CalendarOutlined'
+import ClockCircleOutlined from '@ant-design/icons-vue/ClockCircleOutlined'
+import CloseCircleFilled from '@ant-design/icons-vue/CloseCircleFilled'
+import RCPicker from '../../vc-picker'
+import type { PanelMode, PickerMode } from '@core/components/BaseDatePicker/src/vc-picker/interface'
+import type { GenerateConfig } from '@core/components/BaseDatePicker/src/vc-picker/generate'
+import enUS from '../locale/en_US'
+import { getPlaceholder } from '../util'
+import { useLocaleReceiver } from 'ant-design-vue/es/locale-provider/LocaleReceiver'
+import { getTimeProps, Components } from './index'
+import { computed, defineComponent, ref } from 'vue'
+import useConfigInject from 'ant-design-vue/es/_util/hooks/useConfigInject'
+import classNames from 'ant-design-vue/es/_util/classNames'
+import type { CommonProps, DatePickerProps } from './props'
+import { commonProps, datePickerProps } from './props'
+
+import devWarning from 'ant-design-vue/es/vc-util/devWarning'
+import { useInjectFormItemContext } from 'ant-design-vue/es/form/FormItemContext'
+
+export default function generateSinglePicker(
+ generateConfig: GenerateConfig,
+ extraProps: ExtraProps
+) {
+ function getPicker(picker?: PickerMode, displayName?: string) {
+ const comProps = {
+ ...commonProps(),
+ ...datePickerProps(),
+ ...extraProps
+ }
+ return defineComponent({
+ name: displayName,
+ inheritAttrs: false,
+ props: comProps,
+ slots: [
+ 'suffixIcon',
+ // 'clearIcon',
+ 'prevIcon',
+ 'nextIcon',
+ 'superPrevIcon',
+ 'superNextIcon',
+ // 'panelRender',
+ 'dateRender',
+ 'renderExtraFooter',
+ 'monthCellRender'
+ ],
+ setup(_props, { slots, expose, attrs, emit }) {
+ // 兼容 vue 3.2.7
+ const props = _props as unknown as CommonProps &
+ DatePickerProps &
+ ExtraProps
+ const formItemContext = useInjectFormItemContext()
+ devWarning(
+ !(props.monthCellContentRender || slots.monthCellContentRender),
+ 'DatePicker',
+ '`monthCellContentRender` is deprecated. Please use `monthCellRender"` instead.'
+ )
+
+ devWarning(
+ !attrs.getCalendarContainer,
+ 'DatePicker',
+ '`getCalendarContainer` is deprecated. Please use `getPopupContainer"` instead.'
+ )
+ const { prefixCls, direction, getPopupContainer, size, rootPrefixCls } = useConfigInject(
+ 'picker',
+ props
+ )
+ const pickerRef = ref()
+ expose({
+ focus: () => {
+ pickerRef.value?.focus()
+ },
+ blur: () => {
+ pickerRef.value?.blur()
+ }
+ })
+ const maybeToString = (date: DateType) => {
+ return props.valueFormat ? generateConfig.toString(date, props.valueFormat) : date
+ }
+ const onChange = (date: DateType, dateString: string) => {
+ const value = maybeToString(date)
+ emit('update:value', value)
+ emit('change', value, dateString)
+ formItemContext.onFieldChange()
+ }
+ const onOpenChange = (open: boolean) => {
+ emit('update:open', open)
+ emit('openChange', open)
+ }
+ const onFocus = (e: FocusEvent) => {
+ emit('focus', e)
+ }
+ const onBlur = (e: FocusEvent) => {
+ emit('blur', e)
+ formItemContext.onFieldBlur()
+ }
+ const onPanelChange = (date: DateType, mode: PanelMode | null) => {
+ const value = maybeToString(date)
+ emit('panelChange', value, mode)
+ }
+ const onOk = (date: DateType) => {
+ const value = maybeToString(date)
+ emit('ok', value)
+ }
+
+ const [contextLocale] = useLocaleReceiver('DatePicker', enUS)
+
+ const value = computed(() => {
+ if (props.value) {
+ return props.valueFormat
+ ? generateConfig.toDate(props.value as string | DateType, props.valueFormat)
+ : props.value
+ }
+ return (props.value === '' ? undefined : props.value) as DateType
+ })
+ const defaultValue = computed(() => {
+ if (props.defaultValue) {
+ return props.valueFormat
+ ? generateConfig.toDate(props.defaultValue as string | DateType, props.valueFormat)
+ : props.defaultValue
+ }
+ return (props.defaultValue === '' ? undefined : props.defaultValue) as DateType
+ })
+ const defaultPickerValue = computed(() => {
+ if (props.defaultPickerValue) {
+ return props.valueFormat
+ ? generateConfig.toDate(
+ props.defaultPickerValue as string | DateType,
+ props.valueFormat
+ )
+ : props.defaultPickerValue
+ }
+ return (
+ props.defaultPickerValue === '' ? undefined : props.defaultPickerValue
+ ) as DateType
+ })
+
+ return () => {
+ const locale = { ...contextLocale.value, ...props.locale }
+ const p = { ...props, ...attrs }
+ const {
+ bordered = true,
+ placeholder,
+ suffixIcon = slots.suffixIcon?.(),
+ showToday = true,
+ transitionName,
+ allowClear = true,
+ dateRender = slots.dateRender,
+ renderExtraFooter = slots.renderExtraFooter,
+ monthCellRender = slots.monthCellRender ||
+ (props as any).monthCellContentRender ||
+ slots.monthCellContentRender,
+ clearIcon = slots.clearIcon?.(),
+ id = formItemContext.id.value,
+ ...restProps
+ } = p
+ const showTime = p.showTime === '' ? true : p.showTime
+ const { format } = p as any
+
+ let additionalOverrideProps: any = {}
+ if (picker) {
+ additionalOverrideProps.picker = picker
+ }
+ const mergedPicker = picker || p.picker || 'date'
+
+ additionalOverrideProps = {
+ ...additionalOverrideProps,
+ ...(showTime
+ ? getTimeProps({
+ format,
+ picker: mergedPicker,
+ ...(typeof showTime === 'object' ? showTime : {})
+ })
+ : {}),
+ ...(mergedPicker === 'time'
+ ? getTimeProps({ format, ...restProps, picker: mergedPicker })
+ : {})
+ }
+ const pre = prefixCls.value
+ return (
+ : )
+ }
+ clearIcon={clearIcon || }
+ allowClear={allowClear}
+ transitionName={transitionName || `${rootPrefixCls.value}-slide-up`}
+ {...restProps}
+ {...additionalOverrideProps}
+ id={id}
+ picker={mergedPicker}
+ value={value.value}
+ defaultValue={defaultValue.value}
+ defaultPickerValue={defaultPickerValue.value}
+ showToday={showToday}
+ locale={locale!.lang}
+ class={classNames(
+ {
+ [`${pre}-${size.value}`]: size.value,
+ [`${pre}-borderless`]: !bordered
+ },
+ attrs.class
+ )}
+ prefixCls={pre}
+ getPopupContainer={attrs.getCalendarContainer || getPopupContainer.value}
+ generateConfig={generateConfig}
+ prevIcon={slots.prevIcon?.() || }
+ nextIcon={slots.nextIcon?.() || }
+ superPrevIcon={slots.superPrevIcon?.() || }
+ superNextIcon={slots.superNextIcon?.() || }
+ components={Components}
+ direction={direction.value}
+ onChange={onChange}
+ onOpenChange={onOpenChange}
+ onFocus={onFocus}
+ onBlur={onBlur}
+ onPanelChange={onPanelChange}
+ onOk={onOk}
+ />
+ )
+ }
+ }
+ })
+ }
+
+ const DatePicker = getPicker(undefined, 'ADatePicker')
+ const WeekPicker = getPicker('week', 'AWeekPicker')
+ const MonthPicker = getPicker('month', 'AMonthPicker')
+ const YearPicker = getPicker('year', 'AYearPicker')
+ const TimePicker = getPicker('time', 'TimePicker') // 给独立组件 TimePicker 使用,此处名称不用更改
+ const QuarterPicker = getPicker('quarter', 'AQuarterPicker')
+
+ return {
+ DatePicker,
+ WeekPicker,
+ MonthPicker,
+ YearPicker,
+ TimePicker,
+ QuarterPicker
+ }
+}
diff --git a/src/core/components/BaseDatePicker/src/datePick/generatePicker/index.tsx b/src/core/components/BaseDatePicker/src/datePick/generatePicker/index.tsx
new file mode 100644
index 0000000..ef62e6a
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/generatePicker/index.tsx
@@ -0,0 +1,80 @@
+import type { GenerateConfig } from '@core/components/BaseDatePicker/src/vc-picker/generate'
+import type { SharedTimeProps } from '@core/components/BaseDatePicker/src/vc-picker/panels/TimePanel'
+import type { PickerMode } from '@core/components/BaseDatePicker/src/vc-picker/interface'
+import PickerButton from '../PickerButton'
+import PickerTag from '../PickerTag'
+import generateSinglePicker from './generateSinglePicker'
+import generateRangePicker from './generateRangePicker'
+
+export * from './interface'
+
+export const Components = { button: PickerButton, rangeItem: PickerTag }
+
+function toArray(list: T | T[]): T[] {
+ if (!list) {
+ return []
+ }
+ return Array.isArray(list) ? list : [list]
+}
+
+export function getTimeProps(
+ props: { format?: string; picker?: PickerMode } & SharedTimeProps
+) {
+ const { format, picker, showHour, showMinute, showSecond, use12Hours } = props
+
+ const firstFormat = toArray(format)[0]
+ const showTimeObj: SharedTimeProps = { ...props }
+
+ if (firstFormat && typeof firstFormat === 'string') {
+ if (!firstFormat.includes('s') && showSecond === undefined) {
+ showTimeObj.showSecond = false
+ }
+ if (!firstFormat.includes('m') && showMinute === undefined) {
+ showTimeObj.showMinute = false
+ }
+ if (!firstFormat.includes('H') && !firstFormat.includes('h') && showHour === undefined) {
+ showTimeObj.showHour = false
+ }
+
+ if ((firstFormat.includes('a') || firstFormat.includes('A')) && use12Hours === undefined) {
+ showTimeObj.use12Hours = true
+ }
+ }
+
+ if (picker === 'time') {
+ return showTimeObj
+ }
+
+ if (typeof firstFormat === 'function') {
+ // format of showTime should use default when format is custom format function
+ delete showTimeObj.format
+ }
+
+ return {
+ showTime: showTimeObj
+ }
+}
+
+function generatePicker(
+ generateConfig: GenerateConfig,
+ extraProps?: ExtraProps
+) {
+ // =========================== Picker ===========================
+ const { DatePicker, WeekPicker, MonthPicker, YearPicker, TimePicker, QuarterPicker } =
+ generateSinglePicker(generateConfig, extraProps)
+
+ // ======================== Range Picker ========================
+ const RangePicker = generateRangePicker(generateConfig, extraProps)
+
+ return {
+ DatePicker,
+ WeekPicker,
+ MonthPicker,
+ YearPicker,
+ TimePicker,
+ QuarterPicker,
+ RangePicker
+ }
+}
+
+export default generatePicker
diff --git a/src/core/components/BaseDatePicker/src/datePick/generatePicker/interface.ts b/src/core/components/BaseDatePicker/src/datePick/generatePicker/interface.ts
new file mode 100644
index 0000000..54ecdb9
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/generatePicker/interface.ts
@@ -0,0 +1,74 @@
+import type {
+ PickerBaseProps as RCPickerBaseProps,
+ PickerDateProps as RCPickerDateProps,
+ PickerTimeProps as RCPickerTimeProps
+} from '@core/components/BaseDatePicker/src/vc-picker/Picker'
+import type {
+ RangePickerBaseProps as RCRangePickerBaseProps,
+ RangePickerDateProps as RCRangePickerDateProps,
+ RangePickerTimeProps as RCRangePickerTimeProps
+} from '@core/components/BaseDatePicker/src/vc-picker/RangePicker'
+import type { Locale as RcPickerLocale } from '@core/components/BaseDatePicker/src/vc-picker/interface'
+import type { TimePickerLocale } from 'ant-design-vue/es/time-picker'
+import type { SizeType } from 'ant-design-vue/es/config-provider'
+
+type InjectDefaultProps = Omit<
+ Props,
+ | 'locale'
+ | 'generateConfig'
+ | 'prevIcon'
+ | 'nextIcon'
+ | 'superPrevIcon'
+ | 'superNextIcon'
+ | 'hideHeader'
+ | 'components'
+> & {
+ locale?: PickerLocale
+ size?: SizeType
+ bordered?: boolean
+}
+
+export type PickerLocale = {
+ lang: RcPickerLocale & AdditionalPickerLocaleLangProps
+ timePickerLocale: TimePickerLocale
+} & AdditionalPickerLocaleProps
+
+export type AdditionalPickerLocaleProps = {
+ dateFormat?: string
+ dateTimeFormat?: string
+ weekFormat?: string
+ monthFormat?: string
+}
+
+export type AdditionalPickerLocaleLangProps = {
+ placeholder: string
+ yearPlaceholder?: string
+ quarterPlaceholder?: string
+ monthPlaceholder?: string
+ weekPlaceholder?: string
+ rangeYearPlaceholder?: [string, string]
+ rangeQuarterPlaceholder?: [string, string]
+ rangeMonthPlaceholder?: [string, string]
+ rangeWeekPlaceholder?: [string, string]
+ rangePlaceholder?: [string, string]
+}
+
+// Picker Props
+export type PickerBaseProps = InjectDefaultProps>
+export type PickerDateProps = InjectDefaultProps>
+export type PickerTimeProps = InjectDefaultProps>
+
+export type PickerProps =
+ | PickerBaseProps
+ | PickerDateProps
+ | PickerTimeProps
+
+// Range Picker Props
+export type RangePickerBaseProps = InjectDefaultProps>
+export type RangePickerDateProps = InjectDefaultProps>
+export type RangePickerTimeProps = InjectDefaultProps>
+
+export type RangePickerProps =
+ | RangePickerBaseProps
+ | RangePickerDateProps
+ | RangePickerTimeProps
diff --git a/src/core/components/BaseDatePicker/src/datePick/generatePicker/props.ts b/src/core/components/BaseDatePicker/src/datePick/generatePicker/props.ts
new file mode 100644
index 0000000..120905d
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/generatePicker/props.ts
@@ -0,0 +1,289 @@
+import type { FocusEventHandler, MouseEventHandler } from 'ant-design-vue/es/_util/EventInterface'
+import type { CSSProperties, PropType } from 'vue'
+import type { PickerLocale } from './index'
+import type { SizeType } from 'ant-design-vue/es/config-provider'
+import type { AlignType } from 'ant-design-vue/es/vc-align/interface'
+import type {
+ CustomFormat,
+ DisabledTime,
+ DisabledTimes,
+ EventValue,
+ PanelMode,
+ PickerMode,
+ RangeValue
+} from '@core/components/BaseDatePicker/src/vc-picker/interface'
+import type { DateRender } from '@core/components/BaseDatePicker/src/vc-picker/panels/DatePanel/DateBody'
+import type { MonthCellRender } from '@core/components/BaseDatePicker/src/vc-picker/panels/MonthPanel/MonthBody'
+import type { SharedTimeProps } from '@core/components/BaseDatePicker/src/vc-picker/panels/TimePanel'
+import type {
+ RangeDateRender,
+ RangeInfo,
+ RangeType
+} from '@core/components/BaseDatePicker/src/vc-picker/RangePicker'
+import type { VueNode } from 'ant-design-vue/es/_util/type'
+
+function commonProps() {
+ return {
+ id: String,
+ dropdownClassName: String,
+ dropdownAlign: { type: Object as PropType },
+ popupStyle: { type: Object as PropType },
+ transitionName: String,
+ placeholder: String,
+ allowClear: { type: Boolean, default: undefined },
+ autofocus: { type: Boolean, default: undefined },
+ disabled: { type: Boolean, default: undefined },
+ tabindex: Number,
+ open: { type: Boolean, default: undefined },
+ defaultOpen: { type: Boolean, default: undefined },
+ /** Make input readOnly to avoid popup keyboard in mobile */
+ inputReadOnly: { type: Boolean, default: undefined },
+ // Value
+ // format: string | CustomFormat | (string | CustomFormat)[];
+ // Render
+ // suffixIcon?: VueNode;
+ // clearIcon?: VueNode;
+ // prevIcon?: VueNode;
+ // nextIcon?: VueNode;
+ // superPrevIcon?: VueNode;
+ // superNextIcon?: VueNode;
+ getPopupContainer: { type: Function as PropType<(node: HTMLElement) => HTMLElement> },
+ panelRender: { type: Function as PropType<(originPanel: VueNode) => VueNode> },
+ // // Events
+ onChange: {
+ type: Function as PropType<(value: DateType | string | null, dateString: string) => void>
+ },
+ 'onUpdate:value': { type: Function as PropType<(value: DateType | string | null) => void> },
+ onOk: { type: Function as PropType<(value: DateType | string | null) => void> },
+ onOpenChange: { type: Function as PropType<(open: boolean) => void> },
+ 'onUpdate:open': { type: Function as PropType<(open: boolean) => void> },
+ onFocus: { type: Function as PropType },
+ onBlur: { type: Function as PropType },
+ onMousedown: { type: Function as PropType },
+ onMouseup: { type: Function as PropType },
+ onMouseenter: { type: Function as PropType },
+ onMouseleave: { type: Function as PropType },
+ onClick: { type: Function as PropType },
+ onContextmenu: { type: Function as PropType },
+ onKeydown: {
+ type: Function as PropType<(event: KeyboardEvent, preventDefault: () => void) => void>
+ },
+ // WAI-ARIA
+ role: String,
+ name: String,
+ autocomplete: String,
+ direction: { type: String as PropType<'ltr' | 'rtl'> },
+ showToday: { type: Boolean, default: undefined },
+ showTime: {
+ type: [Boolean, Object] as PropType>,
+ default: undefined
+ },
+ locale: { type: Object as PropType },
+ size: { type: String as PropType },
+ bordered: { type: Boolean, default: undefined },
+ dateRender: { type: Function as PropType> },
+ disabledDate: { type: Function as PropType<(date: DateType) => boolean> },
+ mode: { type: String as PropType },
+ picker: { type: String as PropType },
+ valueFormat: String,
+
+ /** @deprecated Please use `disabledTime` instead. */
+ disabledHours: Function as PropType,
+ /** @deprecated Please use `disabledTime` instead. */
+ disabledMinutes: Function as PropType,
+ /** @deprecated Please use `disabledTime` instead. */
+ disabledSeconds: Function as PropType
+ }
+}
+
+export interface CommonProps {
+ id?: string
+ prefixCls?: string
+ dropdownClassName?: string
+ dropdownAlign?: AlignType
+ popupStyle?: CSSProperties
+ transitionName?: string
+ placeholder?: string
+ allowClear?: boolean
+ autofocus?: boolean
+ disabled?: boolean
+ tabindex?: number
+ open?: boolean
+ defaultOpen?: boolean
+ inputReadOnly?: boolean
+ suffixIcon?: VueNode
+ clearIcon?: VueNode
+ prevIcon?: VueNode
+ nextIcon?: VueNode
+ superPrevIcon?: VueNode
+ superNextIcon?: VueNode
+ getPopupContainer?: (triggerNode: HTMLElement) => HTMLElement
+ panelRender?: (originPanel: VueNode) => VueNode
+ onChange?: (value: DateType | string | null, dateString: string) => void
+ 'onUpdate:value'?: (value: DateType | string | null) => void
+ onOk?: (value: DateType | string | null) => void
+ onOpenChange?: (open: boolean) => void
+ 'onUpdate:open'?: (open: boolean) => void
+ onFocus?: FocusEventHandler
+ onBlur?: FocusEventHandler
+ onMousedown?: MouseEventHandler
+ onMouseup?: MouseEventHandler
+ onMouseenter?: MouseEventHandler
+ onMouseleave?: MouseEventHandler
+ onClick?: MouseEventHandler
+ onContextmenu?: MouseEventHandler
+ onKeydown?: (event: KeyboardEvent, preventDefault: () => void) => void
+ role?: string
+ name?: string
+ autocomplete?: string
+ direction?: 'ltr' | 'rtl'
+ showToday?: boolean
+ showTime?: boolean | SharedTimeProps
+ locale?: PickerLocale
+ size?: SizeType
+ bordered?: boolean
+ dateRender?: DateRender
+ disabledDate?: (date: DateType) => boolean
+ mode?: PanelMode
+ picker?: PickerMode
+ valueFormat?: string
+}
+
+function datePickerProps() {
+ return {
+ defaultPickerValue: { type: [String, Object] as PropType },
+ defaultValue: { type: [String, Object] as PropType },
+ value: { type: [String, Object] as PropType },
+ disabledTime: { type: Function as PropType> },
+ format: {
+ type: [String, Function, Array] as PropType<
+ string | CustomFormat | (string | CustomFormat)[]
+ >
+ },
+ renderExtraFooter: { type: Function as PropType<(mode: PanelMode) => VueNode> },
+ showNow: { type: Boolean, default: undefined },
+ monthCellRender: { type: Function as PropType> },
+ // deprecated Please use `monthCellRender"` instead.',
+ monthCellContentRender: { type: Function as PropType> }
+ }
+}
+
+export interface DatePickerProps {
+ defaultPickerValue?: DateType | string
+ defaultValue?: DateType | string
+ value?: DateType | string
+ disabledTime?: DisabledTime
+ format?: string | CustomFormat | (string | CustomFormat)[]
+ renderExtraFooter?: (mode: PanelMode) => VueNode
+ showNow?: boolean
+ monthCellRender?: MonthCellRender
+ // deprecated Please use `monthCellRender"` instead.',
+ monthCellContentRender?: MonthCellRender
+}
+
+function rangePickerProps() {
+ return {
+ allowEmpty: { type: Array as unknown as PropType<[boolean, boolean]> },
+ dateRender: { type: Function as PropType> },
+ defaultPickerValue: {
+ type: Array as unknown as PropType | RangeValue>
+ },
+ defaultValue: { type: Array as unknown as PropType | RangeValue> },
+ value: { type: Array as unknown as PropType | RangeValue> },
+ disabledTime: {
+ type: Function as PropType<(date: EventValue, type: RangeType) => DisabledTimes>
+ },
+ disabled: { type: [Boolean, Array] as unknown as PropType },
+ format: String,
+ renderExtraFooter: { type: Function as PropType<() => VueNode> },
+ separator: { type: String },
+ ranges: {
+ type: Object as PropType<
+ Record<
+ string,
+ Exclude, null> | (() => Exclude, null>)
+ >
+ >
+ },
+ placeholder: Array,
+ mode: { type: Array as unknown as PropType<[PanelMode, PanelMode]> },
+ onChange: {
+ type: Function as PropType<
+ (
+ value: RangeValue | RangeValue | null,
+ dateString: [string, string]
+ ) => void
+ >
+ },
+ 'onUpdate:value': {
+ type: Function as PropType<(value: RangeValue | RangeValue | null) => void>
+ },
+ onCalendarChange: {
+ type: Function as PropType<
+ (
+ values: RangeValue | RangeValue,
+ formatString: [string, string],
+ info: RangeInfo
+ ) => void
+ >
+ },
+ onPanelChange: {
+ type: Function as PropType<
+ (values: RangeValue | RangeValue, modes: [PanelMode, PanelMode]) => void
+ >
+ },
+ onOk: {
+ type: Function as PropType<(dates: RangeValue | RangeValue) => void>
+ }
+ }
+}
+
+export interface RangePickerProps {
+ allowEmpty?: [boolean, boolean]
+ dateRender?: RangeDateRender
+ defaultPickerValue?: RangeValue | RangeValue
+ defaultValue?: RangeValue | RangeValue
+ value?: RangeValue | RangeValue
+ disabledTime?: (date: EventValue, type: RangeType) => DisabledTimes
+ disabled?: [boolean, boolean]
+ format?: string
+ renderExtraFooter?: () => VueNode
+ separator?: string
+ ranges?: Record<
+ string,
+ Exclude, null> | (() => Exclude, null>)
+ >
+ placeholder?: [string, string]
+ mode?: [PanelMode, PanelMode]
+ onChange?: (
+ value: RangeValue | RangeValue | null,
+ dateString: [string, string]
+ ) => void
+ 'onUpdate:value'?: (value: RangeValue | RangeValue | null) => void
+ onCalendarChange?: (
+ values: RangeValue | RangeValue,
+ formatString: [string, string],
+ info: RangeInfo
+ ) => void
+ onPanelChange?: (
+ values: RangeValue | RangeValue,
+ modes: [PanelMode, PanelMode]
+ ) => void
+ onOk?: (dates: RangeValue | RangeValue) => void
+}
+
+export type ExtraDatePickerProps = {
+ valueFormat?: string
+ defaultPickerValue?: DateType | string
+ defaultValue?: DateType | string
+ value?: DateType | string
+}
+
+export type ExtraRangePickerProps = {
+ valueFormat?: string
+ defaultPickerValue?: RangeValue | RangeValue
+ defaultValue?: RangeValue | RangeValue
+ value?: RangeValue | RangeValue
+}
+
+export { commonProps, datePickerProps, rangePickerProps }
diff --git a/src/core/components/BaseDatePicker/src/datePick/index.en-US.md b/src/core/components/BaseDatePicker/src/datePick/index.en-US.md
new file mode 100644
index 0000000..094beb1
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/index.en-US.md
@@ -0,0 +1,196 @@
+---
+category: Components
+type: Data Entry
+title: DatePicker
+cover: https://gw.alipayobjects.com/zos/alicdn/RT_USzA48/DatePicker.svg
+---
+
+To select or input a date.
+
+## When To Use
+
+By clicking the input box, you can select a date from a popup calendar.
+
+## API
+
+There are five kinds of picker:
+
+- DatePicker
+- DatePicker\[picker="month"]
+- DatePicker\[picker="week"]
+- DatePicker\[picker="year"]
+- DatePicker\[picker="quarter"]
+- RangePicker
+
+### Localization
+
+The default locale is en-US, if you need to use other languages, recommend to use internationalized components provided by us at the entrance. Look at: [ConfigProvider](/components/config-provider/).
+
+If there are special needs (only modifying single component language), Please use the property: local. Example: [default](https://github.com/vueComponent/ant-design-vue/blob/main/components/date-picker/locale/example.json).
+
+```html
+
+
+
+
+```
+
+```html
+
+
+
+
+
+
+```
+
+### Common API
+
+The following APIs are shared by DatePicker, RangePicker.
+
+| Property | Description | Type | Default | Version |
+| --- | --- | --- | --- | --- |
+| allowClear | Whether to show clear button | boolean | true | |
+| autofocus | If get focus when component mounted | boolean | false | |
+| bordered | Whether has border style | boolean | true | |
+| dateRender | Custom rendering function for date cells | v-slot:dateRender="{current, today}" | - | |
+| disabled | Determine whether the DatePicker is disabled | boolean | false | |
+| disabledDate | Specify the date that cannot be selected | (currentDate: dayjs) => boolean | - | |
+| dropdownClassName | To customize the className of the popup calendar | string | - | |
+| getPopupContainer | To set the container of the floating layer, while the default is to create a `div` element in `body` | function(trigger) | - | |
+| inputReadOnly | Set the `readonly` attribute of the input tag (avoids virtual keyboard on touch devices) | boolean | false | |
+| locale | Localization configuration | object | [default](https://github.com/vueComponent/ant-design-vue/blob/main/components/date-picker/locale/example.json) | |
+| mode | The picker panel mode | `time` \| `date` \| `month` \| `year` \| `decade` | - | |
+| nextIcon | The custom next icon | slot | - | 3.0 |
+| open | The open state of picker | boolean | - | |
+| picker | Set picker type | `date` \| `week` \| `month` \| `quarter` \| `year` | `date` | `quarter` |
+| placeholder | The placeholder of date input | string \| \[string,string] | - | |
+| popupStyle | To customize the style of the popup calendar | CSSProperties | {} | |
+| prevIcon | The custom prev icon | slot | - | 3.0 |
+| size | To determine the size of the input box, the height of `large` and `small`, are 40px and 24px respectively, while default size is 32px | `large` \| `middle` \| `small` | - | |
+| suffixIcon | The custom suffix icon | v-slot:suffixIcon | - | |
+| superNextIcon | The custom super next icon | slot | - | 3.0 |
+| superPrevIcon | The custom super prev icon | slot | - | 3.0 |
+| valueFormat | optional, format of binding value. If not specified, the binding value will be a Date object | string,[date formats](https://day.js.org/docs/en/display/format) | - | |
+
+### Common Events
+
+| Events Name | Description | Arguments | Version |
+| --- | --- | --- | --- |
+| openChange | a callback function, can be executed whether the popup calendar is popped up or closed | function(status) | |
+| panelChange | callback when picker panel mode is changed | function(value, mode) | |
+
+### Common Methods
+
+| Name | Description | Version |
+| ------- | ------------ | ------- |
+| blur() | remove focus | |
+| focus() | get focus | |
+
+### DatePicker
+
+| Property | Description | Type | Default | Version |
+| --- | --- | --- | --- | --- |
+| defaultPickerValue | To set default picker date | [dayjs](https://day.js.org/) | - | |
+| disabledTime | To specify the time that cannot be selected | function(date) | - | |
+| format | To set the date format, refer to [dayjs](https://day.js.org/). When an array is provided, all values are used for parsing and first value is used for formatting, support [Custom Format](#components-date-picker-demo-format) | string \| (value: dayjs) => string \| (string \| (value: dayjs) => string)\[] | `YYYY-MM-DD` | |
+| renderExtraFooter | Render extra footer in panel | v-slot:renderExtraFooter="mode" | - | |
+| showNow | Whether to show 'Now' button on panel when `showTime` is set | boolean | - | |
+| showTime | To provide an additional time selection | object \| boolean | [TimePicker Options](/components/time-picker/#API) | |
+| showTime.defaultValue | To set default time of selected date, [demo](#components-date-picker-demo-disabled-date) | [dayjs](https://day.js.org/) | dayjs() | |
+| showToday | Whether to show `Today` button | boolean | true | |
+| value(v-model) | To set date | [dayjs](https://day.js.org/) | - | |
+
+### DatePicker Events
+
+| Events Name | Description | Arguments | Version |
+| --- | --- | --- | --- |
+| change | a callback function, can be executed when the selected time is changing | function(date: dayjs \| string, dateString: string) | |
+| ok | callback when click ok button | function(date: dayjs \| string) | |
+
+### DatePicker\[picker=year]
+
+| Property | Description | Type | Default | Version |
+| --- | --- | --- | --- | --- |
+| format | To set the date format, refer to [dayjs](https://day.js.org/) | string | `YYYY` | |
+
+### DatePicker\[picker=quarter]
+
+| Property | Description | Type | Default | Version |
+| --- | --- | --- | --- | --- |
+| format | To set the date format, refer to [dayjs](https://day.js.org/) | string | `YYYY-\QQ` | |
+
+### DatePicker\[picker=month]
+
+| Property | Description | Type | Default | Version |
+| --- | --- | --- | --- | --- |
+| format | To set the date format, refer to [dayjs](https://day.js.org/) | string | `YYYY-MM` | |
+| monthCellRender | Custom month cell content render method | v-slot:monthCellRender="{current, locale}" | - | |
+
+### DatePicker\[picker=week]
+
+| Property | Description | Type | Default | Version |
+| --- | --- | --- | --- | --- |
+| format | To set the date format, refer to [dayjs](https://day.js.org/) | string | `YYYY-wo` | |
+
+### RangePicker
+
+| Property | Description | Type | Default | Version |
+| --- | --- | --- | --- | --- |
+| allowEmpty | Allow start or end input leave empty | \[boolean, boolean] | \[false, false] | |
+| dateRender | Customize date cell. | v-slot:dateRender="{current: dayjs, today: dayjs, info: { range: `start` \| `end` }}" | - | |
+| defaultPickerValue | To set default picker date | \[[dayjs](https://day.js.org/), [dayjs](https://day.js.org/)] | - | |
+| disabled | If disable start or end | \[boolean, boolean] | - | |
+| disabledTime | To specify the time that cannot be selected | function(date: dayjs, partial: `start` \| `end`) | - | |
+| format | To set the date format, refer to [dayjs](https://day.js.org/). When an array is provided, all values are used for parsing and first value is used for formatting | string \| string\[] | `YYYY-MM-DD HH:mm:ss` | |
+| ranges | The preseted ranges for quick selection | { \[range: string]: [dayjs](https://day.js.org/)\[] } \| { \[range: string]: () => [dayjs](https://day.js.org/)\[] } | - | |
+| renderExtraFooter | Render extra footer in panel | v-slot:renderExtraFooter | - | |
+| separator | Set separator between inputs | string \| v-slot:separator | `` | |
+| showTime | To provide an additional time selection | object \| boolean | [TimePicker Options](/components/time-picker/#API) | |
+| showTime.defaultValue | To set default time of selected date, [demo](#components-date-picker-demo-disabled-date) | [dayjs](https://day.js.org/)\[] | \[dayjs(), dayjs()] | |
+| value(v-model) | To set date | \[[dayjs](https://day.js.org/), [dayjs](https://day.js.org/)] | - | |
+
+### RangePicker Events
+
+| Events Name | Description | Arguments | Version | |
+| --- | --- | --- | --- | --- |
+| calendarChange | Callback function, can be executed when the start time or the end time of the range is changing. | function(dates: \[dayjs, dayjs], dateStrings: \[string, string], info: { range:`start`\|`end` }) | - | |
+| change | a callback function, can be executed when the selected time is changing | function(dates: \[dayjs, dayjs] \| \[string, string], dateStrings: \[string, string]) | | |
+| ok | callback when click ok button | function(dates: \[dayjs, dayjs] \| \[string, string]) | | |
+
+## FAQ
+
+### How to use DatePicker with customize date library(like moment.js \| dayjs \| date-fns)?
+
+Please refer [replace date](/docs/vue/replace-date)
+
+### Why config dayjs.locale globally not work?
+
+DatePicker default set `locale` as `en` in v4. You can config DatePicker `locale` prop or [ConfigProvider `locale`](/components/config-provider) prop instead.
diff --git a/src/core/components/BaseDatePicker/src/datePick/index.tsx b/src/core/components/BaseDatePicker/src/datePick/index.tsx
new file mode 100644
index 0000000..c5f053b
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/index.tsx
@@ -0,0 +1,4 @@
+import DatePicker from './dayjs';
+export * from './dayjs';
+
+export default DatePicker;
diff --git a/src/core/components/BaseDatePicker/src/datePick/index.zh-CN.md b/src/core/components/BaseDatePicker/src/datePick/index.zh-CN.md
new file mode 100644
index 0000000..b1ff2a0
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/index.zh-CN.md
@@ -0,0 +1,197 @@
+---
+category: Components
+type: 数据录入
+title: DatePicker
+subtitle: 日期选择框
+cover: https://gw.alipayobjects.com/zos/alicdn/RT_USzA48/DatePicker.svg
+---
+
+输入或选择日期的控件。
+
+## 何时使用
+
+当用户需要输入一个日期,可以点击标准输入框,弹出日期面板进行选择。
+
+## API
+
+日期类组件包括以下五种形式。
+
+- DatePicker
+- DatePicker\[picker="month"]
+- DatePicker\[picker="week"]
+- DatePicker\[picker="year"]
+- DatePicker\[picker="quarter"]
+- RangePicker
+
+### 国际化配置
+
+默认配置为 en-US,如果你需要设置其他语言,推荐在入口处使用我们提供的国际化组件,详见:[ConfigProvider 国际化](/components/config-provider-cn/)。
+
+如有特殊需求(仅修改单一组件的语言),请使用 locale 参数,参考:[默认配置](https://github.com/vueComponent/ant-design-vue/blob/main/components/date-picker/locale/example.json)。
+
+```html
+
+
+
+
+```
+
+```html
+
+
+
+
+
+
+```
+
+### 共同的 API
+
+以下 API 为 DatePicker、 RangePicker 共享的 API。
+
+| 参数 | 说明 | 类型 | 默认值 | 版本 |
+| --- | --- | --- | --- | --- |
+| allowClear | 是否显示清除按钮 | boolean | true | |
+| autofocus | 自动获取焦点 | boolean | false | |
+| bordered | 是否有边框 | boolean | true | |
+| dateRender | 自定义日期单元格的内容 | v-slot:dateRender="{current, today}" | - | |
+| disabled | 禁用 | boolean | false | |
+| disabledDate | 不可选择的日期 | (currentDate: dayjs) => boolean | - | |
+| dropdownClassName | 额外的弹出日历 className | string | - | |
+| getPopupContainer | 定义浮层的容器,默认为 body 上新建 div | function(trigger) | - | |
+| inputReadOnly | 设置输入框为只读(避免在移动设备上打开虚拟键盘) | boolean | false | |
+| locale | 国际化配置 | object | [默认配置](https://github.com/vueComponent/ant-design-vue/blob/main/components/date-picker/locale/example.json) | - |
+| mode | 日期面板的状态 | `time` \| `date` \| `month` \| `year` \| `decade` | - | |
+| nextIcon | 自定义下一个图标 | slot | - | 3.0 |
+| open | 控制弹层是否展开 | boolean | - | |
+| picker | 设置选择器类型 | `date` \| `week` \| `month` \| `quarter` \| `year` | `date` | `quarter` |
+| placeholder | 输入框提示文字 | string \| \[string, string] | - | |
+| popupStyle | 额外的弹出日历样式 | CSSProperties | {} | |
+| prevIcon | 自定义上一个图标 | slot | - | 3.0 |
+| size | 输入框大小,`large` 高度为 40px,`small` 为 24px,默认是 32px | `large` \| `middle` \| `small` | - | |
+| suffixIcon | 自定义的选择框后缀图标 | v-slot:suffixIcon | - | |
+| superNextIcon | 自定义 `<<` 切换图标 | slot | - | 3.0 |
+| superPrevIcon | 自定义 `>>` 切换图标 | slot | - | 3.0 |
+| valueFormat | 可选,绑定值的格式,对 value、defaultValue、defaultPickerValue 起作用。不指定则绑定值为 dayjs 对象 | string,[具体格式](https://day.js.org/docs/zh-CN/display/format) | - | |
+
+### 共有的事件
+
+| 事件名称 | 说明 | 回调参数 | |
+| ----------- | ------------------------ | --------------------- | --- |
+| openChange | 弹出日历和关闭日历的回调 | function(status) | |
+| panelChange | 日期面板变化时的回调 | function(value, mode) | - |
+
+### 共同的方法
+
+| 名称 | 描述 |
+| ------- | -------- |
+| blur() | 移除焦点 |
+| focus() | 获取焦点 |
+
+### DatePicker
+
+| 参数 | 说明 | 类型 | 默认值 | 版本 |
+| --- | --- | --- | --- | --- |
+| defaultPickerValue | 默认面板日期 | [dayjs](https://day.js.org/) | - | |
+| disabledTime | 不可选择的时间 | function(date) | - | |
+| format | 设置日期格式,为数组时支持多格式匹配,展示以第一个为准。配置参考 [dayjs](https://day.js.org/docs/zh-CN/display/format),支持[自定义格式](#components-date-picker-demo-format) | string \| (value: dayjs) => string \| (string \| (value: dayjs) => string)\[] | `YYYY-MM-DD` | |
+| renderExtraFooter | 在面板中添加额外的页脚 | v-slot:renderExtraFooter="mode" | - | |
+| showNow | 当设定了 `showTime` 的时候,面板是否显示“此刻”按钮 | boolean | - | |
+| showTime | 增加时间选择功能 | Object \| boolean | [TimePicker Options](/components/time-picker/#API) | |
+| showTime.defaultValue | 设置用户选择日期时默认的时分秒,[例子](#components-date-picker-demo-disabled-date) | [dayjs](https://day.js.org/) | dayjs() | |
+| showToday | 是否展示“今天”按钮 | boolean | true | |
+| value(v-model) | 日期 | [dayjs](https://day.js.org/) | - | |
+
+### DatePicker 事件
+
+| 事件名称 | 说明 | 回调参数 |
+| -------- | ------------------ | --------------------------------------------------- |
+| change | 时间发生变化的回调 | function(date: dayjs \| string, dateString: string) |
+| ok | 点击确定按钮的回调 | function(date: dayjs \| string) |
+
+### DatePicker\[picker=year]
+
+| 参数 | 说明 | 类型 | 默认值 | 版本 |
+| --- | --- | --- | --- | --- |
+| format | 展示的日期格式,配置参考 [dayjs](https://day.js.org/docs/zh-CN/display/format) | string | `YYYY` | |
+
+### DatePicker\[picker=quarter]
+
+| 参数 | 说明 | 类型 | 默认值 | 版本 |
+| --- | --- | --- | --- | --- |
+| format | 展示的日期格式,配置参考 [dayjs](https://day.js.org/docs/zh-CN/display/format) | string | `YYYY-\QQ` | |
+
+### DatePicker\[picker=month]
+
+| 参数 | 说明 | 类型 | 默认值 | 版本 |
+| --- | --- | --- | --- | --- |
+| format | 展示的日期格式,配置参考 [dayjs](https://day.js.org/docs/zh-CN/display/format) | string | `YYYY-MM` | |
+| monthCellRender | 自定义的月份内容渲染方法 | v-slot:monthCellRender="{current, locale}" | - | |
+
+### DatePicker\[picker=week]
+
+| 参数 | 说明 | 类型 | 默认值 | 版本 |
+| --- | --- | --- | --- | --- |
+| format | 展示的日期格式,配置参考 [dayjs](https://day.js.org/docs/zh-CN/display/format) | string | `YYYY-wo` | |
+
+### RangePicker
+
+| 参数 | 说明 | 类型 | 默认值 | 版本 |
+| --- | --- | --- | --- | --- |
+| allowEmpty | 允许起始项部分为空 | \[boolean, boolean] | \[false, false] | |
+| dateRender | 自定义日期单元格的内容。 | v-slot:dateRender="{current: dayjs, today: dayjs, info: { range: `start` \| `end` }}" | - | |
+| defaultPickerValue | 默认面板日期 | [dayjs](https://day.js.org/)\[] | - | |
+| disabled | 禁用起始项 | \[boolean, boolean] | - | |
+| disabledTime | 不可选择的时间 | function(date: dayjs, partial: `start` \| `end`) | - | |
+| format | 展示的日期格式 | string | `YYYY-MM-DD HH:mm:ss` | |
+| ranges | 预设时间范围快捷选择 | { \[range: string]: [dayjs](https://day.js.org/)\[] } \| { \[range: string]: () => [dayjs](https://day.js.org/)\[] } | - | |
+| renderExtraFooter | 在面板中添加额外的页脚 | () => React.ReactNode | - | |
+| separator | 设置分隔符 | string \| v-slot:separator | `` | |
+| showTime | 增加时间选择功能 | Object\|boolean | [TimePicker Options](/components/time-picker/#API) | |
+| showTime.defaultValue | 设置用户选择日期时默认的时分秒,[例子](#components-date-picker-demo-disabled-date) | [dayjs](https://day.js.org/)\[] | \[dayjs(), dayjs()] | |
+| value(v-model) | 日期 | [dayjs](https://day.js.org/)\[] | - | |
+
+### RangePicker 事件
+
+| 事件名称 | 说明 | 回调参数 |
+| --- | --- | --- |
+| calendarChange | 待选日期发生变化的回调 | function(dates: \[dayjs, dayjs] \| \[string, string], dateStrings: \[string, string], info: { range:`start`\|`end` }) |
+| change | 日期范围发生变化的回调 | function(dates: \[dayjs, dayjs] \| \[string, string], dateStrings: \[string, string]) |
+| ok | 点击确定按钮的回调 | function(dates: \[dayjs, dayjs] \| \[string, string]) |
+
+## FAQ
+
+### 如何在 DatePicker 中使用自定义日期库(如 moment.js \| dayjs \| date-fns)?
+
+请参考[《自定义日期库》](/docs/vue/replace-date-cn)
+
+### 为何全局修改 dayjs.locale 不生效?
+
+DatePicker 默认 `locale` 为 `en`。你可以通过 DatePicker 的 `locale` 属性来单独设置,也可以通过 [ConfigProvider `locale`](/components/config-provider-cn) 属性来配置。
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ar_EG.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ar_EG.tsx
new file mode 100644
index 0000000..ed6a129
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ar_EG.tsx
@@ -0,0 +1,24 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ar_EG'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ar_EG'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'اختيار التاريخ',
+ rangePlaceholder: ['البداية', 'النهاية'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ },
+ dateFormat: 'DD-MM-YYYY',
+ monthFormat: 'MM-YYYY',
+ dateTimeFormat: 'DD-MM-YYYY HH:mm:ss',
+ weekFormat: 'wo-YYYY'
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/az_AZ.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/az_AZ.tsx
new file mode 100644
index 0000000..014e91d
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/az_AZ.tsx
@@ -0,0 +1,16 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/az_AZ'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/az_AZ'
+import type { PickerLocale } from '../generatePicker'
+
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Tarix seçin',
+ rangePlaceholder: ['Başlama tarixi', 'Bitmə tarixi'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/bg_BG.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/bg_BG.tsx
new file mode 100644
index 0000000..bd15134
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/bg_BG.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/bg_BG'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/bg_BG'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Избор на дата',
+ rangePlaceholder: ['Начална', 'Крайна'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/bn_BD.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/bn_BD.tsx
new file mode 100644
index 0000000..51b60d4
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/bn_BD.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/bn_BD'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/bn_BD'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'তারিখ নির্বাচন',
+ yearPlaceholder: 'বছর নির্বাচন',
+ quarterPlaceholder: 'কোয়ার্টার নির্বাচন',
+ monthPlaceholder: 'মাস নির্বাচন',
+ weekPlaceholder: 'সপ্তাহ নির্বাচন',
+ rangePlaceholder: ['শুরুর তারিখ', 'শেষ তারিখ'],
+ rangeYearPlaceholder: ['শুরুর বছর', 'শেষ বছর'],
+ rangeMonthPlaceholder: ['শুরুর মাস', 'শেষ মাস'],
+ rangeWeekPlaceholder: ['শুরুর সপ্তাহ', 'শেষ সপ্তাহ'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/by_BY.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/by_BY.tsx
new file mode 100644
index 0000000..4cbfb11
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/by_BY.tsx
@@ -0,0 +1,23 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/by_BY'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/by_BY'
+import type { PickerLocale } from '../generatePicker'
+
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Выберыце дату',
+ yearPlaceholder: 'Выберыце год',
+ quarterPlaceholder: 'Выберыце квартал',
+ monthPlaceholder: 'Выберыце месяц',
+ weekPlaceholder: 'Выберыце тыдзень',
+ rangePlaceholder: ['Пачатковая дата', 'Канчатковая дата'],
+ rangeYearPlaceholder: ['Пачатковы год', 'Год заканчэння'],
+ rangeMonthPlaceholder: ['Пачатковы месяц', 'Канчатковы месяц'],
+ rangeWeekPlaceholder: ['Пачатковы тыдзень', 'Канчатковы тыдзень'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ca_ES.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ca_ES.tsx
new file mode 100644
index 0000000..fcbc81f
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ca_ES.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ca_ES'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ca_ES'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Seleccionar data',
+ rangePlaceholder: ['Data inicial', 'Data final'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/cs_CZ.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/cs_CZ.tsx
new file mode 100644
index 0000000..9463232
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/cs_CZ.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/cs_CZ'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/cs_CZ'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Vybrat datum',
+ rangePlaceholder: ['Od', 'Do'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/da_DK.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/da_DK.tsx
new file mode 100644
index 0000000..d4c9bb7
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/da_DK.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/da_DK'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/da_DK'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Vælg dato',
+ rangePlaceholder: ['Startdato', 'Slutdato'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/de_DE.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/de_DE.tsx
new file mode 100644
index 0000000..c666ea8
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/de_DE.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/de_DE'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/de_DE'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Datum auswählen',
+ rangePlaceholder: ['Startdatum', 'Enddatum'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/issues/424
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/el_GR.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/el_GR.tsx
new file mode 100644
index 0000000..dd7c1ee
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/el_GR.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/el_GR'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/el_GR'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Επιλέξτε ημερομηνία',
+ rangePlaceholder: ['Αρχική ημερομηνία', 'Τελική ημερομηνία'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/issues/424
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/en_GB.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/en_GB.tsx
new file mode 100644
index 0000000..61769aa
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/en_GB.tsx
@@ -0,0 +1,28 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/en_GB'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/en_GB'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Select date',
+ yearPlaceholder: 'Select year',
+ quarterPlaceholder: 'Select quarter',
+ monthPlaceholder: 'Select month',
+ weekPlaceholder: 'Select week',
+ rangePlaceholder: ['Start date', 'End date'],
+ rangeYearPlaceholder: ['Start year', 'End year'],
+ rangeQuarterPlaceholder: ['Start quarter', 'End quarter'],
+ rangeMonthPlaceholder: ['Start month', 'End month'],
+ rangeWeekPlaceholder: ['Start week', 'End week'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/en_US.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/en_US.tsx
new file mode 100644
index 0000000..e4be5d5
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/en_US.tsx
@@ -0,0 +1,28 @@
+import CalendarLocale from 'ant-design-vue/es/vc-picker/locale/en_US';
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/en_US';
+import type { PickerLocale } from '../generatePicker';
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Select date',
+ yearPlaceholder: 'Select year',
+ quarterPlaceholder: 'Select quarter',
+ monthPlaceholder: 'Select month',
+ weekPlaceholder: 'Select week',
+ rangePlaceholder: ['Start date', 'End date'],
+ rangeYearPlaceholder: ['Start year', 'End year'],
+ rangeQuarterPlaceholder: ['Start quarter', 'End quarter'],
+ rangeMonthPlaceholder: ['Start month', 'End month'],
+ rangeWeekPlaceholder: ['Start week', 'End week'],
+ ...CalendarLocale,
+ },
+ timePickerLocale: {
+ ...TimePickerLocale,
+ },
+};
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale;
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/es_ES.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/es_ES.tsx
new file mode 100644
index 0000000..c1fe019
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/es_ES.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/es_ES'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/es_ES'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Seleccionar fecha',
+ rangePlaceholder: ['Fecha inicial', 'Fecha final'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/et_EE.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/et_EE.tsx
new file mode 100644
index 0000000..9a2eb77
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/et_EE.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/et_EE'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/et_EE'
+import type { PickerLocale } from '../generatePicker'
+
+// 统一合并为完整的 Locale
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Vali kuupäev',
+ rangePlaceholder: ['Algus kuupäev', 'Lõpu kuupäev'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/example.json b/src/core/components/BaseDatePicker/src/datePick/locale/example.json
new file mode 100644
index 0000000..5a6fcf2
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/example.json
@@ -0,0 +1,40 @@
+{
+ "lang": {
+ "locale": "en_US",
+ "placeholder": "Select date",
+ "rangePlaceholder": ["Start date", "End date"],
+ "today": "Today",
+ "now": "Now",
+ "backToToday": "Back to today",
+ "ok": "OK",
+ "clear": "Clear",
+ "month": "Month",
+ "year": "Year",
+ "timeSelect": "Select time",
+ "dateSelect": "Select date",
+ "monthSelect": "Choose a month",
+ "yearSelect": "Choose a year",
+ "decadeSelect": "Choose a decade",
+ "yearFormat": "YYYY",
+ "dateFormat": "M/D/YYYY",
+ "dayFormat": "D",
+ "dateTimeFormat": "M/D/YYYY HH:mm:ss",
+ "monthFormat": "MMMM",
+ "monthBeforeYear": true,
+ "previousMonth": "Previous month (PageUp)",
+ "nextMonth": "Next month (PageDown)",
+ "previousYear": "Last year (Control + left)",
+ "nextYear": "Next year (Control + right)",
+ "previousDecade": "Last decade",
+ "nextDecade": "Next decade",
+ "previousCentury": "Last century",
+ "nextCentury": "Next century"
+ },
+ "timePickerLocale": {
+ "placeholder": "Select time"
+ },
+ "dateFormat": "YYYY-MM-DD",
+ "dateTimeFormat": "YYYY-MM-DD HH:mm:ss",
+ "weekFormat": "YYYY-wo",
+ "monthFormat": "YYYY-MM"
+}
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/fa_IR.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/fa_IR.tsx
new file mode 100644
index 0000000..01f8c1b
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/fa_IR.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/fa_IR'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/fa_IR'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'انتخاب تاریخ',
+ yearPlaceholder: 'انتخاب سال',
+ quarterPlaceholder: 'انتخاب فصل',
+ monthPlaceholder: 'انتخاب ماه',
+ weekPlaceholder: 'انتخاب هفته',
+ rangePlaceholder: ['تاریخ شروع', 'تاریخ پایان'],
+ rangeYearPlaceholder: ['سال شروع', 'سال پایان'],
+ rangeMonthPlaceholder: ['ماه شروع', 'ماه پایان'],
+ rangeWeekPlaceholder: ['هفته شروع', 'هفته پایان'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/fi_FI.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/fi_FI.tsx
new file mode 100644
index 0000000..d548890
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/fi_FI.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/fi_FI'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/fi_FI'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Valitse päivä',
+ rangePlaceholder: ['Alkamispäivä', 'Päättymispäivä'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/fr_BE.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/fr_BE.tsx
new file mode 100644
index 0000000..7e98cd5
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/fr_BE.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/fr_BE'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/fr_BE'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Sélectionner une date',
+ rangePlaceholder: ['Date de début', 'Date de fin'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/issues/424
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/fr_CA.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/fr_CA.tsx
new file mode 100644
index 0000000..d8e7764
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/fr_CA.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/fr_CA'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/fr_CA'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Sélectionner une date',
+ yearPlaceholder: 'Sélectionner une année',
+ quarterPlaceholder: 'Sélectionner un trimestre',
+ monthPlaceholder: 'Sélectionner un mois',
+ weekPlaceholder: 'Sélectionner une semaine',
+ rangePlaceholder: ['Date de début', 'Date de fin'],
+ rangeYearPlaceholder: ['Année de début', 'Année de fin'],
+ rangeMonthPlaceholder: ['Mois de début', 'Mois de fin'],
+ rangeWeekPlaceholder: ['Semaine de début', 'Semaine de fin'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/issues/424
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/fr_FR.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/fr_FR.tsx
new file mode 100644
index 0000000..b9e6dc7
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/fr_FR.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/fr_FR'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/fr_FR'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Sélectionner une date',
+ yearPlaceholder: 'Sélectionner une année',
+ quarterPlaceholder: 'Sélectionner un trimestre',
+ monthPlaceholder: 'Sélectionner un mois',
+ weekPlaceholder: 'Sélectionner une semaine',
+ rangePlaceholder: ['Date de début', 'Date de fin'],
+ rangeYearPlaceholder: ['Année de début', 'Année de fin'],
+ rangeMonthPlaceholder: ['Mois de début', 'Mois de fin'],
+ rangeWeekPlaceholder: ['Semaine de début', 'Semaine de fin'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/issues/424
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ga_IE.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ga_IE.tsx
new file mode 100644
index 0000000..6a5c191
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ga_IE.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ga_IE'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ga_IE'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Roghnaigh dáta',
+ yearPlaceholder: 'Roghnaigh bliain',
+ quarterPlaceholder: 'Roghnaigh ráithe',
+ monthPlaceholder: 'Roghnaigh mí',
+ weekPlaceholder: 'Roghnaigh seachtain',
+ rangePlaceholder: ['Dáta tosaigh', 'Dáta deiridh'],
+ rangeYearPlaceholder: ['Tús na bliana', 'Deireadh na bliana'],
+ rangeMonthPlaceholder: ['Tosaigh mhí', 'Deireadh mhí'],
+ rangeWeekPlaceholder: ['Tosaigh an tseachtain', 'Deireadh na seachtaine'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/gl_ES.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/gl_ES.tsx
new file mode 100644
index 0000000..0994d8b
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/gl_ES.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/gl_ES'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/gl_ES'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Escolla data',
+ rangePlaceholder: ['Data inicial', 'Data final'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/he_IL.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/he_IL.tsx
new file mode 100644
index 0000000..1d560ad
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/he_IL.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/he_IL'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/he_IL'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'בחר תאריך',
+ rangePlaceholder: ['תאריך התחלה', 'תאריך סיום'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/hi_IN.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/hi_IN.tsx
new file mode 100644
index 0000000..2f83531
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/hi_IN.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/hi_IN'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/hi_IN'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'तारीख़ चुनें',
+ yearPlaceholder: 'वर्ष चुनें',
+ quarterPlaceholder: 'तिमाही चुनें',
+ monthPlaceholder: 'महीना चुनिए',
+ weekPlaceholder: 'सप्ताह चुनें',
+ rangePlaceholder: ['प्रारंभ तिथि', 'समाप्ति तिथि'],
+ rangeYearPlaceholder: ['आरंभिक वर्ष', 'अंत वर्ष'],
+ rangeMonthPlaceholder: ['आरंभिक महीना', 'अंत महीना'],
+ rangeWeekPlaceholder: ['आरंभिक सप्ताह', 'अंत सप्ताह'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/hr_HR.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/hr_HR.tsx
new file mode 100644
index 0000000..e46a0c1
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/hr_HR.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/hr_HR'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/hr_HR'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Odaberite datum',
+ yearPlaceholder: 'Odaberite godinu',
+ quarterPlaceholder: 'Odaberite četvrtinu',
+ monthPlaceholder: 'Odaberite mjesec',
+ weekPlaceholder: 'Odaberite tjedan',
+ rangePlaceholder: ['Početni datum', 'Završni datum'],
+ rangeYearPlaceholder: ['Početna godina', 'Završna godina'],
+ rangeMonthPlaceholder: ['Početni mjesec', 'Završni mjesec'],
+ rangeWeekPlaceholder: ['Početni tjedan', 'Završni tjedan'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/hu_HU.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/hu_HU.tsx
new file mode 100644
index 0000000..35194c9
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/hu_HU.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/hu_HU'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/hu_HU'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Válasszon dátumot',
+ rangePlaceholder: ['Kezdő dátum', 'Befejezés dátuma'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/id_ID.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/id_ID.tsx
new file mode 100644
index 0000000..c4d8a05
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/id_ID.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/id_ID'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/id_ID'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Pilih tanggal',
+ rangePlaceholder: ['Mulai tanggal', 'Tanggal akhir'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/is_IS.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/is_IS.tsx
new file mode 100644
index 0000000..64115a9
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/is_IS.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/is_IS'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/is_IS'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Veldu dag',
+ rangePlaceholder: ['Upphafsdagur', 'Lokadagur'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/it_IT.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/it_IT.tsx
new file mode 100644
index 0000000..5b341a9
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/it_IT.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/it_IT'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/it_IT'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Selezionare la data',
+ rangePlaceholder: ["Data d'inizio", 'Data di fine'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/issues/424
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ja_JP.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ja_JP.tsx
new file mode 100644
index 0000000..561c5e6
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ja_JP.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ja_JP'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ja_JP'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: '日付を選択',
+ rangePlaceholder: ['開始日付', '終了日付'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ka_GE.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ka_GE.tsx
new file mode 100644
index 0000000..aee1fec
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ka_GE.tsx
@@ -0,0 +1,23 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ka_GE'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ka_GE'
+import type { PickerLocale } from '../generatePicker'
+
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'აირჩიეთ თარიღი',
+ yearPlaceholder: 'აირჩიეთ წელი',
+ quarterPlaceholder: 'აირჩიეთ მეოთხედი',
+ monthPlaceholder: 'აირჩიეთ თვე',
+ weekPlaceholder: 'აირჩიეთ კვირა',
+ rangePlaceholder: ['საწყისი თარიღი', 'საბოლოო თარიღი'],
+ rangeYearPlaceholder: ['საწყისი წელი', 'საბოლოო წელი'],
+ rangeMonthPlaceholder: ['საწყისი თვე', 'საბოლოო თვე'],
+ rangeWeekPlaceholder: ['საწყისი კვირა', 'საბოლოო კვირა'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/kk_KZ.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/kk_KZ.tsx
new file mode 100644
index 0000000..f505d15
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/kk_KZ.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/kk_KZ'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/kk_KZ'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Күнді таңдаңыз',
+ yearPlaceholder: 'Жылды таңдаңыз',
+ quarterPlaceholder: 'Тоқсанды таңдаңыз',
+ monthPlaceholder: 'Айды таңдаңыз',
+ weekPlaceholder: 'Аптаны таңдаңыз',
+ rangePlaceholder: ['Бастау күні', 'Аяқталу күні'],
+ rangeYearPlaceholder: ['Бастау жылы', 'Аяқталу жылы'],
+ rangeMonthPlaceholder: ['Бастау айы', 'Аяқталу айы'],
+ rangeWeekPlaceholder: ['Бастау апта', 'Аяқталу апта'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/km_KH.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/km_KH.tsx
new file mode 100644
index 0000000..6ae99d4
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/km_KH.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/km_KH'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/km_KH'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'រើសថ្ងៃ',
+ yearPlaceholder: 'រើសឆ្នាំ',
+ quarterPlaceholder: 'រើសត្រីមាស',
+ monthPlaceholder: 'រើសខែ',
+ weekPlaceholder: 'រើសសប្តាហ៍',
+ rangePlaceholder: ['ថ្ងៃចាប់ផ្ដើម', 'ថ្ងៃបញ្ចប់'],
+ rangeYearPlaceholder: ['ឆ្នាំចាប់ផ្ដើម', 'ឆ្នាំបញ្ចប់'],
+ rangeMonthPlaceholder: ['ខែចាប់ផ្ដើម', 'ខែបញ្ចប់'],
+ rangeWeekPlaceholder: ['សប្ដាហ៍ចាប់ផ្ដើម', 'សប្ដាហ៍បញ្ចប់'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/kmr_IQ.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/kmr_IQ.tsx
new file mode 100644
index 0000000..9e1d38d
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/kmr_IQ.tsx
@@ -0,0 +1,19 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/kmr_IQ'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/kmr_IQ'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Dîrok hilbijêre',
+ rangePlaceholder: ['Dîroka destpêkê', 'Dîroka dawîn'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/kn_IN.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/kn_IN.tsx
new file mode 100644
index 0000000..c1afb3e
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/kn_IN.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/kn_IN'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/kn_IN'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'ದಿನಾಂಕ ಆಯ್ಕೆಮಾಡಿ',
+ rangePlaceholder: ['ಪ್ರಾರಂಭ ದಿನಾಂಕ', 'ಅಂತಿಮ ದಿನಾಂಕ'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ko_KR.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ko_KR.tsx
new file mode 100644
index 0000000..ab3499f
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ko_KR.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ko_KR'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ko_KR'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: '날짜 선택',
+ rangePlaceholder: ['시작일', '종료일'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/lt_LT.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/lt_LT.tsx
new file mode 100644
index 0000000..a5e78aa
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/lt_LT.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/lt_LT'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/lt_LT'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Pasirinkite datą',
+ yearPlaceholder: 'Pasirinkite metus',
+ quarterPlaceholder: 'Pasirinkite ketvirtį',
+ monthPlaceholder: 'Pasirinkite mėnesį',
+ weekPlaceholder: 'Pasirinkite savaitę',
+ rangePlaceholder: ['Pradžios data', 'Pabaigos data'],
+ rangeYearPlaceholder: ['Pradžios metai', 'Pabaigos metai'],
+ rangeMonthPlaceholder: ['Pradžios mėnesis', 'Pabaigos mėnesis'],
+ rangeWeekPlaceholder: ['Pradžios savaitė', 'Pabaigos savaitė'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/lv_LV.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/lv_LV.tsx
new file mode 100644
index 0000000..25e7351
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/lv_LV.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/lv_LV'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/lv_LV'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Izvēlieties datumu',
+ rangePlaceholder: ['Sākuma datums', 'Beigu datums'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/mk_MK.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/mk_MK.tsx
new file mode 100644
index 0000000..ef8c7a3
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/mk_MK.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/mk_MK'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/mk_MK'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Избери датум',
+ rangePlaceholder: ['Од датум', 'До датум'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ml_IN.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ml_IN.tsx
new file mode 100644
index 0000000..25d07cf
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ml_IN.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ml_IN'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ml_IN'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'തിയതി തിരഞ്ഞെടുക്കുക',
+ yearPlaceholder: 'വർഷം തിരഞ്ഞെടുക്കുക',
+ quarterPlaceholder: 'ത്രൈമാസം തിരഞ്ഞെടുക്കുക',
+ monthPlaceholder: 'മാസം തിരഞ്ഞെടുക്കുക',
+ weekPlaceholder: 'വാരം തിരഞ്ഞെടുക്കുക',
+ rangePlaceholder: ['ആരംഭ ദിനം', 'അവസാന ദിനം'],
+ rangeYearPlaceholder: ['ആരംഭ വർഷം', 'അവസാന വർഷം'],
+ rangeMonthPlaceholder: ['ആരംഭ മാസം', 'അവസാന മാസം'],
+ rangeWeekPlaceholder: ['ആരംഭ വാരം', 'അവസാന വാരം'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/mn_MN.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/mn_MN.tsx
new file mode 100644
index 0000000..ff9f3e4
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/mn_MN.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/mn_MN'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/mn_MN'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Огноо сонгох',
+ rangePlaceholder: ['Эхлэх огноо', 'Дуусах огноо'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ms_MY.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ms_MY.tsx
new file mode 100644
index 0000000..d21ab5f
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ms_MY.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ms_MY'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ms_MY'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Pilih tarikh',
+ rangePlaceholder: ['Tarikh mula', 'Tarikh akhir'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/nb_NO.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/nb_NO.tsx
new file mode 100644
index 0000000..1fc4afb
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/nb_NO.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/nb_NO'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/nb_NO'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Velg dato',
+ yearPlaceholder: 'Velg år',
+ quarterPlaceholder: 'Velg kvartal',
+ monthPlaceholder: 'Velg måned',
+ weekPlaceholder: 'Velg uke',
+ rangePlaceholder: ['Startdato', 'Sluttdato'],
+ rangeYearPlaceholder: ['Startår', 'Sluttår'],
+ rangeMonthPlaceholder: ['Startmåned', 'Sluttmåned'],
+ rangeWeekPlaceholder: ['Start uke', 'Sluttuke'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/nl_BE.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/nl_BE.tsx
new file mode 100644
index 0000000..301aa92
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/nl_BE.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/nl_BE'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/nl_BE'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ monthPlaceholder: 'Selecteer maand',
+ placeholder: 'Selecteer datum',
+ quarterPlaceholder: 'Selecteer kwartaal',
+ rangeMonthPlaceholder: ['Begin maand', 'Eind maand'],
+ rangePlaceholder: ['Begin datum', 'Eind datum'],
+ rangeWeekPlaceholder: ['Begin week', 'Eind week'],
+ rangeYearPlaceholder: ['Begin jaar', 'Eind jaar'],
+ weekPlaceholder: 'Selecteer week',
+ yearPlaceholder: 'Selecteer jaar',
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/issues/424
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/nl_NL.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/nl_NL.tsx
new file mode 100644
index 0000000..297e629
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/nl_NL.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/nl_NL'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/nl_NL'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ monthPlaceholder: 'Selecteer maand',
+ placeholder: 'Selecteer datum',
+ quarterPlaceholder: 'Selecteer kwartaal',
+ rangeMonthPlaceholder: ['Begin maand', 'Eind maand'],
+ rangePlaceholder: ['Begin datum', 'Eind datum'],
+ rangeWeekPlaceholder: ['Begin week', 'Eind week'],
+ rangeYearPlaceholder: ['Begin jaar', 'Eind jaar'],
+ weekPlaceholder: 'Selecteer week',
+ yearPlaceholder: 'Selecteer jaar',
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/issues/424
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/pl_PL.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/pl_PL.tsx
new file mode 100644
index 0000000..e9c776f
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/pl_PL.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/pl_PL'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/pl_PL'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Wybierz datę',
+ rangePlaceholder: ['Data początkowa', 'Data końcowa'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/pt_BR.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/pt_BR.tsx
new file mode 100644
index 0000000..6e245df
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/pt_BR.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/pt_BR'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/pt_BR'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Selecionar data',
+ rangePlaceholder: ['Data inicial', 'Data final'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/pt_PT.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/pt_PT.tsx
new file mode 100644
index 0000000..5a6d738
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/pt_PT.tsx
@@ -0,0 +1,47 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/pt_PT'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/pt_PT'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ ...CalendarLocale,
+ placeholder: 'Data',
+ rangePlaceholder: ['Data inicial', 'Data final'],
+ today: 'Hoje',
+ now: 'Agora',
+ backToToday: 'Hoje',
+ ok: 'OK',
+ clear: 'Limpar',
+ month: 'Mês',
+ year: 'Ano',
+ timeSelect: 'Hora',
+ dateSelect: 'Selecionar data',
+ monthSelect: 'Selecionar mês',
+ yearSelect: 'Selecionar ano',
+ decadeSelect: 'Selecionar década',
+ yearFormat: 'YYYY',
+ dateFormat: 'D/M/YYYY',
+ dayFormat: 'D',
+ dateTimeFormat: 'D/M/YYYY HH:mm:ss',
+ monthFormat: 'MMMM',
+ monthBeforeYear: false,
+ previousMonth: 'Mês anterior (PageUp)',
+ nextMonth: 'Mês seguinte (PageDown)',
+ previousYear: 'Ano anterior (Control + left)',
+ nextYear: 'Ano seguinte (Control + right)',
+ previousDecade: 'Última década',
+ nextDecade: 'Próxima década',
+ previousCentury: 'Último século',
+ nextCentury: 'Próximo século'
+ },
+ timePickerLocale: {
+ ...TimePickerLocale,
+ placeholder: 'Hora'
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ro_RO.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ro_RO.tsx
new file mode 100644
index 0000000..46bccd9
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ro_RO.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ro_RO'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ro_RO'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Selectează data',
+ rangePlaceholder: ['Data start', 'Data sfârșit'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ru_RU.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ru_RU.tsx
new file mode 100644
index 0000000..41006df
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ru_RU.tsx
@@ -0,0 +1,29 @@
+/** Created by Andrey Gayvoronsky on 13/04/16. */
+
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ru_RU'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ru_RU'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Выберите дату',
+ yearPlaceholder: 'Выберите год',
+ quarterPlaceholder: 'Выберите квартал',
+ monthPlaceholder: 'Выберите месяц',
+ weekPlaceholder: 'Выберите неделю',
+ rangePlaceholder: ['Начальная дата', 'Конечная дата'],
+ rangeYearPlaceholder: ['Начальный год', 'Год окончания'],
+ rangeMonthPlaceholder: ['Начальный месяц', 'Конечный месяц'],
+ rangeWeekPlaceholder: ['Начальная неделя', 'Конечная неделя'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/sk_SK.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/sk_SK.tsx
new file mode 100644
index 0000000..5691c97
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/sk_SK.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/sk_SK'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/sk_SK'
+import type { PickerLocale } from '../generatePicker'
+
+// 统一合并为完整的 Locale
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Vybrať dátum',
+ rangePlaceholder: ['Od', 'Do'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/sl_SI.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/sl_SI.tsx
new file mode 100644
index 0000000..b478fd1
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/sl_SI.tsx
@@ -0,0 +1,45 @@
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/sl_SI';
+import type { PickerLocale } from '../generatePicker';
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ locale: 'sl',
+ placeholder: 'Izberite datum',
+ rangePlaceholder: ['Začetni datum', 'Končni datum'],
+ today: 'Danes',
+ now: 'Trenutno',
+ backToToday: 'Nazaj na trenutni datum',
+ ok: 'OK',
+ clear: 'Počisti',
+ month: 'Mesec',
+ year: 'Leto',
+ timeSelect: 'Izberi čas',
+ dateSelect: 'Izberi datum',
+ monthSelect: 'Izberite mesec',
+ yearSelect: 'Izberite leto',
+ decadeSelect: 'Izberite desetletje',
+ yearFormat: 'YYYY',
+ dateFormat: 'D.M.YYYY',
+ dayFormat: 'D',
+ dateTimeFormat: 'D.M.YYYY HH:mm:ss',
+ monthFormat: 'MMMM',
+ monthBeforeYear: true,
+ previousMonth: 'Prejšnji mesec (PageUp)',
+ nextMonth: 'Naslednji mesec (PageDown)',
+ previousYear: 'Lansko leto (Control + left)',
+ nextYear: 'Naslednje leto (Control + right)',
+ previousDecade: 'Prejšnje desetletje',
+ nextDecade: 'Naslednje desetletje',
+ previousCentury: 'Zadnje stoletje',
+ nextCentury: 'Naslednje stoletje',
+ },
+ timePickerLocale: {
+ ...TimePickerLocale,
+ },
+};
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale;
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/sr_RS.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/sr_RS.tsx
new file mode 100644
index 0000000..3877c75
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/sr_RS.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/sr_RS'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/sr_RS'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Izaberi datum',
+ yearPlaceholder: 'Izaberi godinu',
+ quarterPlaceholder: 'Izaberi tromesečje',
+ monthPlaceholder: 'Izaberi mesec',
+ weekPlaceholder: 'Izaberi sedmicu',
+ rangePlaceholder: ['Datum početka', 'Datum završetka'],
+ rangeYearPlaceholder: ['Godina početka', 'Godina završetka'],
+ rangeMonthPlaceholder: ['Mesec početka', 'Mesec završetka'],
+ rangeWeekPlaceholder: ['Sedmica početka', 'Sedmica završetka'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/sv_SE.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/sv_SE.tsx
new file mode 100644
index 0000000..19f4822
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/sv_SE.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/sv_SE'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/sv_SE'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Välj datum',
+ yearPlaceholder: 'Välj år',
+ quarterPlaceholder: 'Välj kvartal',
+ monthPlaceholder: 'Välj månad',
+ weekPlaceholder: 'Välj vecka',
+ rangePlaceholder: ['Startdatum', 'Slutdatum'],
+ rangeYearPlaceholder: ['Startår', 'Slutår'],
+ rangeMonthPlaceholder: ['Startmånad', 'Slutmånad'],
+ rangeWeekPlaceholder: ['Startvecka', 'Slutvecka'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ta_IN.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ta_IN.tsx
new file mode 100644
index 0000000..7083bc5
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ta_IN.tsx
@@ -0,0 +1,21 @@
+// Tamil Locale added to rc-calendar
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ta_IN'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ta_IN'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'தேதியைத் தேர்ந்தெடுக்கவும்',
+ rangePlaceholder: ['தொடக்க தேதி', 'கடைசி தேதி'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/th_TH.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/th_TH.tsx
new file mode 100644
index 0000000..1a8330b
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/th_TH.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/th_TH'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/th_TH'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'เลือกวันที่',
+ yearPlaceholder: 'เลือกปี',
+ quarterPlaceholder: 'เลือกไตรมาส',
+ monthPlaceholder: 'เลือกเดือน',
+ weekPlaceholder: 'เลือกสัปดาห์',
+ rangePlaceholder: ['วันเริ่มต้น', 'วันสิ้นสุด'],
+ rangeYearPlaceholder: ['ปีเริ่มต้น', 'ปีสิ้นสุด'],
+ rangeMonthPlaceholder: ['เดือนเริ่มต้น', 'เดือนสิ้นสุด'],
+ rangeWeekPlaceholder: ['สัปดาห์เริ่มต้น', 'สัปดาห์สิ้นสุด'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/tr_TR.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/tr_TR.tsx
new file mode 100644
index 0000000..2faf05a
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/tr_TR.tsx
@@ -0,0 +1,28 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/tr_TR'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/tr_TR'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Tarih seç',
+ yearPlaceholder: 'Yıl seç',
+ quarterPlaceholder: 'Çeyrek seç',
+ monthPlaceholder: 'Ay seç',
+ weekPlaceholder: 'Hafta seç',
+ rangePlaceholder: ['Başlangıç tarihi', 'Bitiş tarihi'],
+ rangeYearPlaceholder: ['Başlangıç yılı', 'Bitiş yılı'],
+ rangeMonthPlaceholder: ['Başlangıç ayı', 'Bitiş ayı'],
+ rangeWeekPlaceholder: ['Başlangıç haftası', 'Bitiş haftası'],
+
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/uk_UA.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/uk_UA.tsx
new file mode 100644
index 0000000..04a3bfd
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/uk_UA.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/uk_UA'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/uk_UA'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Оберіть дату',
+ rangePlaceholder: ['Початкова дата', 'Кінцева дата'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/ur_PK.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/ur_PK.tsx
new file mode 100644
index 0000000..3726938
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/ur_PK.tsx
@@ -0,0 +1,27 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/ur_PK'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/ur_PK'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'تاریخ منتخب کریں',
+ yearPlaceholder: 'سال کو منتخب کریں',
+ quarterPlaceholder: 'کوارٹر منتخب کریں',
+ monthPlaceholder: 'ماہ منتخب کریں',
+ weekPlaceholder: 'ہفتہ منتخب کریں',
+ rangePlaceholder: ['شروع کرنے کی تاریخ', 'آخری تاریخ'],
+ rangeYearPlaceholder: ['آغاز سال', 'آخر سال'],
+ rangeMonthPlaceholder: ['مہینہ شروع', 'اختتامی مہینہ'],
+ rangeWeekPlaceholder: ['ہفتے شروع کریں', 'اختتام ہفتہ'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/vi_VN.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/vi_VN.tsx
new file mode 100644
index 0000000..3cb1e08
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/vi_VN.tsx
@@ -0,0 +1,20 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/vi_VN'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/vi_VN'
+import type { PickerLocale } from '../generatePicker'
+
+// Merge into a locale object
+const locale: PickerLocale = {
+ lang: {
+ placeholder: 'Chọn thời điểm',
+ rangePlaceholder: ['Ngày bắt đầu', 'Ngày kết thúc'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/zh_CN.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/zh_CN.tsx
new file mode 100644
index 0000000..fa0a1d2
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/zh_CN.tsx
@@ -0,0 +1,31 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/zh_CN'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/zh_CN'
+import type { PickerLocale } from '../generatePicker'
+
+// 统一合并为完整的 Locale
+const locale: PickerLocale = {
+ lang: {
+ placeholder: '请选择日期',
+ yearPlaceholder: '请选择年份',
+ quarterPlaceholder: '请选择季度',
+ monthPlaceholder: '请选择月份',
+ weekPlaceholder: '请选择周',
+ rangePlaceholder: ['开始日期', '结束日期'],
+ rangeYearPlaceholder: ['开始年份', '结束年份'],
+ rangeMonthPlaceholder: ['开始月份', '结束月份'],
+ rangeQuarterPlaceholder: ['开始季度', '结束季度'],
+ rangeWeekPlaceholder: ['开始周', '结束周'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+// should add whitespace between char in Button
+locale.lang.ok = '确定'
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/locale/zh_TW.tsx b/src/core/components/BaseDatePicker/src/datePick/locale/zh_TW.tsx
new file mode 100644
index 0000000..d392045
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/locale/zh_TW.tsx
@@ -0,0 +1,30 @@
+import CalendarLocale from '@core/components/BaseDatePicker/src/vc-picker/locale/zh_TW'
+import TimePickerLocale from 'ant-design-vue/es/time-picker/locale/zh_TW'
+import type { PickerLocale } from '../generatePicker'
+
+// 统一合并为完整的 Locale
+const locale: PickerLocale = {
+ lang: {
+ placeholder: '請選擇日期',
+ yearPlaceholder: '請選擇年份',
+ quarterPlaceholder: '請選擇季度',
+ monthPlaceholder: '請選擇月份',
+ weekPlaceholder: '請選擇周',
+ rangePlaceholder: ['開始日期', '結束日期'],
+ rangeYearPlaceholder: ['開始年份', '結束年份'],
+ rangeMonthPlaceholder: ['開始月份', '結束月份'],
+ rangeQuarterPlaceholder: ['開始季度', '結束季度'],
+ rangeWeekPlaceholder: ['開始周', '結束周'],
+ ...CalendarLocale
+ },
+ timePickerLocale: {
+ ...TimePickerLocale
+ }
+}
+
+locale.lang.ok = '確 定'
+
+// All settings at:
+// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json
+
+export default locale
diff --git a/src/core/components/BaseDatePicker/src/datePick/moment.tsx b/src/core/components/BaseDatePicker/src/datePick/moment.tsx
new file mode 100644
index 0000000..dcde098
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/moment.tsx
@@ -0,0 +1,39 @@
+import type { Moment } from 'moment'
+import type { App } from 'vue'
+import momentGenerateConfig from '@core/components/BaseDatePicker/src/vc-picker/generate/moment'
+import type {
+ PickerProps,
+ PickerDateProps,
+ RangePickerProps as BaseRangePickerProps
+} from './generatePicker'
+import generatePicker from './generatePicker'
+import type { ExtraDatePickerProps, ExtraRangePickerProps } from './generatePicker/props'
+
+export type DatePickerProps = PickerProps & ExtraDatePickerProps
+export type MonthPickerProps = Omit, 'picker'> &
+ ExtraDatePickerProps
+export type WeekPickerProps = Omit, 'picker'> & ExtraDatePickerProps
+export type RangePickerProps = BaseRangePickerProps & ExtraRangePickerProps
+
+const { DatePicker, WeekPicker, MonthPicker, YearPicker, TimePicker, QuarterPicker, RangePicker } =
+ generatePicker(momentGenerateConfig)
+
+/* istanbul ignore next */
+export { RangePicker, WeekPicker, MonthPicker, QuarterPicker }
+
+export default Object.assign(DatePicker, {
+ WeekPicker,
+ MonthPicker,
+ YearPicker,
+ RangePicker,
+ TimePicker,
+ QuarterPicker,
+ install: (app: App) => {
+ app.component(DatePicker.name, DatePicker)
+ app.component(RangePicker.name, RangePicker)
+ app.component(MonthPicker.name, MonthPicker)
+ app.component(WeekPicker.name, WeekPicker)
+ app.component(QuarterPicker.name, QuarterPicker)
+ return app
+ }
+})
diff --git a/src/core/components/BaseDatePicker/src/datePick/style/index.less b/src/core/components/BaseDatePicker/src/datePick/style/index.less
new file mode 100644
index 0000000..a7d769c
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/style/index.less
@@ -0,0 +1,362 @@
+@import 'index';
+@import 'index';
+@import 'mixin';
+
+@picker-prefix-cls: ~'@{ant-prefix}-picker';
+
+.picker-padding(@input-height, @font-size, @padding-horizontal) {
+ // font height probably 22.0001, So use floor better
+ @font-height: floor(@font-size * @line-height-base) + 2;
+ @padding-top: max(((@input-height - @font-height) / 2), 0);
+ @padding-bottom: max(@input-height - @font-height - @padding-top, 0);
+ padding: @padding-top @padding-horizontal @padding-bottom;
+}
+
+.@{picker-prefix-cls} {
+ @arrow-size: 10px;
+
+ .reset-component();
+ .picker-padding(@input-height-base, @font-size-base, @input-padding-horizontal-base);
+ position: relative;
+ display: inline-flex;
+ align-items: center;
+ background: @picker-bg;
+ border: @border-width-base @border-style-base @select-border-color;
+ border-radius: @border-radius-base;
+ transition: border @animation-duration-slow, box-shadow @animation-duration-slow;
+
+ &:hover,
+ &-focused {
+ .hover();
+ }
+
+ &-focused {
+ .active();
+ }
+
+ &&-disabled {
+ background: @input-disabled-bg;
+ border-color: @select-border-color;
+ cursor: not-allowed;
+ }
+
+ &&-disabled &-suffix {
+ color: @disabled-color;
+ }
+
+ &&-borderless {
+ background-color: transparent !important;
+ border-color: transparent !important;
+ box-shadow: none !important;
+ }
+
+ // ======================== Input =========================
+ &-input {
+ position: relative;
+ display: inline-flex;
+ align-items: center;
+ width: 100%;
+
+ > input {
+ .input();
+ flex: auto;
+
+ // Fix Firefox flex not correct:
+ // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553
+ min-width: 1px;
+ height: auto;
+ padding: 0;
+ background: transparent;
+
+ border: 0;
+
+ &:focus {
+ box-shadow: none;
+ }
+
+ &[disabled] {
+ background: transparent;
+ }
+ }
+
+ &:hover {
+ .@{picker-prefix-cls}-clear {
+ opacity: 1;
+ }
+ }
+
+ &-placeholder {
+ > input {
+ color: @input-placeholder-color;
+ }
+ }
+ }
+
+ // Size
+ &-large {
+ .picker-padding(@input-height-lg, @font-size-lg, @input-padding-horizontal-lg);
+
+ .@{picker-prefix-cls}-input > input {
+ font-size: @font-size-lg;
+ }
+ }
+
+ &-small {
+ .picker-padding(@input-height-sm, @font-size-base, @input-padding-horizontal-sm);
+ }
+
+ &-suffix {
+ align-self: center;
+ margin-left: (@padding-xs / 2);
+ color: @disabled-color;
+ line-height: 1;
+ pointer-events: none;
+
+ > * {
+ vertical-align: top;
+ }
+ }
+
+ &-clear {
+ position: absolute;
+ top: 50%;
+ right: 0;
+ color: @disabled-color;
+ line-height: 1;
+ background: @component-background;
+ transform: translateY(-50%);
+ cursor: pointer;
+ opacity: 0;
+ transition: opacity @animation-duration-slow, color @animation-duration-slow;
+
+ > * {
+ vertical-align: top;
+ }
+
+ &:hover {
+ color: @text-color-secondary;
+ }
+ }
+
+ &-separator {
+ position: relative;
+ display: inline-block;
+ width: 1em;
+ height: @font-size-lg;
+ color: @disabled-color;
+ font-size: @font-size-lg;
+ vertical-align: top;
+ cursor: default;
+
+ .@{picker-prefix-cls}-focused & {
+ color: @text-color-secondary;
+ }
+
+ .@{picker-prefix-cls}-range-separator & {
+ .@{picker-prefix-cls}-disabled & {
+ cursor: not-allowed;
+ }
+ }
+ }
+
+ // ======================== Range =========================
+ &-range {
+ position: relative;
+ display: inline-flex;
+
+ // Clear
+ .@{picker-prefix-cls}-clear {
+ right: @input-padding-horizontal-base;
+ }
+
+ &:hover {
+ .@{picker-prefix-cls}-clear {
+ opacity: 1;
+ }
+ }
+
+ // Active bar
+ .@{picker-prefix-cls}-active-bar {
+ bottom: -@border-width-base;
+ height: 2px;
+ margin-left: @input-padding-horizontal-base;
+ background: @primary-color;
+ opacity: 0;
+ transition: all @animation-duration-slow ease-out;
+ pointer-events: none;
+ }
+
+ &.@{picker-prefix-cls}-focused {
+ .@{picker-prefix-cls}-active-bar {
+ opacity: 1;
+ }
+ }
+
+ &-separator {
+ align-items: center;
+ padding: 0 @padding-xs;
+ line-height: 1;
+ }
+
+ &.@{picker-prefix-cls}-small {
+ .@{picker-prefix-cls}-clear {
+ right: @input-padding-horizontal-sm;
+ }
+
+ .@{picker-prefix-cls}-active-bar {
+ margin-left: @input-padding-horizontal-sm;
+ }
+ }
+ }
+
+ // ======================= Dropdown =======================
+ &-dropdown {
+ .reset-component();
+ position: absolute;
+ z-index: @zindex-picker;
+
+ &-hidden {
+ display: none;
+ }
+
+ &-placement-bottomLeft {
+ .@{picker-prefix-cls}-range-arrow {
+ top: (@arrow-size / 2) - (@arrow-size / 3);
+ display: block;
+ transform: rotate(-45deg);
+ }
+ }
+
+ &-placement-topLeft {
+ .@{picker-prefix-cls}-range-arrow {
+ bottom: (@arrow-size / 2) - (@arrow-size / 3);
+ display: block;
+ transform: rotate(135deg);
+ }
+ }
+
+ &.@{ant-prefix}-slide-up-enter.@{ant-prefix}-slide-up-enter-active&-placement-topLeft,
+ &.@{ant-prefix}-slide-up-enter.@{ant-prefix}-slide-up-enter-active&-placement-topRight,
+ &.@{ant-prefix}-slide-up-appear.@{ant-prefix}-slide-up-appear-active&-placement-topLeft,
+ &.@{ant-prefix}-slide-up-appear.@{ant-prefix}-slide-up-appear-active&-placement-topRight {
+ animation-name: antSlideDownIn;
+ }
+
+ &.@{ant-prefix}-slide-up-enter.@{ant-prefix}-slide-up-enter-active&-placement-bottomLeft,
+ &.@{ant-prefix}-slide-up-enter.@{ant-prefix}-slide-up-enter-active&-placement-bottomRight,
+ &.@{ant-prefix}-slide-up-appear.@{ant-prefix}-slide-up-appear-active&-placement-bottomLeft,
+ &.@{ant-prefix}-slide-up-appear.@{ant-prefix}-slide-up-appear-active&-placement-bottomRight {
+ animation-name: antSlideUpIn;
+ }
+
+ &.@{ant-prefix}-slide-up-leave.@{ant-prefix}-slide-up-leave-active&-placement-topLeft,
+ &.@{ant-prefix}-slide-up-leave.@{ant-prefix}-slide-up-leave-active&-placement-topRight {
+ animation-name: antSlideDownOut;
+ }
+
+ &.@{ant-prefix}-slide-up-leave.@{ant-prefix}-slide-up-leave-active&-placement-bottomLeft,
+ &.@{ant-prefix}-slide-up-leave.@{ant-prefix}-slide-up-leave-active&-placement-bottomRight {
+ animation-name: antSlideUpOut;
+ }
+ }
+
+ &-dropdown-range {
+ padding: (@arrow-size * 2 / 3) 0;
+
+ &-hidden {
+ display: none;
+ }
+ }
+
+ // Time picker with additional style
+ &-dropdown &-panel > &-time-panel {
+ padding-top: (@padding-xs / 2);
+ }
+
+ // ======================== Ranges ========================
+ &-ranges {
+ margin-bottom: 0;
+ padding: (@padding-xs / 2) @padding-sm;
+ overflow: hidden;
+ line-height: @picker-text-height - 2 * @border-width-base - (@padding-xs / 2);
+ text-align: left;
+ list-style: none;
+
+ > li {
+ display: inline-block;
+ }
+
+ // https://github.com/ant-design/ant-design/issues/23687
+ .@{picker-prefix-cls}-preset > .@{ant-prefix}-tag-blue {
+ color: @primary-color;
+ background: @primary-1;
+ border-color: @primary-3;
+ cursor: pointer;
+ }
+
+ .@{picker-prefix-cls}-ok {
+ float: right;
+ margin-left: @padding-xs;
+ }
+ }
+
+ &-range-wrapper {
+ display: flex;
+ }
+
+ &-range-arrow {
+ position: absolute;
+ z-index: 1;
+ display: none;
+ width: @arrow-size;
+ height: @arrow-size;
+ margin-left: @input-padding-horizontal-base * 1.5;
+ box-shadow: 2px -2px 6px fade(@black, 6%);
+ transition: left @animation-duration-slow ease-out;
+
+ &::after {
+ position: absolute;
+ top: @border-width-base;
+ right: @border-width-base;
+ width: @arrow-size;
+ height: @arrow-size;
+ border: (@arrow-size / 2) solid @border-color-split;
+ border-color: @calendar-bg @calendar-bg transparent transparent;
+ content: '';
+ }
+ }
+
+ &-panel-container {
+ overflow: hidden;
+ vertical-align: top;
+ background: @calendar-bg;
+ border-radius: @border-radius-base;
+ box-shadow: @box-shadow-base;
+ transition: margin @animation-duration-slow;
+
+ .@{picker-prefix-cls}-panels {
+ display: inline-flex;
+ flex-wrap: nowrap;
+ direction: ltr;
+ }
+
+ .@{picker-prefix-cls}-panel {
+ vertical-align: top;
+ background: transparent;
+ border-width: 0 0 @border-width-base 0;
+ border-radius: 0;
+
+ .@{picker-prefix-cls}-content,
+ table {
+ text-align: center;
+ }
+
+ &-focused {
+ border-color: @border-color-split;
+ }
+ }
+ }
+}
+
+@import 'panel';
+@import 'rtl';
diff --git a/src/core/components/BaseDatePicker/src/datePick/style/index.tsx b/src/core/components/BaseDatePicker/src/datePick/style/index.tsx
new file mode 100644
index 0000000..cc44242
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/style/index.tsx
@@ -0,0 +1,5 @@
+import './index.less';
+
+// style dependencies
+import '../../tag/style';
+import '../../button/style';
diff --git a/src/core/components/BaseDatePicker/src/datePick/style/panel.less b/src/core/components/BaseDatePicker/src/datePick/style/panel.less
new file mode 100644
index 0000000..fec6899
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/style/panel.less
@@ -0,0 +1,677 @@
+@picker-cell-inner-cls: ~'@{picker-prefix-cls}-cell-inner';
+
+.@{picker-prefix-cls} {
+ @picker-arrow-size: 7px;
+ @picker-year-month-cell-width: 60px;
+ @picker-panel-width: @picker-panel-cell-width * 7 + @padding-sm * 2 + 4;
+
+ &-panel {
+ display: inline-flex;
+ flex-direction: column;
+ text-align: center;
+ background: @calendar-bg;
+ border: @border-width-base @border-style-base @picker-border-color;
+ border-radius: @border-radius-base;
+ outline: none;
+
+ &-focused {
+ border-color: @primary-color;
+ }
+ }
+
+ // ========================================================
+ // = Shared Panel =
+ // ========================================================
+ &-decade-panel,
+ &-year-panel,
+ &-quarter-panel,
+ &-month-panel,
+ &-week-panel,
+ &-date-panel,
+ &-time-panel {
+ display: flex;
+ flex-direction: column;
+ width: @picker-panel-width;
+ }
+
+ // ======================= Header =======================
+ &-header {
+ display: flex;
+ padding: 0 @padding-xs;
+ color: @heading-color;
+ border-bottom: @border-width-base @border-style-base @picker-border-color;
+
+ > * {
+ flex: none;
+ }
+
+ button {
+ padding: 0;
+ color: @disabled-color;
+ line-height: @picker-text-height;
+ background: transparent;
+ border: 0;
+ cursor: pointer;
+ transition: color @animation-duration-slow;
+ }
+
+ > button {
+ min-width: 1.6em;
+ font-size: @font-size-base;
+
+ &:hover {
+ color: @text-color;
+ }
+ }
+
+ &-view {
+ flex: auto;
+ font-weight: 500;
+ line-height: @picker-text-height;
+
+ button {
+ color: inherit;
+ font-weight: inherit;
+
+ &:not(:first-child) {
+ margin-left: @padding-xs;
+ }
+
+ &:hover {
+ color: @primary-color;
+ }
+ }
+ }
+ }
+
+ // Arrow button
+ &-prev-icon,
+ &-next-icon,
+ &-super-prev-icon,
+ &-super-next-icon {
+ position: relative;
+ display: inline-block;
+ width: @picker-arrow-size;
+ height: @picker-arrow-size;
+
+ &::before {
+ position: absolute;
+ top: 0;
+ left: 0;
+ display: inline-block;
+ width: @picker-arrow-size;
+ height: @picker-arrow-size;
+ border: 0 solid currentcolor;
+ border-width: 1.5px 0 0 1.5px;
+ content: '';
+ }
+ }
+
+ &-super-prev-icon,
+ &-super-next-icon {
+ &::after {
+ position: absolute;
+ top: ceil((@picker-arrow-size / 2));
+ left: ceil((@picker-arrow-size / 2));
+ display: inline-block;
+ width: @picker-arrow-size;
+ height: @picker-arrow-size;
+ border: 0 solid currentcolor;
+ border-width: 1.5px 0 0 1.5px;
+ content: '';
+ }
+ }
+
+ &-prev-icon,
+ &-super-prev-icon {
+ transform: rotate(-45deg);
+ }
+
+ &-next-icon,
+ &-super-next-icon {
+ transform: rotate(135deg);
+ }
+
+ // ======================== Body ========================
+ &-content {
+ width: 100%;
+ table-layout: fixed;
+ border-collapse: collapse;
+
+ th,
+ td {
+ position: relative;
+ min-width: 24px;
+ font-weight: 400;
+ }
+
+ th {
+ height: 30px;
+ color: @text-color;
+ line-height: 30px;
+ }
+ }
+
+ .picker-cell-inner(@cellClassName) {
+ &::before {
+ position: absolute;
+ top: 50%;
+ right: 0;
+ left: 0;
+ z-index: 1;
+ height: @picker-panel-cell-height;
+ transform: translateY(-50%);
+ transition: all @animation-duration-slow;
+ content: '';
+ }
+
+ // >>> Default
+ .@{cellClassName} {
+ position: relative;
+ z-index: 2;
+ display: inline-block;
+ min-width: @picker-panel-cell-height;
+ height: @picker-panel-cell-height;
+ line-height: @picker-panel-cell-height;
+ border-radius: @border-radius-base;
+ transition: background @animation-duration-slow, border @animation-duration-slow;
+ }
+
+ // >>> Hover
+ &:hover:not(&-in-view),
+ &:hover:not(&-selected):not(&-range-start):not(&-range-end):not(&-range-hover-start):not(&-range-hover-end) {
+ .@{cellClassName} {
+ background: @picker-basic-cell-hover-color;
+ }
+ }
+
+ // >>> Today
+ &-in-view&-today .@{cellClassName} {
+ &::before {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ border: @border-width-base @border-style-base @primary-color;
+ border-radius: @border-radius-base;
+ content: '';
+ }
+ }
+
+ // >>> In Range
+ &-in-view&-in-range {
+ position: relative;
+
+ &::before {
+ background: @picker-basic-cell-active-with-range-color;
+ }
+ }
+
+ // >>> Selected
+ &-in-view&-selected .@{cellClassName},
+ &-in-view&-range-start .@{cellClassName},
+ &-in-view&-range-end .@{cellClassName} {
+ color: @text-color-inverse;
+ background: @primary-color;
+ }
+
+ &-in-view&-range-start:not(&-range-start-single),
+ &-in-view&-range-end:not(&-range-end-single) {
+ &::before {
+ background: @picker-basic-cell-active-with-range-color;
+ }
+ }
+
+ &-in-view&-range-start::before {
+ left: 50%;
+ }
+
+ &-in-view&-range-end::before {
+ right: 50%;
+ }
+
+ // >>> Range Hover
+ &-in-view&-range-hover-start:not(&-in-range):not(&-range-start):not(&-range-end),
+ &-in-view&-range-hover-end:not(&-in-range):not(&-range-start):not(&-range-end),
+ &-in-view&-range-hover-start&-range-start-single,
+ &-in-view&-range-hover-start&-range-start&-range-end&-range-end-near-hover,
+ &-in-view&-range-hover-end&-range-start&-range-end&-range-start-near-hover,
+ &-in-view&-range-hover-end&-range-end-single,
+ &-in-view&-range-hover:not(&-in-range) {
+ &::after {
+ position: absolute;
+ top: 50%;
+ z-index: 0;
+ height: 24px;
+ border-top: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-bottom: @border-width-base dashed @picker-date-hover-range-border-color;
+ transform: translateY(-50%);
+ transition: all @animation-duration-slow;
+ content: '';
+ }
+ }
+
+ // Add space for stash
+ &-range-hover-start::after,
+ &-range-hover-end::after,
+ &-range-hover::after {
+ right: 0;
+ left: 2px;
+ }
+
+ // Hover with in range
+ &-in-view&-in-range&-range-hover::before,
+ &-in-view&-range-start&-range-hover::before,
+ &-in-view&-range-end&-range-hover::before,
+ &-in-view&-range-start:not(&-range-start-single)&-range-hover-start::before,
+ &-in-view&-range-end:not(&-range-end-single)&-range-hover-end::before,
+ .@{picker-prefix-cls}-panel
+ > :not(.@{picker-prefix-cls}-date-panel)
+ &-in-view&-in-range&-range-hover-start::before,
+ .@{picker-prefix-cls}-panel
+ > :not(.@{picker-prefix-cls}-date-panel)
+ &-in-view&-in-range&-range-hover-end::before {
+ background: @picker-date-hover-range-color;
+ }
+
+ // range start border-radius
+ &-in-view&-range-start:not(&-range-start-single):not(&-range-end) .@{cellClassName} {
+ border-radius: @border-radius-base 0 0 @border-radius-base;
+ }
+
+ // range end border-radius
+ &-in-view&-range-end:not(&-range-end-single):not(&-range-start) .@{cellClassName} {
+ border-radius: 0 @border-radius-base @border-radius-base 0;
+ }
+
+ // DatePanel only
+ .@{picker-prefix-cls}-date-panel &-in-view&-in-range&-range-hover-start .@{cellClassName},
+ .@{picker-prefix-cls}-date-panel &-in-view&-in-range&-range-hover-end .@{cellClassName} {
+ &::after {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ z-index: -1;
+ background: @picker-date-hover-range-color;
+ transition: all @animation-duration-slow;
+ content: '';
+ }
+ }
+
+ .@{picker-prefix-cls}-date-panel
+ &-in-view&-in-range&-range-hover-start
+ .@{cellClassName}::after {
+ right: -5px - @border-width-base;
+ left: 0;
+ }
+
+ .@{picker-prefix-cls}-date-panel &-in-view&-in-range&-range-hover-end .@{cellClassName}::after {
+ right: 0;
+ left: -5px - @border-width-base;
+ }
+
+ // Hover with range start & end
+ &-range-hover&-range-start::after {
+ right: 50%;
+ }
+
+ &-range-hover&-range-end::after {
+ left: 50%;
+ }
+
+ // Edge start
+ tr > &-in-view&-range-hover:first-child::after,
+ tr > &-in-view&-range-hover-end:first-child::after,
+ &-in-view&-start&-range-hover-edge-start&-range-hover-edge-start-near-range::after,
+ &-in-view&-range-hover-edge-start:not(&-range-hover-edge-start-near-range)::after,
+ &-in-view&-range-hover-start::after {
+ left: 6px;
+ border-left: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-top-left-radius: @border-radius-base;
+ border-bottom-left-radius: @border-radius-base;
+ }
+
+ // Edge end
+ tr > &-in-view&-range-hover:last-child::after,
+ tr > &-in-view&-range-hover-start:last-child::after,
+ &-in-view&-end&-range-hover-edge-end&-range-hover-edge-end-near-range::after,
+ &-in-view&-range-hover-edge-end:not(&-range-hover-edge-end-near-range)::after,
+ &-in-view&-range-hover-end::after {
+ right: 6px;
+ border-right: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-top-right-radius: @border-radius-base;
+ border-bottom-right-radius: @border-radius-base;
+ }
+
+ // >>> Disabled
+ &-disabled {
+ color: @disabled-color;
+ pointer-events: none;
+
+ .@{cellClassName} {
+ background: transparent;
+ }
+
+ &::before {
+ background: @picker-basic-cell-disabled-bg;
+ }
+ }
+ &-disabled&-today .@{cellClassName}::before {
+ border-color: @disabled-color;
+ }
+ }
+
+ &-cell {
+ padding: 3px 0;
+ color: @disabled-color;
+ cursor: pointer;
+
+ // In view
+ &-in-view {
+ color: @text-color;
+ }
+
+ .picker-cell-inner(~'@{picker-cell-inner-cls}');
+ }
+
+ &-decade-panel,
+ &-year-panel,
+ &-quarter-panel,
+ &-month-panel {
+ .@{picker-prefix-cls}-content {
+ height: @picker-panel-without-time-cell-height * 4;
+ }
+
+ .@{picker-cell-inner-cls} {
+ padding: 0 @padding-xs;
+ }
+ }
+
+ &-quarter-panel {
+ .@{picker-prefix-cls}-content {
+ height: 56px;
+ }
+ }
+
+ // ======================== Footer ========================
+ &-footer {
+ width: min-content;
+ min-width: 100%;
+ line-height: @picker-text-height - 2 * @border-width-base;
+ text-align: center;
+ border-bottom: @border-width-base @border-style-base transparent;
+
+ .@{picker-prefix-cls}-panel & {
+ border-top: @border-width-base @border-style-base @picker-border-color;
+ }
+
+ &-extra {
+ padding: 0 @padding-sm;
+ line-height: @picker-text-height - 2 * @border-width-base;
+ text-align: left;
+
+ &:not(:last-child) {
+ border-bottom: @border-width-base @border-style-base @picker-border-color;
+ }
+ }
+ }
+
+ &-now {
+ text-align: left;
+ }
+
+ &-today-btn {
+ color: @link-color;
+
+ &:hover {
+ color: @link-hover-color;
+ }
+
+ &:active {
+ color: @link-active-color;
+ }
+
+ &&-disabled {
+ color: @disabled-color;
+ cursor: not-allowed;
+ }
+ }
+
+ // ========================================================
+ // = Special =
+ // ========================================================
+
+ // ===================== Decade Panel =====================
+ &-decade-panel {
+ .@{picker-cell-inner-cls} {
+ padding: 0 (@padding-xs / 2);
+ }
+
+ .@{picker-prefix-cls}-cell::before {
+ display: none;
+ }
+ }
+
+ // ============= Year & Quarter & Month Panel =============
+ &-year-panel,
+ &-quarter-panel,
+ &-month-panel {
+ @hover-cell-fixed-distance: (
+ (((@picker-panel-width - @padding-xs * 2) / 3) - @picker-year-month-cell-width) / 2
+ );
+
+ .@{picker-prefix-cls}-body {
+ padding: 0 @padding-xs;
+ }
+
+ .@{picker-cell-inner-cls} {
+ width: @picker-year-month-cell-width;
+ }
+
+ .@{picker-prefix-cls}-cell-range-hover-start::after {
+ left: @hover-cell-fixed-distance;
+ border-left: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-radius: @border-radius-base 0 0 @border-radius-base;
+
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: @hover-cell-fixed-distance;
+ border-right: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-radius: 0 @border-radius-base @border-radius-base 0;
+ }
+ }
+ .@{picker-prefix-cls}-cell-range-hover-end::after {
+ right: @hover-cell-fixed-distance;
+ border-right: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-radius: 0 @border-radius-base @border-radius-base 0;
+
+ .@{picker-prefix-cls}-panel-rtl & {
+ left: @hover-cell-fixed-distance;
+ border-left: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-radius: @border-radius-base 0 0 @border-radius-base;
+ }
+ }
+ }
+
+ // ====================== Week Panel ======================
+ &-week-panel {
+ .@{picker-prefix-cls}-body {
+ padding: @padding-xs @padding-sm;
+ }
+
+ // Clear cell style
+ .@{picker-prefix-cls}-cell {
+ &:hover .@{picker-cell-inner-cls},
+ &-selected .@{picker-cell-inner-cls},
+ .@{picker-cell-inner-cls} {
+ background: transparent !important;
+ }
+ }
+
+ &-row {
+ td {
+ transition: background @animation-duration-slow;
+ }
+
+ &:hover td {
+ background: @picker-basic-cell-hover-color;
+ }
+
+ &-selected td,
+ &-selected:hover td {
+ background: @primary-color;
+
+ &.@{picker-prefix-cls}-cell-week {
+ color: fade(@text-color-inverse, 50%);
+ }
+
+ &.@{picker-prefix-cls}-cell-today .@{picker-cell-inner-cls}::before {
+ border-color: @text-color-inverse;
+ }
+
+ .@{picker-cell-inner-cls} {
+ color: @text-color-inverse;
+ }
+ }
+ }
+ }
+
+ // ====================== Date Panel ======================
+ &-date-panel {
+ .@{picker-prefix-cls}-body {
+ padding: @padding-xs @padding-sm;
+ }
+
+ .@{picker-prefix-cls}-content {
+ width: @picker-panel-cell-width * 7;
+
+ th {
+ width: @picker-panel-cell-width;
+ }
+ }
+ }
+
+ // ==================== Datetime Panel ====================
+ &-datetime-panel {
+ display: flex;
+
+ .@{picker-prefix-cls}-time-panel {
+ border-left: @border-width-base @border-style-base @picker-border-color;
+ }
+
+ .@{picker-prefix-cls}-date-panel,
+ .@{picker-prefix-cls}-time-panel {
+ transition: opacity @animation-duration-slow;
+ }
+
+ // Keyboard
+ &-active {
+ .@{picker-prefix-cls}-date-panel,
+ .@{picker-prefix-cls}-time-panel {
+ opacity: 0.3;
+
+ &-active {
+ opacity: 1;
+ }
+ }
+ }
+ }
+
+ // ====================== Time Panel ======================
+ &-time-panel {
+ width: auto;
+ min-width: auto;
+
+ .@{picker-prefix-cls}-content {
+ display: flex;
+ flex: auto;
+ height: @picker-time-panel-column-height;
+ }
+
+ &-column {
+ flex: 1 0 auto;
+ width: @picker-time-panel-column-width;
+ margin: 0;
+ padding: 0;
+ overflow-y: hidden;
+ text-align: left;
+ list-style: none;
+ transition: background @animation-duration-slow;
+
+ &::after {
+ display: block;
+ height: @picker-time-panel-column-height - @picker-time-panel-cell-height;
+ content: '';
+ .@{picker-prefix-cls}-datetime-panel & {
+ height: @picker-time-panel-column-height - @picker-time-panel-cell-height + 2 *
+ @border-width-base;
+ }
+ }
+
+ &:not(:first-child) {
+ border-left: @border-width-base @border-style-base @picker-border-color;
+ }
+
+ &-active {
+ background: @calendar-column-active-bg;
+ }
+
+ &:hover {
+ overflow-y: auto;
+ }
+
+ > li {
+ margin: 0;
+ padding: 0;
+
+ &.@{picker-prefix-cls}-time-panel-cell {
+ .@{picker-prefix-cls}-time-panel-cell-inner {
+ display: block;
+ width: 100%;
+ height: @picker-time-panel-cell-height;
+ margin: 0;
+ padding: 0 0 0 ((@picker-time-panel-column-width - 28px) / 2);
+ color: @text-color;
+ line-height: @picker-time-panel-cell-height;
+ border-radius: 0;
+ cursor: pointer;
+ transition: background @animation-duration-slow;
+
+ &:hover {
+ background: @item-hover-bg;
+ }
+ }
+
+ &-selected {
+ .@{picker-prefix-cls}-time-panel-cell-inner {
+ background: @calendar-item-active-bg;
+ }
+ }
+
+ &-disabled {
+ .@{picker-prefix-cls}-time-panel-cell-inner {
+ color: @disabled-color;
+ background: transparent;
+ cursor: not-allowed;
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+// Fix IE11 render bug by css hacks
+// https://github.com/ant-design/ant-design/issues/21559
+// https://codepen.io/afc163-1472555193/pen/mdJRaNj?editors=0110
+/* stylelint-disable-next-line selector-type-no-unknown,selector-no-vendor-prefix */
+_:-ms-fullscreen,
+:root {
+ .@{picker-prefix-cls}-range-wrapper {
+ .@{picker-prefix-cls}-month-panel .@{picker-prefix-cls}-cell,
+ .@{picker-prefix-cls}-year-panel .@{picker-prefix-cls}-cell {
+ padding: 21px 0;
+ }
+ }
+}
diff --git a/src/core/components/BaseDatePicker/src/datePick/style/rtl.less b/src/core/components/BaseDatePicker/src/datePick/style/rtl.less
new file mode 100644
index 0000000..3a74800
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/style/rtl.less
@@ -0,0 +1,246 @@
+.@{picker-prefix-cls} {
+ &-rtl {
+ direction: rtl;
+ }
+
+ &-suffix {
+ .@{picker-prefix-cls}-rtl & {
+ margin-right: (@padding-xs / 2);
+ margin-left: 0;
+ }
+ }
+
+ &-clear {
+ .@{picker-prefix-cls}-rtl & {
+ right: auto;
+ left: 0;
+ }
+ }
+
+ &-separator {
+ .@{picker-prefix-cls}-rtl & {
+ transform: rotate(180deg);
+ }
+ }
+
+ &-header {
+ &-view {
+ button {
+ &:not(:first-child) {
+ .@{picker-prefix-cls}-panel-rtl & {
+ margin-right: @padding-xs;
+ margin-left: 0;
+ }
+ }
+ }
+ }
+ }
+
+ // ======================== Range =========================
+ &-range {
+ // Clear
+ .@{picker-prefix-cls}-clear {
+ .@{picker-prefix-cls}-rtl& {
+ right: auto;
+ left: @input-padding-horizontal-base;
+ }
+ }
+
+ // Active bar
+ .@{picker-prefix-cls}-active-bar {
+ .@{picker-prefix-cls}-rtl& {
+ margin-right: @input-padding-horizontal-base;
+ margin-left: 0;
+ }
+ }
+
+ &.@{picker-prefix-cls}-small {
+ .@{picker-prefix-cls}-active-bar {
+ .@{picker-prefix-cls}-rtl& {
+ margin-right: @input-padding-horizontal-sm;
+ }
+ }
+ }
+ }
+
+ // ======================== Ranges ========================
+ &-ranges {
+ .@{picker-prefix-cls}-dropdown-rtl & {
+ text-align: right;
+ }
+
+ .@{picker-prefix-cls}-ok {
+ .@{picker-prefix-cls}-dropdown-rtl & {
+ float: left;
+ margin-right: @padding-xs;
+ margin-left: 0;
+ }
+ }
+ }
+
+ // ======================== Panel ========================
+ &-panel {
+ &-rtl {
+ direction: rtl;
+ }
+ }
+
+ &-prev-icon,
+ &-super-prev-icon {
+ .@{picker-prefix-cls}-panel-rtl & {
+ transform: rotate(135deg);
+ }
+ }
+
+ &-next-icon,
+ &-super-next-icon {
+ .@{picker-prefix-cls}-panel-rtl & {
+ transform: rotate(-45deg);
+ }
+ }
+
+ &-cell {
+ .picker-cell-inner(~'@{picker-cell-inner-cls}');
+ }
+
+ // ======================== Body ==========================
+ .picker-cell-inner(@cellClassName) {
+ .@{cellClassName} {
+ position: relative;
+ z-index: 2;
+ display: inline-block;
+ min-width: @picker-panel-cell-height;
+ height: @picker-panel-cell-height;
+ line-height: @picker-panel-cell-height;
+ border-radius: @border-radius-base;
+ transition: background @animation-duration-slow, border @animation-duration-slow;
+ }
+
+ &-in-view&-range-start::before {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: 50%;
+ left: 0;
+ }
+ }
+
+ &-in-view&-range-end::before {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: 0;
+ left: 50%;
+ }
+ }
+
+ &-in-view&-range-start&-range-end::before {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: 50%;
+ left: 50%;
+ }
+ }
+
+ .@{picker-prefix-cls}-date-panel
+ &-in-view&-in-range&-range-hover-start
+ .@{cellClassName}::after {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: 0;
+ left: -5px - @border-width-base;
+ }
+ }
+
+ .@{picker-prefix-cls}-date-panel &-in-view&-in-range&-range-hover-end .@{cellClassName}::after {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: -5px - @border-width-base;
+ left: 0;
+ }
+ }
+
+ // Hover with range start & end
+ &-range-hover&-range-start::after {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: 0;
+ left: 50%;
+ }
+ }
+
+ &-range-hover&-range-end::after {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: 50%;
+ left: 0;
+ }
+ }
+
+ // range start border-radius
+ &-in-view&-range-start:not(&-range-start-single):not(&-range-end) .@{cellClassName} {
+ .@{picker-prefix-cls}-panel-rtl & {
+ border-radius: 0 @border-radius-base @border-radius-base 0;
+ }
+ }
+
+ // range end border-radius
+ &-in-view&-range-end:not(&-range-end-single):not(&-range-start) .@{cellClassName} {
+ .@{picker-prefix-cls}-panel-rtl & {
+ border-radius: @border-radius-base 0 0 @border-radius-base;
+ }
+ }
+
+ // Edge start
+ tr > &-in-view&-range-hover:not(&-selected):first-child::after,
+ &-in-view&-start&-range-hover-edge-start&-range-hover-edge-start-near-range::after,
+ &-in-view&-range-hover-edge-start:not(&-range-hover-edge-start-near-range)::after,
+ &-in-view&-range-hover-start::after {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: 6px;
+ left: 0;
+ border-right: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-left: none;
+ border-radius: 0 @border-radius-base @border-radius-base 0;
+ }
+ }
+
+ // Edge end
+ tr > &-in-view&-range-hover:not(&-selected):last-child::after,
+ &-in-view&-end&-range-hover-edge-end&-range-hover-edge-end-near-range::after,
+ &-in-view&-range-hover-edge-end:not(&-range-hover-edge-end-near-range)::after,
+ &-in-view&-range-hover-end::after {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: 0;
+ left: 6px;
+ border-right: none;
+ border-left: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-radius: @border-radius-base 0 0 @border-radius-base;
+ }
+ }
+
+ tr > &-in-view&-range-hover-start:last-child::after,
+ tr > &-in-view&-range-hover-end:first-child::after,
+ &-in-view&-start&-range-hover-edge-start:not(&-range-hover)::after,
+ &-in-view&-start&-range-hover-end&-range-hover-edge-start:not(&-range-hover)::after,
+ &-in-view&-end&-range-hover-start&-range-hover-edge-end:not(&-range-hover)::after,
+ tr > &-in-view&-start&-range-hover&-range-hover-edge-start:last-child::after,
+ tr > &-in-view&-end&-range-hover&-range-hover-edge-end:first-child::after {
+ .@{picker-prefix-cls}-panel-rtl & {
+ right: 6px;
+ left: 6px;
+ border-right: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-left: @border-width-base dashed @picker-date-hover-range-border-color;
+ border-radius: @border-radius-base;
+ }
+ }
+ }
+
+ // ======================== Footer ========================
+ &-footer {
+ &-extra {
+ .@{picker-prefix-cls}-dropdown-rtl & {
+ direction: rtl;
+ text-align: right;
+ }
+ }
+ }
+
+ // ====================== Time Panel ======================
+ &-time-panel {
+ .@{picker-prefix-cls}-panel-rtl & {
+ direction: ltr;
+ }
+ }
+}
diff --git a/src/core/components/BaseDatePicker/src/datePick/util.ts b/src/core/components/BaseDatePicker/src/datePick/util.ts
new file mode 100644
index 0000000..aa7b7fe
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/datePick/util.ts
@@ -0,0 +1,53 @@
+import type { PickerMode } from '@core/components/BaseDatePicker/src/vc-picker/interface'
+import type { PickerLocale } from './generatePicker'
+
+export function getPlaceholder(
+ picker: PickerMode | undefined,
+ locale: PickerLocale,
+ customizePlaceholder?: string
+): string {
+ if (customizePlaceholder !== undefined) {
+ return customizePlaceholder
+ }
+
+ if (picker === 'year' && locale.lang.yearPlaceholder) {
+ return locale.lang.yearPlaceholder
+ }
+ if (picker === 'quarter' && locale.lang.quarterPlaceholder) {
+ return locale.lang.quarterPlaceholder
+ }
+ if (picker === 'month' && locale.lang.monthPlaceholder) {
+ return locale.lang.monthPlaceholder
+ }
+ if (picker === 'week' && locale.lang.weekPlaceholder) {
+ return locale.lang.weekPlaceholder
+ }
+ if (picker === 'time' && locale.timePickerLocale.placeholder) {
+ return locale!.timePickerLocale.placeholder
+ }
+ return locale.lang.placeholder
+}
+
+export function getRangePlaceholder(
+ picker: PickerMode | undefined,
+ locale: PickerLocale,
+ customizePlaceholder?: [string, string]
+) {
+ if (customizePlaceholder !== undefined) {
+ return customizePlaceholder
+ }
+
+ if (picker === 'year' && locale.lang.yearPlaceholder) {
+ return locale.lang.rangeYearPlaceholder
+ }
+ if (picker === 'month' && locale.lang.monthPlaceholder) {
+ return locale.lang.rangeMonthPlaceholder
+ }
+ if (picker === 'week' && locale.lang.weekPlaceholder) {
+ return locale.lang.rangeWeekPlaceholder
+ }
+ if (picker === 'time' && locale.timePickerLocale.placeholder) {
+ return locale!.timePickerLocale.rangePlaceholder
+ }
+ return locale.lang.rangePlaceholder
+}
diff --git a/src/core/components/BaseDatePicker/src/vc-picker/PanelContext.tsx b/src/core/components/BaseDatePicker/src/vc-picker/PanelContext.tsx
new file mode 100644
index 0000000..5ea2f23
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/vc-picker/PanelContext.tsx
@@ -0,0 +1,38 @@
+import type { InjectionKey, Ref } from 'vue';
+import { inject, provide } from 'vue';
+import type { OnSelect, PanelMode } from './interface';
+
+export type ContextOperationRefProps = {
+ onKeydown?: (e: KeyboardEvent) => boolean;
+ onClose?: () => void;
+};
+
+export type PanelContextProps = {
+ operationRef?: Ref;
+ /** Only work with time panel */
+ hideHeader?: Ref;
+ panelRef?: Ref;
+ hidePrevBtn?: Ref;
+ hideNextBtn?: Ref;
+ onDateMouseenter?: (date: any) => void;
+ onDateMouseleave?: (date: any) => void;
+ onSelect?: OnSelect;
+ hideRanges?: Ref;
+ open?: Ref;
+ mode?: Ref;
+
+ /** Only used for TimePicker and this is a deprecated prop */
+ defaultOpenValue?: Ref;
+};
+
+const PanelContextKey: InjectionKey = Symbol('PanelContextProps');
+
+export const useProvidePanel = (props: PanelContextProps) => {
+ provide(PanelContextKey, props);
+};
+
+export const useInjectPanel = () => {
+ return inject(PanelContextKey, {});
+};
+
+export default PanelContextKey;
diff --git a/src/core/components/BaseDatePicker/src/vc-picker/Picker.tsx b/src/core/components/BaseDatePicker/src/vc-picker/Picker.tsx
new file mode 100644
index 0000000..25f32c0
--- /dev/null
+++ b/src/core/components/BaseDatePicker/src/vc-picker/Picker.tsx
@@ -0,0 +1,639 @@
+/**
+ * Removed:
+ * - getCalendarContainer: use `getPopupContainer` instead
+ * - onOk
+ *
+ * New Feature:
+ * - picker
+ * - allowEmpty
+ * - selectable
+ *
+ * Tips: Should add faq about `datetime` mode with `defaultValue`
+ */
+
+import type {
+ PickerPanelBaseProps,
+ PickerPanelDateProps,
+ PickerPanelTimeProps
+} from './PickerPanel'
+import PickerPanel from './PickerPanel'
+import PickerTrigger from './PickerTrigger'
+import { formatValue, isEqual, parseValue } from './utils/dateUtil'
+import getDataOrAriaProps, { toArray } from './utils/miscUtil'
+import type { ContextOperationRefProps } from './PanelContext'
+import { useProvidePanel } from './PanelContext'
+import type { CustomFormat, PickerMode } from './interface'
+import { getDefaultFormat, getInputSize, elementsContains } from './utils/uiUtil'
+import usePickerInput from './hooks/usePickerInput'
+import useTextValueMapping from './hooks/useTextValueMapping'
+import useValueTexts from './hooks/useValueTexts'
+import useHoverValue from './hooks/useHoverValue'
+import type { CSSProperties, HTMLAttributes, Ref } from 'vue'
+import { computed, defineComponent, ref, toRef, watch } from 'vue'
+import type {
+ ChangeEvent,
+ FocusEventHandler,
+ MouseEventHandler
+} from 'ant-design-vue/es/_util/EventInterface'
+import type { VueNode } from 'ant-design-vue/es/_util/type'
+import type { AlignType } from 'ant-design-vue/es/vc-align/interface'
+import useMergedState from 'ant-design-vue/es/_util/hooks/useMergedState'
+import { warning } from 'ant-design-vue/es/vc-util/warning'
+import classNames from 'ant-design-vue/es/_util/classNames'
+import type { SharedTimeProps } from './panels/TimePanel'
+import { useProviderTrigger } from 'ant-design-vue/es/vc-trigger/context'
+import { legacyPropsWarning } from './utils/warnUtil'
+
+export type PickerRefConfig = {
+ focus: () => void
+ blur: () => void
+}
+
+export type PickerSharedProps = {
+ dropdownClassName?: string
+ dropdownAlign?: AlignType
+ popupStyle?: CSSProperties
+ transitionName?: string
+ placeholder?: string
+ allowClear?: boolean
+ autofocus?: boolean
+ disabled?: boolean
+ tabindex?: number
+ open?: boolean
+ defaultOpen?: boolean
+ /** Make input readOnly to avoid popup keyboard in mobile */
+ inputReadOnly?: boolean
+ id?: string
+
+ presets?: PresetDate[]
+
+ // Value
+ format?: string | CustomFormat | (string | CustomFormat)[]
+
+ // Render
+ suffixIcon?: VueNode
+ clearIcon?: VueNode
+ prevIcon?: VueNode
+ nextIcon?: VueNode
+ superPrevIcon?: VueNode
+ superNextIcon?: VueNode
+ getPopupContainer?: (node: HTMLElement) => HTMLElement
+ panelRender?: (originPanel: VueNode) => VueNode
+ inputRender?: (props: HTMLAttributes) => VueNode
+
+ // Events
+ onChange?: (value: DateType | null, dateString: string) => void
+ onOpenChange?: (open: boolean) => void
+ onFocus?: FocusEventHandler
+ onBlur?: FocusEventHandler
+ onMousedown?: MouseEventHandler
+ onMouseup?: MouseEventHandler
+ onMouseenter?: MouseEventHandler
+ onMouseleave?: MouseEventHandler
+ onClick?: MouseEventHandler
+ onContextmenu?: MouseEventHandler
+ onKeydown?: (event: KeyboardEvent, preventDefault: () => void) => void
+
+ // WAI-ARIA
+ role?: string
+ name?: string
+
+ autocomplete?: string
+ direction?: 'ltr' | 'rtl'
+ showToday?: boolean
+ showTime?: boolean | SharedTimeProps
+}
+
+type OmitPanelProps = Omit<
+ Props,
+ 'onChange' | 'hideHeader' | 'pickerValue' | 'onPickerValueChange'
+>
+
+export type PickerBaseProps = {} & PickerSharedProps &
+ OmitPanelProps>
+
+export type PickerDateProps = {} & PickerSharedProps &
+ OmitPanelProps