@gkd-kit/inspect 0.0.1717144446578 → 0.0.1717159501171
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-DraE-3ap.js +10 -0
- package/dist/assets/{ActionCard.vue_vue_type_script_setup_true_lang-C93_MZRO.js.map → ActionCard.vue_vue_type_script_setup_true_lang-DraE-3ap.js.map} +1 -1
- package/dist/assets/{DevicePage-BiDLaVdf.js → DevicePage-erHRPl3A.js} +3 -3
- package/dist/assets/{DevicePage-BiDLaVdf.js.map → DevicePage-erHRPl3A.js.map} +1 -1
- package/dist/assets/{HomePage-DZNMXZxh.js → HomePage-Duc_3HHo.js} +5 -5
- package/dist/assets/{HomePage-DZNMXZxh.js.map → HomePage-Duc_3HHo.js.map} +1 -1
- package/dist/assets/ImportPage-rJGihi5b.js +2 -0
- package/dist/assets/ImportPage-rJGihi5b.js.map +1 -0
- package/dist/assets/{PreviewSharePage-D4n48DEp.js → PreviewSharePage-mjmRS0Qz.js} +2 -2
- package/dist/assets/{PreviewSharePage-D4n48DEp.js.map → PreviewSharePage-mjmRS0Qz.js.map} +1 -1
- package/dist/assets/SnapshotPage-6Csrw5uE.js +272 -0
- package/dist/assets/SnapshotPage-6Csrw5uE.js.map +1 -0
- package/dist/assets/{TrackGraph-BXeJyqXu.js → TrackGraph-BiV46PRm.js} +2 -2
- package/dist/assets/{TrackGraph-BXeJyqXu.js.map → TrackGraph-BiV46PRm.js.map} +1 -1
- package/dist/assets/{_404Page-Bg6kYI9T.js → _404Page-Do1ul5YH.js} +2 -2
- package/dist/assets/{_404Page-Bg6kYI9T.js.map → _404Page-Do1ul5YH.js.map} +1 -1
- package/dist/assets/{fetch-D-io-zYm.js → fetch-BHXtD9U5.js} +21 -21
- package/dist/assets/fetch-BHXtD9U5.js.map +1 -0
- package/dist/assets/import-DwHfF2dR.js +2 -0
- package/dist/assets/import-DwHfF2dR.js.map +1 -0
- package/dist/assets/{index-Cn1sD9E1.js → index-BIjjNW4D.js} +2 -2
- package/dist/assets/{index-Cn1sD9E1.js.map → index-BIjjNW4D.js.map} +1 -1
- package/dist/assets/{index-7Qv9BJ7h.js → index-Bpihfthp.js} +41 -41
- package/dist/assets/index-Bpihfthp.js.map +1 -0
- package/dist/assets/{index-BV3N9of-.js → index-Dljev20H.js} +2 -2
- package/dist/assets/{index-BV3N9of-.js.map → index-Dljev20H.js.map} +1 -1
- package/dist/assets/{jszip.min-CFVT6u4h.js → jszip.min-DGKPpRLR.js} +4 -4
- package/dist/assets/{jszip.min-CFVT6u4h.js.map → jszip.min-DGKPpRLR.js.map} +1 -1
- package/dist/assets/{node-RaIPs-rl.js → node-J8wd2vlL.js} +6 -6
- package/dist/assets/{node-RaIPs-rl.js.map → node-J8wd2vlL.js.map} +1 -1
- package/dist/assets/{selector-Ppy4-9PD.js → selector-CZIQQsUk.js} +3 -3
- package/dist/assets/{selector-Ppy4-9PD.js.map → selector-CZIQQsUk.js.map} +1 -1
- package/dist/assets/{table-BkOdJIyN.js → table-Cgu94Daj.js} +2 -2
- package/dist/assets/{table-BkOdJIyN.js.map → table-Cgu94Daj.js.map} +1 -1
- package/dist/index.html +3 -3
- package/package.json +1 -1
- package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-C93_MZRO.js +0 -10
- package/dist/assets/ImportPage-mT3DldLy.js +0 -2
- package/dist/assets/ImportPage-mT3DldLy.js.map +0 -1
- package/dist/assets/SnapshotPage-BsRaiktw.js +0 -272
- package/dist/assets/SnapshotPage-BsRaiktw.js.map +0 -1
- package/dist/assets/fetch-D-io-zYm.js.map +0 -1
- package/dist/assets/import-DrT3vy2r.js +0 -2
- package/dist/assets/import-DrT3vy2r.js.map +0 -1
- package/dist/assets/index-7Qv9BJ7h.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetch-D-io-zYm.js","sources":["../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/_utils/vue/omit.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/_styles/transitions/fade-in-height-expand.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/dialog/src/DialogEnvironment.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/dialog/src/DialogProvider.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/dialog/src/composables.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/notification/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/notification/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/message/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/message/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/loading-bar/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/loading-bar/src/context.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/loading-bar/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/loading-bar/src/LoadingBar.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/loading-bar/src/LoadingBarProvider.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/loading-bar/src/use-loading-bar.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/message/src/message-props.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/message/src/context.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/message/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/message/src/Message.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/message/src/MessageEnvironment.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/message/src/MessageProvider.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/message/src/use-message.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/modal/src/ModalEnvironment.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/modal/src/context.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/modal/src/ModalProvider.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/modal/src/composables.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/notification/src/context.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/notification/src/NotificationContainer.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/notification/src/Notification.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/notification/src/NotificationEnvironment.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/notification/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/notification/src/NotificationProvider.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/notification/src/use-notification.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/discrete/src/InjectionExtractor.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/discrete/src/discreteApp.mjs","../../node_modules/.pnpm/naive-ui@2.38.1_vue@3.4.23_typescript@5.4.5_/node_modules/naive-ui/es/discrete/src/discrete.mjs","../../src/utils/discrete.ts","../../src/utils/others.ts","../../src/utils/gm.ts","../../src/utils/url.ts","../../src/utils/fetch.ts"],"sourcesContent":["export function omit(object, keys = [], rest) {\n const omitedObject = {};\n const originalKeys = Object.getOwnPropertyNames(object);\n originalKeys.forEach(originalKey => {\n if (!keys.includes(originalKey)) {\n omitedObject[originalKey] = object[originalKey];\n }\n });\n return Object.assign(omitedObject, rest);\n}","import { c } from \"../../_utils/cssr/index.mjs\";\nimport commonVariables from \"../common/_common.mjs\";\nconst {\n cubicBezierEaseInOut,\n cubicBezierEaseOut,\n cubicBezierEaseIn\n} = commonVariables;\nexport function fadeInHeightExpandTransition({\n overflow = 'hidden',\n duration = '.3s',\n originalTransition = '',\n leavingDelay = '0s',\n foldPadding = false,\n enterToProps = undefined,\n leaveToProps = undefined,\n reverse = false\n} = {}) {\n const enterClass = reverse ? 'leave' : 'enter';\n const leaveClass = reverse ? 'enter' : 'leave';\n return [c(`&.fade-in-height-expand-transition-${leaveClass}-from,\n &.fade-in-height-expand-transition-${enterClass}-to`, Object.assign(Object.assign({}, enterToProps), {\n opacity: 1\n })), c(`&.fade-in-height-expand-transition-${leaveClass}-to,\n &.fade-in-height-expand-transition-${enterClass}-from`, Object.assign(Object.assign({}, leaveToProps), {\n opacity: 0,\n marginTop: '0 !important',\n marginBottom: '0 !important',\n paddingTop: foldPadding ? '0 !important' : undefined,\n paddingBottom: foldPadding ? '0 !important' : undefined\n })), c(`&.fade-in-height-expand-transition-${leaveClass}-active`, `\n overflow: ${overflow};\n transition:\n max-height ${duration} ${cubicBezierEaseInOut} ${leavingDelay},\n opacity ${duration} ${cubicBezierEaseOut} ${leavingDelay},\n margin-top ${duration} ${cubicBezierEaseInOut} ${leavingDelay},\n margin-bottom ${duration} ${cubicBezierEaseInOut} ${leavingDelay},\n padding-top ${duration} ${cubicBezierEaseInOut} ${leavingDelay},\n padding-bottom ${duration} ${cubicBezierEaseInOut} ${leavingDelay}\n ${originalTransition ? ',' + originalTransition : ''}\n `), c(`&.fade-in-height-expand-transition-${enterClass}-active`, `\n overflow: ${overflow};\n transition:\n max-height ${duration} ${cubicBezierEaseInOut},\n opacity ${duration} ${cubicBezierEaseIn},\n margin-top ${duration} ${cubicBezierEaseInOut},\n margin-bottom ${duration} ${cubicBezierEaseInOut},\n padding-top ${duration} ${cubicBezierEaseInOut},\n padding-bottom ${duration} ${cubicBezierEaseInOut}\n ${originalTransition ? ',' + originalTransition : ''}\n `)];\n}","// use absolute path to make sure no circular ref of style\n// this -> modal-index -> modal-style\nimport { h, defineComponent, ref } from 'vue';\nimport NModal from \"../../modal/src/Modal.mjs\";\nimport { keep } from \"../../_utils/index.mjs\";\nimport { NDialog } from \"./Dialog.mjs\";\nimport { dialogProps, dialogPropKeys } from \"./dialogProps.mjs\";\nexport const exposedDialogEnvProps = Object.assign(Object.assign({}, dialogProps), {\n onAfterEnter: Function,\n onAfterLeave: Function,\n transformOrigin: String,\n blockScroll: {\n type: Boolean,\n default: true\n },\n closeOnEsc: {\n type: Boolean,\n default: true\n },\n onEsc: Function,\n autoFocus: {\n type: Boolean,\n default: true\n },\n internalStyle: [String, Object],\n maskClosable: {\n type: Boolean,\n default: true\n },\n onPositiveClick: Function,\n onNegativeClick: Function,\n onClose: Function,\n onMaskClick: Function\n});\nexport const NDialogEnvironment = defineComponent({\n name: 'DialogEnvironment',\n props: Object.assign(Object.assign({}, exposedDialogEnvProps), {\n internalKey: {\n type: String,\n required: true\n },\n to: [String, Object],\n // private\n onInternalAfterLeave: {\n type: Function,\n required: true\n }\n }),\n setup(props) {\n const showRef = ref(true);\n function handleAfterLeave() {\n const {\n onInternalAfterLeave,\n internalKey,\n onAfterLeave\n } = props;\n if (onInternalAfterLeave) onInternalAfterLeave(internalKey);\n if (onAfterLeave) onAfterLeave();\n }\n function handlePositiveClick(e) {\n const {\n onPositiveClick\n } = props;\n if (onPositiveClick) {\n void Promise.resolve(onPositiveClick(e)).then(result => {\n if (result === false) return;\n hide();\n });\n } else {\n hide();\n }\n }\n function handleNegativeClick(e) {\n const {\n onNegativeClick\n } = props;\n if (onNegativeClick) {\n void Promise.resolve(onNegativeClick(e)).then(result => {\n if (result === false) return;\n hide();\n });\n } else {\n hide();\n }\n }\n function handleCloseClick() {\n const {\n onClose\n } = props;\n if (onClose) {\n void Promise.resolve(onClose()).then(result => {\n if (result === false) return;\n hide();\n });\n } else {\n hide();\n }\n }\n function handleMaskClick(e) {\n const {\n onMaskClick,\n maskClosable\n } = props;\n if (onMaskClick) {\n onMaskClick(e);\n maskClosable && hide();\n }\n }\n function handleEsc() {\n const {\n onEsc\n } = props;\n if (onEsc) {\n onEsc();\n }\n }\n function hide() {\n showRef.value = false;\n }\n function handleUpdateShow(value) {\n showRef.value = value;\n }\n return {\n show: showRef,\n hide,\n handleUpdateShow,\n handleAfterLeave,\n handleCloseClick,\n handleNegativeClick,\n handlePositiveClick,\n handleMaskClick,\n handleEsc\n };\n },\n render() {\n const {\n handlePositiveClick,\n handleUpdateShow,\n handleNegativeClick,\n handleCloseClick,\n handleAfterLeave,\n handleMaskClick,\n handleEsc,\n to,\n maskClosable,\n show\n } = this;\n return h(NModal, {\n show: show,\n onUpdateShow: handleUpdateShow,\n onMaskClick: handleMaskClick,\n onEsc: handleEsc,\n to: to,\n maskClosable: maskClosable,\n onAfterEnter: this.onAfterEnter,\n onAfterLeave: handleAfterLeave,\n closeOnEsc: this.closeOnEsc,\n blockScroll: this.blockScroll,\n autoFocus: this.autoFocus,\n transformOrigin: this.transformOrigin,\n internalAppear: true,\n internalDialog: true\n }, {\n default: () => h(NDialog, Object.assign({}, keep(this.$props, dialogPropKeys), {\n style: this.internalStyle,\n onClose: handleCloseClick,\n onNegativeClick: handleNegativeClick,\n onPositiveClick: handlePositiveClick\n }))\n });\n }\n});","import { defineComponent, Fragment, ref, h, provide, reactive } from 'vue';\nimport { createId } from 'seemly';\nimport { useClicked, useClickPosition } from 'vooks';\nimport { omit } from \"../../_utils/index.mjs\";\nimport { NDialogEnvironment } from \"./DialogEnvironment.mjs\";\nimport { dialogApiInjectionKey, dialogProviderInjectionKey, dialogReactiveListInjectionKey } from \"./context.mjs\";\nexport const dialogProviderProps = {\n injectionKey: String,\n to: [String, Object]\n};\nexport const NDialogProvider = defineComponent({\n name: 'DialogProvider',\n props: dialogProviderProps,\n setup() {\n const dialogListRef = ref([]);\n const dialogInstRefs = {};\n function create(options = {}) {\n const key = createId();\n const dialogReactive = reactive(Object.assign(Object.assign({}, options), {\n key,\n destroy: () => {\n dialogInstRefs[`n-dialog-${key}`].hide();\n }\n }));\n dialogListRef.value.push(dialogReactive);\n return dialogReactive;\n }\n const typedApi = ['info', 'success', 'warning', 'error'].map(type => options => {\n return create(Object.assign(Object.assign({}, options), {\n type\n }));\n });\n function handleAfterLeave(key) {\n const {\n value: dialogList\n } = dialogListRef;\n dialogList.splice(dialogList.findIndex(dialog => dialog.key === key), 1);\n }\n function destroyAll() {\n Object.values(dialogInstRefs).forEach(dialogInstRef => {\n dialogInstRef.hide();\n });\n }\n const api = {\n create,\n destroyAll,\n info: typedApi[0],\n success: typedApi[1],\n warning: typedApi[2],\n error: typedApi[3]\n };\n provide(dialogApiInjectionKey, api);\n provide(dialogProviderInjectionKey, {\n clickedRef: useClicked(64),\n clickedPositionRef: useClickPosition()\n });\n provide(dialogReactiveListInjectionKey, dialogListRef);\n return Object.assign(Object.assign({}, api), {\n dialogList: dialogListRef,\n dialogInstRefs,\n handleAfterLeave\n });\n },\n render() {\n var _a, _b;\n return h(Fragment, null, [this.dialogList.map(dialog => h(NDialogEnvironment, omit(dialog, ['destroy', 'style'], {\n internalStyle: dialog.style,\n to: this.to,\n ref: inst => {\n if (inst === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this.dialogInstRefs[`n-dialog-${dialog.key}`];\n } else {\n this.dialogInstRefs[`n-dialog-${dialog.key}`] = inst;\n }\n },\n internalKey: dialog.key,\n onInternalAfterLeave: this.handleAfterLeave\n }))), (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)]);\n }\n});","import { inject } from 'vue';\nimport { dialogApiInjectionKey, dialogReactiveListInjectionKey } from \"./context.mjs\";\nimport { throwError } from \"../../_utils/index.mjs\";\nexport function useDialog() {\n const dialog = inject(dialogApiInjectionKey, null);\n if (dialog === null) {\n throwError('use-dialog', 'No outer <n-dialog-provider /> founded.');\n }\n return dialog;\n}\nexport function useDialogReactiveList() {\n const dialogReactiveList = inject(dialogReactiveListInjectionKey, null);\n if (dialogReactiveList === null) {\n throwError('use-dialog-reactive-list', 'No outer <n-dialog-provider /> founded.');\n }\n return dialogReactiveList;\n}","export default {\n closeMargin: '16px 12px',\n closeSize: '20px',\n closeIconSize: '16px',\n width: '365px',\n padding: '16px',\n titleFontSize: '16px',\n metaFontSize: '12px',\n descriptionFontSize: '12px'\n};","import { scrollbarLight } from \"../../_internal/scrollbar/styles/index.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport { createTheme } from \"../../_mixins/index.mjs\";\nimport commonVars from \"./_common.mjs\";\nexport const self = vars => {\n const {\n textColor2,\n successColor,\n infoColor,\n warningColor,\n errorColor,\n popoverColor,\n closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n closeColorHover,\n closeColorPressed,\n textColor1,\n textColor3,\n borderRadius,\n fontWeightStrong,\n boxShadow2,\n lineHeight,\n fontSize\n } = vars;\n return Object.assign(Object.assign({}, commonVars), {\n borderRadius,\n lineHeight,\n fontSize,\n headerFontWeight: fontWeightStrong,\n iconColor: textColor2,\n iconColorSuccess: successColor,\n iconColorInfo: infoColor,\n iconColorWarning: warningColor,\n iconColorError: errorColor,\n color: popoverColor,\n textColor: textColor2,\n closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n closeBorderRadius: borderRadius,\n closeColorHover,\n closeColorPressed,\n headerTextColor: textColor1,\n descriptionTextColor: textColor3,\n actionTextColor: textColor2,\n boxShadow: boxShadow2\n });\n};\nconst notificationLight = createTheme({\n name: 'Notification',\n common: commonLight,\n peers: {\n Scrollbar: scrollbarLight\n },\n self\n});\nexport default notificationLight;","export default {\n margin: '0 0 8px 0',\n padding: '10px 20px',\n maxWidth: '720px',\n minWidth: '420px',\n iconMargin: '0 10px 0 0',\n closeMargin: '0 0 0 10px',\n closeSize: '20px',\n closeIconSize: '16px',\n iconSize: '20px',\n fontSize: '14px'\n};","import commonVariables from \"./_common.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nexport const self = vars => {\n const {\n textColor2,\n closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n infoColor,\n successColor,\n errorColor,\n warningColor,\n popoverColor,\n boxShadow2,\n primaryColor,\n lineHeight,\n borderRadius,\n closeColorHover,\n closeColorPressed\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n closeBorderRadius: borderRadius,\n textColor: textColor2,\n textColorInfo: textColor2,\n textColorSuccess: textColor2,\n textColorError: textColor2,\n textColorWarning: textColor2,\n textColorLoading: textColor2,\n color: popoverColor,\n colorInfo: popoverColor,\n colorSuccess: popoverColor,\n colorError: popoverColor,\n colorWarning: popoverColor,\n colorLoading: popoverColor,\n boxShadow: boxShadow2,\n boxShadowInfo: boxShadow2,\n boxShadowSuccess: boxShadow2,\n boxShadowError: boxShadow2,\n boxShadowWarning: boxShadow2,\n boxShadowLoading: boxShadow2,\n iconColor: textColor2,\n iconColorInfo: infoColor,\n iconColorSuccess: successColor,\n iconColorWarning: warningColor,\n iconColorError: errorColor,\n iconColorLoading: primaryColor,\n closeColorHover,\n closeColorPressed,\n closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n closeColorHoverInfo: closeColorHover,\n closeColorPressedInfo: closeColorPressed,\n closeIconColorInfo: closeIconColor,\n closeIconColorHoverInfo: closeIconColorHover,\n closeIconColorPressedInfo: closeIconColorPressed,\n closeColorHoverSuccess: closeColorHover,\n closeColorPressedSuccess: closeColorPressed,\n closeIconColorSuccess: closeIconColor,\n closeIconColorHoverSuccess: closeIconColorHover,\n closeIconColorPressedSuccess: closeIconColorPressed,\n closeColorHoverError: closeColorHover,\n closeColorPressedError: closeColorPressed,\n closeIconColorError: closeIconColor,\n closeIconColorHoverError: closeIconColorHover,\n closeIconColorPressedError: closeIconColorPressed,\n closeColorHoverWarning: closeColorHover,\n closeColorPressedWarning: closeColorPressed,\n closeIconColorWarning: closeIconColor,\n closeIconColorHoverWarning: closeIconColorHover,\n closeIconColorPressedWarning: closeIconColorPressed,\n closeColorHoverLoading: closeColorHover,\n closeColorPressedLoading: closeColorPressed,\n closeIconColorLoading: closeIconColor,\n closeIconColorHoverLoading: closeIconColorHover,\n closeIconColorPressedLoading: closeIconColorPressed,\n loadingColor: primaryColor,\n lineHeight,\n borderRadius\n });\n};\nconst messageLight = {\n name: 'Message',\n common: commonLight,\n self\n};\nexport default messageLight;","import { commonLight } from \"../../_styles/common/index.mjs\";\nconst self = vars => {\n const {\n primaryColor,\n errorColor\n } = vars;\n return {\n colorError: errorColor,\n colorLoading: primaryColor,\n height: '2px'\n };\n};\nconst loadingBarLight = {\n name: 'LoadingBar',\n common: commonLight,\n self\n};\nexport default loadingBarLight;","import { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const loadingBarProviderInjectionKey = createInjectionKey('n-loading-bar');\nexport const loadingBarApiInjectionKey = createInjectionKey('n-loading-bar-api');","import { cB, cM } from \"../../../_utils/cssr/index.mjs\";\nimport { fadeInTransition } from \"../../../_styles/transitions/fade-in.cssr.mjs\";\n// vars:\n// --n-height\n// --n-color-loading\n// --n-color-error\nexport default cB('loading-bar-container', `\n z-index: 5999;\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n height: 2px;\n`, [fadeInTransition({\n enterDuration: '0.3s',\n leaveDuration: '0.8s'\n}), cB('loading-bar', `\n width: 100%;\n transition:\n max-width 4s linear,\n background .2s linear;\n height: var(--n-height);\n `, [cM('starting', `\n background: var(--n-color-loading);\n `), cM('finishing', `\n background: var(--n-color-loading);\n transition:\n max-width .2s linear,\n background .2s linear;\n `), cM('error', `\n background: var(--n-color-error);\n transition:\n max-width .2s linear,\n background .2s linear;\n `)])]);","var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { h, Transition, computed, defineComponent, inject, withDirectives, vShow, ref, nextTick } from 'vue';\nimport { useConfig, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { loadingBarLight } from \"../styles/index.mjs\";\nimport { loadingBarProviderInjectionKey } from \"./context.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nfunction createClassName(status, clsPrefix) {\n return `${clsPrefix}-loading-bar ${clsPrefix}-loading-bar--${status}`;\n}\nexport default defineComponent({\n name: 'LoadingBar',\n props: {\n containerClass: String,\n containerStyle: [String, Object]\n },\n setup() {\n const {\n inlineThemeDisabled\n } = useConfig();\n const {\n props: providerProps,\n mergedClsPrefixRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(loadingBarProviderInjectionKey);\n const loadingBarRef = ref(null);\n const enteringRef = ref(false);\n const startedRef = ref(false);\n const loadingRef = ref(false);\n const transitionDisabledRef = ref(false);\n let finishing = false;\n const erroringRef = ref(false);\n const mergedLoadingBarStyle = computed(() => {\n const {\n loadingBarStyle\n } = providerProps;\n if (!loadingBarStyle) return '';\n return loadingBarStyle[erroringRef.value ? 'error' : 'loading'];\n });\n function init() {\n return __awaiter(this, void 0, void 0, function* () {\n enteringRef.value = false;\n loadingRef.value = false;\n finishing = false;\n erroringRef.value = false;\n transitionDisabledRef.value = true;\n yield nextTick();\n transitionDisabledRef.value = false;\n });\n }\n function start(fromProgress = 0, toProgress = 80, status = 'starting') {\n return __awaiter(this, void 0, void 0, function* () {\n startedRef.value = true;\n yield init();\n if (finishing) return;\n loadingRef.value = true;\n yield nextTick();\n const el = loadingBarRef.value;\n if (!el) return;\n el.style.maxWidth = `${fromProgress}%`;\n el.style.transition = 'none';\n void el.offsetWidth;\n el.className = createClassName(status, mergedClsPrefixRef.value);\n el.style.transition = '';\n el.style.maxWidth = `${toProgress}%`;\n });\n }\n function finish() {\n return __awaiter(this, void 0, void 0, function* () {\n if (finishing || erroringRef.value) return;\n if (startedRef.value) {\n yield nextTick();\n }\n finishing = true;\n const el = loadingBarRef.value;\n if (!el) return;\n el.className = createClassName('finishing', mergedClsPrefixRef.value);\n el.style.maxWidth = '100%';\n void el.offsetWidth;\n loadingRef.value = false;\n });\n }\n function error() {\n if (finishing || erroringRef.value) return;\n if (!loadingRef.value) {\n void start(100, 100, 'error').then(() => {\n erroringRef.value = true;\n const el = loadingBarRef.value;\n if (!el) return;\n el.className = createClassName('error', mergedClsPrefixRef.value);\n void el.offsetWidth;\n loadingRef.value = false;\n });\n } else {\n erroringRef.value = true;\n const el = loadingBarRef.value;\n if (!el) return;\n el.className = createClassName('error', mergedClsPrefixRef.value);\n el.style.maxWidth = '100%';\n void el.offsetWidth;\n loadingRef.value = false;\n }\n }\n function handleEnter() {\n enteringRef.value = true;\n }\n function handleAfterEnter() {\n enteringRef.value = false;\n }\n function handleAfterLeave() {\n return __awaiter(this, void 0, void 0, function* () {\n yield init();\n });\n }\n const themeRef = useTheme('LoadingBar', '-loading-bar', style, loadingBarLight, providerProps, mergedClsPrefixRef);\n const cssVarsRef = computed(() => {\n const {\n self: {\n height,\n colorError,\n colorLoading\n }\n } = themeRef.value;\n return {\n '--n-height': height,\n '--n-color-loading': colorLoading,\n '--n-color-error': colorError\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('loading-bar', undefined, cssVarsRef, providerProps) : undefined;\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n loadingBarRef,\n started: startedRef,\n loading: loadingRef,\n entering: enteringRef,\n transitionDisabled: transitionDisabledRef,\n start,\n error,\n finish,\n handleEnter,\n handleAfterEnter,\n handleAfterLeave,\n mergedLoadingBarStyle,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n if (!this.started) return null;\n const {\n mergedClsPrefix\n } = this;\n return h(Transition, {\n name: \"fade-in-transition\",\n appear: true,\n onEnter: this.handleEnter,\n onAfterEnter: this.handleAfterEnter,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n onAfterLeave: this.handleAfterLeave,\n css: !this.transitionDisabled\n }, {\n default: () => {\n var _a;\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n return withDirectives(h(\"div\", {\n class: [`${mergedClsPrefix}-loading-bar-container`, this.themeClass, this.containerClass],\n style: this.containerStyle\n }, h(\"div\", {\n ref: \"loadingBarRef\",\n class: [`${mergedClsPrefix}-loading-bar`],\n style: [this.cssVars, this.mergedLoadingBarStyle]\n })), [[vShow, this.loading || !this.loading && this.entering]]);\n }\n });\n }\n});","import { Fragment, h, ref, Teleport, defineComponent, provide, nextTick } from 'vue';\nimport { useIsMounted } from 'vooks';\nimport { useConfig, useTheme } from \"../../_mixins/index.mjs\";\nimport NLoadingBar from \"./LoadingBar.mjs\";\nimport { loadingBarApiInjectionKey, loadingBarProviderInjectionKey } from \"./context.mjs\";\nexport const loadingBarProviderProps = Object.assign(Object.assign({}, useTheme.props), {\n to: {\n type: [String, Object, Boolean],\n default: undefined\n },\n containerClass: String,\n containerStyle: [String, Object],\n loadingBarStyle: {\n type: Object\n }\n});\nexport default defineComponent({\n name: 'LoadingBarProvider',\n props: loadingBarProviderProps,\n setup(props) {\n const isMountedRef = useIsMounted();\n const loadingBarRef = ref(null);\n const methods = {\n start() {\n var _a;\n if (isMountedRef.value) {\n (_a = loadingBarRef.value) === null || _a === void 0 ? void 0 : _a.start();\n } else {\n void nextTick(() => {\n var _a;\n (_a = loadingBarRef.value) === null || _a === void 0 ? void 0 : _a.start();\n });\n }\n },\n error() {\n var _a;\n if (isMountedRef.value) {\n (_a = loadingBarRef.value) === null || _a === void 0 ? void 0 : _a.error();\n } else {\n void nextTick(() => {\n var _a;\n (_a = loadingBarRef.value) === null || _a === void 0 ? void 0 : _a.error();\n });\n }\n },\n finish() {\n var _a;\n if (isMountedRef.value) {\n (_a = loadingBarRef.value) === null || _a === void 0 ? void 0 : _a.finish();\n } else {\n void nextTick(() => {\n var _a;\n (_a = loadingBarRef.value) === null || _a === void 0 ? void 0 : _a.finish();\n });\n }\n }\n };\n const {\n mergedClsPrefixRef\n } = useConfig(props);\n provide(loadingBarApiInjectionKey, methods);\n provide(loadingBarProviderInjectionKey, {\n props,\n mergedClsPrefixRef\n });\n return Object.assign(methods, {\n loadingBarRef\n });\n },\n render() {\n var _a, _b;\n return h(Fragment, null, h(Teleport, {\n disabled: this.to === false,\n to: this.to || 'body'\n }, h(NLoadingBar, {\n ref: \"loadingBarRef\",\n containerStyle: this.containerStyle,\n containerClass: this.containerClass\n })), (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));\n }\n});","import { inject } from 'vue';\nimport { loadingBarApiInjectionKey } from \"./context.mjs\";\nimport { throwError } from \"../../_utils/index.mjs\";\nexport function useLoadingBar() {\n const loadingBar = inject(loadingBarApiInjectionKey, null);\n if (loadingBar === null) {\n throwError('use-loading-bar', 'No outer <n-loading-bar-provider /> founded.');\n }\n return loadingBar;\n}","export const messageProps = {\n icon: Function,\n type: {\n type: String,\n default: 'info'\n },\n content: [String, Number, Function],\n showIcon: {\n type: Boolean,\n default: true\n },\n closable: Boolean,\n keepAliveOnHover: Boolean,\n onClose: Function,\n onMouseenter: Function,\n onMouseleave: Function\n};","import { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const messageApiInjectionKey = createInjectionKey('n-message-api');\nexport const messageProviderInjectionKey = createInjectionKey('n-message-provider');","import { c, cB, cE, cM } from \"../../../_utils/cssr/index.mjs\";\nimport { iconSwitchTransition } from \"../../../_styles/transitions/icon-switch.cssr.mjs\";\nimport { fadeInHeightExpandTransition } from \"../../../_styles/transitions/fade-in-height-expand.cssr.mjs\";\n// vars:\n// --n-margin\n// --n-bezier\n// --n-padding\n// --n-max-width\n// --n-font-size\n// --n-icon-margin\n// --n-icon-size\n// --n-text-color\n// --n-color\n// --n-box-shadow\n// --n-icon-color-default\n// --n-icon-color-info\n// --n-icon-color-success\n// --n-icon-color-warning\n// --n-icon-color-error\n// --n-icon-color-loading\n// --n-close-size\n// --n-close-icon-size\n// --n-close-margin\n// --n-close-color-hover\n// --n-close-color-pressed\n// --n-close-border-radius\n// --n-close-icon-color\n// --n-close-icon-color-pressed\n// --n-close-icon-color-hover\n// --n-border-radius\nexport default c([cB('message-wrapper', `\n margin: var(--n-margin);\n z-index: 0;\n transform-origin: top center;\n display: flex;\n `, [fadeInHeightExpandTransition({\n overflow: 'visible',\n originalTransition: 'transform .3s var(--n-bezier)',\n enterToProps: {\n transform: 'scale(1)'\n },\n leaveToProps: {\n transform: 'scale(0.85)'\n }\n})]), cB('message', `\n box-sizing: border-box;\n display: flex;\n align-items: center;\n transition:\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n opacity .3s var(--n-bezier),\n transform .3s var(--n-bezier),\n margin-bottom .3s var(--n-bezier);\n padding: var(--n-padding);\n border-radius: var(--n-border-radius);\n flex-wrap: nowrap;\n overflow: hidden;\n max-width: var(--n-max-width);\n color: var(--n-text-color);\n background-color: var(--n-color);\n box-shadow: var(--n-box-shadow);\n `, [cE('content', `\n display: inline-block;\n line-height: var(--n-line-height);\n font-size: var(--n-font-size);\n `), cE('icon', `\n position: relative;\n margin: var(--n-icon-margin);\n height: var(--n-icon-size);\n width: var(--n-icon-size);\n font-size: var(--n-icon-size);\n flex-shrink: 0;\n `, [['default', 'info', 'success', 'warning', 'error', 'loading'].map(type => cM(`${type}-type`, [c('> *', `\n color: var(--n-icon-color-${type});\n transition: color .3s var(--n-bezier);\n `)])), c('> *', `\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n `, [iconSwitchTransition()])]), cE('close', `\n margin: var(--n-close-margin);\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n flex-shrink: 0;\n `, [c('&:hover', `\n color: var(--n-close-icon-color-hover);\n `), c('&:active', `\n color: var(--n-close-icon-color-pressed);\n `)])]), cB('message-container', `\n z-index: 6000;\n position: fixed;\n height: 0;\n overflow: visible;\n display: flex;\n flex-direction: column;\n align-items: center;\n `, [cM('top', `\n top: 12px;\n left: 0;\n right: 0;\n `), cM('top-left', `\n top: 12px;\n left: 12px;\n right: 0;\n align-items: flex-start;\n `), cM('top-right', `\n top: 12px;\n left: 0;\n right: 12px;\n align-items: flex-end;\n `), cM('bottom', `\n bottom: 4px;\n left: 0;\n right: 0;\n justify-content: flex-end;\n `), cM('bottom-left', `\n bottom: 4px;\n left: 12px;\n right: 0;\n justify-content: flex-end;\n align-items: flex-start;\n `), cM('bottom-right', `\n bottom: 4px;\n left: 0;\n right: 12px;\n justify-content: flex-end;\n align-items: flex-end;\n `)])]);","import { computed, h, defineComponent, inject } from 'vue';\nimport { InfoIcon, SuccessIcon, WarningIcon, ErrorIcon } from \"../../_internal/icons/index.mjs\";\nimport { NIconSwitchTransition, NBaseLoading, NBaseIcon, NBaseClose } from \"../../_internal/index.mjs\";\nimport { render, createKey } from \"../../_utils/index.mjs\";\nimport { useConfig, useTheme, useThemeClass, useRtl } from \"../../_mixins/index.mjs\";\nimport { messageLight } from \"../styles/index.mjs\";\nimport { messageProps } from \"./message-props.mjs\";\nimport { messageProviderInjectionKey } from \"./context.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nconst iconRenderMap = {\n info: () => h(InfoIcon, null),\n success: () => h(SuccessIcon, null),\n warning: () => h(WarningIcon, null),\n error: () => h(ErrorIcon, null),\n default: () => null\n};\nexport default defineComponent({\n name: 'Message',\n props: Object.assign(Object.assign({}, messageProps), {\n render: Function\n }),\n setup(props) {\n const {\n inlineThemeDisabled,\n mergedRtlRef\n } = useConfig(props);\n const {\n props: messageProviderProps,\n mergedClsPrefixRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(messageProviderInjectionKey);\n const rtlEnabledRef = useRtl('Message', mergedRtlRef, mergedClsPrefixRef);\n const themeRef = useTheme('Message', '-message', style, messageLight, messageProviderProps, mergedClsPrefixRef);\n const cssVarsRef = computed(() => {\n const {\n type\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self: {\n padding,\n margin,\n maxWidth,\n iconMargin,\n closeMargin,\n closeSize,\n iconSize,\n fontSize,\n lineHeight,\n borderRadius,\n iconColorInfo,\n iconColorSuccess,\n iconColorWarning,\n iconColorError,\n iconColorLoading,\n closeIconSize,\n closeBorderRadius,\n [createKey('textColor', type)]: textColor,\n [createKey('boxShadow', type)]: boxShadow,\n [createKey('color', type)]: color,\n [createKey('closeColorHover', type)]: closeColorHover,\n [createKey('closeColorPressed', type)]: closeColorPressed,\n [createKey('closeIconColor', type)]: closeIconColor,\n [createKey('closeIconColorPressed', type)]: closeIconColorPressed,\n [createKey('closeIconColorHover', type)]: closeIconColorHover\n }\n } = themeRef.value;\n return {\n '--n-bezier': cubicBezierEaseInOut,\n '--n-margin': margin,\n '--n-padding': padding,\n '--n-max-width': maxWidth,\n '--n-font-size': fontSize,\n '--n-icon-margin': iconMargin,\n '--n-icon-size': iconSize,\n '--n-close-icon-size': closeIconSize,\n '--n-close-border-radius': closeBorderRadius,\n '--n-close-size': closeSize,\n '--n-close-margin': closeMargin,\n '--n-text-color': textColor,\n '--n-color': color,\n '--n-box-shadow': boxShadow,\n '--n-icon-color-info': iconColorInfo,\n '--n-icon-color-success': iconColorSuccess,\n '--n-icon-color-warning': iconColorWarning,\n '--n-icon-color-error': iconColorError,\n '--n-icon-color-loading': iconColorLoading,\n '--n-close-color-hover': closeColorHover,\n '--n-close-color-pressed': closeColorPressed,\n '--n-close-icon-color': closeIconColor,\n '--n-close-icon-color-pressed': closeIconColorPressed,\n '--n-close-icon-color-hover': closeIconColorHover,\n '--n-line-height': lineHeight,\n '--n-border-radius': borderRadius\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('message', computed(() => props.type[0]), cssVarsRef, {}) : undefined;\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n rtlEnabled: rtlEnabledRef,\n messageProviderProps,\n handleClose() {\n var _a;\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props);\n },\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender,\n placement: messageProviderProps.placement\n };\n },\n render() {\n const {\n render: renderMessage,\n type,\n closable,\n content,\n mergedClsPrefix,\n cssVars,\n themeClass,\n onRender,\n icon,\n handleClose,\n showIcon\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n let iconNode;\n return h(\"div\", {\n class: [`${mergedClsPrefix}-message-wrapper`, themeClass],\n onMouseenter: this.onMouseenter,\n onMouseleave: this.onMouseleave,\n style: [{\n alignItems: this.placement.startsWith('top') ? 'flex-start' : 'flex-end'\n }, cssVars]\n }, renderMessage ? renderMessage(this.$props) : h(\"div\", {\n class: [`${mergedClsPrefix}-message ${mergedClsPrefix}-message--${type}-type`, this.rtlEnabled && `${mergedClsPrefix}-message--rtl`]\n }, (iconNode = createIconVNode(icon, type, mergedClsPrefix)) && showIcon ? h(\"div\", {\n class: `${mergedClsPrefix}-message__icon ${mergedClsPrefix}-message__icon--${type}-type`\n }, h(NIconSwitchTransition, null, {\n default: () => iconNode\n })) : null, h(\"div\", {\n class: `${mergedClsPrefix}-message__content`\n }, render(content)), closable ? h(NBaseClose, {\n clsPrefix: mergedClsPrefix,\n class: `${mergedClsPrefix}-message__close`,\n onClick: handleClose,\n absolute: true\n }) : null));\n }\n});\nfunction createIconVNode(icon, type, clsPrefix) {\n if (typeof icon === 'function') {\n return icon();\n } else {\n const innerIcon = type === 'loading' ? h(NBaseLoading, {\n clsPrefix: clsPrefix,\n strokeWidth: 24,\n scale: 0.85\n }) : iconRenderMap[type]();\n if (!innerIcon) return null;\n return h(NBaseIcon, {\n clsPrefix: clsPrefix,\n key: type\n }, {\n default: () => innerIcon\n });\n }\n}","import { h, defineComponent, ref, onMounted } from 'vue';\nimport { NFadeInExpandTransition } from \"../../_internal/index.mjs\";\nimport NMessage from \"./Message.mjs\";\nimport { messageProps } from \"./message-props.mjs\";\nexport default defineComponent({\n name: 'MessageEnvironment',\n props: Object.assign(Object.assign({}, messageProps), {\n duration: {\n type: Number,\n default: 3000\n },\n onAfterLeave: Function,\n onLeave: Function,\n internalKey: {\n type: String,\n required: true\n },\n // private\n onInternalAfterLeave: Function,\n // deprecated\n onHide: Function,\n onAfterHide: Function\n }),\n setup(props) {\n let timerId = null;\n const showRef = ref(true);\n onMounted(() => {\n setHideTimeout();\n });\n function setHideTimeout() {\n const {\n duration\n } = props;\n if (duration) {\n timerId = window.setTimeout(hide, duration);\n }\n }\n function handleMouseenter(e) {\n if (e.currentTarget !== e.target) return;\n if (timerId !== null) {\n window.clearTimeout(timerId);\n timerId = null;\n }\n }\n function handleMouseleave(e) {\n if (e.currentTarget !== e.target) return;\n setHideTimeout();\n }\n function hide() {\n const {\n onHide\n } = props;\n showRef.value = false;\n if (timerId) {\n window.clearTimeout(timerId);\n timerId = null;\n }\n // deprecated\n if (onHide) onHide();\n }\n function handleClose() {\n const {\n onClose\n } = props;\n if (onClose) onClose();\n hide();\n }\n function handleAfterLeave() {\n const {\n onAfterLeave,\n onInternalAfterLeave,\n onAfterHide,\n internalKey\n } = props;\n if (onAfterLeave) onAfterLeave();\n if (onInternalAfterLeave) onInternalAfterLeave(internalKey);\n // deprecated\n if (onAfterHide) onAfterHide();\n }\n // deprecated\n function deactivate() {\n hide();\n }\n return {\n show: showRef,\n hide,\n handleClose,\n handleAfterLeave,\n handleMouseleave,\n handleMouseenter,\n deactivate\n };\n },\n render() {\n return h(NFadeInExpandTransition, {\n appear: true,\n onAfterLeave: this.handleAfterLeave,\n onLeave: this.onLeave\n }, {\n default: () => [this.show ? h(NMessage, {\n content: this.content,\n type: this.type,\n icon: this.icon,\n showIcon: this.showIcon,\n closable: this.closable,\n onClose: this.handleClose,\n onMouseenter: this.keepAliveOnHover ? this.handleMouseenter : undefined,\n onMouseleave: this.keepAliveOnHover ? this.handleMouseleave : undefined\n }) : null]\n });\n }\n});","import { Fragment, ref, h, reactive, Teleport, defineComponent, provide } from 'vue';\nimport { createId } from 'seemly';\nimport { omit } from \"../../_utils/index.mjs\";\nimport { useConfig, useTheme } from \"../../_mixins/index.mjs\";\nimport MessageEnvironment from \"./MessageEnvironment.mjs\";\nimport { messageApiInjectionKey, messageProviderInjectionKey } from \"./context.mjs\";\nexport const messageProviderProps = Object.assign(Object.assign({}, useTheme.props), {\n to: [String, Object],\n duration: {\n type: Number,\n default: 3000\n },\n keepAliveOnHover: Boolean,\n max: Number,\n placement: {\n type: String,\n default: 'top'\n },\n closable: Boolean,\n containerClass: String,\n containerStyle: [String, Object]\n});\nexport default defineComponent({\n name: 'MessageProvider',\n props: messageProviderProps,\n setup(props) {\n const {\n mergedClsPrefixRef\n } = useConfig(props);\n const messageListRef = ref([]);\n const messageRefs = ref({});\n const api = {\n create(content, options) {\n return create(content, Object.assign({\n type: 'default'\n }, options));\n },\n info(content, options) {\n return create(content, Object.assign(Object.assign({}, options), {\n type: 'info'\n }));\n },\n success(content, options) {\n return create(content, Object.assign(Object.assign({}, options), {\n type: 'success'\n }));\n },\n warning(content, options) {\n return create(content, Object.assign(Object.assign({}, options), {\n type: 'warning'\n }));\n },\n error(content, options) {\n return create(content, Object.assign(Object.assign({}, options), {\n type: 'error'\n }));\n },\n loading(content, options) {\n return create(content, Object.assign(Object.assign({}, options), {\n type: 'loading'\n }));\n },\n destroyAll\n };\n provide(messageProviderInjectionKey, {\n props,\n mergedClsPrefixRef\n });\n provide(messageApiInjectionKey, api);\n function create(content, options) {\n const key = createId();\n const messageReactive = reactive(Object.assign(Object.assign({}, options), {\n content,\n key,\n destroy: () => {\n var _a;\n (_a = messageRefs.value[key]) === null || _a === void 0 ? void 0 : _a.hide();\n }\n }));\n const {\n max\n } = props;\n if (max && messageListRef.value.length >= max) {\n messageListRef.value.shift();\n }\n messageListRef.value.push(messageReactive);\n return messageReactive;\n }\n function handleAfterLeave(key) {\n messageListRef.value.splice(messageListRef.value.findIndex(message => message.key === key), 1);\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete messageRefs.value[key];\n }\n function destroyAll() {\n Object.values(messageRefs.value).forEach(messageInstRef => {\n messageInstRef.hide();\n });\n }\n return Object.assign({\n mergedClsPrefix: mergedClsPrefixRef,\n messageRefs,\n messageList: messageListRef,\n handleAfterLeave\n }, api);\n },\n render() {\n var _a, _b, _c;\n return h(Fragment, null, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a), this.messageList.length ? h(Teleport, {\n to: (_c = this.to) !== null && _c !== void 0 ? _c : 'body'\n }, h(\"div\", {\n class: [`${this.mergedClsPrefix}-message-container`, `${this.mergedClsPrefix}-message-container--${this.placement}`, this.containerClass],\n key: \"message-container\",\n style: this.containerStyle\n }, this.messageList.map(message => {\n return h(MessageEnvironment, Object.assign({\n ref: inst => {\n if (inst) {\n this.messageRefs[message.key] = inst;\n }\n },\n internalKey: message.key,\n onInternalAfterLeave: this.handleAfterLeave\n }, omit(message, ['destroy'], undefined), {\n duration: message.duration === undefined ? this.duration : message.duration,\n keepAliveOnHover: message.keepAliveOnHover === undefined ? this.keepAliveOnHover : message.keepAliveOnHover,\n closable: message.closable === undefined ? this.closable : message.closable\n }));\n }))) : null);\n }\n});","import { inject } from 'vue';\nimport { throwError } from \"../../_utils/index.mjs\";\nimport { messageApiInjectionKey } from \"./context.mjs\";\nexport function useMessage() {\n const api = inject(messageApiInjectionKey, null);\n if (api === null) {\n throwError('use-message', 'No outer <n-message-provider /> founded. See prerequisite in https://www.naiveui.com/en-US/os-theme/components/message for more details. If you want to use `useMessage` outside setup, please check https://www.naiveui.com/zh-CN/os-theme/components/message#Q-&-A.');\n }\n return api;\n}","// use absolute path to make sure no circular ref of style\n// this -> modal-index -> modal-style\nimport { h, defineComponent, ref } from 'vue';\nimport NModal, { modalProps } from \"./Modal.mjs\";\nexport const NModalEnvironment = defineComponent({\n name: 'ModalEnvironment',\n props: Object.assign(Object.assign({}, modalProps), {\n internalKey: {\n type: String,\n required: true\n },\n // private\n onInternalAfterLeave: {\n type: Function,\n required: true\n }\n }),\n setup(props) {\n const showRef = ref(true);\n function handleAfterLeave() {\n const {\n onInternalAfterLeave,\n internalKey,\n onAfterLeave\n } = props;\n if (onInternalAfterLeave) onInternalAfterLeave(internalKey);\n if (onAfterLeave) onAfterLeave();\n }\n function handlePositiveClick() {\n const {\n onPositiveClick\n } = props;\n if (onPositiveClick) {\n void Promise.resolve(onPositiveClick()).then(result => {\n if (result === false) return;\n hide();\n });\n } else {\n hide();\n }\n }\n function handleNegativeClick() {\n const {\n onNegativeClick\n } = props;\n if (onNegativeClick) {\n void Promise.resolve(onNegativeClick()).then(result => {\n if (result === false) return;\n hide();\n });\n } else {\n hide();\n }\n }\n function handleCloseClick() {\n const {\n onClose\n } = props;\n if (onClose) {\n void Promise.resolve(onClose()).then(result => {\n if (result === false) return;\n hide();\n });\n } else {\n hide();\n }\n }\n function handleMaskClick(e) {\n const {\n onMaskClick,\n maskClosable\n } = props;\n if (onMaskClick) {\n onMaskClick(e);\n maskClosable && hide();\n }\n }\n function handleEsc() {\n const {\n onEsc\n } = props;\n if (onEsc) {\n onEsc();\n }\n }\n function hide() {\n showRef.value = false;\n }\n function handleUpdateShow(value) {\n showRef.value = value;\n }\n return {\n show: showRef,\n hide,\n handleUpdateShow,\n handleAfterLeave,\n handleCloseClick,\n handleNegativeClick,\n handlePositiveClick,\n handleMaskClick,\n handleEsc\n };\n },\n render() {\n const {\n handleUpdateShow,\n handleAfterLeave,\n handleMaskClick,\n handleEsc,\n show\n } = this;\n return h(NModal, Object.assign({}, this.$props, {\n show: show,\n onUpdateShow: handleUpdateShow,\n onMaskClick: handleMaskClick,\n onEsc: handleEsc,\n onAfterLeave: handleAfterLeave,\n internalAppear: true,\n internalModal: true\n }));\n }\n});","import { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const modalProviderInjectionKey = createInjectionKey('n-modal-provider');\nexport const modalApiInjectionKey = createInjectionKey('n-modal-api');\nexport const modalReactiveListInjectionKey = createInjectionKey('n-modal-reactive-list');","import { defineComponent, Fragment, ref, h, provide, reactive } from 'vue';\nimport { createId } from 'seemly';\nimport { useClicked, useClickPosition } from 'vooks';\nimport { omit } from \"../../_utils/index.mjs\";\nimport { NModalEnvironment } from \"./ModalEnvironment.mjs\";\nimport { modalApiInjectionKey, modalProviderInjectionKey, modalReactiveListInjectionKey } from \"./context.mjs\";\nexport const modalProviderProps = {\n to: [String, Object]\n};\nexport const NModalProvider = defineComponent({\n name: 'ModalProvider',\n props: modalProviderProps,\n setup() {\n const clickedRef = useClicked(64);\n const clickedPositionRef = useClickPosition();\n const modalListRef = ref([]);\n const modalInstRefs = {};\n function create(options = {}) {\n const key = createId();\n const modalReactive = reactive(Object.assign(Object.assign({}, options), {\n key,\n destroy: () => {\n modalInstRefs[`n-modal-${key}`].hide();\n }\n }));\n modalListRef.value.push(modalReactive);\n return modalReactive;\n }\n function handleAfterLeave(key) {\n const {\n value: modalList\n } = modalListRef;\n modalList.splice(modalList.findIndex(modal => modal.key === key), 1);\n }\n function destroyAll() {\n Object.values(modalInstRefs).forEach(modalInstRef => {\n modalInstRef.hide();\n });\n }\n const api = {\n create,\n destroyAll\n };\n provide(modalApiInjectionKey, api);\n provide(modalProviderInjectionKey, {\n clickedRef: useClicked(64),\n clickedPositionRef: useClickPosition()\n });\n provide(modalReactiveListInjectionKey, modalListRef);\n provide(modalProviderInjectionKey, {\n clickedRef,\n clickedPositionRef\n });\n return Object.assign(Object.assign({}, api), {\n modalList: modalListRef,\n modalInstRefs,\n handleAfterLeave\n });\n },\n render() {\n var _a, _b;\n return h(Fragment, null, [this.modalList.map(modal => {\n var _a;\n return h(NModalEnvironment, omit(modal, ['destroy', 'style'], {\n internalStyle: modal.style,\n to: (_a = modal.to) !== null && _a !== void 0 ? _a : this.to,\n ref: inst => {\n if (inst === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this.modalInstRefs[`n-modal-${modal.key}`];\n } else {\n this.modalInstRefs[`n-modal-${modal.key}`] = inst;\n }\n },\n internalKey: modal.key,\n onInternalAfterLeave: this.handleAfterLeave\n }));\n }), (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)]);\n }\n});","import { inject } from 'vue';\nimport { modalApiInjectionKey, modalReactiveListInjectionKey } from \"./context.mjs\";\nimport { throwError } from \"../../_utils/index.mjs\";\nexport function useModal() {\n const modal = inject(modalApiInjectionKey, null);\n if (modal === null) {\n throwError('use-modal', 'No outer <n-modal-provider /> founded.');\n }\n return modal;\n}\nexport function useModalReactiveList() {\n const modalReactiveList = inject(modalReactiveListInjectionKey, null);\n if (modalReactiveList === null) {\n throwError('use-modal-reactive-list', 'No outer <n-modal-provider /> founded.');\n }\n return modalReactiveList;\n}","import { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const notificationProviderInjectionKey = createInjectionKey('n-notification-provider');","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, defineComponent, inject, ref, watchEffect } from 'vue';\nimport { NScrollbar } from \"../../_internal/index.mjs\";\nimport { notificationProviderInjectionKey } from \"./context.mjs\";\nexport const NotificationContainer = defineComponent({\n name: 'NotificationContainer',\n props: {\n scrollable: {\n type: Boolean,\n required: true\n },\n placement: {\n type: String,\n required: true\n }\n },\n setup() {\n const {\n mergedThemeRef,\n mergedClsPrefixRef,\n wipTransitionCountRef\n } = inject(notificationProviderInjectionKey);\n const selfRef = ref(null);\n watchEffect(() => {\n var _a, _b;\n if (wipTransitionCountRef.value > 0) {\n (_a = selfRef === null || selfRef === void 0 ? void 0 : selfRef.value) === null || _a === void 0 ? void 0 : _a.classList.add('transitioning');\n } else {\n (_b = selfRef === null || selfRef === void 0 ? void 0 : selfRef.value) === null || _b === void 0 ? void 0 : _b.classList.remove('transitioning');\n }\n });\n return {\n selfRef,\n mergedTheme: mergedThemeRef,\n mergedClsPrefix: mergedClsPrefixRef,\n transitioning: wipTransitionCountRef\n };\n },\n render() {\n const {\n $slots,\n scrollable,\n mergedClsPrefix,\n mergedTheme,\n placement\n } = this;\n return h(\"div\", {\n ref: \"selfRef\",\n class: [`${mergedClsPrefix}-notification-container`, scrollable && `${mergedClsPrefix}-notification-container--scrollable`, `${mergedClsPrefix}-notification-container--${placement}`]\n }, scrollable ? h(NScrollbar, {\n theme: mergedTheme.peers.Scrollbar,\n themeOverrides: mergedTheme.peerOverrides.Scrollbar,\n contentStyle: {\n overflow: 'hidden'\n }\n }, $slots) : $slots);\n }\n});","import { h, defineComponent, computed, inject } from 'vue';\nimport { getPadding } from 'seemly';\nimport { InfoIcon, SuccessIcon, WarningIcon, ErrorIcon } from \"../../_internal/icons/index.mjs\";\nimport { createKey, keysOf, render } from \"../../_utils/index.mjs\";\nimport { NBaseIcon, NBaseClose } from \"../../_internal/index.mjs\";\nimport { useConfig, useThemeClass, useRtl } from \"../../_mixins/index.mjs\";\nimport { notificationProviderInjectionKey } from \"./context.mjs\";\nconst iconRenderMap = {\n info: () => h(InfoIcon, null),\n success: () => h(SuccessIcon, null),\n warning: () => h(WarningIcon, null),\n error: () => h(ErrorIcon, null),\n default: () => null\n};\nexport const notificationProps = {\n closable: {\n type: Boolean,\n default: true\n },\n type: {\n type: String,\n default: 'default'\n },\n avatar: Function,\n title: [String, Function],\n description: [String, Function],\n content: [String, Function],\n meta: [String, Function],\n action: [String, Function],\n onClose: {\n type: Function,\n required: true\n },\n keepAliveOnHover: Boolean,\n onMouseenter: Function,\n onMouseleave: Function\n};\nexport const notificationPropKeys = keysOf(notificationProps);\nexport const Notification = defineComponent({\n name: 'Notification',\n props: notificationProps,\n setup(props) {\n const {\n mergedClsPrefixRef,\n mergedThemeRef,\n props: providerProps\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(notificationProviderInjectionKey);\n const {\n inlineThemeDisabled,\n mergedRtlRef\n } = useConfig();\n const rtlEnabledRef = useRtl('Notification', mergedRtlRef, mergedClsPrefixRef);\n const cssVarsRef = computed(() => {\n const {\n type\n } = props;\n const {\n self: {\n color,\n textColor,\n closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n headerTextColor,\n descriptionTextColor,\n actionTextColor,\n borderRadius,\n headerFontWeight,\n boxShadow,\n lineHeight,\n fontSize,\n closeMargin,\n closeSize,\n width,\n padding,\n closeIconSize,\n closeBorderRadius,\n closeColorHover,\n closeColorPressed,\n titleFontSize,\n metaFontSize,\n descriptionFontSize,\n [createKey('iconColor', type)]: iconColor\n },\n common: {\n cubicBezierEaseOut,\n cubicBezierEaseIn,\n cubicBezierEaseInOut\n }\n } = mergedThemeRef.value;\n const {\n left,\n right,\n top,\n bottom\n } = getPadding(padding);\n return {\n '--n-color': color,\n '--n-font-size': fontSize,\n '--n-text-color': textColor,\n '--n-description-text-color': descriptionTextColor,\n '--n-action-text-color': actionTextColor,\n '--n-title-text-color': headerTextColor,\n '--n-title-font-weight': headerFontWeight,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-bezier-ease-out': cubicBezierEaseOut,\n '--n-bezier-ease-in': cubicBezierEaseIn,\n '--n-border-radius': borderRadius,\n '--n-box-shadow': boxShadow,\n '--n-close-border-radius': closeBorderRadius,\n '--n-close-color-hover': closeColorHover,\n '--n-close-color-pressed': closeColorPressed,\n '--n-close-icon-color': closeIconColor,\n '--n-close-icon-color-hover': closeIconColorHover,\n '--n-close-icon-color-pressed': closeIconColorPressed,\n '--n-line-height': lineHeight,\n '--n-icon-color': iconColor,\n '--n-close-margin': closeMargin,\n '--n-close-size': closeSize,\n '--n-close-icon-size': closeIconSize,\n '--n-width': width,\n '--n-padding-left': left,\n '--n-padding-right': right,\n '--n-padding-top': top,\n '--n-padding-bottom': bottom,\n '--n-title-font-size': titleFontSize,\n '--n-meta-font-size': metaFontSize,\n '--n-description-font-size': descriptionFontSize\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('notification', computed(() => props.type[0]), cssVarsRef, providerProps) : undefined;\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n showAvatar: computed(() => {\n return props.avatar || props.type !== 'default';\n }),\n handleCloseClick() {\n props.onClose();\n },\n rtlEnabled: rtlEnabledRef,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n var _a;\n const {\n mergedClsPrefix\n } = this;\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n return h(\"div\", {\n class: [`${mergedClsPrefix}-notification-wrapper`, this.themeClass],\n onMouseenter: this.onMouseenter,\n onMouseleave: this.onMouseleave,\n style: this.cssVars\n }, h(\"div\", {\n class: [`${mergedClsPrefix}-notification`, this.rtlEnabled && `${mergedClsPrefix}-notification--rtl`, this.themeClass, {\n [`${mergedClsPrefix}-notification--closable`]: this.closable,\n [`${mergedClsPrefix}-notification--show-avatar`]: this.showAvatar\n }],\n style: this.cssVars\n }, this.showAvatar ? h(\"div\", {\n class: `${mergedClsPrefix}-notification__avatar`\n }, this.avatar ? render(this.avatar) : this.type !== 'default' ? h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => iconRenderMap[this.type]()\n }) : null) : null, this.closable ? h(NBaseClose, {\n clsPrefix: mergedClsPrefix,\n class: `${mergedClsPrefix}-notification__close`,\n onClick: this.handleCloseClick\n }) : null, h(\"div\", {\n ref: \"bodyRef\",\n class: `${mergedClsPrefix}-notification-main`\n }, this.title ? h(\"div\", {\n class: `${mergedClsPrefix}-notification-main__header`\n }, render(this.title)) : null, this.description ? h(\"div\", {\n class: `${mergedClsPrefix}-notification-main__description`\n }, render(this.description)) : null, this.content ? h(\"pre\", {\n class: `${mergedClsPrefix}-notification-main__content`\n }, render(this.content)) : null, this.meta || this.action ? h(\"div\", {\n class: `${mergedClsPrefix}-notification-main-footer`\n }, this.meta ? h(\"div\", {\n class: `${mergedClsPrefix}-notification-main-footer__meta`\n }, render(this.meta)) : null, this.action ? h(\"div\", {\n class: `${mergedClsPrefix}-notification-main-footer__action`\n }, render(this.action)) : null) : null)));\n }\n});","import { nextTick, Transition, h, defineComponent, ref, onMounted, inject } from 'vue';\nimport { keep } from \"../../_utils/index.mjs\";\nimport { notificationProviderInjectionKey } from \"./context.mjs\";\nimport { Notification, notificationProps, notificationPropKeys } from \"./Notification.mjs\";\nexport const notificationEnvOptions = Object.assign(Object.assign({}, notificationProps), {\n duration: Number,\n onClose: Function,\n onLeave: Function,\n onAfterEnter: Function,\n onAfterLeave: Function,\n /** @deprecated */\n onHide: Function,\n /** @deprecated */\n onAfterShow: Function,\n /** @deprecated */\n onAfterHide: Function\n});\nexport const NotificationEnvironment = defineComponent({\n name: 'NotificationEnvironment',\n props: Object.assign(Object.assign({}, notificationEnvOptions), {\n // private\n internalKey: {\n type: String,\n required: true\n },\n onInternalAfterLeave: {\n type: Function,\n required: true\n }\n }),\n setup(props) {\n const {\n wipTransitionCountRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(notificationProviderInjectionKey);\n const showRef = ref(true);\n let timerId = null;\n function hide() {\n showRef.value = false;\n if (timerId) {\n window.clearTimeout(timerId);\n }\n }\n function handleBeforeEnter(el) {\n wipTransitionCountRef.value++;\n void nextTick(() => {\n el.style.height = `${el.offsetHeight}px`;\n el.style.maxHeight = '0';\n el.style.transition = 'none';\n void el.offsetHeight;\n el.style.transition = '';\n el.style.maxHeight = el.style.height;\n });\n }\n function handleAfterEnter(el) {\n wipTransitionCountRef.value--;\n el.style.height = '';\n el.style.maxHeight = '';\n const {\n onAfterEnter,\n onAfterShow\n } = props;\n if (onAfterEnter) onAfterEnter();\n // deprecated\n if (onAfterShow) onAfterShow();\n }\n function handleBeforeLeave(el) {\n wipTransitionCountRef.value++;\n el.style.maxHeight = `${el.offsetHeight}px`;\n el.style.height = `${el.offsetHeight}px`;\n void el.offsetHeight;\n }\n function handleLeave(el) {\n const {\n onHide\n } = props;\n if (onHide) onHide();\n el.style.maxHeight = '0';\n void el.offsetHeight;\n }\n function handleAfterLeave() {\n wipTransitionCountRef.value--;\n const {\n onAfterLeave,\n onInternalAfterLeave,\n onAfterHide,\n internalKey\n } = props;\n if (onAfterLeave) onAfterLeave();\n onInternalAfterLeave(internalKey);\n // deprecated\n if (onAfterHide) onAfterHide();\n }\n function setHideTimeout() {\n const {\n duration\n } = props;\n if (duration) {\n timerId = window.setTimeout(hide, duration);\n }\n }\n function handleMouseenter(e) {\n if (e.currentTarget !== e.target) return;\n if (timerId !== null) {\n window.clearTimeout(timerId);\n timerId = null;\n }\n }\n function handleMouseleave(e) {\n if (e.currentTarget !== e.target) return;\n setHideTimeout();\n }\n function handleClose() {\n const {\n onClose\n } = props;\n if (onClose) {\n void Promise.resolve(onClose()).then(feedback => {\n if (feedback === false) return;\n hide();\n });\n } else {\n hide();\n }\n }\n onMounted(() => {\n if (props.duration) {\n timerId = window.setTimeout(hide, props.duration);\n }\n });\n return {\n show: showRef,\n hide,\n handleClose,\n handleAfterLeave,\n handleLeave,\n handleBeforeLeave,\n handleAfterEnter,\n handleBeforeEnter,\n handleMouseenter,\n handleMouseleave\n };\n },\n render() {\n return h(Transition, {\n name: \"notification-transition\",\n appear: true,\n // convert to any since Element is not compatible with HTMLElement\n onBeforeEnter: this.handleBeforeEnter,\n onAfterEnter: this.handleAfterEnter,\n onBeforeLeave: this.handleBeforeLeave,\n onLeave: this.handleLeave,\n onAfterLeave: this.handleAfterLeave\n }, {\n default: () => {\n return this.show ? h(Notification, Object.assign({}, keep(this.$props, notificationPropKeys), {\n onClose: this.handleClose,\n onMouseenter: this.duration && this.keepAliveOnHover ? this.handleMouseenter : undefined,\n onMouseleave: this.duration && this.keepAliveOnHover ? this.handleMouseleave : undefined\n })) : null;\n }\n });\n }\n});","import { c, cB, cE, cM } from \"../../../_utils/cssr/index.mjs\";\n// vars:\n// --n-color\n// --n-text-color\n// --n-description-text-color\n// --n-action-text-color\n// --n-title-text-color\n// --n-title-font-weight\n// --n-title-font-size\n// --n-meta-font-size\n// --n-description-font-size\n// --n-bezier\n// --n-bezier-ease-out\n// --n-bezier-ease-in\n// --n-border-radius\n// --n-box-shadow\n// --n-close-margin\n// --n-close-size\n// --n-close-icon-size\n// --n-close-color-hover\n// --n-close-color-pressed\n// --n-close-icon-color\n// --n-close-icon-color-hover\n// --n-close-icon-color-pressed\n// --n-line-height\n// --n-icon-color\n// --n-width\n// --n-padding-top\n// --n-padding-bottom\n// --n-padding-left\n// --n-padding-right\nexport default c([cB('notification-container', `\n z-index: 4000;\n position: fixed;\n overflow: visible;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n `, [c('>', [cB('scrollbar', `\n width: initial;\n overflow: visible;\n height: -moz-fit-content !important;\n height: fit-content !important;\n max-height: 100vh !important;\n `, [c('>', [cB('scrollbar-container', `\n height: -moz-fit-content !important;\n height: fit-content !important;\n max-height: 100vh !important;\n `, [cB('scrollbar-content', `\n padding-top: 12px;\n padding-bottom: 33px;\n `)])])])]), cM('top, top-right, top-left', `\n top: 12px;\n `, [c('&.transitioning >', [cB('scrollbar', [c('>', [cB('scrollbar-container', `\n min-height: 100vh !important;\n `)])])])]), cM('bottom, bottom-right, bottom-left', `\n bottom: 12px;\n `, [c('>', [cB('scrollbar', [c('>', [cB('scrollbar-container', [cB('scrollbar-content', `\n padding-bottom: 12px;\n `)])])])]), cB('notification-wrapper', `\n display: flex;\n align-items: flex-end;\n margin-bottom: 0;\n margin-top: 12px;\n `)]), cM('top, bottom', `\n left: 50%;\n transform: translateX(-50%);\n `, [cB('notification-wrapper', [c('&.notification-transition-enter-from, &.notification-transition-leave-to', `\n transform: scale(0.85);\n `), c('&.notification-transition-leave-from, &.notification-transition-enter-to', `\n transform: scale(1);\n `)])]), cM('top', [cB('notification-wrapper', `\n transform-origin: top center;\n `)]), cM('bottom', [cB('notification-wrapper', `\n transform-origin: bottom center;\n `)]), cM('top-right, bottom-right', [cB('notification', `\n margin-left: 28px;\n margin-right: 16px;\n `)]), cM('top-left, bottom-left', [cB('notification', `\n margin-left: 16px;\n margin-right: 28px;\n `)]), cM('top-right', `\n right: 0;\n `, [placementTransformStyle('top-right')]), cM('top-left', `\n left: 0;\n `, [placementTransformStyle('top-left')]), cM('bottom-right', `\n right: 0;\n `, [placementTransformStyle('bottom-right')]), cM('bottom-left', `\n left: 0;\n `, [placementTransformStyle('bottom-left')]), cM('scrollable', [cM('top-right', `\n top: 0;\n `), cM('top-left', `\n top: 0;\n `), cM('bottom-right', `\n bottom: 0;\n `), cM('bottom-left', `\n bottom: 0;\n `)]), cB('notification-wrapper', `\n margin-bottom: 12px;\n `, [c('&.notification-transition-enter-from, &.notification-transition-leave-to', `\n opacity: 0;\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n `), c('&.notification-transition-leave-from, &.notification-transition-enter-to', `\n opacity: 1;\n `), c('&.notification-transition-leave-active', `\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier),\n opacity .3s var(--n-bezier),\n transform .3s var(--n-bezier-ease-in),\n max-height .3s var(--n-bezier),\n margin-top .3s linear,\n margin-bottom .3s linear,\n box-shadow .3s var(--n-bezier);\n `), c('&.notification-transition-enter-active', `\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier),\n opacity .3s var(--n-bezier),\n transform .3s var(--n-bezier-ease-out),\n max-height .3s var(--n-bezier),\n margin-top .3s linear,\n margin-bottom .3s linear,\n box-shadow .3s var(--n-bezier);\n `)]), cB('notification', `\n background-color: var(--n-color);\n color: var(--n-text-color);\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier),\n opacity .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier);\n font-family: inherit;\n font-size: var(--n-font-size);\n font-weight: 400;\n position: relative;\n display: flex;\n overflow: hidden;\n flex-shrink: 0;\n padding-left: var(--n-padding-left);\n padding-right: var(--n-padding-right);\n width: var(--n-width);\n max-width: calc(100vw - 16px - 16px);\n border-radius: var(--n-border-radius);\n box-shadow: var(--n-box-shadow);\n box-sizing: border-box;\n opacity: 1;\n `, [cE('avatar', [cB('icon', `\n color: var(--n-icon-color);\n `), cB('base-icon', `\n color: var(--n-icon-color);\n `)]), cM('show-avatar', [cB('notification-main', `\n margin-left: 40px;\n width: calc(100% - 40px); \n `)]), cM('closable', [cB('notification-main', [c('> *:first-child', `\n padding-right: 20px;\n `)]), cE('close', `\n position: absolute;\n top: 0;\n right: 0;\n margin: var(--n-close-margin);\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n `)]), cE('avatar', `\n position: absolute;\n top: var(--n-padding-top);\n left: var(--n-padding-left);\n width: 28px;\n height: 28px;\n font-size: 28px;\n display: flex;\n align-items: center;\n justify-content: center;\n `, [cB('icon', 'transition: color .3s var(--n-bezier);')]), cB('notification-main', `\n padding-top: var(--n-padding-top);\n padding-bottom: var(--n-padding-bottom);\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n margin-left: 8px;\n width: calc(100% - 8px);\n `, [cB('notification-main-footer', `\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-top: 12px;\n `, [cE('meta', `\n font-size: var(--n-meta-font-size);\n transition: color .3s var(--n-bezier-ease-out);\n color: var(--n-description-text-color);\n `), cE('action', `\n cursor: pointer;\n transition: color .3s var(--n-bezier-ease-out);\n color: var(--n-action-text-color);\n `)]), cE('header', `\n font-weight: var(--n-title-font-weight);\n font-size: var(--n-title-font-size);\n transition: color .3s var(--n-bezier-ease-out);\n color: var(--n-title-text-color);\n `), cE('description', `\n margin-top: 8px;\n font-size: var(--n-description-font-size);\n white-space: pre-wrap;\n word-wrap: break-word;\n transition: color .3s var(--n-bezier-ease-out);\n color: var(--n-description-text-color);\n `), cE('content', `\n line-height: var(--n-line-height);\n margin: 12px 0 0 0;\n font-family: inherit;\n white-space: pre-wrap;\n word-wrap: break-word;\n transition: color .3s var(--n-bezier-ease-out);\n color: var(--n-text-color);\n `, [c('&:first-child', 'margin: 0;')])])])])]);\nfunction placementTransformStyle(placement) {\n const direction = placement.split('-')[1];\n const transformXEnter = direction === 'left' ? 'calc(-100%)' : 'calc(100%)';\n const transformXLeave = '0';\n return cB('notification-wrapper', [c('&.notification-transition-enter-from, &.notification-transition-leave-to', `\n transform: translate(${transformXEnter}, 0);\n `), c('&.notification-transition-leave-from, &.notification-transition-enter-to', `\n transform: translate(${transformXLeave}, 0);\n `)]);\n}","/* eslint-disable @typescript-eslint/no-dynamic-delete */\nimport { Fragment, h, reactive, ref, Teleport, defineComponent, provide } from 'vue';\nimport { createId } from 'seemly';\nimport { useConfig, useTheme } from \"../../_mixins/index.mjs\";\nimport { omit, createInjectionKey } from \"../../_utils/index.mjs\";\nimport { notificationLight } from \"../styles/index.mjs\";\nimport { NotificationContainer } from \"./NotificationContainer.mjs\";\nimport { NotificationEnvironment } from \"./NotificationEnvironment.mjs\";\nimport { notificationProviderInjectionKey } from \"./context.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport const notificationApiInjectionKey = createInjectionKey('n-notification-api');\nexport const notificationProviderProps = Object.assign(Object.assign({}, useTheme.props), {\n containerClass: String,\n containerStyle: [String, Object],\n to: [String, Object],\n scrollable: {\n type: Boolean,\n default: true\n },\n max: Number,\n placement: {\n type: String,\n default: 'top-right'\n },\n keepAliveOnHover: Boolean\n});\nexport default defineComponent({\n name: 'NotificationProvider',\n props: notificationProviderProps,\n setup(props) {\n const {\n mergedClsPrefixRef\n } = useConfig(props);\n const notificationListRef = ref([]);\n const notificationRefs = {};\n const leavingKeySet = new Set();\n function create(options) {\n const key = createId();\n const destroy = () => {\n leavingKeySet.add(key);\n // If you push n + 1 message when max is n, notificationRefs[key] maybe not be set\n if (notificationRefs[key]) {\n notificationRefs[key].hide();\n }\n };\n const notificationReactive = reactive(Object.assign(Object.assign({}, options), {\n key,\n destroy,\n hide: destroy,\n deactivate: destroy\n }));\n const {\n max\n } = props;\n if (max && notificationListRef.value.length - leavingKeySet.size >= max) {\n let someoneMountedRemoved = false;\n let index = 0;\n for (const notification of notificationListRef.value) {\n if (!leavingKeySet.has(notification.key)) {\n if (notificationRefs[notification.key]) {\n notification.destroy();\n someoneMountedRemoved = true;\n }\n break;\n }\n index++;\n }\n if (!someoneMountedRemoved) {\n notificationListRef.value.splice(index, 1);\n }\n }\n notificationListRef.value.push(notificationReactive);\n return notificationReactive;\n }\n const apis = ['info', 'success', 'warning', 'error'].map(type => {\n return options => create(Object.assign(Object.assign({}, options), {\n type\n }));\n });\n function handleAfterLeave(key) {\n leavingKeySet.delete(key);\n notificationListRef.value.splice(notificationListRef.value.findIndex(notification => notification.key === key), 1);\n }\n const themeRef = useTheme('Notification', '-notification', style, notificationLight, props, mergedClsPrefixRef);\n const api = {\n create,\n info: apis[0],\n success: apis[1],\n warning: apis[2],\n error: apis[3],\n open,\n destroyAll\n };\n const wipTransitionCountRef = ref(0);\n provide(notificationApiInjectionKey, api);\n provide(notificationProviderInjectionKey, {\n props,\n mergedClsPrefixRef,\n mergedThemeRef: themeRef,\n wipTransitionCountRef\n });\n // deprecated\n function open(options) {\n return create(options);\n }\n function destroyAll() {\n Object.values(notificationListRef.value).forEach(notification => {\n notification.hide();\n });\n }\n return Object.assign({\n mergedClsPrefix: mergedClsPrefixRef,\n notificationList: notificationListRef,\n notificationRefs,\n handleAfterLeave\n }, api);\n },\n render() {\n var _a, _b, _c;\n const {\n placement\n } = this;\n return h(Fragment, null, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a), this.notificationList.length ? h(Teleport, {\n to: (_c = this.to) !== null && _c !== void 0 ? _c : 'body'\n }, h(NotificationContainer, {\n class: this.containerClass,\n style: this.containerStyle,\n scrollable: this.scrollable && placement !== 'top' && placement !== 'bottom',\n placement: placement\n }, {\n default: () => {\n return this.notificationList.map(notification => {\n return h(NotificationEnvironment, Object.assign({\n ref: inst => {\n const refKey = notification.key;\n if (inst === null) {\n delete this.notificationRefs[refKey];\n } else this.notificationRefs[refKey] = inst;\n }\n }, omit(notification, ['destroy', 'hide', 'deactivate']), {\n internalKey: notification.key,\n onInternalAfterLeave: this.handleAfterLeave,\n keepAliveOnHover: notification.keepAliveOnHover === undefined ? this.keepAliveOnHover : notification.keepAliveOnHover\n }));\n });\n }\n })) : null);\n }\n});","import { inject } from 'vue';\nimport { notificationApiInjectionKey } from \"./NotificationProvider.mjs\";\nimport { throwError } from \"../../_utils/index.mjs\";\nexport function useNotification() {\n const api = inject(notificationApiInjectionKey, null);\n if (api === null) {\n throwError('use-notification', 'No outer `n-notification-provider` found.');\n }\n return api;\n}","import { defineComponent } from 'vue';\nexport const NInjectionExtractor = defineComponent({\n name: 'InjectionExtractor',\n props: {\n onSetup: Function\n },\n setup(props, {\n slots\n }) {\n var _a;\n (_a = props.onSetup) === null || _a === void 0 ? void 0 : _a.call(props);\n return () => {\n var _a;\n return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n };\n }\n});","import { createApp, h, unref } from 'vue';\nimport { NConfigProvider } from \"../../config-provider/index.mjs\";\nimport { useDialog } from \"../../dialog/index.mjs\";\nimport { useLoadingBar } from \"../../loading-bar/index.mjs\";\nimport { useMessage } from \"../../message/index.mjs\";\nimport { useNotification } from \"../../notification/index.mjs\";\nimport { useModal } from \"../../modal/index.mjs\";\nimport { isBrowser, warn } from \"../../_utils/index.mjs\";\nimport { NInjectionExtractor } from \"./InjectionExtractor.mjs\";\nconst injectionFactoryMap = {\n message: useMessage,\n notification: useNotification,\n loadingBar: useLoadingBar,\n dialog: useDialog,\n modal: useModal\n};\nexport function createDiscreteApp({\n providersAndProps,\n configProviderProps\n}) {\n const App = () => {\n return h(NConfigProvider, unref(configProviderProps), {\n default: () => providersAndProps.map(({\n type,\n Provider,\n props\n }) => {\n return h(Provider, unref(props), {\n default: () => h(NInjectionExtractor, {\n onSetup: () => extractedApi[type] = injectionFactoryMap[type]()\n })\n });\n })\n });\n };\n let app = createApp(App);\n const extractedApi = {\n app\n };\n let hostEl;\n if (isBrowser) {\n hostEl = document.createElement('div');\n document.body.appendChild(hostEl);\n app.mount(hostEl);\n }\n const unmount = () => {\n var _a;\n if (app === null || hostEl === null) {\n warn('discrete', 'unmount call no need because discrete app has been unmounted');\n return;\n }\n app.unmount();\n (_a = hostEl.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(hostEl);\n hostEl = null;\n app = null;\n };\n return Object.assign({\n unmount\n }, extractedApi);\n}","import { NMessageProvider } from \"../../message/index.mjs\";\nimport { NDialogProvider } from \"../../dialog/index.mjs\";\nimport { NNotificationProvider } from \"../../notification/index.mjs\";\nimport { NLoadingBarProvider } from \"../../loading-bar/index.mjs\";\nimport { createDiscreteApp } from \"./discreteApp.mjs\";\nimport { NModalProvider } from \"../../modal/src/ModalProvider.mjs\";\nexport function createDiscreteApi(includes, {\n configProviderProps,\n messageProviderProps,\n dialogProviderProps,\n notificationProviderProps,\n loadingBarProviderProps,\n modalProviderProps\n} = {}) {\n const providersAndProps = [];\n includes.forEach(type => {\n switch (type) {\n case 'message':\n providersAndProps.push({\n type,\n Provider: NMessageProvider,\n props: messageProviderProps\n });\n break;\n case 'notification':\n providersAndProps.push({\n type,\n Provider: NNotificationProvider,\n props: notificationProviderProps\n });\n break;\n case 'dialog':\n providersAndProps.push({\n type,\n Provider: NDialogProvider,\n props: dialogProviderProps\n });\n break;\n case 'loadingBar':\n providersAndProps.push({\n type,\n Provider: NLoadingBarProvider,\n props: loadingBarProviderProps\n });\n break;\n case 'modal':\n providersAndProps.push({\n type,\n Provider: NModalProvider,\n props: modalProviderProps\n });\n }\n });\n const discreteApp = createDiscreteApp({\n providersAndProps,\n configProviderProps\n });\n return discreteApp;\n}","import { createDiscreteApi } from 'naive-ui';\n\nconst { message, dialog, loadingBar } = createDiscreteApi([\n 'message',\n 'dialog',\n 'loadingBar',\n]);\nexport { message, dialog, loadingBar };\n","import { onMounted, onUnmounted } from 'vue';\nimport { message } from './discrete';\nimport root from './root';\nimport type { LocationQuery } from 'vue-router';\n\nexport const obj2form = (...objs: Record<string, unknown>[]) => {\n const fd = new FormData();\n objs.forEach((obj) => {\n for (const k in obj) {\n const v = obj[k];\n if (v === undefined) continue;\n if (v instanceof File) {\n fd.append(k, v, v.name);\n } else if (v instanceof Blob) {\n fd.append(k, v);\n } else {\n fd.append(k, String(v));\n }\n }\n });\n return fd;\n};\n\nexport function obj2usp(...objs: Record<string, unknown>[]) {\n const usp = new URLSearchParams();\n objs.forEach((obj) => {\n for (const k in obj) {\n const v = obj[k];\n if (v === undefined) continue;\n usp.append(k, String(v));\n }\n });\n return usp;\n}\n\nexport const headers2obj = (headers: Headers) => {\n const h: Record<string, string> = {};\n headers.forEach((v, k) => {\n h[k] = v;\n });\n return h;\n};\n\nexport const delay = async (n = 0) => {\n return new Promise<void>((res) => {\n setTimeout(res, n);\n });\n};\n\nexport const copy = (() => {\n let lastText: string | void = void 0;\n return async (text: string) => {\n if (lastText === text) return;\n lastText = text;\n delay(10_000).then(() => {\n lastText = void 0;\n });\n try {\n await navigator.clipboard.writeText(text);\n message.success(`复制成功`);\n } catch {\n message.error(`复制失败`);\n }\n };\n})();\n\nexport const useAdaptMobile = () => {\n const isMobile = window.innerHeight > window.innerWidth;\n onMounted(() => {\n if (isMobile) {\n root.classList.add('mobile');\n }\n });\n onUnmounted(() => {\n root.classList.remove('mobile');\n });\n};\n\nexport const timeAgo = (date: number) => {\n const seconds = Math.floor((Date.now() - date) / 1000);\n const interval = Math.floor(seconds / 31536000);\n\n if (interval >= 1) {\n return `${interval} 年前`;\n }\n\n const months = Math.floor(seconds / 2592000);\n if (months >= 1) {\n return `${months} 月前`;\n }\n\n const days = Math.floor(seconds / 86400);\n if (days >= 1) {\n return `${days} 天前`;\n }\n\n const hours = Math.floor(seconds / 3600);\n if (hours >= 1) {\n return `${hours} 小时前`;\n }\n\n const minutes = Math.floor(seconds / 60);\n if (minutes >= 1) {\n return `${minutes} 分钟前`;\n }\n\n return `刚刚`;\n};\n\nconst emptyFn = () => {};\nexport const buildEmptyFn = () => emptyFn;\n\nexport const filterQuery = (\n obj: LocationQuery,\n keys: string[],\n): LocationQuery => {\n const newObj: LocationQuery = {};\n keys.forEach((k) => {\n const value = obj[k];\n if (value !== undefined) {\n newObj[k] = value;\n }\n });\n return newObj;\n};\n","import { delay } from './others';\nimport { headers2obj } from './others';\n\ntype GmXhrRequest = import('vite-plugin-monkey/dist/client').GmXhrRequest<\n unknown,\n 'blob'\n>;\nconst proxyFc = <T extends (...args: any[]) => any>(getFc: () => T) => {\n return ((...args: any[]) => getFc()(...args)) as T;\n};\n\nexport const GM_xmlhttpRequest = proxyFc(\n () => window.__NetworkExtension__?.GM_xmlhttpRequest,\n);\n\nexport const gmOk = () => {\n return !!window.__NetworkExtension__?.GM_xmlhttpRequest;\n};\n\n/**\n * https://github.com/github/fetch/blob/fb5b0cf42b470faf8c5448ab461d561f34380a30/fetch.js#L422\n */\nexport const parseHeaders = (rawHeaders = '') => {\n const headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n const preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function (header) {\n return header.startsWith(`\\n`) ? header.substring(1) : header;\n })\n .forEach(function (line) {\n let parts = line.split(':');\n let key = parts.shift()?.trim();\n if (key) {\n let value = parts.join(':').trim();\n try {\n // https://github.com/gkd-kit/subscription/pull/762#discussion_r1349695154\n headers.append(key, value);\n } catch {}\n }\n });\n return headers;\n};\n\n/**\n * https://github.com/github/fetch/blob/9a6d748b394a2c16b250262fcaf46afd5364b415/fetch.js#L555\n */\nconst fixUrl = (url = '') => {\n try {\n return url === '' && location.href ? location.href : url;\n } catch {\n return url;\n }\n};\n\n/**\n * simulate window.fetch with GM_xmlhttpRequest\n *\n * because [Request](https://developer.mozilla.org/en-US/docs/Web/API/Request) will delete [Forbidden_header_name](https://developer.mozilla.org/en-US/docs/Glossary/Forbidden_header_name)\n *\n * so you must manually modify these headers by set the second parameter of GM_fetch\n * @example\n * GM_fetch(\n * new Request('https://www.pixiv.net/', {\n * headers: { referer: 'https://www.pixiv.net/' }, // it will not work !!!\n * }),\n * );\n * GM_fetch(new Request('https://www.pixiv.net/'), {\n * headers: { referer: 'https://www.pixiv.net/' }, // it will work\n * headers: new Headers({ referer: 'https://www.pixiv.net/' }), // it will also work\n * });\n */\nexport const GM_fetch = async (\n input: RequestInfo | URL,\n init: RequestInit = {},\n xhrDetails:\n | Partial<GmXhrRequest>\n | ((arg: GmXhrRequest) => GmXhrRequest) = {},\n): Promise<Response> => {\n const request = new Request(input, init).clone();\n if (request.signal?.aborted) {\n throw new DOMException('Aborted', 'AbortError');\n }\n\n const method = request.method.toUpperCase();\n const url = fixUrl(request.url);\n\n // headers\n const sendHeaders = new Headers(request.headers);\n new Headers(init.headers).forEach((value, key) => {\n sendHeaders.set(key, value);\n });\n\n let binary = false;\n let data: URLSearchParams | FormData | Blob | string | undefined = undefined;\n\n if (method != 'GET') {\n if (init.body) {\n if (\n typeof init.body == 'string' ||\n init.body instanceof URLSearchParams\n ) {\n data = init.body;\n } else if (init.body instanceof FormData) {\n data = init.body;\n sendHeaders.delete(`content-type`);\n } else {\n binary = true;\n data = await request.blob();\n }\n }\n }\n return new Promise<Response>((resolve, reject) => {\n let initXhrDetails: GmXhrRequest = {\n method,\n url,\n headers: headers2obj(sendHeaders),\n data,\n binary,\n responseType: 'blob',\n async onload(e) {\n let body: BodyInit | null | undefined = undefined;\n if (!(e.response instanceof Blob && e.response.size == 0)) {\n // Response': Response with null body status cannot have body\n body = e.response ?? e.responseText;\n }\n await delay();\n const resp = new Response(body, {\n status: e.status,\n statusText: e.statusText,\n headers: parseHeaders(e.responseHeaders),\n });\n Object.defineProperty(resp, 'url', { value: e.finalUrl });\n resolve(resp);\n },\n async onerror() {\n await delay();\n reject(new TypeError('Network request onerror failed'));\n },\n async ontimeout() {\n await delay();\n reject(new TypeError('Network request ontimeout failed'));\n },\n async onabort() {\n await delay();\n reject(new DOMException('Aborted', 'AbortError'));\n },\n async onreadystatechange(response) {\n if (response.readyState === 4) {\n request.signal?.removeEventListener('abort', abortXhr);\n }\n },\n };\n if (typeof xhrDetails == 'function') {\n initXhrDetails = xhrDetails(initXhrDetails);\n } else {\n initXhrDetails = { ...initXhrDetails, ...xhrDetails };\n }\n const handle = GM_xmlhttpRequest(initXhrDetails);\n function abortXhr() {\n handle.abort();\n }\n request.signal?.addEventListener('abort', abortXhr);\n });\n};\n","import type { Router } from 'vue-router';\n\nconst corsOkOrigins = new Set([\n location.origin,\n `https://cdn.jsdelivr.net`,\n `https://fastly.jsdelivr.net`,\n `https://raw.githubusercontent.com`,\n `https://gist.githubusercontent.com`,\n `https://raw.githubusercontents.com`,\n `https://raw.gitmirror.com`,\n `https://registry.npmmirror.com`,\n 'https://detect.gkd.li',\n]);\n\nexport const isAllowCorsUrl = (targetUrl: string | URL) => {\n targetUrl = new URL(targetUrl);\n if (targetUrl.hostname == `127.0.0.1` || targetUrl.hostname == `localhost`) {\n return true;\n }\n if (\n location.protocol == `http:` &&\n targetUrl.protocol == `http:` &&\n targetUrl.hostname\n .split(`.`)\n .every((s) => Number.isSafeInteger(parseInt(s))) // is ip host\n ) {\n return true;\n }\n return corsOkOrigins.has(targetUrl.origin);\n};\n\nexport const githubZipUrlReg =\n /^https:\\/\\/github\\.com\\/gkd-kit\\/inspect\\/files\\/([0-9]+)\\/file\\.zip$/;\n\nexport const githubImageUrlReg =\n /^https:\\/\\/github\\.com\\/gkd-kit\\/inspect\\/assets\\/([0-9]+)\\/([0-9a-z-]+)$/;\n\nexport const githubUrlToSelfUrl = (router: Router, u: string | URL): string => {\n u = u.toString();\n const { 1: zipAssetId } = u.match(githubZipUrlReg) || [];\n const { 1: userId, 2: imgAssetId } = u.match(githubImageUrlReg) || [];\n if (zipAssetId) {\n return (\n location.origin +\n router.resolve({\n path: `/i/${zipAssetId}`,\n }).href\n );\n } else if (userId && imgAssetId) {\n return `https://m.gkd.li/${userId}/${imgAssetId}`;\n } else {\n throw new Error(\n `github url ${u} should come from gkd-kit/inspect files/assets`,\n );\n }\n};\n","import { GM_fetch, gmOk } from './gm';\nimport store from './store';\nimport { isAllowCorsUrl } from './url';\n\nexport const enhanceFetch = async (\n input: RequestInfo | URL,\n init?: RequestInit,\n options?: { proxy?: boolean },\n) => {\n const req = new Request(input);\n const u = new URL(req.url);\n if (isAllowCorsUrl(u)) return fetch(input, { ...init, mode: 'cors' });\n\n if (gmOk()) {\n // with cookie\n // export snapshot need\n return GM_fetch(input, init);\n } else if (options?.proxy) {\n if (!u.href.startsWith('https://github.com/')) {\n store.networkErrorDlgVisible = true;\n throw new Error(`proxy is not supported`);\n }\n const proxyUrl = new URL(`https://proxy.gkd.li`);\n proxyUrl.searchParams.set(`proxyUrl`, u.href);\n const request = new Request(input, init);\n return fetch(proxyUrl, {\n method: request.method,\n headers: request.headers,\n body: request.body,\n });\n } else {\n store.networkErrorDlgVisible = true;\n throw new Error(`gm is not supported`);\n }\n};\n"],"names":["omit","object","keys","rest","omitedObject","originalKey","cubicBezierEaseInOut","cubicBezierEaseOut","cubicBezierEaseIn","commonVariables","fadeInHeightExpandTransition","overflow","duration","originalTransition","leavingDelay","foldPadding","enterToProps","leaveToProps","reverse","enterClass","leaveClass","c","exposedDialogEnvProps","dialogProps","NDialogEnvironment","defineComponent","props","showRef","ref","handleAfterLeave","onInternalAfterLeave","internalKey","onAfterLeave","handlePositiveClick","e","onPositiveClick","result","hide","handleNegativeClick","onNegativeClick","handleCloseClick","onClose","handleMaskClick","onMaskClick","maskClosable","handleEsc","onEsc","handleUpdateShow","value","to","show","NModal","NDialog","keep","dialogPropKeys","dialogProviderProps","NDialogProvider","dialogListRef","dialogInstRefs","create","options","key","createId","dialogReactive","reactive","typedApi","type","dialogList","dialog","destroyAll","dialogInstRef","api","provide","dialogApiInjectionKey","dialogProviderInjectionKey","useClicked","useClickPosition","dialogReactiveListInjectionKey","_a","_b","Fragment","inst","useDialog","inject","throwError","commonVars","self","vars","textColor2","successColor","infoColor","warningColor","errorColor","popoverColor","closeIconColor","closeIconColorHover","closeIconColorPressed","closeColorHover","closeColorPressed","textColor1","textColor3","borderRadius","fontWeightStrong","boxShadow2","lineHeight","fontSize","notificationLight","createTheme","commonLight","scrollbarLight","notificationLight$1","primaryColor","messageLight","messageLight$1","loadingBarLight","loadingBarLight$1","loadingBarProviderInjectionKey","createInjectionKey","loadingBarApiInjectionKey","style$2","cB","fadeInTransition","cM","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","rejected","createClassName","status","clsPrefix","NLoadingBar","inlineThemeDisabled","useConfig","providerProps","mergedClsPrefixRef","loadingBarRef","enteringRef","startedRef","loadingRef","transitionDisabledRef","finishing","erroringRef","mergedLoadingBarStyle","computed","loadingBarStyle","init","nextTick","start","fromProgress","toProgress","el","finish","error","handleEnter","handleAfterEnter","themeRef","useTheme","style","cssVarsRef","height","colorError","colorLoading","themeClassHandle","useThemeClass","mergedClsPrefix","Transition","withDirectives","vShow","loadingBarProviderProps","NLoadingBarProvider","isMountedRef","useIsMounted","methods","Teleport","useLoadingBar","loadingBar","messageProps","messageApiInjectionKey","messageProviderInjectionKey","style$1","cE","iconSwitchTransition","iconRenderMap","InfoIcon","SuccessIcon","WarningIcon","ErrorIcon","NMessage","mergedRtlRef","messageProviderProps","rtlEnabledRef","useRtl","padding","margin","maxWidth","iconMargin","closeMargin","closeSize","iconSize","iconColorInfo","iconColorSuccess","iconColorWarning","iconColorError","iconColorLoading","closeIconSize","closeBorderRadius","createKey","textColor","boxShadow","color","renderMessage","closable","content","cssVars","themeClass","onRender","icon","handleClose","showIcon","iconNode","createIconVNode","NIconSwitchTransition","render","NBaseClose","innerIcon","NBaseLoading","NBaseIcon","MessageEnvironment","timerId","onMounted","setHideTimeout","handleMouseenter","handleMouseleave","onHide","onAfterHide","deactivate","NFadeInExpandTransition","NMessageProvider","messageListRef","messageRefs","messageReactive","max","message","messageInstRef","_c","useMessage","NModalEnvironment","modalProps","modalProviderInjectionKey","modalApiInjectionKey","modalReactiveListInjectionKey","modalProviderProps","NModalProvider","clickedRef","clickedPositionRef","modalListRef","modalInstRefs","modalReactive","modalList","modal","modalInstRef","useModal","notificationProviderInjectionKey","NotificationContainer","mergedThemeRef","wipTransitionCountRef","selfRef","watchEffect","$slots","scrollable","mergedTheme","placement","NScrollbar","notificationProps","notificationPropKeys","keysOf","Notification","headerTextColor","descriptionTextColor","actionTextColor","headerFontWeight","width","titleFontSize","metaFontSize","descriptionFontSize","iconColor","left","right","top","bottom","getPadding","notificationEnvOptions","NotificationEnvironment","handleBeforeEnter","onAfterEnter","onAfterShow","handleBeforeLeave","handleLeave","feedback","placementTransformStyle","transformXEnter","notificationApiInjectionKey","notificationProviderProps","NNotificationProvider","notificationListRef","notificationRefs","leavingKeySet","destroy","notificationReactive","someoneMountedRemoved","index","notification","apis","open","refKey","useNotification","NInjectionExtractor","slots","injectionFactoryMap","createDiscreteApp","providersAndProps","configProviderProps","app","createApp","NConfigProvider","unref","Provider","extractedApi","hostEl","isBrowser","warn","createDiscreteApi","includes","obj2form","objs","fd","obj","k","v","headers2obj","headers","h","delay","n","res","copy","lastText","text","useAdaptMobile","isMobile","root","onUnmounted","timeAgo","date","seconds","interval","months","days","hours","minutes","emptyFn","buildEmptyFn","filterQuery","newObj","proxyFc","getFc","args","GM_xmlhttpRequest","gmOk","parseHeaders","rawHeaders","header","line","parts","fixUrl","url","GM_fetch","input","xhrDetails","request","method","sendHeaders","binary","data","initXhrDetails","body","resp","response","abortXhr","handle","corsOkOrigins","isAllowCorsUrl","targetUrl","s","githubZipUrlReg","githubImageUrlReg","githubUrlToSelfUrl","router","u","zipAssetId","userId","imgAssetId","enhanceFetch","req","store","proxyUrl"],"mappings":"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","x_google_ignoreList":[0,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,32,33,34,35]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{j as g}from"./jszip.min-CFVT6u4h.js";import{p as _}from"./index-RwQljgyW.js";import{h as A,m as y}from"./fetch-D-io-zYm.js";import{aJ as L,W as E,aL as P}from"./index-7Qv9BJ7h.js";const v=(()=>{if(typeof self>"u")return!1;if("top"in self&&self!==top)try{top.window.document._=0}catch{return!1}return"showOpenFilePicker"in self})(),S=v?Promise.resolve().then(function(){return j}):Promise.resolve().then(function(){return N});async function x(...e){return(await S).default(...e)}v?Promise.resolve().then(function(){return R}):Promise.resolve().then(function(){return z});v?Promise.resolve().then(function(){return U}):Promise.resolve().then(function(){return D});const F=async e=>{const t=await e.getFile();return t.handle=e,t};var T=async(e=[{}])=>{Array.isArray(e)||(e=[e]);const t=[];e.forEach((r,a)=>{t[a]={description:r.description||"Files",accept:{}},r.mimeTypes?r.mimeTypes.map(s=>{t[a].accept[s]=r.extensions||[]}):t[a].accept["*/*"]=r.extensions||[]});const i=await window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),n=await Promise.all(i.map(F));return e[0].multiple?n:n[0]},j={__proto__:null,default:T};function h(e){function t(i){if(Object(i)!==i)return Promise.reject(new TypeError(i+" is not an object."));var n=i.done;return Promise.resolve(i.value).then(function(r){return{value:r,done:n}})}return h=function(i){this.s=i,this.n=i.next},h.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(i){var n=this.s.return;return n===void 0?Promise.resolve({value:i,done:!0}):t(n.apply(this.s,arguments))},throw:function(i){var n=this.s.return;return n===void 0?Promise.reject(i):t(n.apply(this.s,arguments))}},new h(e)}const k=async(e,t,i=e.name,n)=>{const r=[],a=[];var s,o=!1,c=!1;try{for(var u,l=function(p){var m,f,d,w=2;for(typeof Symbol<"u"&&(f=Symbol.asyncIterator,d=Symbol.iterator);w--;){if(f&&(m=p[f])!=null)return m.call(p);if(d&&(m=p[d])!=null)return new h(m.call(p));f="@@asyncIterator",d="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());o=!(u=await l.next()).done;o=!1){const p=u.value,m=`${i}/${p.name}`;p.kind==="file"?a.push(p.getFile().then(f=>(f.directoryHandle=e,f.handle=p,Object.defineProperty(f,"webkitRelativePath",{configurable:!0,enumerable:!0,get:()=>m})))):p.kind!=="directory"||!t||n&&n(p)||r.push(k(p,t,m,n))}}catch(p){c=!0,s=p}finally{try{o&&l.return!=null&&await l.return()}finally{if(c)throw s}}return[...(await Promise.all(r)).flat(),...await Promise.all(a)]};var O=async(e={})=>{e.recursive=e.recursive||!1,e.mode=e.mode||"read";const t=await window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return(await(await t.values()).next()).done?[t]:k(t,e.recursive,void 0,e.skipDirectory)},R={__proto__:null,default:O},I=async(e,t=[{}],i=null,n=!1,r=null)=>{Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||"Untitled";const a=[];let s=null;if(e instanceof Blob&&e.type?s=e.type:e.headers&&e.headers.get("content-type")&&(s=e.headers.get("content-type")),t.forEach((u,l)=>{a[l]={description:u.description||"Files",accept:{}},u.mimeTypes?(l===0&&s&&u.mimeTypes.push(s),u.mimeTypes.map(p=>{a[l].accept[p]=u.extensions||[]})):s?a[l].accept[s]=u.extensions||[]:a[l].accept["*/*"]=u.extensions||[]}),i)try{await i.getFile()}catch(u){if(i=null,n)throw u}const o=i||await window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:a,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1});!i&&r&&r(o);const c=await o.createWritable();return"stream"in e?(await e.stream().pipeTo(c),o):"body"in e?(await e.body.pipeTo(c),o):(await c.write(await e),await c.close(),o)},U={__proto__:null,default:I},W=async(e=[{}])=>(Array.isArray(e)||(e=[e]),new Promise((t,i)=>{const n=document.createElement("input");n.type="file";const r=[...e.map(c=>c.mimeTypes||[]),...e.map(c=>c.extensions||[])].join();n.multiple=e[0].multiple||!1,n.accept=r||"",n.style.display="none",document.body.append(n);const a=c=>{typeof s=="function"&&s(),t(c)},s=e[0].legacySetup&&e[0].legacySetup(a,()=>s(i),n),o=()=>{window.removeEventListener("focus",o),n.remove()};n.addEventListener("click",()=>{window.addEventListener("focus",o)}),n.addEventListener("change",()=>{window.removeEventListener("focus",o),n.remove(),a(n.multiple?Array.from(n.files):n.files[0])}),"showPicker"in HTMLInputElement.prototype?n.showPicker():n.click()})),N={__proto__:null,default:W},$=async(e=[{}])=>(Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise((t,i)=>{const n=document.createElement("input");n.type="file",n.webkitdirectory=!0;const r=s=>{typeof a=="function"&&a(),t(s)},a=e[0].legacySetup&&e[0].legacySetup(r,()=>a(i),n);n.addEventListener("change",()=>{let s=Array.from(n.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(s=s.filter(o=>o.webkitRelativePath.split("/").every(c=>!e[0].skipDirectory({name:c,kind:"directory"})))):s=s.filter(o=>o.webkitRelativePath.split("/").length===2),r(s)}),"showPicker"in HTMLInputElement.prototype?n.showPicker():n.click()})),z={__proto__:null,default:$},B=async(e,t={})=>{Array.isArray(t)&&(t=t[0]);const i=document.createElement("a");let n=e;"body"in e&&(n=await async function(s,o){const c=s.getReader(),u=new ReadableStream({start:m=>async function f(){return c.read().then(({done:d,value:w})=>{if(!d)return m.enqueue(w),f();m.close()})}()}),l=new Response(u),p=await l.blob();return c.releaseLock(),new Blob([p],{type:o})}(e.body,e.headers.get("content-type"))),i.download=t.fileName||"Untitled",i.href=URL.createObjectURL(await n);const r=()=>{typeof a=="function"&&a()},a=t.legacySetup&&t.legacySetup(r,()=>a(),i);return i.addEventListener("click",()=>{setTimeout(()=>URL.revokeObjectURL(i.href),3e4),r()}),i.click(),null},D={__proto__:null,default:B};const H=(e,t)=>e.length==t.length&&e.every((i,n)=>i==t[n]),J=(e,t)=>H(new Uint8Array(e.slice(0,t.length)),t),Z=new Uint8Array([80,75,3,4]),q=e=>J(e,Z),b=async e=>{const t=e.filter(a=>a.endsWith(".json"))[0],i=e.filter(a=>a.endsWith(".png"))[0];if(!t||!i)return!1;const n=JSON.parse(await t.async("string")),r=await i.async("arraybuffer");return await P(n,r),!0},V=async()=>{const t=(await x({multiple:!0,mimeTypes:["application/zip"]})).filter(n=>n.name.endsWith(".zip"));if(t.length==0){y.warning("没有发现可导入文件");return}let i=0;t.length>0&&await Promise.any(t.map(async n=>{const r=await g.loadAsync(n);await b(r)&&i++;const a=r.filter(s=>s.endsWith(".zip"));a.length>0&&await Promise.any(a.map(async s=>{const o=await g.loadAsync(s.async("blob"));await b(o)&&i++}))})),i>0?y.success(`导入${i}条记录`):y.warning("没有发现可导入记录")},M=/^\/(i|(import))\/[0-9]+$/,X=async(e=[])=>{if(typeof e=="string"&&(e=[e]),e.length==0)return;e=e.map(r=>{if(r.startsWith(location.origin)||r.startsWith("https://i.gkd.li/")){const a=new URL(r).pathname;if(M.test(a))return`https://github.com/gkd-kit/inspect/files/${a.split("/").at(-1)}/file.zip`}return r}),e=[...new Set(e)];const t=_(2);let i=0;const n=await Promise.allSettled(e.map(r=>t(async()=>{const a=L[r];if(a){const l=await E.getItem(a);if(l)return i++,l}const o=await(await A(r,void 0,{proxy:!0}).catch(l=>{throw y.error(`网络异常: ${new URL(r).host}/${l.message||""}`),console.warn(["download failed",r,l]),l})).arrayBuffer();let c,u;if(q(o)){const l=await g.loadAsync(o),[p]=l.filter(f=>f.endsWith(".json")),[m]=l.filter(f=>f.endsWith(".png"));if(!p||!m)return;u=await m.async("arraybuffer"),c=JSON.parse(await p.async("string"))}else throw new Error("file must be png or zip");return await P(c,u),i++,c})));return i==0?y.warning("没有发现可导入记录"):i==e.length?y.success(`导入${i}条快照`):i<e.length&&y.success(`导入${i}条快照,失败${e.length-i}`),n};export{X as a,V as i};
|
|
2
|
-
//# sourceMappingURL=import-DrT3vy2r.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"import-DrT3vy2r.js","sources":["../../node_modules/.pnpm/browser-fs-access@0.35.0/node_modules/browser-fs-access/dist/index.modern.js","../../src/utils/file_type.ts","../../src/utils/import.ts"],"sourcesContent":["const e=(()=>{if(\"undefined\"==typeof self)return!1;if(\"top\"in self&&self!==top)try{top.window.document._=0}catch(e){return!1}return\"showOpenFilePicker\"in self})(),t=e?Promise.resolve().then(function(){return l}):Promise.resolve().then(function(){return v});async function n(...e){return(await t).default(...e)}const r=e?Promise.resolve().then(function(){return y}):Promise.resolve().then(function(){return b});async function i(...e){return(await r).default(...e)}const a=e?Promise.resolve().then(function(){return m}):Promise.resolve().then(function(){return k});async function o(...e){return(await a).default(...e)}const s=async e=>{const t=await e.getFile();return t.handle=e,t};var c=async(e=[{}])=>{Array.isArray(e)||(e=[e]);const t=[];e.forEach((e,n)=>{t[n]={description:e.description||\"Files\",accept:{}},e.mimeTypes?e.mimeTypes.map(r=>{t[n].accept[r]=e.extensions||[]}):t[n].accept[\"*/*\"]=e.extensions||[]});const n=await window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),r=await Promise.all(n.map(s));return e[0].multiple?r:r[0]},l={__proto__:null,default:c};function u(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+\" is not an object.\"));var t=e.done;return Promise.resolve(e.value).then(function(e){return{value:e,done:t}})}return u=function(e){this.s=e,this.n=e.next},u.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new u(e)}const p=async(e,t,n=e.name,r)=>{const i=[],a=[];var o,s=!1,c=!1;try{for(var l,d=function(e){var t,n,r,i=2;for(\"undefined\"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new u(t.call(e));n=\"@@asyncIterator\",r=\"@@iterator\"}throw new TypeError(\"Object is not async iterable\")}(e.values());s=!(l=await d.next()).done;s=!1){const o=l.value,s=`${n}/${o.name}`;\"file\"===o.kind?a.push(o.getFile().then(t=>(t.directoryHandle=e,t.handle=o,Object.defineProperty(t,\"webkitRelativePath\",{configurable:!0,enumerable:!0,get:()=>s})))):\"directory\"!==o.kind||!t||r&&r(o)||i.push(p(o,t,s,r))}}catch(e){c=!0,o=e}finally{try{s&&null!=d.return&&await d.return()}finally{if(c)throw o}}return[...(await Promise.all(i)).flat(),...await Promise.all(a)]};var d=async(e={})=>{e.recursive=e.recursive||!1,e.mode=e.mode||\"read\";const t=await window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return(await(await t.values()).next()).done?[t]:p(t,e.recursive,void 0,e.skipDirectory)},y={__proto__:null,default:d},f=async(e,t=[{}],n=null,r=!1,i=null)=>{Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||\"Untitled\";const a=[];let o=null;if(e instanceof Blob&&e.type?o=e.type:e.headers&&e.headers.get(\"content-type\")&&(o=e.headers.get(\"content-type\")),t.forEach((e,t)=>{a[t]={description:e.description||\"Files\",accept:{}},e.mimeTypes?(0===t&&o&&e.mimeTypes.push(o),e.mimeTypes.map(n=>{a[t].accept[n]=e.extensions||[]})):o?a[t].accept[o]=e.extensions||[]:a[t].accept[\"*/*\"]=e.extensions||[]}),n)try{await n.getFile()}catch(e){if(n=null,r)throw e}const s=n||await window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:a,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1});!n&&i&&i(s);const c=await s.createWritable();if(\"stream\"in e){const t=e.stream();return await t.pipeTo(c),s}return\"body\"in e?(await e.body.pipeTo(c),s):(await c.write(await e),await c.close(),s)},m={__proto__:null,default:f},w=async(e=[{}])=>(Array.isArray(e)||(e=[e]),new Promise((t,n)=>{const r=document.createElement(\"input\");r.type=\"file\";const i=[...e.map(e=>e.mimeTypes||[]),...e.map(e=>e.extensions||[])].join();r.multiple=e[0].multiple||!1,r.accept=i||\"\",r.style.display=\"none\",document.body.append(r);const a=e=>{\"function\"==typeof o&&o(),t(e)},o=e[0].legacySetup&&e[0].legacySetup(a,()=>o(n),r),s=()=>{window.removeEventListener(\"focus\",s),r.remove()};r.addEventListener(\"click\",()=>{window.addEventListener(\"focus\",s)}),r.addEventListener(\"change\",()=>{window.removeEventListener(\"focus\",s),r.remove(),a(r.multiple?Array.from(r.files):r.files[0])}),\"showPicker\"in HTMLInputElement.prototype?r.showPicker():r.click()})),v={__proto__:null,default:w},h=async(e=[{}])=>(Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise((t,n)=>{const r=document.createElement(\"input\");r.type=\"file\",r.webkitdirectory=!0;const i=e=>{\"function\"==typeof a&&a(),t(e)},a=e[0].legacySetup&&e[0].legacySetup(i,()=>a(n),r);r.addEventListener(\"change\",()=>{let t=Array.from(r.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(t=t.filter(t=>t.webkitRelativePath.split(\"/\").every(t=>!e[0].skipDirectory({name:t,kind:\"directory\"})))):t=t.filter(e=>2===e.webkitRelativePath.split(\"/\").length),i(t)}),\"showPicker\"in HTMLInputElement.prototype?r.showPicker():r.click()})),b={__proto__:null,default:h},P=async(e,t={})=>{Array.isArray(t)&&(t=t[0]);const n=document.createElement(\"a\");let r=e;\"body\"in e&&(r=await async function(e,t){const n=e.getReader(),r=new ReadableStream({start:e=>async function t(){return n.read().then(({done:n,value:r})=>{if(!n)return e.enqueue(r),t();e.close()})}()}),i=new Response(r),a=await i.blob();return n.releaseLock(),new Blob([a],{type:t})}(e.body,e.headers.get(\"content-type\"))),n.download=t.fileName||\"Untitled\",n.href=URL.createObjectURL(await r);const i=()=>{\"function\"==typeof a&&a()},a=t.legacySetup&&t.legacySetup(i,()=>a(),n);return n.addEventListener(\"click\",()=>{setTimeout(()=>URL.revokeObjectURL(n.href),3e4),i()}),n.click(),null},k={__proto__:null,default:P};export{i as directoryOpen,h as directoryOpenLegacy,d as directoryOpenModern,n as fileOpen,w as fileOpenLegacy,c as fileOpenModern,o as fileSave,P as fileSaveLegacy,f as fileSaveModern,e as supported};\n","const eqU8 = (a: Uint8Array, b: Uint8Array) => {\n return a.length == b.length && a.every((v, i) => v == b[i]);\n};\nconst startWith = (a: ArrayBuffer, b: Uint8Array) => {\n return eqU8(new Uint8Array(a.slice(0, b.length)), b);\n};\nconst blobStartWith = async (a: Blob, b: Uint8Array) => {\n const bf = await a.slice(0, b.length).arrayBuffer();\n return eqU8(new Uint8Array(bf), b);\n};\nconst zipHeader = new Uint8Array([0x50, 0x4b, 0x03, 0x04]);\n\nexport const isZipBf = (bf: ArrayBuffer) => startWith(bf, zipHeader);\nexport const isZipBlob = async (blob: Blob) => blobStartWith(blob, zipHeader);\n","import { fileOpen } from 'browser-fs-access';\nimport JSZip, { loadAsync } from 'jszip';\nimport pLimit from 'p-limit';\nimport { message } from './discrete';\nimport { enhanceFetch } from './fetch';\nimport { isZipBf } from './file_type';\nimport { setSnapshot, snapshotStorage, urlStorage } from './storage';\nimport type { Snapshot } from './types';\n\nconst parseZip = async (zip: JSZip) => {\n const snapshotFile = zip.filter((s) => s.endsWith(`.json`))[0];\n const screenshotFile = zip.filter((s) => s.endsWith(`.png`))[0];\n if (!snapshotFile || !screenshotFile) {\n return false;\n }\n const snapshot = JSON.parse(await snapshotFile.async('string')) as Snapshot;\n const screenshotBf = await screenshotFile.async('arraybuffer');\n await setSnapshot(snapshot, screenshotBf);\n return true;\n};\n\nexport const importFromLocal = async () => {\n const files = await fileOpen({\n multiple: true,\n mimeTypes: [`application/zip`],\n });\n const zipfiles = files.filter((f) => f.name.endsWith(`.zip`));\n if (zipfiles.length == 0) {\n message.warning(`没有发现可导入文件`);\n return;\n }\n let importNum = 0;\n if (zipfiles.length > 0) {\n await Promise.any(\n zipfiles.map(async (file) => {\n const zip = await loadAsync(file);\n if (await parseZip(zip)) {\n importNum++;\n }\n const subZips = zip.filter((s) => s.endsWith('.zip'));\n if (subZips.length > 0) {\n await Promise.any(\n subZips.map(async (subZip) => {\n const subFile = await loadAsync(subZip.async('blob'));\n if (await parseZip(subFile)) {\n importNum++;\n }\n }),\n );\n }\n }),\n );\n }\n if (importNum > 0) {\n message.success(`导入${importNum}条记录`);\n } else {\n message.warning(`没有发现可导入记录`);\n }\n};\n\nconst importReg = /^\\/(i|(import))\\/[0-9]+$/;\nexport const importFromNetwork = async (urls: string[] | string = []) => {\n if (typeof urls == 'string') {\n urls = [urls];\n }\n if (urls.length == 0) {\n return;\n }\n urls = urls.map((url) => {\n if (\n url.startsWith(location.origin) ||\n url.startsWith('https://i.gkd.li/')\n ) {\n const pathname = new URL(url).pathname;\n if (importReg.test(pathname)) {\n const github_asset_id = pathname.split('/').at(-1)!;\n return `https://github.com/gkd-kit/inspect/files/${github_asset_id}/file.zip`;\n }\n }\n return url;\n });\n urls = [...new Set(urls)];\n const limit = pLimit(2);\n let importNum = 0;\n const result = await Promise.allSettled(\n urls.map((url) => {\n return limit(async () => {\n const snapshotId = urlStorage[url];\n if (snapshotId) {\n const snapshot = await snapshotStorage.getItem(snapshotId);\n if (snapshot) {\n importNum++;\n return snapshot;\n }\n }\n const resp = await enhanceFetch(url, undefined, { proxy: true }).catch(\n (e) => {\n message.error(`网络异常: ${new URL(url).host}/${e.message || ''}`);\n console.warn([`download failed`, url, e]);\n throw e;\n },\n );\n const bf = await resp.arrayBuffer();\n let snapshot: Snapshot;\n let screenshotBf: ArrayBuffer;\n if (isZipBf(bf)) {\n const zip = await loadAsync(bf);\n const [snapshotFile] = zip.filter((p) => p.endsWith(`.json`));\n const [screenshotFile] = zip.filter((p) => p.endsWith(`.png`));\n if (!snapshotFile || !screenshotFile) {\n return;\n }\n screenshotBf = await screenshotFile.async('arraybuffer');\n snapshot = JSON.parse(await snapshotFile.async('string')) as Snapshot;\n } else {\n throw new Error(`file must be png or zip`);\n }\n await setSnapshot(snapshot, screenshotBf);\n importNum++;\n return snapshot;\n });\n }),\n );\n if (importNum == 0) {\n message.warning(`没有发现可导入记录`);\n } else if (importNum == urls.length) {\n message.success(`导入${importNum}条快照`);\n } else if (importNum < urls.length) {\n message.success(`导入${importNum}条快照,失败${urls.length - importNum}`);\n }\n return result;\n};\n"],"names":["e","t","l","v","n","y","b","m","k","s","c","r","u","p","i","o","d","f","w","h","P","a","eqU8","startWith","zipHeader","isZipBf","bf","parseZip","zip","snapshotFile","screenshotFile","snapshot","screenshotBf","setSnapshot","importFromLocal","zipfiles","fileOpen","message","importNum","file","loadAsync","subZips","subZip","subFile","importReg","importFromNetwork","urls","url","pathname","limit","pLimit","result","snapshotId","urlStorage","snapshotStorage","enhanceFetch"],"mappings":"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","x_google_ignoreList":[0]}
|