@mtn-ui/components 0.0.1
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/button/index.js +7 -0
- package/dist/button/index.js.map +1 -0
- package/dist/chunks/Button.vue_vue_type_script_setup_true_lang-ZtoY4huM.js +5498 -0
- package/dist/chunks/Button.vue_vue_type_script_setup_true_lang-ZtoY4huM.js.map +1 -0
- package/dist/index/index.js +11792 -0
- package/dist/index/index.js.map +1 -0
- package/dist/index/style.css +1 -0
- package/dist/types/action-group/ActionGroup.d.ts +41 -0
- package/dist/types/action-group/index.d.ts +2 -0
- package/dist/types/action-group/types.d.ts +61 -0
- package/dist/types/button/Button.d.ts +53 -0
- package/dist/types/button/index.d.ts +3 -0
- package/dist/types/button/types.d.ts +43 -0
- package/dist/types/button/variants.d.ts +33 -0
- package/dist/types/confirm-button/ConfirmButton.d.ts +95 -0
- package/dist/types/confirm-button/index.d.ts +2 -0
- package/dist/types/confirm-button/types.d.ts +45 -0
- package/dist/types/delete-button/DeleteButton.d.ts +70 -0
- package/dist/types/delete-button/index.d.ts +2 -0
- package/dist/types/delete-button/types.d.ts +31 -0
- package/dist/types/index.d.ts +27 -0
- package/dist/types/resolver.d.ts +8 -0
- package/package.json +86 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../node_modules/.pnpm/resize-observer-polyfill@1.5.1/node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-resize-observer/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/supportsPassive.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-util/Dom/addEventListener.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/cssinjs/Keyframes.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/theme/interface/presetColors.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/style/roundedArrow.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/style/presetColor.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/omit.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/interface.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/Popup/interface.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/utils/motionUtil.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/Popup/Mask.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/Popup/MobilePopupInner.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/Popup/useVisibleStatus.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/Popup/useStretchStyle.js","../../../../node_modules/.pnpm/dom-align@1.12.4/node_modules/dom-align/dist-web/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/vnode.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-align/util.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-align/hooks/useBuffer.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheClear.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/eq.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_assocIndexOf.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheDelete.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheGet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheHas.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_listCacheSet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_ListCache.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackClear.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackDelete.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackGet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackHas.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_nativeCreate.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashClear.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashDelete.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashGet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashHas.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_hashSet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Hash.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheClear.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_isKeyable.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getMapData.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheDelete.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheGet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheHas.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapCacheSet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_MapCache.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_stackSet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Stack.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_setCacheAdd.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_setCacheHas.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_SetCache.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arraySome.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_cacheHas.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_equalArrays.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_Uint8Array.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_mapToArray.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_setToArray.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_equalByTag.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayPush.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseGetAllKeys.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayFilter.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/stubArray.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getSymbols.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseTimes.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_isIndex.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayLikeKeys.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/keys.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_getAllKeys.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_equalObjects.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsEqualDeep.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsEqual.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/isEqual.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-align/Align.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/transition.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/Popup/PopupInner.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/Popup/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/utils/alignUtil.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/BaseMixin.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/context.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/Portal.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/getScrollBarSize.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/hooks/useScrollLocker.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/PortalWrapper.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-trigger/Trigger.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/KeyCode.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/pickAttrs.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-overflow/context.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-overflow/Item.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-overflow/RawItem.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-overflow/Overflow.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/hooks/useMergedState.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/DownOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/DownOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/CloseOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/CloseCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/CloseCircleFilled.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/noop.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseFindIndex.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIsNaN.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_strictIndexOf.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseIndexOf.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_arrayIncludes.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_createSet.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/_baseUniq.js","../../../../node_modules/.pnpm/lodash-es@4.17.23/node_modules/lodash-es/uniq.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/style/motion/motion.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/style/motion/fade.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/style/motion/move.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/style/motion/slide.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/style/motion/zoom.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/style/motion/collapse.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/CheckCircleOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/CheckCircleOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/ExclamationCircleOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/ExclamationCircleOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/InfoCircleOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/InfoCircleOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/CloseCircleOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/CloseCircleOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/CheckCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/CheckCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/ExclamationCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/ExclamationCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/InfoCircleFilled.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/InfoCircleFilled.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-tooltip/src/placements.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-tooltip/src/Content.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-tooltip/src/Tooltip.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/tooltip/abstractTooltipProps.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/placements.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/firstNotUndefined.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/colors.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/tooltip/util.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/style/placementArrow.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/tooltip/style/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/tooltip/Tooltip.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/tooltip/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/popover/style/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/popover/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-dropdown/placements.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-dropdown/Dropdown.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/dropdown/props.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/EllipsisOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/EllipsisOutlined.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/dropdown/style/button.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/dropdown/style/status.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/dropdown/style/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/dropdown/dropdown-button.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/RightOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/RightOutlined.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/OverrideContext.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/dropdown/dropdown.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/shallowequal.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/hooks/useMenuContext.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/layout/injectionKey.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/hooks/useKeyPath.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/hooks/useDirectionStyle.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/MenuItem.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/placements.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/PopupTrigger.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/SubMenuList.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/InlineSubMenuList.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/SubMenu.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-util/Dom/class.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/collapseMotion.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/ItemGroup.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/Divider.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/hooks/useItems.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/style/horizontal.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/style/rtl.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/style/theme.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/style/vertical.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/style/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/src/Menu.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/menu/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/styleChecker.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/hooks/useFlexGapSupport.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/modal/locale.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/locale/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-notification/Notice.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-notification/Notification.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-notification/HookNotification.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-notification/useNotification.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/message/style/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/message/PurePanel.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/message/useMessage.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/message/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/notification/style/placement.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/notification/style/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/notification/PurePanel.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/notification/util.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/notification/useNotification.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/notification/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/config-provider/cssVariables.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/config-provider/style/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/config-provider/hooks/useTheme.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/config-provider/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/dropdown/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-dialog/IDialogPropTypes.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-dialog/util.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-dialog/Content.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-dialog/Mask.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-dialog/Dialog.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/vc-dialog/DialogWrap.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/modal/style/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/modal/Modal.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/hooks/useDestroyed.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/_util/ActionButton.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/modal/ConfirmDialog.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/modal/destroyFns.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/modal/confirm.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/modal/useModal/HookModal.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/modal/useModal/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/modal/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/space/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/popconfirm/style/index.js","../../../../node_modules/.pnpm/ant-design-vue@4.2.6_vue@3.5.27_typescript@5.9.3_/node_modules/ant-design-vue/es/popconfirm/index.js","../../../../node_modules/.pnpm/@ant-design+icons-svg@4.4.2/node_modules/@ant-design/icons-svg/es/asn/DeleteOutlined.js","../../../../node_modules/.pnpm/@ant-design+icons-vue@7.0.1_vue@3.5.27_typescript@5.9.3_/node_modules/@ant-design/icons-vue/es/icons/DeleteOutlined.js","../../src/confirm-button/ConfirmButton.vue","../../src/delete-button/DeleteButton.vue","../../src/action-group/ActionGroup.vue","../../src/resolver.ts","../../src/index.ts"],"sourcesContent":["/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array<Array>} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array<ResizeObserverSPI>}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the <html> itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element (<html>).\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array<ResizeObservation>}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map<Element, ResizeObservation>}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport { defineComponent, getCurrentInstance, onMounted, onUnmounted, onUpdated, reactive, watch } from 'vue';\nimport { findDOMNode } from '../_util/props-util';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'ResizeObserver',\n props: {\n disabled: Boolean,\n onResize: Function\n },\n emits: ['resize'],\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const state = reactive({\n width: 0,\n height: 0,\n offsetHeight: 0,\n offsetWidth: 0\n });\n let currentElement = null;\n let resizeObserver = null;\n const destroyObserver = () => {\n if (resizeObserver) {\n resizeObserver.disconnect();\n resizeObserver = null;\n }\n };\n const onResize = entries => {\n const {\n onResize\n } = props;\n const target = entries[0].target;\n const {\n width,\n height\n } = target.getBoundingClientRect();\n const {\n offsetWidth,\n offsetHeight\n } = target;\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n const fixedWidth = Math.floor(width);\n const fixedHeight = Math.floor(height);\n if (state.width !== fixedWidth || state.height !== fixedHeight || state.offsetWidth !== offsetWidth || state.offsetHeight !== offsetHeight) {\n const size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth,\n offsetHeight\n };\n _extends(state, size);\n if (onResize) {\n // defer the callback but not defer to next frame\n Promise.resolve().then(() => {\n onResize(_extends(_extends({}, size), {\n offsetWidth,\n offsetHeight\n }), target);\n });\n }\n }\n };\n const instance = getCurrentInstance();\n const registerObserver = () => {\n const {\n disabled\n } = props;\n // Unregister if disabled\n if (disabled) {\n destroyObserver();\n return;\n }\n // Unregister if element changed\n const element = findDOMNode(instance);\n const elementChanged = element !== currentElement;\n if (elementChanged) {\n destroyObserver();\n currentElement = element;\n }\n if (!resizeObserver && element) {\n resizeObserver = new ResizeObserver(onResize);\n resizeObserver.observe(element);\n }\n };\n onMounted(() => {\n registerObserver();\n });\n onUpdated(() => {\n registerObserver();\n });\n onUnmounted(() => {\n destroyObserver();\n });\n watch(() => props.disabled, () => {\n registerObserver();\n }, {\n flush: 'post'\n });\n return () => {\n var _a;\n return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)[0];\n };\n }\n});","// Test via a getter in the options object to see if the passive property is accessed\nlet supportsPassive = false;\ntry {\n const opts = Object.defineProperty({}, 'passive', {\n get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassive', null, opts);\n window.removeEventListener('testPassive', null, opts);\n} catch (e) {}\nexport default supportsPassive;","import supportsPassive from '../../_util/supportsPassive';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n if (target && target.addEventListener) {\n let opt = option;\n if (opt === undefined && supportsPassive && (eventType === 'touchstart' || eventType === 'touchmove' || eventType === 'wheel')) {\n opt = {\n passive: false\n };\n }\n target.addEventListener(eventType, cb, opt);\n }\n return {\n remove: () => {\n if (target && target.removeEventListener) {\n target.removeEventListener(eventType, cb);\n }\n }\n };\n}","class Keyframe {\n constructor(name, style) {\n this._keyframe = true;\n this.name = name;\n this.style = style;\n }\n getName() {\n let hashId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return hashId ? `${hashId}-${this.name}` : this.name;\n }\n}\nexport default Keyframe;","export const PresetColors = ['blue', 'purple', 'cyan', 'green', 'magenta', 'pink', 'red', 'orange', 'yellow', 'volcano', 'geekblue', 'lime', 'gold'];","export const roundedArrow = (width, innerRadius, outerRadius, bgColor, boxShadow) => {\n const unitWidth = width / 2;\n const ax = 0;\n const ay = unitWidth;\n const bx = outerRadius * 1 / Math.sqrt(2);\n const by = unitWidth - outerRadius * (1 - 1 / Math.sqrt(2));\n const cx = unitWidth - innerRadius * (1 / Math.sqrt(2));\n const cy = outerRadius * (Math.sqrt(2) - 1) + innerRadius * (1 / Math.sqrt(2));\n const dx = 2 * unitWidth - cx;\n const dy = cy;\n const ex = 2 * unitWidth - bx;\n const ey = by;\n const fx = 2 * unitWidth - ax;\n const fy = ay;\n const shadowWidth = unitWidth * Math.sqrt(2) + outerRadius * (Math.sqrt(2) - 2);\n const polygonOffset = outerRadius * (Math.sqrt(2) - 1);\n return {\n pointerEvents: 'none',\n width,\n height: width,\n overflow: 'hidden',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: shadowWidth,\n height: shadowWidth,\n bottom: 0,\n insetInline: 0,\n margin: 'auto',\n borderRadius: {\n _skip_check_: true,\n value: `0 0 ${innerRadius}px 0`\n },\n transform: 'translateY(50%) rotate(-135deg)',\n boxShadow,\n zIndex: 0,\n background: 'transparent'\n },\n '&::before': {\n position: 'absolute',\n bottom: 0,\n insetInlineStart: 0,\n width,\n height: width / 2,\n background: bgColor,\n clipPath: {\n _multi_value_: true,\n value: [`polygon(${polygonOffset}px 100%, 50% ${polygonOffset}px, ${2 * unitWidth - polygonOffset}px 100%, ${polygonOffset}px 100%)`, `path('M ${ax} ${ay} A ${outerRadius} ${outerRadius} 0 0 0 ${bx} ${by} L ${cx} ${cy} A ${innerRadius} ${innerRadius} 0 0 1 ${dx} ${dy} L ${ex} ${ey} A ${outerRadius} ${outerRadius} 0 0 0 ${fx} ${fy} Z')`]\n },\n content: '\"\"'\n }\n };\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { PresetColors } from '../theme/interface';\nexport function genPresetColor(token, genCss) {\n return PresetColors.reduce((prev, colorKey) => {\n const lightColor = token[`${colorKey}-1`];\n const lightBorderColor = token[`${colorKey}-3`];\n const darkColor = token[`${colorKey}-6`];\n const textColor = token[`${colorKey}-7`];\n return _extends(_extends({}, prev), genCss(colorKey, {\n lightColor,\n lightBorderColor,\n darkColor,\n textColor\n }));\n }, {});\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nfunction omit(obj, fields) {\n // eslint-disable-next-line prefer-object-spread\n const shallowCopy = _extends({}, obj);\n for (let i = 0; i < fields.length; i += 1) {\n const key = fields[i];\n delete shallowCopy[key];\n }\n return shallowCopy;\n}\nexport default omit;","import PropTypes from '../_util/vue-types';\nfunction returnEmptyString() {\n return '';\n}\nfunction returnDocument(element) {\n if (element) {\n return element.ownerDocument;\n }\n return window.document;\n}\nexport function noop() {}\nexport const triggerProps = () => ({\n action: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).def([]),\n showAction: PropTypes.any.def([]),\n hideAction: PropTypes.any.def([]),\n getPopupClassNameFromAlign: PropTypes.any.def(returnEmptyString),\n onPopupVisibleChange: Function,\n afterPopupVisibleChange: PropTypes.func.def(noop),\n popup: PropTypes.any,\n arrow: PropTypes.bool.def(true),\n popupStyle: {\n type: Object,\n default: undefined\n },\n prefixCls: PropTypes.string.def('rc-trigger-popup'),\n popupClassName: PropTypes.string.def(''),\n popupPlacement: String,\n builtinPlacements: PropTypes.object,\n popupTransitionName: String,\n popupAnimation: PropTypes.any,\n mouseEnterDelay: PropTypes.number.def(0),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n zIndex: Number,\n focusDelay: PropTypes.number.def(0),\n blurDelay: PropTypes.number.def(0.15),\n getPopupContainer: Function,\n getDocument: PropTypes.func.def(returnDocument),\n forceRender: {\n type: Boolean,\n default: undefined\n },\n destroyPopupOnHide: {\n type: Boolean,\n default: false\n },\n mask: {\n type: Boolean,\n default: false\n },\n maskClosable: {\n type: Boolean,\n default: true\n },\n // onPopupAlign: PropTypes.func.def(noop),\n popupAlign: PropTypes.object.def(() => ({})),\n popupVisible: {\n type: Boolean,\n default: undefined\n },\n defaultPopupVisible: {\n type: Boolean,\n default: false\n },\n maskTransitionName: String,\n maskAnimation: String,\n stretch: String,\n alignPoint: {\n type: Boolean,\n default: undefined\n },\n autoDestroy: {\n type: Boolean,\n default: false\n },\n mobile: Object,\n getTriggerDOMNode: Function\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport const innerProps = {\n visible: Boolean,\n prefixCls: String,\n zIndex: Number,\n destroyPopupOnHide: Boolean,\n forceRender: Boolean,\n arrow: {\n type: Boolean,\n default: true\n },\n // Legacy Motion\n animation: [String, Object],\n transitionName: String,\n // Measure\n stretch: {\n type: String\n },\n // Align\n align: {\n type: Object\n },\n point: {\n type: Object\n },\n getRootDomNode: {\n type: Function\n },\n getClassNameFromAlign: {\n type: Function\n },\n onAlign: {\n type: Function\n },\n onMouseenter: {\n type: Function\n },\n onMouseleave: {\n type: Function\n },\n onMousedown: {\n type: Function\n },\n onTouchstart: {\n type: Function\n }\n};\nexport const mobileProps = _extends(_extends({}, innerProps), {\n mobile: {\n type: Object\n }\n});\nexport const popupProps = _extends(_extends({}, innerProps), {\n mask: Boolean,\n mobile: {\n type: Object\n },\n maskAnimation: String,\n maskTransitionName: String\n});","export function getMotion(_ref) {\n let {\n prefixCls,\n animation,\n transitionName\n } = _ref;\n if (animation) {\n return {\n name: `${prefixCls}-${animation}`\n };\n }\n if (transitionName) {\n return {\n name: transitionName\n };\n }\n return {};\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { withDirectives as _withDirectives, createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport { Transition } from 'vue';\nimport { getMotion } from '../utils/motionUtil';\nexport default function Mask(props) {\n const {\n prefixCls,\n visible,\n zIndex,\n mask,\n maskAnimation,\n maskTransitionName\n } = props;\n if (!mask) {\n return null;\n }\n let motion = {};\n if (maskTransitionName || maskAnimation) {\n motion = getMotion({\n prefixCls,\n transitionName: maskTransitionName,\n animation: maskAnimation\n });\n }\n return _createVNode(Transition, _objectSpread({\n \"appear\": true\n }, motion), {\n default: () => [_withDirectives(_createVNode(\"div\", {\n \"style\": {\n zIndex\n },\n \"class\": `${prefixCls}-mask`\n }, null), [[_resolveDirective(\"if\"), visible]])]\n });\n}\nMask.displayName = 'Mask';","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { defineComponent, ref, Transition } from 'vue';\nimport { flattenChildren } from '../../_util/props-util';\nimport classNames from '../../_util/classNames';\nimport { mobileProps } from './interface';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'MobilePopupInner',\n inheritAttrs: false,\n props: mobileProps,\n emits: ['mouseenter', 'mouseleave', 'mousedown', 'touchstart', 'align'],\n setup(props, _ref) {\n let {\n expose,\n slots\n } = _ref;\n const elementRef = ref();\n expose({\n forceAlign: () => {},\n getElement: () => elementRef.value\n });\n return () => {\n var _a;\n const {\n zIndex,\n visible,\n prefixCls,\n mobile: {\n popupClassName,\n popupStyle,\n popupMotion = {},\n popupRender\n } = {}\n } = props;\n // ======================== Render ========================\n const mergedStyle = _extends({\n zIndex\n }, popupStyle);\n let childNode = flattenChildren((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots));\n // Wrapper when multiple children\n if (childNode.length > 1) {\n const _childNode = function () {\n return childNode;\n }();\n childNode = _createVNode(\"div\", {\n \"class\": `${prefixCls}-content`\n }, [childNode]);\n }\n // Mobile support additional render\n if (popupRender) {\n childNode = popupRender(childNode);\n }\n const mergedClassName = classNames(prefixCls, popupClassName);\n return _createVNode(Transition, _objectSpread({\n \"ref\": elementRef\n }, popupMotion), {\n default: () => [visible ? _createVNode(\"div\", {\n \"class\": mergedClassName,\n \"style\": mergedStyle\n }, [childNode]) : null]\n });\n };\n }\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 { onBeforeUnmount, shallowRef, watch, onMounted } from 'vue';\nimport raf from '../../_util/raf';\nconst StatusQueue = ['measure', 'align', null, 'motion'];\nexport default ((visible, doMeasure) => {\n const status = shallowRef(null);\n const rafRef = shallowRef();\n const destroyRef = shallowRef(false);\n function setStatus(nextStatus) {\n if (!destroyRef.value) {\n status.value = nextStatus;\n }\n }\n function cancelRaf() {\n raf.cancel(rafRef.value);\n }\n function goNextStatus(callback) {\n cancelRaf();\n rafRef.value = raf(() => {\n // Only align should be manually trigger\n let newStatus = status.value;\n switch (status.value) {\n case 'align':\n newStatus = 'motion';\n break;\n case 'motion':\n newStatus = 'stable';\n break;\n default:\n }\n setStatus(newStatus);\n callback === null || callback === void 0 ? void 0 : callback();\n });\n }\n watch(visible, () => {\n setStatus('measure');\n }, {\n immediate: true,\n flush: 'post'\n });\n onMounted(() => {\n // Go next status\n watch(status, () => {\n switch (status.value) {\n case 'measure':\n doMeasure();\n break;\n default:\n }\n if (status.value) {\n rafRef.value = raf(() => __awaiter(void 0, void 0, void 0, function* () {\n const index = StatusQueue.indexOf(status.value);\n const nextStatus = StatusQueue[index + 1];\n if (nextStatus && index !== -1) {\n setStatus(nextStatus);\n }\n }));\n }\n }, {\n immediate: true,\n flush: 'post'\n });\n });\n onBeforeUnmount(() => {\n destroyRef.value = true;\n cancelRaf();\n });\n return [status, goNextStatus];\n});","import { computed, shallowRef } from 'vue';\nexport default (stretch => {\n const targetSize = shallowRef({\n width: 0,\n height: 0\n });\n function measureStretch(element) {\n targetSize.value = {\n width: element.offsetWidth,\n height: element.offsetHeight\n };\n }\n // Merge stretch style\n const style = computed(() => {\n const sizeStyle = {};\n if (stretch.value) {\n const {\n width,\n height\n } = targetSize.value;\n // Stretch with target\n if (stretch.value.indexOf('height') !== -1 && height) {\n sizeStyle.height = `${height}px`;\n } else if (stretch.value.indexOf('minHeight') !== -1 && height) {\n sizeStyle.minHeight = `${height}px`;\n }\n if (stretch.value.indexOf('width') !== -1 && width) {\n sizeStyle.width = `${width}px`;\n } else if (stretch.value.indexOf('minWidth') !== -1 && width) {\n sizeStyle.minWidth = `${width}px`;\n }\n }\n return sizeStyle;\n });\n return [style, measureStretch];\n});","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n return {\n x: 0,\n y: 0\n };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\nfunction css(el, name, v) {\n var value = v;\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = Math.floor(box.left);\n y = Math.floor(box.top);\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n return val;\n}\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n }\n // force relayout\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n var ret = {};\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n var _off = offset[_key] - originalOffset[_key];\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n css(elem, ret);\n}\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\n}\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n var extra = ex;\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? Math.floor(elem.getBoundingClientRect().width) : Math.floor(elem.getBoundingClientRect().height);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = Math.floor(parseFloat(cssBoxValue)) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var val;\n var elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n domUtils[name] = function (elem, v) {\n var val = v;\n if (val !== undefined) {\n if (elem) {\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nvar getParent = utils.getParent;\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n <div style=\"width: 50px;height: 100px;overflow: hidden\">\n <div style=\"width: 50px;height: 100px;position: relative;\" id=\"d6\">\n 元素 6 高 100px 宽 50px<br/>\n </div>\n </div>\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = getParent$1(element);\n // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = getOffsetParent(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n var originalPosition = null;\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight;\n\n // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n var bodyStyle = window.getComputedStyle(body);\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n }\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n var x = region.left;\n var y = region.top;\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n return {\n left: x,\n top: y\n };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\nfunction convertOffset(str, offsetLen) {\n var n;\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n var alwaysByViewport = !!(overflow && overflow.alwaysByViewport);\n // 当前节点可以被放置的显示区域\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport);\n // 当前节点所占的区域, left/top/width/height\n var elRegion = getRegion(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n // 当前节点将要所处的区域\n var newElRegion = utils.merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n // 偏移量也反下\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n // 偏移量也反下\n var _newOffset = flipOffset(offset, 1);\n var _newTargetOffset = flipOffset(targetOffset, 1);\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points;\n\n // 重置对应部分的翻转逻辑\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如 <div 'relative'><el absolute></div>\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n var targetRegion = getRegion(target);\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2(_objectSpread2({}, align), {}, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };\n//# sourceMappingURL=index.js.map\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { filterEmpty } from './props-util';\nimport { cloneVNode, isVNode, Comment, Fragment, render as VueRender } from 'vue';\nimport warning from './warning';\nexport function cloneElement(vnode) {\n let nodeProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n let mergeRef = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n let ele = vnode;\n if (Array.isArray(vnode)) {\n ele = filterEmpty(vnode)[0];\n }\n if (!ele) {\n return null;\n }\n const node = cloneVNode(ele, nodeProps, mergeRef);\n // cloneVNode内部是合并属性,这里改成覆盖属性\n node.props = override ? _extends(_extends({}, node.props), nodeProps) : node.props;\n warning(typeof node.props.class !== 'object', 'class must be string');\n return node;\n}\nexport function cloneVNodes(vnodes) {\n let nodeProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n return vnodes.map(vnode => cloneElement(vnode, nodeProps, override));\n}\nexport function deepCloneElement(vnode) {\n let nodeProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let override = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n let mergeRef = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (Array.isArray(vnode)) {\n return vnode.map(item => deepCloneElement(item, nodeProps, override, mergeRef));\n } else {\n // 需要判断是否为vnode方可进行clone操作\n if (!isVNode(vnode)) {\n return vnode;\n }\n const cloned = cloneElement(vnode, nodeProps, override, mergeRef);\n if (Array.isArray(cloned.children)) {\n cloned.children = deepCloneElement(cloned.children);\n }\n return cloned;\n }\n}\nexport function triggerVNodeUpdate(vm, attrs, dom) {\n VueRender(cloneVNode(vm, _extends({}, attrs)), dom);\n}\nconst ensureValidVNode = slot => {\n return (slot || []).some(child => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children)) return false;\n return true;\n }) ? slot : null;\n};\nexport function customRenderSlot(slots, name, props, fallback) {\n var _a;\n const slot = (_a = slots[name]) === null || _a === void 0 ? void 0 : _a.call(slots, props);\n if (ensureValidVNode(slot)) {\n return slot;\n }\n return fallback === null || fallback === void 0 ? void 0 : fallback();\n}","import contains from '../vc-util/Dom/contains';\nimport ResizeObserver from 'resize-observer-polyfill';\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n return false;\n}\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement) && typeof activeElement.focus === 'function') {\n activeElement.focus();\n }\n}\nexport function monitorResize(element, callback) {\n let prevWidth = null;\n let prevHeight = null;\n function onResize(_ref) {\n let [{\n target\n }] = _ref;\n if (!document.documentElement.contains(target)) return;\n const {\n width,\n height\n } = target.getBoundingClientRect();\n const fixedWidth = Math.floor(width);\n const fixedHeight = Math.floor(height);\n if (prevWidth !== fixedWidth || prevHeight !== fixedHeight) {\n // https://webkit.org/blog/9997/resizeobserver-in-webkit/\n Promise.resolve().then(() => {\n callback({\n width: fixedWidth,\n height: fixedHeight\n });\n });\n }\n prevWidth = fixedWidth;\n prevHeight = fixedHeight;\n }\n const resizeObserver = new ResizeObserver(onResize);\n if (element) {\n resizeObserver.observe(element);\n }\n return () => {\n resizeObserver.disconnect();\n };\n}","export default ((callback, buffer) => {\n let called = false;\n let timeout = null;\n function cancelTrigger() {\n clearTimeout(timeout);\n }\n function trigger(force) {\n if (!called || force === true) {\n if (callback() === false) {\n // Not delay since callback cancelled self\n return;\n }\n called = true;\n cancelTrigger();\n timeout = setTimeout(() => {\n called = false;\n }, buffer.value);\n } else {\n cancelTrigger();\n timeout = setTimeout(() => {\n called = false;\n trigger();\n }, buffer.value);\n }\n }\n return [trigger, () => {\n called = false;\n cancelTrigger();\n }];\n});","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nexport default listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nexport default eq;\n","import eq from './eq.js';\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nexport default assocIndexOf;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nexport default listCacheDelete;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nexport default listCacheGet;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nexport default listCacheHas;\n","import assocIndexOf from './_assocIndexOf.js';\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nexport default listCacheSet;\n","import listCacheClear from './_listCacheClear.js';\nimport listCacheDelete from './_listCacheDelete.js';\nimport listCacheGet from './_listCacheGet.js';\nimport listCacheHas from './_listCacheHas.js';\nimport listCacheSet from './_listCacheSet.js';\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nexport default ListCache;\n","import ListCache from './_ListCache.js';\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nexport default stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nexport default stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nexport default stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nexport default stackHas;\n","import getNative from './_getNative.js';\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nexport default nativeCreate;\n","import nativeCreate from './_nativeCreate.js';\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nexport default hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default hashDelete;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nexport default hashGet;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nexport default hashHas;\n","import nativeCreate from './_nativeCreate.js';\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nexport default hashSet;\n","import hashClear from './_hashClear.js';\nimport hashDelete from './_hashDelete.js';\nimport hashGet from './_hashGet.js';\nimport hashHas from './_hashHas.js';\nimport hashSet from './_hashSet.js';\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nexport default Hash;\n","import Hash from './_Hash.js';\nimport ListCache from './_ListCache.js';\nimport Map from './_Map.js';\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nexport default mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nexport default isKeyable;\n","import isKeyable from './_isKeyable.js';\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nexport default getMapData;\n","import getMapData from './_getMapData.js';\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nexport default mapCacheDelete;\n","import getMapData from './_getMapData.js';\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nexport default mapCacheGet;\n","import getMapData from './_getMapData.js';\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nexport default mapCacheHas;\n","import getMapData from './_getMapData.js';\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nexport default mapCacheSet;\n","import mapCacheClear from './_mapCacheClear.js';\nimport mapCacheDelete from './_mapCacheDelete.js';\nimport mapCacheGet from './_mapCacheGet.js';\nimport mapCacheHas from './_mapCacheHas.js';\nimport mapCacheSet from './_mapCacheSet.js';\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nexport default MapCache;\n","import ListCache from './_ListCache.js';\nimport Map from './_Map.js';\nimport MapCache from './_MapCache.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nexport default stackSet;\n","import ListCache from './_ListCache.js';\nimport stackClear from './_stackClear.js';\nimport stackDelete from './_stackDelete.js';\nimport stackGet from './_stackGet.js';\nimport stackHas from './_stackHas.js';\nimport stackSet from './_stackSet.js';\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nexport default Stack;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","import root from './_root.js';\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nexport default Uint8Array;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nexport default baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nexport default isIndex;\n","import baseTimes from './_baseTimes.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isIndex from './_isIndex.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nexport default arrayLikeKeys;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import baseIsEqual from './_baseIsEqual.js';\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nexport default isEqual;\n","import { nextTick, defineComponent, ref, computed, onMounted, onUpdated, watch, onUnmounted } from 'vue';\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport { cloneElement } from '../_util/vnode';\nimport isVisible from '../vc-util/Dom/isVisible';\nimport { isSamePoint, restoreFocus, monitorResize } from './util';\nimport useBuffer from './hooks/useBuffer';\nimport isEqual from 'lodash-es/isEqual';\nexport const alignProps = {\n align: Object,\n target: [Object, Function],\n onAlign: Function,\n monitorBufferTime: Number,\n monitorWindowResize: Boolean,\n disabled: Boolean\n};\nfunction getElement(func) {\n if (typeof func !== 'function') return null;\n return func();\n}\nfunction getPoint(point) {\n if (typeof point !== 'object' || !point) return null;\n return point;\n}\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'Align',\n props: alignProps,\n emits: ['align'],\n setup(props, _ref) {\n let {\n expose,\n slots\n } = _ref;\n const cacheRef = ref({});\n const nodeRef = ref();\n const [forceAlign, cancelForceAlign] = useBuffer(() => {\n const {\n disabled: latestDisabled,\n target: latestTarget,\n align: latestAlign,\n onAlign: latestOnAlign\n } = props;\n if (!latestDisabled && latestTarget && nodeRef.value) {\n const source = nodeRef.value;\n let result;\n const element = getElement(latestTarget);\n const point = getPoint(latestTarget);\n cacheRef.value.element = element;\n cacheRef.value.point = point;\n cacheRef.value.align = latestAlign;\n // IE lose focus after element realign\n // We should record activeElement and restore later\n const {\n activeElement\n } = document;\n // We only align when element is visible\n if (element && isVisible(element)) {\n result = alignElement(source, element, latestAlign);\n } else if (point) {\n result = alignPoint(source, point, latestAlign);\n }\n restoreFocus(activeElement, source);\n if (latestOnAlign && result) {\n latestOnAlign(source, result);\n }\n return true;\n }\n return false;\n }, computed(() => props.monitorBufferTime));\n // ===================== Effect =====================\n // Listen for target updated\n const resizeMonitor = ref({\n cancel: () => {}\n });\n // Listen for source updated\n const sourceResizeMonitor = ref({\n cancel: () => {}\n });\n const goAlign = () => {\n const target = props.target;\n const element = getElement(target);\n const point = getPoint(target);\n if (nodeRef.value !== sourceResizeMonitor.value.element) {\n sourceResizeMonitor.value.cancel();\n sourceResizeMonitor.value.element = nodeRef.value;\n sourceResizeMonitor.value.cancel = monitorResize(nodeRef.value, forceAlign);\n }\n if (cacheRef.value.element !== element || !isSamePoint(cacheRef.value.point, point) || !isEqual(cacheRef.value.align, props.align)) {\n forceAlign();\n // Add resize observer\n if (resizeMonitor.value.element !== element) {\n resizeMonitor.value.cancel();\n resizeMonitor.value.element = element;\n resizeMonitor.value.cancel = monitorResize(element, forceAlign);\n }\n }\n };\n onMounted(() => {\n nextTick(() => {\n goAlign();\n });\n });\n onUpdated(() => {\n nextTick(() => {\n goAlign();\n });\n });\n // Listen for disabled change\n watch(() => props.disabled, disabled => {\n if (!disabled) {\n forceAlign();\n } else {\n cancelForceAlign();\n }\n }, {\n immediate: true,\n flush: 'post'\n });\n // Listen for window resize\n const winResizeRef = ref(null);\n watch(() => props.monitorWindowResize, monitorWindowResize => {\n if (monitorWindowResize) {\n if (!winResizeRef.value) {\n winResizeRef.value = addEventListener(window, 'resize', forceAlign);\n }\n } else if (winResizeRef.value) {\n winResizeRef.value.remove();\n winResizeRef.value = null;\n }\n }, {\n flush: 'post'\n });\n onUnmounted(() => {\n resizeMonitor.value.cancel();\n sourceResizeMonitor.value.cancel();\n if (winResizeRef.value) winResizeRef.value.remove();\n cancelForceAlign();\n });\n expose({\n forceAlign: () => forceAlign(true)\n });\n return () => {\n const child = slots === null || slots === void 0 ? void 0 : slots.default();\n if (child) {\n return cloneElement(child[0], {\n ref: nodeRef\n }, true, true);\n }\n return null;\n };\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { nextTick } from 'vue';\nimport { tuple } from './type';\nconst SelectPlacements = tuple('bottomLeft', 'bottomRight', 'topLeft', 'topRight');\nconst getTransitionDirection = placement => {\n if (placement !== undefined && (placement === 'topLeft' || placement === 'topRight')) {\n return `slide-down`;\n }\n return `slide-up`;\n};\nexport const getTransitionProps = function (transitionName) {\n let opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const transitionProps = transitionName ? _extends({\n name: transitionName,\n appear: true,\n // type: 'animation',\n // appearFromClass: `${transitionName}-appear ${transitionName}-appear-prepare`,\n // appearActiveClass: `antdv-base-transtion`,\n // appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,\n enterFromClass: `${transitionName}-enter ${transitionName}-enter-prepare ${transitionName}-enter-start`,\n enterActiveClass: `${transitionName}-enter ${transitionName}-enter-prepare`,\n enterToClass: `${transitionName}-enter ${transitionName}-enter-active`,\n leaveFromClass: ` ${transitionName}-leave`,\n leaveActiveClass: `${transitionName}-leave ${transitionName}-leave-active`,\n leaveToClass: `${transitionName}-leave ${transitionName}-leave-active`\n }, opt) : _extends({\n css: false\n }, opt);\n return transitionProps;\n};\nexport const getTransitionGroupProps = function (transitionName) {\n let opt = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const transitionProps = transitionName ? _extends({\n name: transitionName,\n appear: true,\n // appearFromClass: `${transitionName}-appear ${transitionName}-appear-prepare`,\n appearActiveClass: `${transitionName}`,\n appearToClass: `${transitionName}-appear ${transitionName}-appear-active`,\n enterFromClass: `${transitionName}-appear ${transitionName}-enter ${transitionName}-appear-prepare ${transitionName}-enter-prepare`,\n enterActiveClass: `${transitionName}`,\n enterToClass: `${transitionName}-enter ${transitionName}-appear ${transitionName}-appear-active ${transitionName}-enter-active`,\n leaveActiveClass: `${transitionName} ${transitionName}-leave`,\n leaveToClass: `${transitionName}-leave-active`\n }, opt) : _extends({\n css: false\n }, opt);\n return transitionProps;\n};\n// ================== Collapse Motion ==================\nconst getCollapsedHeight = () => ({\n height: 0,\n opacity: 0\n});\nconst getRealHeight = node => ({\n height: `${node.scrollHeight}px`,\n opacity: 1\n});\nconst getCurrentHeight = node => ({\n height: `${node.offsetHeight}px`\n});\nconst collapseMotion = function () {\n let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ant-motion-collapse';\n let style = arguments.length > 1 ? arguments[1] : undefined;\n let className = arguments.length > 2 ? arguments[2] : undefined;\n return {\n name,\n appear: true,\n css: true,\n onBeforeEnter: node => {\n className.value = name;\n style.value = getCollapsedHeight(node);\n },\n onEnter: node => {\n nextTick(() => {\n style.value = getRealHeight(node);\n });\n },\n onAfterEnter: () => {\n className.value = '';\n style.value = {};\n },\n onBeforeLeave: node => {\n className.value = name;\n style.value = getCurrentHeight(node);\n },\n onLeave: node => {\n setTimeout(() => {\n style.value = getCollapsedHeight(node);\n });\n },\n onAfterLeave: () => {\n className.value = '';\n style.value = {};\n }\n };\n};\nconst getTransitionName = (rootPrefixCls, motion, transitionName) => {\n if (transitionName !== undefined) {\n return transitionName;\n }\n return `${rootPrefixCls}-${motion}`;\n};\nexport { collapseMotion, getTransitionName, getTransitionDirection };","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { withDirectives as _withDirectives, resolveDirective as _resolveDirective, vShow as _vShow, createVNode as _createVNode } from \"vue\";\nimport useVisibleStatus from './useVisibleStatus';\nimport useStretchStyle from './useStretchStyle';\nimport { computed, defineComponent, shallowRef, toRef, Transition, watch, withModifiers } from 'vue';\nimport Align from '../../vc-align/Align';\nimport { getMotion } from '../utils/motionUtil';\nimport { flattenChildren } from '../../_util/props-util';\nimport classNames from '../../_util/classNames';\nimport { innerProps } from './interface';\nimport { getTransitionProps } from '../../_util/transition';\nimport supportsPassive from '../../_util/supportsPassive';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'PopupInner',\n inheritAttrs: false,\n props: innerProps,\n emits: ['mouseenter', 'mouseleave', 'mousedown', 'touchstart', 'align'],\n setup(props, _ref) {\n let {\n expose,\n attrs,\n slots\n } = _ref;\n const alignRef = shallowRef();\n const elementRef = shallowRef();\n const alignedClassName = shallowRef();\n // ======================= Measure ========================\n const [stretchStyle, measureStretchStyle] = useStretchStyle(toRef(props, 'stretch'));\n const doMeasure = () => {\n if (props.stretch) {\n measureStretchStyle(props.getRootDomNode());\n }\n };\n const visible = shallowRef(false);\n let timeoutId;\n watch(() => props.visible, val => {\n clearTimeout(timeoutId);\n if (val) {\n timeoutId = setTimeout(() => {\n visible.value = props.visible;\n });\n } else {\n visible.value = false;\n }\n }, {\n immediate: true\n });\n // ======================== Status ========================\n const [status, goNextStatus] = useVisibleStatus(visible, doMeasure);\n // ======================== Aligns ========================\n const prepareResolveRef = shallowRef();\n // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n const getAlignTarget = () => {\n if (props.point) {\n return props.point;\n }\n return props.getRootDomNode;\n };\n const forceAlign = () => {\n var _a;\n (_a = alignRef.value) === null || _a === void 0 ? void 0 : _a.forceAlign();\n };\n const onInternalAlign = (popupDomNode, matchAlign) => {\n var _a;\n const nextAlignedClassName = props.getClassNameFromAlign(matchAlign);\n const preAlignedClassName = alignedClassName.value;\n if (alignedClassName.value !== nextAlignedClassName) {\n alignedClassName.value = nextAlignedClassName;\n }\n if (status.value === 'align') {\n // Repeat until not more align needed\n if (preAlignedClassName !== nextAlignedClassName) {\n Promise.resolve().then(() => {\n forceAlign();\n });\n } else {\n goNextStatus(() => {\n var _a;\n (_a = prepareResolveRef.value) === null || _a === void 0 ? void 0 : _a.call(prepareResolveRef);\n });\n }\n (_a = props.onAlign) === null || _a === void 0 ? void 0 : _a.call(props, popupDomNode, matchAlign);\n }\n };\n // ======================== Motion ========================\n const motion = computed(() => {\n const m = typeof props.animation === 'object' ? props.animation : getMotion(props);\n ['onAfterEnter', 'onAfterLeave'].forEach(eventName => {\n const originFn = m[eventName];\n m[eventName] = node => {\n goNextStatus();\n // 结束后,强制 stable\n status.value = 'stable';\n originFn === null || originFn === void 0 ? void 0 : originFn(node);\n };\n });\n return m;\n });\n const onShowPrepare = () => {\n return new Promise(resolve => {\n prepareResolveRef.value = resolve;\n });\n };\n watch([motion, status], () => {\n if (!motion.value && status.value === 'motion') {\n goNextStatus();\n }\n }, {\n immediate: true\n });\n expose({\n forceAlign,\n getElement: () => {\n return elementRef.value.$el || elementRef.value;\n }\n });\n const alignDisabled = computed(() => {\n var _a;\n if (((_a = props.align) === null || _a === void 0 ? void 0 : _a.points) && (status.value === 'align' || status.value === 'stable')) {\n return false;\n }\n return true;\n });\n return () => {\n var _a;\n const {\n zIndex,\n align,\n prefixCls,\n destroyPopupOnHide,\n onMouseenter,\n onMouseleave,\n onTouchstart = () => {},\n onMousedown\n } = props;\n const statusValue = status.value;\n // ======================== Render ========================\n const mergedStyle = [_extends(_extends({}, stretchStyle.value), {\n zIndex,\n opacity: statusValue === 'motion' || statusValue === 'stable' || !visible.value ? null : 0,\n // pointerEvents: statusValue === 'stable' ? null : 'none',\n pointerEvents: !visible.value && statusValue !== 'stable' ? 'none' : null\n }), attrs.style];\n let childNode = flattenChildren((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots, {\n visible: props.visible\n }));\n // Wrapper when multiple children\n if (childNode.length > 1) {\n const _childNode = function () {\n return childNode;\n }();\n childNode = _createVNode(\"div\", {\n \"class\": `${prefixCls}-content`\n }, [childNode]);\n }\n const mergedClassName = classNames(prefixCls, attrs.class, alignedClassName.value, !props.arrow && `${prefixCls}-arrow-hidden`);\n const hasAnimate = visible.value || !props.visible;\n const transitionProps = hasAnimate ? getTransitionProps(motion.value.name, motion.value) : {};\n return _createVNode(Transition, _objectSpread(_objectSpread({\n \"ref\": elementRef\n }, transitionProps), {}, {\n \"onBeforeEnter\": onShowPrepare\n }), {\n default: () => {\n return !destroyPopupOnHide || props.visible ? _withDirectives(_createVNode(Align, {\n \"target\": getAlignTarget(),\n \"key\": \"popup\",\n \"ref\": alignRef,\n \"monitorWindowResize\": true,\n \"disabled\": alignDisabled.value,\n \"align\": align,\n \"onAlign\": onInternalAlign\n }, {\n default: () => _createVNode(\"div\", {\n \"class\": mergedClassName,\n \"onMouseenter\": onMouseenter,\n \"onMouseleave\": onMouseleave,\n \"onMousedown\": withModifiers(onMousedown, ['capture']),\n [supportsPassive ? 'onTouchstartPassive' : 'onTouchstart']: withModifiers(onTouchstart, ['capture']),\n \"style\": mergedStyle\n }, [childNode])\n }), [[_vShow, visible.value]]) : null;\n }\n });\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport { defineComponent, shallowRef, watch } from 'vue';\nimport { popupProps } from './interface';\nimport Mask from './Mask';\nimport MobilePopupInner from './MobilePopupInner';\nimport PopupInner from './PopupInner';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'Popup',\n inheritAttrs: false,\n props: popupProps,\n setup(props, _ref) {\n let {\n attrs,\n slots,\n expose\n } = _ref;\n const innerVisible = shallowRef(false);\n const inMobile = shallowRef(false);\n const popupRef = shallowRef();\n const rootRef = shallowRef();\n watch([() => props.visible, () => props.mobile], () => {\n innerVisible.value = props.visible;\n if (props.visible && props.mobile) {\n inMobile.value = true;\n }\n }, {\n immediate: true,\n flush: 'post'\n });\n expose({\n forceAlign: () => {\n var _a;\n (_a = popupRef.value) === null || _a === void 0 ? void 0 : _a.forceAlign();\n },\n getElement: () => {\n var _a;\n return (_a = popupRef.value) === null || _a === void 0 ? void 0 : _a.getElement();\n }\n });\n return () => {\n const cloneProps = _extends(_extends(_extends({}, props), attrs), {\n visible: innerVisible.value\n });\n const popupNode = inMobile.value ? _createVNode(MobilePopupInner, _objectSpread(_objectSpread({}, cloneProps), {}, {\n \"mobile\": props.mobile,\n \"ref\": popupRef\n }), {\n default: slots.default\n }) : _createVNode(PopupInner, _objectSpread(_objectSpread({}, cloneProps), {}, {\n \"ref\": popupRef\n }), {\n default: slots.default\n });\n return _createVNode(\"div\", {\n \"ref\": rootRef\n }, [_createVNode(Mask, cloneProps, null), popupNode]);\n };\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n const baseAlign = builtinPlacements[placementStr] || {};\n return _extends(_extends({}, baseAlign), align);\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n const {\n points\n } = align;\n const placements = Object.keys(builtinPlacements);\n for (let i = 0; i < placements.length; i += 1) {\n const placement = placements[i];\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return `${prefixCls}-placement-${placement}`;\n }\n }\n return '';\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { nextTick } from 'vue';\nimport { getOptionProps } from './props-util';\nexport default {\n methods: {\n setState() {\n let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n let newState = typeof state === 'function' ? state(this.$data, this.$props) : state;\n if (this.getDerivedStateFromProps) {\n const s = this.getDerivedStateFromProps(getOptionProps(this), _extends(_extends({}, this.$data), newState));\n if (s === null) {\n return;\n } else {\n newState = _extends(_extends({}, newState), s || {});\n }\n }\n _extends(this.$data, newState);\n if (this._.isMounted) {\n this.$forceUpdate();\n }\n nextTick(() => {\n callback && callback();\n });\n },\n __emit() {\n // 直接调用事件,底层组件不需要vueTool记录events\n // eslint-disable-next-line prefer-rest-params\n const args = [].slice.call(arguments, 0);\n let eventName = args[0];\n eventName = `on${eventName[0].toUpperCase()}${eventName.substring(1)}`;\n const event = this.$props[eventName] || this.$attrs[eventName];\n if (args.length && event) {\n if (Array.isArray(event)) {\n for (let i = 0, l = event.length; i < l; i++) {\n event[i](...args.slice(1));\n }\n } else {\n event(...args.slice(1));\n }\n }\n }\n }\n};","import { computed, inject, provide } from 'vue';\nconst PortalContextKey = Symbol('PortalContextKey');\nexport const useProvidePortal = function (instance) {\n let config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n inTriggerContext: true\n };\n provide(PortalContextKey, {\n inTriggerContext: config.inTriggerContext,\n shouldRender: computed(() => {\n const {\n sPopupVisible,\n popupRef,\n forceRender,\n autoDestroy\n } = instance || {};\n // if (popPortal) return true;\n let shouldRender = false;\n if (sPopupVisible || popupRef || forceRender) {\n shouldRender = true;\n }\n if (!sPopupVisible && autoDestroy) {\n shouldRender = false;\n }\n return shouldRender;\n })\n });\n};\nexport const useInjectPortal = () => {\n useProvidePortal({}, {\n inTriggerContext: false\n });\n const portalContext = inject(PortalContextKey, {\n shouldRender: computed(() => false),\n inTriggerContext: false\n });\n return {\n shouldRender: computed(() => portalContext.shouldRender.value || portalContext.inTriggerContext === false)\n };\n};","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport PropTypes from './vue-types';\nimport { defineComponent, nextTick, onBeforeMount, onMounted, onUpdated, Teleport, watch } from 'vue';\nimport { useInjectPortal } from '../vc-trigger/context';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'Portal',\n inheritAttrs: false,\n props: {\n getContainer: PropTypes.func.isRequired,\n didUpdate: Function\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n let isSSR = true;\n // getContainer 不会改变,不用响应式\n let container;\n const {\n shouldRender\n } = useInjectPortal();\n function setContainer() {\n if (shouldRender.value) {\n container = props.getContainer();\n }\n }\n onBeforeMount(() => {\n isSSR = false;\n // drawer\n setContainer();\n });\n onMounted(() => {\n if (container) return;\n // https://github.com/vueComponent/ant-design-vue/issues/6937\n setContainer();\n });\n const stopWatch = watch(shouldRender, () => {\n if (shouldRender.value && !container) {\n container = props.getContainer();\n }\n if (container) {\n stopWatch();\n }\n });\n onUpdated(() => {\n nextTick(() => {\n var _a;\n if (shouldRender.value) {\n (_a = props.didUpdate) === null || _a === void 0 ? void 0 : _a.call(props, props);\n }\n });\n });\n // onBeforeUnmount(() => {\n // if (container && container.parentNode) {\n // container.parentNode.removeChild(container);\n // }\n // });\n return () => {\n var _a;\n if (!shouldRender.value) return null;\n if (isSSR) {\n return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n }\n return container ? _createVNode(Teleport, {\n \"to\": container\n }, slots) : null;\n };\n }\n});","/* eslint-disable no-param-reassign */\nlet cached;\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n const inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n const outer = document.createElement('div');\n const outerStyle = outer.style;\n outerStyle.position = 'absolute';\n outerStyle.top = '0';\n outerStyle.left = '0';\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n outer.appendChild(inner);\n document.body.appendChild(outer);\n const widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n let widthScroll = inner.offsetWidth;\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n document.body.removeChild(outer);\n cached = widthContained - widthScroll;\n }\n return cached;\n}\nfunction ensureSize(str) {\n const match = str.match(/^(.*)px$/);\n const value = Number(match === null || match === void 0 ? void 0 : match[1]);\n return Number.isNaN(value) ? getScrollBarSize() : value;\n}\nexport function getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n const {\n width,\n height\n } = getComputedStyle(target, '::-webkit-scrollbar');\n return {\n width: ensureSize(width),\n height: ensureSize(height)\n };\n}","import { computed, watchEffect } from 'vue';\nimport { updateCSS, removeCSS } from '../../vc-util/Dom/dynamicCSS';\nimport getScrollBarSize from '../../_util/getScrollBarSize';\nimport canUseDom from '../../_util/canUseDom';\nconst UNIQUE_ID = `vc-util-locker-${Date.now()}`;\nlet uuid = 0;\n/**../vc-util/Dom/dynam\n * Test usage export. Do not use in your production\n */\nexport function isBodyOverflowing() {\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;\n}\nexport default function useScrollLocker(lock) {\n const mergedLock = computed(() => !!lock && !!lock.value);\n uuid += 1;\n const id = `${UNIQUE_ID}_${uuid}`;\n watchEffect(onClear => {\n if (!canUseDom()) {\n return;\n }\n if (mergedLock.value) {\n const scrollbarSize = getScrollBarSize();\n const isOverflow = isBodyOverflowing();\n updateCSS(`\nhtml body {\n overflow-y: hidden;\n ${isOverflow ? `width: calc(100% - ${scrollbarSize}px);` : ''}\n}`, id);\n } else {\n removeCSS(id);\n }\n onClear(() => {\n removeCSS(id);\n });\n }, {\n flush: 'post'\n });\n}","import { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport PropTypes from './vue-types';\nimport Portal from './Portal';\nimport { defineComponent, shallowRef, watch, onMounted, onBeforeUnmount, onUpdated, nextTick, computed } from 'vue';\nimport canUseDom from './canUseDom';\nimport raf from './raf';\nimport { booleanType } from './type';\nimport useScrollLocker from './hooks/useScrollLocker';\nlet openCount = 0;\nconst supportDom = canUseDom();\n/** @private Test usage only */\nexport function getOpenCount() {\n return process.env.NODE_ENV === 'test' ? openCount : 0;\n}\nconst getParent = getContainer => {\n if (!supportDom) {\n return null;\n }\n if (getContainer) {\n if (typeof getContainer === 'string') {\n return document.querySelectorAll(getContainer)[0];\n }\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n if (typeof getContainer === 'object' && getContainer instanceof window.HTMLElement) {\n return getContainer;\n }\n }\n return document.body;\n};\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'PortalWrapper',\n inheritAttrs: false,\n props: {\n wrapperClassName: String,\n forceRender: {\n type: Boolean,\n default: undefined\n },\n getContainer: PropTypes.any,\n visible: {\n type: Boolean,\n default: undefined\n },\n autoLock: booleanType(),\n didUpdate: Function\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const container = shallowRef();\n const componentRef = shallowRef();\n const rafId = shallowRef();\n const triggerUpdate = shallowRef(1);\n const defaultContainer = canUseDom() && document.createElement('div');\n const removeCurrentContainer = () => {\n var _a, _b;\n // Portal will remove from `parentNode`.\n // Let's handle this again to avoid refactor issue.\n if (container.value === defaultContainer) {\n (_b = (_a = container.value) === null || _a === void 0 ? void 0 : _a.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(container.value);\n }\n container.value = null;\n };\n let parent = null;\n const attachToParent = function () {\n let force = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (force || container.value && !container.value.parentNode) {\n parent = getParent(props.getContainer);\n if (parent) {\n parent.appendChild(container.value);\n return true;\n }\n return false;\n }\n return true;\n };\n const getContainer = () => {\n if (!supportDom) {\n return null;\n }\n if (!container.value) {\n container.value = defaultContainer;\n attachToParent(true);\n }\n setWrapperClassName();\n return container.value;\n };\n const setWrapperClassName = () => {\n const {\n wrapperClassName\n } = props;\n if (container.value && wrapperClassName && wrapperClassName !== container.value.className) {\n container.value.className = wrapperClassName;\n }\n };\n onUpdated(() => {\n setWrapperClassName();\n attachToParent();\n });\n useScrollLocker(computed(() => {\n return props.autoLock && props.visible && canUseDom() && (container.value === document.body || container.value === defaultContainer);\n }));\n onMounted(() => {\n let init = false;\n watch([() => props.visible, () => props.getContainer], (_ref2, _ref3) => {\n let [visible, getContainer] = _ref2;\n let [prevVisible, prevGetContainer] = _ref3;\n // Update count\n if (supportDom) {\n parent = getParent(props.getContainer);\n if (parent === document.body) {\n if (visible && !prevVisible) {\n openCount += 1;\n } else if (init) {\n openCount -= 1;\n }\n }\n }\n if (init) {\n // Clean up container if needed\n const getContainerIsFunc = typeof getContainer === 'function' && typeof prevGetContainer === 'function';\n if (getContainerIsFunc ? getContainer.toString() !== prevGetContainer.toString() : getContainer !== prevGetContainer) {\n removeCurrentContainer();\n }\n }\n init = true;\n }, {\n immediate: true,\n flush: 'post'\n });\n nextTick(() => {\n if (!attachToParent()) {\n rafId.value = raf(() => {\n triggerUpdate.value += 1;\n });\n }\n });\n });\n onBeforeUnmount(() => {\n const {\n visible\n } = props;\n if (supportDom && parent === document.body) {\n // 离开时不会 render, 导到离开时数值不变,改用 func 。。\n openCount = visible && openCount ? openCount - 1 : openCount;\n }\n removeCurrentContainer();\n raf.cancel(rafId.value);\n });\n return () => {\n const {\n forceRender,\n visible\n } = props;\n let portal = null;\n const childProps = {\n getOpenCount: () => openCount,\n getContainer\n };\n if (triggerUpdate.value && (forceRender || visible || componentRef.value)) {\n portal = _createVNode(Portal, {\n \"getContainer\": getContainer,\n \"ref\": componentRef,\n \"didUpdate\": props.didUpdate\n }, {\n default: () => {\n var _a;\n return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots, childProps);\n }\n });\n }\n return portal;\n };\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { Fragment as _Fragment, createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport { computed, defineComponent, inject, provide, shallowRef } from 'vue';\nimport { triggerProps, noop } from './interface';\nimport contains from '../vc-util/Dom/contains';\nimport raf from '../_util/raf';\nimport { hasProp, getComponent, getEvents, filterEmpty, getSlot, findDOMNode } from '../_util/props-util';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport Popup from './Popup';\nimport { getAlignFromPlacement, getAlignPopupClassName } from './utils/alignUtil';\nimport BaseMixin from '../_util/BaseMixin';\nimport Portal from '../_util/PortalWrapper';\nimport classNames from '../_util/classNames';\nimport { cloneElement } from '../_util/vnode';\nimport supportsPassive from '../_util/supportsPassive';\nimport { useProvidePortal } from './context';\nconst ALL_HANDLERS = ['onClick', 'onMousedown', 'onTouchstart', 'onMouseenter', 'onMouseleave', 'onFocus', 'onBlur', 'onContextmenu'];\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'Trigger',\n mixins: [BaseMixin],\n inheritAttrs: false,\n props: triggerProps(),\n setup(props) {\n const align = computed(() => {\n const {\n popupPlacement,\n popupAlign,\n builtinPlacements\n } = props;\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n return popupAlign;\n });\n const popupRef = shallowRef(null);\n const setPopupRef = val => {\n popupRef.value = val;\n };\n return {\n vcTriggerContext: inject('vcTriggerContext', {}),\n popupRef,\n setPopupRef,\n triggerRef: shallowRef(null),\n align,\n focusTime: null,\n clickOutsideHandler: null,\n contextmenuOutsideHandler1: null,\n contextmenuOutsideHandler2: null,\n touchOutsideHandler: null,\n attachId: null,\n delayTimer: null,\n hasPopupMouseDown: false,\n preClickTime: null,\n preTouchTime: null,\n mouseDownTimeout: null,\n childOriginEvents: {}\n };\n },\n data() {\n const props = this.$props;\n let popupVisible;\n if (this.popupVisible !== undefined) {\n popupVisible = !!props.popupVisible;\n } else {\n popupVisible = !!props.defaultPopupVisible;\n }\n ALL_HANDLERS.forEach(h => {\n this[`fire${h}`] = e => {\n this.fireEvents(h, e);\n };\n });\n return {\n prevPopupVisible: popupVisible,\n sPopupVisible: popupVisible,\n point: null\n };\n },\n watch: {\n popupVisible(val) {\n if (val !== undefined) {\n this.prevPopupVisible = this.sPopupVisible;\n this.sPopupVisible = val;\n }\n }\n },\n created() {\n provide('vcTriggerContext', {\n onPopupMouseDown: this.onPopupMouseDown,\n onPopupMouseenter: this.onPopupMouseenter,\n onPopupMouseleave: this.onPopupMouseleave\n });\n useProvidePortal(this);\n },\n deactivated() {\n this.setPopupVisible(false);\n },\n mounted() {\n this.$nextTick(() => {\n this.updatedCal();\n });\n },\n updated() {\n this.$nextTick(() => {\n this.updatedCal();\n });\n },\n beforeUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n raf.cancel(this.attachId);\n },\n methods: {\n updatedCal() {\n const props = this.$props;\n const state = this.$data;\n // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n if (state.sPopupVisible) {\n let currentDocument;\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextmenuToShow())) {\n currentDocument = props.getDocument(this.getRootDomNode());\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n }\n // always hide on mobile\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick, supportsPassive ? {\n passive: false\n } : false);\n }\n // close popup when trigger type contains 'onContextmenu' and document is scrolling.\n if (!this.contextmenuOutsideHandler1 && this.isContextmenuToShow()) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.contextmenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextmenuClose);\n }\n // close popup when trigger type contains 'onContextmenu' and window is blur.\n if (!this.contextmenuOutsideHandler2 && this.isContextmenuToShow()) {\n this.contextmenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextmenuClose);\n }\n } else {\n this.clearOutsideHandler();\n }\n },\n onMouseenter(e) {\n const {\n mouseEnterDelay\n } = this.$props;\n this.fireEvents('onMouseenter', e);\n this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n },\n onMouseMove(e) {\n this.fireEvents('onMousemove', e);\n this.setPoint(e);\n },\n onMouseleave(e) {\n this.fireEvents('onMouseleave', e);\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n },\n onPopupMouseenter() {\n const {\n vcTriggerContext = {}\n } = this;\n if (vcTriggerContext.onPopupMouseenter) {\n vcTriggerContext.onPopupMouseenter();\n }\n this.clearDelayTimer();\n },\n onPopupMouseleave(e) {\n var _a;\n if (e && e.relatedTarget && !e.relatedTarget.setTimeout && contains((_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.getElement(), e.relatedTarget)) {\n return;\n }\n if (this.isMouseLeaveToHide()) {\n this.delaySetPopupVisible(false, this.$props.mouseLeaveDelay);\n }\n const {\n vcTriggerContext = {}\n } = this;\n if (vcTriggerContext.onPopupMouseleave) {\n vcTriggerContext.onPopupMouseleave(e);\n }\n },\n onFocus(e) {\n this.fireEvents('onFocus', e);\n // incase focusin and focusout\n this.clearDelayTimer();\n if (this.isFocusToShow()) {\n this.focusTime = Date.now();\n this.delaySetPopupVisible(true, this.$props.focusDelay);\n }\n },\n onMousedown(e) {\n this.fireEvents('onMousedown', e);\n this.preClickTime = Date.now();\n },\n onTouchstart(e) {\n this.fireEvents('onTouchstart', e);\n this.preTouchTime = Date.now();\n },\n onBlur(e) {\n if (!contains(e.target, e.relatedTarget || document.activeElement)) {\n this.fireEvents('onBlur', e);\n this.clearDelayTimer();\n if (this.isBlurToHide()) {\n this.delaySetPopupVisible(false, this.$props.blurDelay);\n }\n }\n },\n onContextmenu(e) {\n e.preventDefault();\n this.fireEvents('onContextmenu', e);\n this.setPopupVisible(true, e);\n },\n onContextmenuClose() {\n if (this.isContextmenuToShow()) {\n this.close();\n }\n },\n onClick(event) {\n this.fireEvents('onClick', event);\n // focus will trigger click\n if (this.focusTime) {\n let preTime;\n if (this.preClickTime && this.preTouchTime) {\n preTime = Math.min(this.preClickTime, this.preTouchTime);\n } else if (this.preClickTime) {\n preTime = this.preClickTime;\n } else if (this.preTouchTime) {\n preTime = this.preTouchTime;\n }\n if (Math.abs(preTime - this.focusTime) < 20) {\n return;\n }\n this.focusTime = 0;\n }\n this.preClickTime = 0;\n this.preTouchTime = 0;\n // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n if (this.isClickToShow() && (this.isClickToHide() || this.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n if (event && event.domEvent) {\n event.domEvent.preventDefault();\n }\n const nextVisible = !this.$data.sPopupVisible;\n if (this.isClickToHide() && !nextVisible || nextVisible && this.isClickToShow()) {\n this.setPopupVisible(!this.$data.sPopupVisible, event);\n }\n },\n onPopupMouseDown() {\n const {\n vcTriggerContext = {}\n } = this;\n this.hasPopupMouseDown = true;\n clearTimeout(this.mouseDownTimeout);\n this.mouseDownTimeout = setTimeout(() => {\n this.hasPopupMouseDown = false;\n }, 0);\n if (vcTriggerContext.onPopupMouseDown) {\n vcTriggerContext.onPopupMouseDown(...arguments);\n }\n },\n onDocumentClick(event) {\n if (this.$props.mask && !this.$props.maskClosable) {\n return;\n }\n const target = event.target;\n const root = this.getRootDomNode();\n const popupNode = this.getPopupDomNode();\n if (\n // mousedown on the target should also close popup when action is contextMenu.\n // https://github.com/ant-design/ant-design/issues/29853\n (!contains(root, target) || this.isContextMenuOnly()) && !contains(popupNode, target) && !this.hasPopupMouseDown) {\n // https://github.com/vuejs/core/issues/4462\n // vue 动画bug导致 https://github.com/vueComponent/ant-design-vue/issues/5259,\n // 改成延时解决\n this.delaySetPopupVisible(false, 0.1);\n }\n },\n getPopupDomNode() {\n var _a;\n // for test\n return ((_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.getElement()) || null;\n },\n getRootDomNode() {\n var _a, _b, _c, _d;\n const {\n getTriggerDOMNode\n } = this.$props;\n if (getTriggerDOMNode) {\n const domNode = ((_b = (_a = this.triggerRef) === null || _a === void 0 ? void 0 : _a.$el) === null || _b === void 0 ? void 0 : _b.nodeName) === '#comment' ? null : findDOMNode(this.triggerRef);\n return findDOMNode(getTriggerDOMNode(domNode));\n }\n try {\n const domNode = ((_d = (_c = this.triggerRef) === null || _c === void 0 ? void 0 : _c.$el) === null || _d === void 0 ? void 0 : _d.nodeName) === '#comment' ? null : findDOMNode(this.triggerRef);\n if (domNode) {\n return domNode;\n }\n } catch (err) {\n // Do nothing\n }\n return findDOMNode(this);\n },\n handleGetPopupClassFromAlign(align) {\n const className = [];\n const props = this.$props;\n const {\n popupPlacement,\n builtinPlacements,\n prefixCls,\n alignPoint,\n getPopupClassNameFromAlign\n } = props;\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n return className.join(' ');\n },\n getPopupAlign() {\n const props = this.$props;\n const {\n popupPlacement,\n popupAlign,\n builtinPlacements\n } = props;\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n return popupAlign;\n },\n getComponent() {\n const mouseProps = {};\n if (this.isMouseEnterToShow()) {\n mouseProps.onMouseenter = this.onPopupMouseenter;\n }\n if (this.isMouseLeaveToHide()) {\n mouseProps.onMouseleave = this.onPopupMouseleave;\n }\n mouseProps.onMousedown = this.onPopupMouseDown;\n mouseProps[supportsPassive ? 'onTouchstartPassive' : 'onTouchstart'] = this.onPopupMouseDown;\n const {\n handleGetPopupClassFromAlign,\n getRootDomNode,\n $attrs\n } = this;\n const {\n prefixCls,\n destroyPopupOnHide,\n popupClassName,\n popupAnimation,\n popupTransitionName,\n popupStyle,\n mask,\n maskAnimation,\n maskTransitionName,\n zIndex,\n stretch,\n alignPoint,\n mobile,\n arrow,\n forceRender\n } = this.$props;\n const {\n sPopupVisible,\n point\n } = this.$data;\n const popupProps = _extends(_extends({\n prefixCls,\n arrow,\n destroyPopupOnHide,\n visible: sPopupVisible,\n point: alignPoint ? point : null,\n align: this.align,\n animation: popupAnimation,\n getClassNameFromAlign: handleGetPopupClassFromAlign,\n stretch,\n getRootDomNode,\n mask,\n zIndex,\n transitionName: popupTransitionName,\n maskAnimation,\n maskTransitionName,\n class: popupClassName,\n style: popupStyle,\n onAlign: $attrs.onPopupAlign || noop\n }, mouseProps), {\n ref: this.setPopupRef,\n mobile,\n forceRender\n });\n return _createVNode(Popup, popupProps, {\n default: this.$slots.popup || (() => getComponent(this, 'popup'))\n });\n },\n attachParent(popupContainer) {\n raf.cancel(this.attachId);\n const {\n getPopupContainer,\n getDocument\n } = this.$props;\n const domNode = this.getRootDomNode();\n let mountNode;\n if (!getPopupContainer) {\n mountNode = getDocument(this.getRootDomNode()).body;\n } else if (domNode || getPopupContainer.length === 0) {\n // Compatible for legacy getPopupContainer with domNode argument.\n // If no need `domNode` argument, will call directly.\n // https://codesandbox.io/s/eloquent-mclean-ss93m?file=/src/App.js\n mountNode = getPopupContainer(domNode);\n }\n if (mountNode) {\n mountNode.appendChild(popupContainer);\n } else {\n // Retry after frame render in case parent not ready\n this.attachId = raf(() => {\n this.attachParent(popupContainer);\n });\n }\n },\n getContainer() {\n const {\n $props: props\n } = this;\n const {\n getDocument\n } = props;\n const popupContainer = getDocument(this.getRootDomNode()).createElement('div');\n // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n this.attachParent(popupContainer);\n return popupContainer;\n },\n setPopupVisible(sPopupVisible, event) {\n const {\n alignPoint,\n sPopupVisible: prevPopupVisible,\n onPopupVisibleChange\n } = this;\n this.clearDelayTimer();\n if (prevPopupVisible !== sPopupVisible) {\n if (!hasProp(this, 'popupVisible')) {\n this.setState({\n sPopupVisible,\n prevPopupVisible\n });\n }\n onPopupVisibleChange && onPopupVisibleChange(sPopupVisible);\n }\n // Always record the point position since mouseEnterDelay will delay the show\n if (alignPoint && event && sPopupVisible) {\n this.setPoint(event);\n }\n },\n setPoint(point) {\n const {\n alignPoint\n } = this.$props;\n if (!alignPoint || !point) return;\n this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n },\n handlePortalUpdate() {\n if (this.prevPopupVisible !== this.sPopupVisible) {\n this.afterPopupVisibleChange(this.sPopupVisible);\n }\n },\n delaySetPopupVisible(visible, delayS, event) {\n const delay = delayS * 1000;\n this.clearDelayTimer();\n if (delay) {\n const point = event ? {\n pageX: event.pageX,\n pageY: event.pageY\n } : null;\n this.delayTimer = setTimeout(() => {\n this.setPopupVisible(visible, point);\n this.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n },\n clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n },\n clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n if (this.contextmenuOutsideHandler1) {\n this.contextmenuOutsideHandler1.remove();\n this.contextmenuOutsideHandler1 = null;\n }\n if (this.contextmenuOutsideHandler2) {\n this.contextmenuOutsideHandler2.remove();\n this.contextmenuOutsideHandler2 = null;\n }\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n },\n createTwoChains(event) {\n let fn = () => {};\n const events = getEvents(this);\n if (this.childOriginEvents[event] && events[event]) {\n return this[`fire${event}`];\n }\n fn = this.childOriginEvents[event] || events[event] || fn;\n return fn;\n },\n isClickToShow() {\n const {\n action,\n showAction\n } = this.$props;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n },\n isContextMenuOnly() {\n const {\n action\n } = this.$props;\n return action === 'contextmenu' || action.length === 1 && action[0] === 'contextmenu';\n },\n isContextmenuToShow() {\n const {\n action,\n showAction\n } = this.$props;\n return action.indexOf('contextmenu') !== -1 || showAction.indexOf('contextmenu') !== -1;\n },\n isClickToHide() {\n const {\n action,\n hideAction\n } = this.$props;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n },\n isMouseEnterToShow() {\n const {\n action,\n showAction\n } = this.$props;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseenter') !== -1;\n },\n isMouseLeaveToHide() {\n const {\n action,\n hideAction\n } = this.$props;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseleave') !== -1;\n },\n isFocusToShow() {\n const {\n action,\n showAction\n } = this.$props;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n },\n isBlurToHide() {\n const {\n action,\n hideAction\n } = this.$props;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n },\n forcePopupAlign() {\n var _a;\n if (this.$data.sPopupVisible) {\n (_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.forceAlign();\n }\n },\n fireEvents(type, e) {\n if (this.childOriginEvents[type]) {\n this.childOriginEvents[type](e);\n }\n const event = this.$props[type] || this.$attrs[type];\n if (event) {\n event(e);\n }\n },\n close() {\n this.setPopupVisible(false);\n }\n },\n render() {\n const {\n $attrs\n } = this;\n const children = filterEmpty(getSlot(this));\n const {\n alignPoint,\n getPopupContainer\n } = this.$props;\n const child = children[0];\n this.childOriginEvents = getEvents(child);\n const newChildProps = {\n key: 'trigger'\n };\n if (this.isContextmenuToShow()) {\n newChildProps.onContextmenu = this.onContextmenu;\n } else {\n newChildProps.onContextmenu = this.createTwoChains('onContextmenu');\n }\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.onClick = this.onClick;\n newChildProps.onMousedown = this.onMousedown;\n newChildProps[supportsPassive ? 'onTouchstartPassive' : 'onTouchstart'] = this.onTouchstart;\n } else {\n newChildProps.onClick = this.createTwoChains('onClick');\n newChildProps.onMousedown = this.createTwoChains('onMousedown');\n newChildProps[supportsPassive ? 'onTouchstartPassive' : 'onTouchstart'] = this.createTwoChains('onTouchstart');\n }\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseenter = this.onMouseenter;\n if (alignPoint) {\n newChildProps.onMousemove = this.onMouseMove;\n }\n } else {\n newChildProps.onMouseenter = this.createTwoChains('onMouseenter');\n }\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseleave = this.onMouseleave;\n } else {\n newChildProps.onMouseleave = this.createTwoChains('onMouseleave');\n }\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.onFocus = this.onFocus;\n newChildProps.onBlur = this.onBlur;\n } else {\n newChildProps.onFocus = this.createTwoChains('onFocus');\n newChildProps.onBlur = e => {\n if (e && (!e.relatedTarget || !contains(e.target, e.relatedTarget))) {\n this.createTwoChains('onBlur')(e);\n }\n };\n }\n const childrenClassName = classNames(child && child.props && child.props.class, $attrs.class);\n if (childrenClassName) {\n newChildProps.class = childrenClassName;\n }\n const trigger = cloneElement(child, _extends(_extends({}, newChildProps), {\n ref: 'triggerRef'\n }), true, true);\n const portal = _createVNode(Portal, {\n \"key\": \"portal\",\n \"getContainer\": getPopupContainer && (() => getPopupContainer(this.getRootDomNode())),\n \"didUpdate\": this.handlePortalUpdate,\n \"visible\": this.$data.sPopupVisible\n }, {\n default: this.getComponent\n });\n return _createVNode(_Fragment, null, [trigger, portal]);\n }\n});","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nconst KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n /**\n * END\n */\n END: 35,\n /**\n * HOME\n */\n HOME: 36,\n /**\n * LEFT\n */\n LEFT: 37,\n /**\n * UP\n */\n UP: 38,\n /**\n * RIGHT\n */\n RIGHT: 39,\n /**\n * DOWN\n */\n DOWN: 40,\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45,\n /**\n * DELETE\n */\n DELETE: 46,\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91,\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n /**\n * DASH\n */\n DASH: 189,\n /**\n * EQUALS\n */\n EQUALS: 187,\n /**\n * COMMA\n */\n COMMA: 188,\n /**\n * PERIOD\n */\n PERIOD: 190,\n /**\n * SLASH\n */\n SLASH: 191,\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n const {\n keyCode\n } = e;\n if (e.altKey && !e.ctrlKey || e.metaKey ||\n // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n }\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n },\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n // Safari sends zero key code for non-latin characters.\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nconst attributes = `accept acceptcharset accesskey action allowfullscreen allowtransparency\nalt async autocomplete autofocus autoplay capture cellpadding cellspacing challenge\ncharset checked classid classname colspan cols content contenteditable contextmenu\ncontrols coords crossorigin data datetime default defer dir disabled download draggable\nenctype form formaction formenctype formmethod formnovalidate formtarget frameborder\nheaders height hidden high href hreflang htmlfor for httpequiv icon id inputmode integrity\nis keyparams keytype kind label lang list loop low manifest marginheight marginwidth max maxlength media\nmediagroup method min minlength multiple muted name novalidate nonce open\noptimum pattern placeholder poster preload radiogroup readonly rel required\nreversed role rowspan rows sandbox scope scoped scrolling seamless selected\nshape size sizes span spellcheck src srcdoc srclang srcset start step style\nsummary tabindex target title type usemap value width wmode wrap`;\nconst eventsName = `onCopy onCut onPaste onCompositionend onCompositionstart onCompositionupdate onKeydown\n onKeypress onKeyup onFocus onBlur onChange onInput onSubmit onClick onContextmenu onDoubleclick onDblclick\n onDrag onDragend onDragenter onDragexit onDragleave onDragover onDragstart onDrop onMousedown\n onMouseenter onMouseleave onMousemove onMouseout onMouseover onMouseup onSelect onTouchcancel\n onTouchend onTouchmove onTouchstart onTouchstartPassive onTouchmovePassive onScroll onWheel onAbort onCanplay onCanplaythrough\n onDurationchange onEmptied onEncrypted onEnded onError onLoadeddata onLoadedmetadata\n onLoadstart onPause onPlay onPlaying onProgress onRatechange onSeeked onSeeking onStalled onSuspend onTimeupdate onVolumechange onWaiting onLoad onError`;\nconst propList = `${attributes} ${eventsName}`.split(/[\\s\\n]+/);\n/* eslint-enable max-len */\nconst ariaPrefix = 'aria-';\nconst dataPrefix = 'data-';\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\nexport default function pickAttrs(props) {\n let ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let mergedConfig;\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = _extends({}, ariaOnly);\n }\n const attrs = {};\n Object.keys(props).forEach(key => {\n if (\n // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) ||\n // Data\n mergedConfig.data && match(key, dataPrefix) ||\n // Attr\n mergedConfig.attr && (propList.includes(key) || propList.includes(key.toLowerCase()))) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","import { computed, defineComponent, inject, provide } from 'vue';\nconst OverflowContextProviderKey = Symbol('OverflowContextProviderKey');\nexport const OverflowContextProvider = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'OverflowContextProvider',\n inheritAttrs: false,\n props: {\n value: {\n type: Object\n }\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n provide(OverflowContextProviderKey, computed(() => props.value));\n return () => {\n var _a;\n return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n };\n }\n});\nexport const useInjectOverflowContext = () => {\n return inject(OverflowContextProviderKey, computed(() => null));\n};","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { computed, defineComponent, onUnmounted, ref } from 'vue';\nimport ResizeObserver from '../vc-resize-observer';\nimport classNames from '../_util/classNames';\nimport PropTypes from '../_util/vue-types';\nconst UNDEFINED = undefined;\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'Item',\n props: {\n prefixCls: String,\n item: PropTypes.any,\n renderItem: Function,\n responsive: Boolean,\n itemKey: {\n type: [String, Number]\n },\n registerSize: Function,\n display: Boolean,\n order: Number,\n component: PropTypes.any,\n invalidate: Boolean\n },\n setup(props, _ref) {\n let {\n slots,\n expose\n } = _ref;\n const mergedHidden = computed(() => props.responsive && !props.display);\n const itemNodeRef = ref();\n expose({\n itemNodeRef\n });\n // ================================ Effect ================================\n function internalRegisterSize(width) {\n props.registerSize(props.itemKey, width);\n }\n onUnmounted(() => {\n internalRegisterSize(null);\n });\n return () => {\n var _a;\n const {\n prefixCls,\n invalidate,\n item,\n renderItem,\n responsive,\n registerSize,\n itemKey,\n display,\n order,\n component: Component = 'div'\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"invalidate\", \"item\", \"renderItem\", \"responsive\", \"registerSize\", \"itemKey\", \"display\", \"order\", \"component\"]);\n const children = (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n // ================================ Render ================================\n const childNode = renderItem && item !== UNDEFINED ? renderItem(item) : children;\n let overflowStyle;\n if (!invalidate) {\n overflowStyle = {\n opacity: mergedHidden.value ? 0 : 1,\n height: mergedHidden.value ? 0 : UNDEFINED,\n overflowY: mergedHidden.value ? 'hidden' : UNDEFINED,\n order: responsive ? order : UNDEFINED,\n pointerEvents: mergedHidden.value ? 'none' : UNDEFINED,\n position: mergedHidden.value ? 'absolute' : UNDEFINED\n };\n }\n const overflowProps = {};\n if (mergedHidden.value) {\n overflowProps['aria-hidden'] = true;\n }\n // 使用 disabled 避免结构不一致 导致子组件 rerender\n return _createVNode(ResizeObserver, {\n \"disabled\": !responsive,\n \"onResize\": _ref2 => {\n let {\n offsetWidth\n } = _ref2;\n internalRegisterSize(offsetWidth);\n }\n }, {\n default: () => _createVNode(Component, _objectSpread(_objectSpread(_objectSpread({\n \"class\": classNames(!invalidate && prefixCls),\n \"style\": overflowStyle\n }, overflowProps), restProps), {}, {\n \"ref\": itemNodeRef\n }), {\n default: () => [childNode]\n })\n });\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { defineComponent } from 'vue';\nimport classNames from '../_util/classNames';\nimport PropTypes from '../_util/vue-types';\nimport { OverflowContextProvider, useInjectOverflowContext } from './context';\nimport Item from './Item';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'RawItem',\n inheritAttrs: false,\n props: {\n component: PropTypes.any,\n title: PropTypes.any,\n id: String,\n onMouseenter: {\n type: Function\n },\n onMouseleave: {\n type: Function\n },\n onClick: {\n type: Function\n },\n onKeydown: {\n type: Function\n },\n onFocus: {\n type: Function\n },\n role: String,\n tabindex: Number\n },\n setup(props, _ref) {\n let {\n slots,\n attrs\n } = _ref;\n const context = useInjectOverflowContext();\n return () => {\n var _a;\n // Render directly when context not provided\n if (!context.value) {\n const {\n component: Component = 'div'\n } = props,\n restProps = __rest(props, [\"component\"]);\n return _createVNode(Component, _objectSpread(_objectSpread({}, restProps), attrs), {\n default: () => [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]\n });\n }\n const _b = context.value,\n {\n className: contextClassName\n } = _b,\n restContext = __rest(_b, [\"className\"]);\n const {\n class: className\n } = attrs,\n restProps = __rest(attrs, [\"class\"]);\n // Do not pass context to sub item to avoid multiple measure\n return _createVNode(OverflowContextProvider, {\n \"value\": null\n }, {\n default: () => [_createVNode(Item, _objectSpread(_objectSpread(_objectSpread({\n \"class\": classNames(contextClassName, className)\n }, restContext), restProps), props), slots)]\n });\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { computed, defineComponent, shallowRef, watch } from 'vue';\nimport ResizeObserver from '../vc-resize-observer';\nimport classNames from '../_util/classNames';\nimport PropTypes from '../_util/vue-types';\nimport { OverflowContextProvider } from './context';\nimport Item from './Item';\nimport RawItem from './RawItem';\nconst RESPONSIVE = 'responsive';\nconst INVALIDATE = 'invalidate';\nfunction defaultRenderRest(omittedItems) {\n return `+ ${omittedItems.length} ...`;\n}\nconst overflowProps = () => {\n return {\n id: String,\n prefixCls: String,\n data: Array,\n itemKey: [String, Number, Function],\n /** Used for `responsive`. It will limit render node to avoid perf issue */\n itemWidth: {\n type: Number,\n default: 10\n },\n renderItem: Function,\n /** @private Do not use in your production. Render raw node that need wrap Item by developer self */\n renderRawItem: Function,\n maxCount: [Number, String],\n renderRest: Function,\n /** @private Do not use in your production. Render raw node that need wrap Item by developer self */\n renderRawRest: Function,\n suffix: PropTypes.any,\n component: String,\n itemComponent: PropTypes.any,\n /** @private This API may be refactor since not well design */\n onVisibleChange: Function,\n /** When set to `full`, ssr will render full items by default and remove at client side */\n ssr: String,\n onMousedown: Function,\n role: String\n };\n};\nconst Overflow = defineComponent({\n name: 'Overflow',\n inheritAttrs: false,\n props: overflowProps(),\n emits: ['visibleChange'],\n setup(props, _ref) {\n let {\n attrs,\n emit,\n slots\n } = _ref;\n const fullySSR = computed(() => props.ssr === 'full');\n const containerWidth = shallowRef(null);\n const mergedContainerWidth = computed(() => containerWidth.value || 0);\n const itemWidths = shallowRef(new Map());\n const prevRestWidth = shallowRef(0);\n const restWidth = shallowRef(0);\n const suffixWidth = shallowRef(0);\n const suffixFixedStart = shallowRef(null);\n const displayCount = shallowRef(null);\n const mergedDisplayCount = computed(() => {\n if (displayCount.value === null && fullySSR.value) {\n return Number.MAX_SAFE_INTEGER;\n }\n return displayCount.value || 0;\n });\n const restReady = shallowRef(false);\n const itemPrefixCls = computed(() => `${props.prefixCls}-item`);\n // Always use the max width to avoid blink\n const mergedRestWidth = computed(() => Math.max(prevRestWidth.value, restWidth.value));\n // ================================= Data =================================\n const isResponsive = computed(() => !!(props.data.length && props.maxCount === RESPONSIVE));\n const invalidate = computed(() => props.maxCount === INVALIDATE);\n /**\n * When is `responsive`, we will always render rest node to get the real width of it for calculation\n */\n const showRest = computed(() => isResponsive.value || typeof props.maxCount === 'number' && props.data.length > props.maxCount);\n const mergedData = computed(() => {\n let items = props.data;\n if (isResponsive.value) {\n if (containerWidth.value === null && fullySSR.value) {\n items = props.data;\n } else {\n items = props.data.slice(0, Math.min(props.data.length, mergedContainerWidth.value / props.itemWidth));\n }\n } else if (typeof props.maxCount === 'number') {\n items = props.data.slice(0, props.maxCount);\n }\n return items;\n });\n const omittedItems = computed(() => {\n if (isResponsive.value) {\n return props.data.slice(mergedDisplayCount.value + 1);\n }\n return props.data.slice(mergedData.value.length);\n });\n // ================================= Item =================================\n const getKey = (item, index) => {\n var _a;\n if (typeof props.itemKey === 'function') {\n return props.itemKey(item);\n }\n return (_a = props.itemKey && (item === null || item === void 0 ? void 0 : item[props.itemKey])) !== null && _a !== void 0 ? _a : index;\n };\n const mergedRenderItem = computed(() => props.renderItem || (item => item));\n const updateDisplayCount = (count, notReady) => {\n displayCount.value = count;\n if (!notReady) {\n restReady.value = count < props.data.length - 1;\n emit('visibleChange', count);\n }\n };\n // ================================= Size =================================\n const onOverflowResize = (_, element) => {\n containerWidth.value = element.clientWidth;\n };\n const registerSize = (key, width) => {\n const clone = new Map(itemWidths.value);\n if (width === null) {\n clone.delete(key);\n } else {\n clone.set(key, width);\n }\n itemWidths.value = clone;\n };\n const registerOverflowSize = (_, width) => {\n prevRestWidth.value = restWidth.value;\n restWidth.value = width;\n };\n const registerSuffixSize = (_, width) => {\n suffixWidth.value = width;\n };\n // ================================ Effect ================================\n const getItemWidth = index => {\n return itemWidths.value.get(getKey(mergedData.value[index], index));\n };\n watch([mergedContainerWidth, itemWidths, restWidth, suffixWidth, () => props.itemKey, mergedData], () => {\n if (mergedContainerWidth.value && mergedRestWidth.value && mergedData.value) {\n let totalWidth = suffixWidth.value;\n const len = mergedData.value.length;\n const lastIndex = len - 1;\n // When data count change to 0, reset this since not loop will reach\n if (!len) {\n updateDisplayCount(0);\n suffixFixedStart.value = null;\n return;\n }\n for (let i = 0; i < len; i += 1) {\n const currentItemWidth = getItemWidth(i);\n // Break since data not ready\n if (currentItemWidth === undefined) {\n updateDisplayCount(i - 1, true);\n break;\n }\n // Find best match\n totalWidth += currentItemWidth;\n if (\n // Only one means `totalWidth` is the final width\n lastIndex === 0 && totalWidth <= mergedContainerWidth.value ||\n // Last two width will be the final width\n i === lastIndex - 1 && totalWidth + getItemWidth(lastIndex) <= mergedContainerWidth.value) {\n // Additional check if match the end\n updateDisplayCount(lastIndex);\n suffixFixedStart.value = null;\n break;\n } else if (totalWidth + mergedRestWidth.value > mergedContainerWidth.value) {\n // Can not hold all the content to show rest\n updateDisplayCount(i - 1);\n suffixFixedStart.value = totalWidth - currentItemWidth - suffixWidth.value + restWidth.value;\n break;\n }\n }\n if (props.suffix && getItemWidth(0) + suffixWidth.value > mergedContainerWidth.value) {\n suffixFixedStart.value = null;\n }\n }\n });\n return () => {\n // ================================ Render ================================\n const displayRest = restReady.value && !!omittedItems.value.length;\n const {\n itemComponent,\n renderRawItem,\n renderRawRest,\n renderRest,\n prefixCls = 'rc-overflow',\n suffix,\n component: Component = 'div',\n id,\n onMousedown\n } = props;\n const {\n class: className,\n style\n } = attrs,\n restAttrs = __rest(attrs, [\"class\", \"style\"]);\n let suffixStyle = {};\n if (suffixFixedStart.value !== null && isResponsive.value) {\n suffixStyle = {\n position: 'absolute',\n left: `${suffixFixedStart.value}px`,\n top: 0\n };\n }\n const itemSharedProps = {\n prefixCls: itemPrefixCls.value,\n responsive: isResponsive.value,\n component: itemComponent,\n invalidate: invalidate.value\n };\n // >>>>> Choice render fun by `renderRawItem`\n const internalRenderItemNode = renderRawItem ? (item, index) => {\n const key = getKey(item, index);\n return _createVNode(OverflowContextProvider, {\n \"key\": key,\n \"value\": _extends(_extends({}, itemSharedProps), {\n order: index,\n item,\n itemKey: key,\n registerSize,\n display: index <= mergedDisplayCount.value\n })\n }, {\n default: () => [renderRawItem(item, index)]\n });\n } : (item, index) => {\n const key = getKey(item, index);\n return _createVNode(Item, _objectSpread(_objectSpread({}, itemSharedProps), {}, {\n \"order\": index,\n \"key\": key,\n \"item\": item,\n \"renderItem\": mergedRenderItem.value,\n \"itemKey\": key,\n \"registerSize\": registerSize,\n \"display\": index <= mergedDisplayCount.value\n }), null);\n };\n // >>>>> Rest node\n let restNode = () => null;\n const restContextProps = {\n order: displayRest ? mergedDisplayCount.value : Number.MAX_SAFE_INTEGER,\n className: `${itemPrefixCls.value} ${itemPrefixCls.value}-rest`,\n registerSize: registerOverflowSize,\n display: displayRest\n };\n if (!renderRawRest) {\n const mergedRenderRest = renderRest || defaultRenderRest;\n restNode = () => _createVNode(Item, _objectSpread(_objectSpread({}, itemSharedProps), restContextProps), {\n default: () => typeof mergedRenderRest === 'function' ? mergedRenderRest(omittedItems.value) : mergedRenderRest\n });\n } else if (renderRawRest) {\n restNode = () => _createVNode(OverflowContextProvider, {\n \"value\": _extends(_extends({}, itemSharedProps), restContextProps)\n }, {\n default: () => [renderRawRest(omittedItems.value)]\n });\n }\n const overflowNode = () => {\n var _a;\n return _createVNode(Component, _objectSpread({\n \"id\": id,\n \"class\": classNames(!invalidate.value && prefixCls, className),\n \"style\": style,\n \"onMousedown\": onMousedown,\n \"role\": props.role\n }, restAttrs), {\n default: () => [mergedData.value.map(internalRenderItemNode), showRest.value ? restNode() : null, suffix && _createVNode(Item, _objectSpread(_objectSpread({}, itemSharedProps), {}, {\n \"order\": mergedDisplayCount.value,\n \"class\": `${itemPrefixCls.value}-suffix`,\n \"registerSize\": registerSuffixSize,\n \"display\": true,\n \"style\": suffixStyle\n }), {\n default: () => suffix\n }), (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]\n });\n };\n // 使用 disabled 避免结构不一致 导致子组件 rerender\n return _createVNode(ResizeObserver, {\n \"disabled\": !isResponsive.value,\n \"onResize\": onOverflowResize\n }, {\n default: overflowNode\n });\n };\n }\n});\nOverflow.Item = RawItem;\nOverflow.RESPONSIVE = RESPONSIVE;\nOverflow.INVALIDATE = INVALIDATE;\nexport default Overflow;","import { toRaw, watchEffect, unref, watch, ref } from 'vue';\nexport default function useMergedState(defaultStateValue, option) {\n const {\n defaultValue,\n value = ref()\n } = option || {};\n let initValue = typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n if (value.value !== undefined) {\n initValue = unref(value);\n }\n if (defaultValue !== undefined) {\n initValue = typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n }\n const innerValue = ref(initValue);\n const mergedValue = ref(initValue);\n watchEffect(() => {\n let val = value.value !== undefined ? value.value : innerValue.value;\n if (option.postState) {\n val = option.postState(val);\n }\n mergedValue.value = val;\n });\n function triggerChange(newValue) {\n const preVal = mergedValue.value;\n innerValue.value = newValue;\n if (toRaw(mergedValue.value) !== newValue && option.onChange) {\n option.onChange(newValue, preVal);\n }\n }\n // Effect of reset value to `undefined`\n watch(value, () => {\n innerValue.value = value.value;\n });\n return [mergedValue, triggerChange];\n}","// This icon file is generated automatically.\nvar DownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\" } }] }, \"name\": \"down\", \"theme\": \"outlined\" };\nexport default DownOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport DownOutlinedSvg from \"@ant-design/icons-svg/es/asn/DownOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar DownOutlined = function DownOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": DownOutlinedSvg\n }), null);\n};\n\nDownOutlined.displayName = 'DownOutlined';\nDownOutlined.inheritAttrs = false;\nexport default DownOutlined;","// This icon file is generated automatically.\nvar CloseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"fill-rule\": \"evenodd\", \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.12.12 0 010 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 010 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 01-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 01-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7c-.04-.03-.05-.05-.06-.07a.12.12 0 010-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7c-.04-.04-.05-.06-.06-.09a.12.12 0 010-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 01.07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 01.07 0z\" } }] }, \"name\": \"close\", \"theme\": \"outlined\" };\nexport default CloseOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport CloseOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloseOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CloseOutlined = function CloseOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": CloseOutlinedSvg\n }), null);\n};\n\nCloseOutlined.displayName = 'CloseOutlined';\nCloseOutlined.inheritAttrs = false;\nexport default CloseOutlined;","// This icon file is generated automatically.\nvar CloseCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"fill-rule\": \"evenodd\", \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm127.98 274.82h-.04l-.08.06L512 466.75 384.14 338.88c-.04-.05-.06-.06-.08-.06a.12.12 0 00-.07 0c-.03 0-.05.01-.09.05l-45.02 45.02a.2.2 0 00-.05.09.12.12 0 000 .07v.02a.27.27 0 00.06.06L466.75 512 338.88 639.86c-.05.04-.06.06-.06.08a.12.12 0 000 .07c0 .03.01.05.05.09l45.02 45.02a.2.2 0 00.09.05.12.12 0 00.07 0c.02 0 .04-.01.08-.05L512 557.25l127.86 127.87c.04.04.06.05.08.05a.12.12 0 00.07 0c.03 0 .05-.01.09-.05l45.02-45.02a.2.2 0 00.05-.09.12.12 0 000-.07v-.02a.27.27 0 00-.05-.06L557.25 512l127.87-127.86c.04-.04.05-.06.05-.08a.12.12 0 000-.07c0-.03-.01-.05-.05-.09l-45.02-45.02a.2.2 0 00-.09-.05.12.12 0 00-.07 0z\" } }] }, \"name\": \"close-circle\", \"theme\": \"filled\" };\nexport default CloseCircleFilled;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport CloseCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CloseCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CloseCircleFilled = function CloseCircleFilled(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": CloseCircleFilledSvg\n }), null);\n};\n\nCloseCircleFilled.displayName = 'CloseCircleFilled';\nCloseCircleFilled.inheritAttrs = false;\nexport default CloseCircleFilled;","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nexport default baseFindIndex;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nexport default baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nexport default strictIndexOf;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIsNaN from './_baseIsNaN.js';\nimport strictIndexOf from './_strictIndexOf.js';\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nexport default baseIndexOf;\n","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nexport default arrayIncludes;\n","import Set from './_Set.js';\nimport noop from './noop.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nexport default createSet;\n","import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport cacheHas from './_cacheHas.js';\nimport createSet from './_createSet.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseUniq;\n","import baseUniq from './_baseUniq.js';\n\n/**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\nfunction uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n}\n\nexport default uniq;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nconst initMotionCommon = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\n// FIXME: origin less code seems same as initMotionCommon. Maybe we can safe remove\nconst initMotionCommonLeave = duration => ({\n animationDuration: duration,\n animationFillMode: 'both'\n});\nexport const initMotion = function (motionCls, inKeyframes, outKeyframes, duration) {\n let sameLevel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: _extends(_extends({}, initMotionCommon(duration)), {\n animationPlayState: 'paused'\n }),\n [`${sameLevelPrefix}${motionCls}-leave`]: _extends(_extends({}, initMotionCommonLeave(duration)), {\n animationPlayState: 'paused'\n }),\n [`\n ${sameLevelPrefix}${motionCls}-enter${motionCls}-enter-active,\n ${sameLevelPrefix}${motionCls}-appear${motionCls}-appear-active\n `]: {\n animationName: inKeyframes,\n animationPlayState: 'running'\n },\n [`${sameLevelPrefix}${motionCls}-leave${motionCls}-leave-active`]: {\n animationName: outKeyframes,\n animationPlayState: 'running',\n pointerEvents: 'none'\n }\n };\n};","import { Keyframes } from '../../_util/cssinjs';\nimport { initMotion } from './motion';\nexport const fadeIn = new Keyframes('antFadeIn', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\nexport const fadeOut = new Keyframes('antFadeOut', {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n});\nexport const initFadeMotion = function (token) {\n let sameLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-fade`;\n const sameLevelPrefix = sameLevel ? '&' : '';\n return [initMotion(motionCls, fadeIn, fadeOut, token.motionDurationMid, sameLevel), {\n [`\n ${sameLevelPrefix}${motionCls}-enter,\n ${sameLevelPrefix}${motionCls}-appear\n `]: {\n opacity: 0,\n animationTimingFunction: 'linear'\n },\n [`${sameLevelPrefix}${motionCls}-leave`]: {\n animationTimingFunction: 'linear'\n }\n }];\n};","import { Keyframes } from '../../_util/cssinjs';\nimport { initMotion } from './motion';\nexport const moveDownIn = new Keyframes('antMoveDownIn', {\n '0%': {\n transform: 'translate3d(0, 100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveDownOut = new Keyframes('antMoveDownOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(0, 100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveLeftIn = new Keyframes('antMoveLeftIn', {\n '0%': {\n transform: 'translate3d(-100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveLeftOut = new Keyframes('antMoveLeftOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(-100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveRightIn = new Keyframes('antMoveRightIn', {\n '0%': {\n transform: 'translate3d(100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveRightOut = new Keyframes('antMoveRightOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(100%, 0, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nexport const moveUpIn = new Keyframes('antMoveUpIn', {\n '0%': {\n transform: 'translate3d(0, -100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n },\n '100%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n }\n});\nexport const moveUpOut = new Keyframes('antMoveUpOut', {\n '0%': {\n transform: 'translate3d(0, 0, 0)',\n transformOrigin: '0 0',\n opacity: 1\n },\n '100%': {\n transform: 'translate3d(0, -100%, 0)',\n transformOrigin: '0 0',\n opacity: 0\n }\n});\nconst moveMotion = {\n 'move-up': {\n inKeyframes: moveUpIn,\n outKeyframes: moveUpOut\n },\n 'move-down': {\n inKeyframes: moveDownIn,\n outKeyframes: moveDownOut\n },\n 'move-left': {\n inKeyframes: moveLeftIn,\n outKeyframes: moveLeftOut\n },\n 'move-right': {\n inKeyframes: moveRightIn,\n outKeyframes: moveRightOut\n }\n};\nexport const initMoveMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = moveMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInOutCirc\n }\n }];\n};","import { Keyframes } from '../../_util/cssinjs';\nimport { initMotion } from './motion';\nexport const slideUpIn = new Keyframes('antSlideUpIn', {\n '0%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleY(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n }\n});\nexport const slideUpOut = new Keyframes('antSlideUpOut', {\n '0%': {\n transform: 'scaleY(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n }\n});\nexport const slideDownIn = new Keyframes('antSlideDownIn', {\n '0%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '100% 100%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleY(1)',\n transformOrigin: '100% 100%',\n opacity: 1\n }\n});\nexport const slideDownOut = new Keyframes('antSlideDownOut', {\n '0%': {\n transform: 'scaleY(1)',\n transformOrigin: '100% 100%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleY(0.8)',\n transformOrigin: '100% 100%',\n opacity: 0\n }\n});\nexport const slideLeftIn = new Keyframes('antSlideLeftIn', {\n '0%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleX(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n }\n});\nexport const slideLeftOut = new Keyframes('antSlideLeftOut', {\n '0%': {\n transform: 'scaleX(1)',\n transformOrigin: '0% 0%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '0% 0%',\n opacity: 0\n }\n});\nexport const slideRightIn = new Keyframes('antSlideRightIn', {\n '0%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '100% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scaleX(1)',\n transformOrigin: '100% 0%',\n opacity: 1\n }\n});\nexport const slideRightOut = new Keyframes('antSlideRightOut', {\n '0%': {\n transform: 'scaleX(1)',\n transformOrigin: '100% 0%',\n opacity: 1\n },\n '100%': {\n transform: 'scaleX(0.8)',\n transformOrigin: '100% 0%',\n opacity: 0\n }\n});\nconst slideMotion = {\n 'slide-up': {\n inKeyframes: slideUpIn,\n outKeyframes: slideUpOut\n },\n 'slide-down': {\n inKeyframes: slideDownIn,\n outKeyframes: slideDownOut\n },\n 'slide-left': {\n inKeyframes: slideLeftIn,\n outKeyframes: slideLeftOut\n },\n 'slide-right': {\n inKeyframes: slideRightIn,\n outKeyframes: slideRightOut\n }\n};\nexport const initSlideMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = slideMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n transform: 'scale(0)',\n transformOrigin: '0% 0%',\n opacity: 0,\n animationTimingFunction: token.motionEaseOutQuint\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInQuint\n }\n }];\n};","import { Keyframes } from '../../_util/cssinjs';\nimport { initMotion } from './motion';\nexport const zoomIn = new Keyframes('antZoomIn', {\n '0%': {\n transform: 'scale(0.2)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomOut = new Keyframes('antZoomOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.2)',\n opacity: 0\n }\n});\nexport const zoomBigIn = new Keyframes('antZoomBigIn', {\n '0%': {\n transform: 'scale(0.8)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport const zoomBigOut = new Keyframes('antZoomBigOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.8)',\n opacity: 0\n }\n});\nexport const zoomUpIn = new Keyframes('antZoomUpIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n }\n});\nexport const zoomUpOut = new Keyframes('antZoomUpOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n }\n});\nexport const zoomLeftIn = new Keyframes('antZoomLeftIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n }\n});\nexport const zoomLeftOut = new Keyframes('antZoomLeftOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n }\n});\nexport const zoomRightIn = new Keyframes('antZoomRightIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n }\n});\nexport const zoomRightOut = new Keyframes('antZoomRightOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n }\n});\nexport const zoomDownIn = new Keyframes('antZoomDownIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n }\n});\nexport const zoomDownOut = new Keyframes('antZoomDownOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n }\n});\nconst zoomMotion = {\n zoom: {\n inKeyframes: zoomIn,\n outKeyframes: zoomOut\n },\n 'zoom-big': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-big-fast': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-left': {\n inKeyframes: zoomLeftIn,\n outKeyframes: zoomLeftOut\n },\n 'zoom-right': {\n inKeyframes: zoomRightIn,\n outKeyframes: zoomRightOut\n },\n 'zoom-up': {\n inKeyframes: zoomUpIn,\n outKeyframes: zoomUpOut\n },\n 'zoom-down': {\n inKeyframes: zoomDownIn,\n outKeyframes: zoomDownOut\n }\n};\nexport const initZoomMotion = (token, motionName) => {\n const {\n antCls\n } = token;\n const motionCls = `${antCls}-${motionName}`;\n const {\n inKeyframes,\n outKeyframes\n } = zoomMotion[motionName];\n return [initMotion(motionCls, inKeyframes, outKeyframes, motionName === 'zoom-big-fast' ? token.motionDurationFast : token.motionDurationMid), {\n [`\n ${motionCls}-enter,\n ${motionCls}-appear\n `]: {\n transform: 'scale(0)',\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc,\n '&-prepare': {\n transform: 'none'\n }\n },\n [`${motionCls}-leave`]: {\n animationTimingFunction: token.motionEaseInOutCirc\n }\n }];\n};","const genCollapseMotion = token => ({\n [token.componentCls]: {\n // For common/openAnimation\n [`${token.antCls}-motion-collapse-legacy`]: {\n overflow: 'hidden',\n '&-active': {\n transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},\n opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`\n }\n },\n [`${token.antCls}-motion-collapse`]: {\n overflow: 'hidden',\n transition: `height ${token.motionDurationMid} ${token.motionEaseInOut},\n opacity ${token.motionDurationMid} ${token.motionEaseInOut} !important`\n }\n }\n});\nexport default genCollapseMotion;","// This icon file is generated automatically.\nvar CheckCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M699 353h-46.9c-10.2 0-19.9 4.9-25.9 13.3L469 584.3l-71.2-98.8c-6-8.3-15.6-13.3-25.9-13.3H325c-6.5 0-10.3 7.4-6.5 12.7l124.6 172.8a31.8 31.8 0 0051.7 0l210.6-292c3.9-5.3.1-12.7-6.4-12.7z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }] }, \"name\": \"check-circle\", \"theme\": \"outlined\" };\nexport default CheckCircleOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport CheckCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/CheckCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CheckCircleOutlined = function CheckCircleOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": CheckCircleOutlinedSvg\n }), null);\n};\n\nCheckCircleOutlined.displayName = 'CheckCircleOutlined';\nCheckCircleOutlined.inheritAttrs = false;\nexport default CheckCircleOutlined;","// This icon file is generated automatically.\nvar ExclamationCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M464 688a48 48 0 1096 0 48 48 0 10-96 0zm24-112h48c4.4 0 8-3.6 8-8V296c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"outlined\" };\nexport default ExclamationCircleOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport ExclamationCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/ExclamationCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar ExclamationCircleOutlined = function ExclamationCircleOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": ExclamationCircleOutlinedSvg\n }), null);\n};\n\nExclamationCircleOutlined.displayName = 'ExclamationCircleOutlined';\nExclamationCircleOutlined.inheritAttrs = false;\nexport default ExclamationCircleOutlined;","// This icon file is generated automatically.\nvar InfoCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M464 336a48 48 0 1096 0 48 48 0 10-96 0zm72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"info-circle\", \"theme\": \"outlined\" };\nexport default InfoCircleOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport InfoCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/InfoCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar InfoCircleOutlined = function InfoCircleOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": InfoCircleOutlinedSvg\n }), null);\n};\n\nInfoCircleOutlined.displayName = 'InfoCircleOutlined';\nInfoCircleOutlined.inheritAttrs = false;\nexport default InfoCircleOutlined;","// This icon file is generated automatically.\nvar CloseCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"fill-rule\": \"evenodd\", \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64c247.4 0 448 200.6 448 448S759.4 960 512 960 64 759.4 64 512 264.6 64 512 64zm0 76c-205.4 0-372 166.6-372 372s166.6 372 372 372 372-166.6 372-372-166.6-372-372-372zm128.01 198.83c.03 0 .05.01.09.06l45.02 45.01a.2.2 0 01.05.09.12.12 0 010 .07c0 .02-.01.04-.05.08L557.25 512l127.87 127.86a.27.27 0 01.05.06v.02a.12.12 0 010 .07c0 .03-.01.05-.05.09l-45.02 45.02a.2.2 0 01-.09.05.12.12 0 01-.07 0c-.02 0-.04-.01-.08-.05L512 557.25 384.14 685.12c-.04.04-.06.05-.08.05a.12.12 0 01-.07 0c-.03 0-.05-.01-.09-.05l-45.02-45.02a.2.2 0 01-.05-.09.12.12 0 010-.07c0-.02.01-.04.06-.08L466.75 512 338.88 384.14a.27.27 0 01-.05-.06l-.01-.02a.12.12 0 010-.07c0-.03.01-.05.05-.09l45.02-45.02a.2.2 0 01.09-.05.12.12 0 01.07 0c.02 0 .04.01.08.06L512 466.75l127.86-127.86c.04-.05.06-.06.08-.06a.12.12 0 01.07 0z\" } }] }, \"name\": \"close-circle\", \"theme\": \"outlined\" };\nexport default CloseCircleOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport CloseCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloseCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CloseCircleOutlined = function CloseCircleOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": CloseCircleOutlinedSvg\n }), null);\n};\n\nCloseCircleOutlined.displayName = 'CloseCircleOutlined';\nCloseCircleOutlined.inheritAttrs = false;\nexport default CloseCircleOutlined;","// This icon file is generated automatically.\nvar CheckCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\" } }] }, \"name\": \"check-circle\", \"theme\": \"filled\" };\nexport default CheckCircleFilled;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport CheckCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CheckCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar CheckCircleFilled = function CheckCircleFilled(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": CheckCircleFilledSvg\n }), null);\n};\n\nCheckCircleFilled.displayName = 'CheckCircleFilled';\nCheckCircleFilled.inheritAttrs = false;\nexport default CheckCircleFilled;","// This icon file is generated automatically.\nvar ExclamationCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"filled\" };\nexport default ExclamationCircleFilled;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport ExclamationCircleFilledSvg from \"@ant-design/icons-svg/es/asn/ExclamationCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar ExclamationCircleFilled = function ExclamationCircleFilled(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": ExclamationCircleFilledSvg\n }), null);\n};\n\nExclamationCircleFilled.displayName = 'ExclamationCircleFilled';\nExclamationCircleFilled.inheritAttrs = false;\nexport default ExclamationCircleFilled;","// This icon file is generated automatically.\nvar InfoCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"info-circle\", \"theme\": \"filled\" };\nexport default InfoCircleFilled;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport InfoCircleFilledSvg from \"@ant-design/icons-svg/es/asn/InfoCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar InfoCircleFilled = function InfoCircleFilled(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": InfoCircleFilledSvg\n }), null);\n};\n\nInfoCircleFilled.displayName = 'InfoCircleFilled';\nInfoCircleFilled.inheritAttrs = false;\nexport default InfoCircleFilled;","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nconst targetOffset = [0, 0];\nexport const placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset\n }\n};\nexport default placements;","import { createVNode as _createVNode } from \"vue\";\nimport { defineComponent } from 'vue';\nimport PropTypes from '../../_util/vue-types';\nconst tooltipContentProps = {\n prefixCls: String,\n id: String,\n overlayInnerStyle: PropTypes.any\n};\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'TooltipContent',\n props: tooltipContentProps,\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n return () => {\n var _a;\n return _createVNode(\"div\", {\n \"class\": `${props.prefixCls}-inner`,\n \"id\": props.id,\n \"role\": \"tooltip\",\n \"style\": props.overlayInnerStyle\n }, [(_a = slots.overlay) === null || _a === void 0 ? void 0 : _a.call(slots)]);\n };\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport PropTypes from '../../_util/vue-types';\nimport Trigger from '../../vc-trigger';\nimport { placements } from './placements';\nimport Content from './Content';\nimport { getPropsSlot } from '../../_util/props-util';\nimport { defineComponent, shallowRef, watchEffect } from 'vue';\nfunction noop() {}\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'Tooltip',\n inheritAttrs: false,\n props: {\n trigger: PropTypes.any.def(['hover']),\n defaultVisible: {\n type: Boolean,\n default: undefined\n },\n visible: {\n type: Boolean,\n default: undefined\n },\n placement: PropTypes.string.def('right'),\n transitionName: String,\n animation: PropTypes.any,\n afterVisibleChange: PropTypes.func.def(() => {}),\n overlayStyle: {\n type: Object,\n default: undefined\n },\n overlayClassName: String,\n prefixCls: PropTypes.string.def('rc-tooltip'),\n mouseEnterDelay: PropTypes.number.def(0.1),\n mouseLeaveDelay: PropTypes.number.def(0.1),\n getPopupContainer: Function,\n destroyTooltipOnHide: {\n type: Boolean,\n default: false\n },\n align: PropTypes.object.def(() => ({})),\n arrowContent: PropTypes.any.def(null),\n tipId: String,\n builtinPlacements: PropTypes.object,\n overlayInnerStyle: {\n type: Object,\n default: undefined\n },\n popupVisible: {\n type: Boolean,\n default: undefined\n },\n onVisibleChange: Function,\n onPopupAlign: Function,\n arrow: {\n type: Boolean,\n default: true\n }\n },\n setup(props, _ref) {\n let {\n slots,\n attrs,\n expose\n } = _ref;\n const triggerDOM = shallowRef();\n const getPopupElement = () => {\n const {\n prefixCls,\n tipId,\n overlayInnerStyle\n } = props;\n return [!!props.arrow ? _createVNode(\"div\", {\n \"class\": `${prefixCls}-arrow`,\n \"key\": \"arrow\"\n }, [getPropsSlot(slots, props, 'arrowContent')]) : null, _createVNode(Content, {\n \"key\": \"content\",\n \"prefixCls\": prefixCls,\n \"id\": tipId,\n \"overlayInnerStyle\": overlayInnerStyle\n }, {\n overlay: slots.overlay\n })];\n };\n const getPopupDomNode = () => {\n return triggerDOM.value.getPopupDomNode();\n };\n expose({\n getPopupDomNode,\n triggerDOM,\n forcePopupAlign: () => {\n var _a;\n return (_a = triggerDOM.value) === null || _a === void 0 ? void 0 : _a.forcePopupAlign();\n }\n });\n const destroyTooltip = shallowRef(false);\n const autoDestroy = shallowRef(false);\n watchEffect(() => {\n const {\n destroyTooltipOnHide\n } = props;\n if (typeof destroyTooltipOnHide === 'boolean') {\n destroyTooltip.value = destroyTooltipOnHide;\n } else if (destroyTooltipOnHide && typeof destroyTooltipOnHide === 'object') {\n const {\n keepParent\n } = destroyTooltipOnHide;\n destroyTooltip.value = keepParent === true;\n autoDestroy.value = keepParent === false;\n }\n });\n return () => {\n const {\n overlayClassName,\n trigger,\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayStyle,\n prefixCls,\n afterVisibleChange,\n transitionName,\n animation,\n placement,\n align,\n destroyTooltipOnHide,\n defaultVisible\n } = props,\n restProps = __rest(props, [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\"]);\n const extraProps = _extends({}, restProps);\n if (props.visible !== undefined) {\n extraProps.popupVisible = props.visible;\n }\n const triggerProps = _extends(_extends(_extends({\n popupClassName: overlayClassName,\n prefixCls,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n popupAlign: align,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltip.value,\n autoDestroy: autoDestroy.value,\n mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay\n }, extraProps), attrs), {\n onPopupVisibleChange: props.onVisibleChange || noop,\n onPopupAlign: props.onPopupAlign || noop,\n ref: triggerDOM,\n arrow: !!props.arrow,\n popup: getPopupElement()\n });\n return _createVNode(Trigger, triggerProps, {\n default: slots.default\n });\n };\n }\n});","import { objectType } from '../_util/type';\nexport default (() => ({\n trigger: [String, Array],\n open: {\n type: Boolean,\n default: undefined\n },\n /** @deprecated Please use `open` instead. */\n visible: {\n type: Boolean,\n default: undefined\n },\n placement: String,\n color: String,\n transitionName: String,\n overlayStyle: objectType(),\n overlayInnerStyle: objectType(),\n overlayClassName: String,\n openClassName: String,\n prefixCls: String,\n mouseEnterDelay: Number,\n mouseLeaveDelay: Number,\n getPopupContainer: Function,\n /**@deprecated Please use `arrow={{ pointAtCenter: true }}` instead. */\n arrowPointAtCenter: {\n type: Boolean,\n default: undefined\n },\n arrow: {\n type: [Boolean, Object],\n default: true\n },\n autoAdjustOverflow: {\n type: [Boolean, Object],\n default: undefined\n },\n destroyTooltipOnHide: {\n type: Boolean,\n default: undefined\n },\n align: objectType(),\n builtinPlacements: objectType(),\n children: Array,\n /** @deprecated Please use `onOpenChange` instead. */\n onVisibleChange: Function,\n /** @deprecated Please use `onUpdate:open` instead. */\n 'onUpdate:visible': Function,\n onOpenChange: Function,\n 'onUpdate:open': Function\n}));","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { placements } from '../vc-tooltip/src/placements';\nconst autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1\n};\nconst autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0\n};\nconst targetOffset = [0, 0];\nexport function getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n return _extends(_extends({}, autoAdjustOverflowDisabled), autoAdjustOverflow);\n}\nexport default function getPlacements(config) {\n const {\n arrowWidth = 4,\n horizontalArrowShift = 16,\n verticalArrowShift = 8,\n autoAdjustOverflow,\n arrowPointAtCenter\n } = config;\n const placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0]\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0]\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4]\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4]\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4]\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)]\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4]\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)]\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4]\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth]\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4]\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth]\n }\n };\n Object.keys(placementMap).forEach(key => {\n placementMap[key] = arrowPointAtCenter ? _extends(_extends({}, placementMap[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset\n }) : _extends(_extends({}, placements[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow)\n });\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}","function firstNotUndefined() {\n let arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n for (let i = 0, len = arr.length; i < len; i++) {\n if (arr[i] !== undefined) {\n return arr[i];\n }\n }\n return undefined;\n}\nexport default firstNotUndefined;","import { PresetColors } from '../theme/interface';\nconst inverseColors = PresetColors.map(color => `${color}-inverse`);\nexport const PresetStatusColorTypes = ['success', 'processing', 'error', 'default', 'warning'];\n/**\n * determine if the color keyword belongs to the `Ant Design` {@link PresetColors}.\n * @param color color to be judged\n * @param includeInverse whether to include reversed colors\n */\nexport function isPresetColor(color) {\n let includeInverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n if (includeInverse) {\n return [...inverseColors, ...PresetColors].includes(color);\n }\n return PresetColors.includes(color);\n}\nexport function isPresetStatusColor(color) {\n return PresetStatusColorTypes.includes(color);\n}","import classNames from '../_util/classNames';\nimport { isPresetColor } from '../_util/colors';\nexport function parseColor(prefixCls, color) {\n const isInternalColor = isPresetColor(color);\n const className = classNames({\n [`${prefixCls}-${color}`]: color && isInternalColor\n });\n const overlayStyle = {};\n const arrowStyle = {};\n if (color && !isInternalColor) {\n overlayStyle.background = color;\n // @ts-ignore\n arrowStyle['--antd-arrow-background-color'] = color;\n }\n return {\n className,\n overlayStyle,\n arrowStyle\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { roundedArrow } from './roundedArrow';\nfunction connectArrowCls(classList) {\n let showArrowCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return classList.map(cls => `${showArrowCls}${cls}`).join(',');\n}\nexport const MAX_VERTICAL_CONTENT_RADIUS = 8;\nexport function getArrowOffset(options) {\n const maxVerticalContentRadius = MAX_VERTICAL_CONTENT_RADIUS;\n const {\n sizePopupArrow,\n contentRadius,\n borderRadiusOuter,\n limitVerticalRadius\n } = options;\n const arrowInnerOffset = sizePopupArrow / 2 - Math.ceil(borderRadiusOuter * (Math.sqrt(2) - 1));\n const dropdownArrowOffset = (contentRadius > 12 ? contentRadius + 2 : 12) - arrowInnerOffset;\n const dropdownArrowOffsetVertical = limitVerticalRadius ? maxVerticalContentRadius - arrowInnerOffset : dropdownArrowOffset;\n return {\n dropdownArrowOffset,\n dropdownArrowOffsetVertical\n };\n}\nexport default function getArrowStyle(token, options) {\n const {\n componentCls,\n sizePopupArrow,\n marginXXS,\n borderRadiusXS,\n borderRadiusOuter,\n boxShadowPopoverArrow\n } = token;\n const {\n colorBg,\n showArrowCls,\n contentRadius = token.borderRadiusLG,\n limitVerticalRadius\n } = options;\n const {\n dropdownArrowOffsetVertical,\n dropdownArrowOffset\n } = getArrowOffset({\n sizePopupArrow,\n contentRadius,\n borderRadiusOuter,\n limitVerticalRadius\n });\n const dropdownArrowDistance = sizePopupArrow / 2 + marginXXS;\n return {\n [componentCls]: {\n // ============================ Basic ============================\n [`${componentCls}-arrow`]: [_extends(_extends({\n position: 'absolute',\n zIndex: 1,\n display: 'block'\n }, roundedArrow(sizePopupArrow, borderRadiusXS, borderRadiusOuter, colorBg, boxShadowPopoverArrow)), {\n '&:before': {\n background: colorBg\n }\n })],\n // ========================== Placement ==========================\n // Here handle the arrow position and rotate stuff\n // >>>>> Top\n [[`&-placement-top ${componentCls}-arrow`, `&-placement-topLeft ${componentCls}-arrow`, `&-placement-topRight ${componentCls}-arrow`].join(',')]: {\n bottom: 0,\n transform: 'translateY(100%) rotate(180deg)'\n },\n [`&-placement-top ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateX(-50%) translateY(100%) rotate(180deg)'\n },\n [`&-placement-topLeft ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n [`&-placement-topRight ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n // >>>>> Bottom\n [[`&-placement-bottom ${componentCls}-arrow`, `&-placement-bottomLeft ${componentCls}-arrow`, `&-placement-bottomRight ${componentCls}-arrow`].join(',')]: {\n top: 0,\n transform: `translateY(-100%)`\n },\n [`&-placement-bottom ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: `translateX(-50%) translateY(-100%)`\n },\n [`&-placement-bottomLeft ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n [`&-placement-bottomRight ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n // >>>>> Left\n [[`&-placement-left ${componentCls}-arrow`, `&-placement-leftTop ${componentCls}-arrow`, `&-placement-leftBottom ${componentCls}-arrow`].join(',')]: {\n right: {\n _skip_check_: true,\n value: 0\n },\n transform: 'translateX(100%) rotate(90deg)'\n },\n [`&-placement-left ${componentCls}-arrow`]: {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(100%) rotate(90deg)'\n },\n [`&-placement-leftTop ${componentCls}-arrow`]: {\n top: dropdownArrowOffsetVertical\n },\n [`&-placement-leftBottom ${componentCls}-arrow`]: {\n bottom: dropdownArrowOffsetVertical\n },\n // >>>>> Right\n [[`&-placement-right ${componentCls}-arrow`, `&-placement-rightTop ${componentCls}-arrow`, `&-placement-rightBottom ${componentCls}-arrow`].join(',')]: {\n left: {\n _skip_check_: true,\n value: 0\n },\n transform: 'translateX(-100%) rotate(-90deg)'\n },\n [`&-placement-right ${componentCls}-arrow`]: {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(-100%) rotate(-90deg)'\n },\n [`&-placement-rightTop ${componentCls}-arrow`]: {\n top: dropdownArrowOffsetVertical\n },\n [`&-placement-rightBottom ${componentCls}-arrow`]: {\n bottom: dropdownArrowOffsetVertical\n },\n // =========================== Offset ============================\n // Offset the popover to account for the dropdown arrow\n // >>>>> Top\n [connectArrowCls([`&-placement-topLeft`, `&-placement-top`, `&-placement-topRight`].map(cls => cls += ':not(&-arrow-hidden)'), showArrowCls)]: {\n paddingBottom: dropdownArrowDistance\n },\n // >>>>> Bottom\n [connectArrowCls([`&-placement-bottomLeft`, `&-placement-bottom`, `&-placement-bottomRight`].map(cls => cls += ':not(&-arrow-hidden)'), showArrowCls)]: {\n paddingTop: dropdownArrowDistance\n },\n // >>>>> Left\n [connectArrowCls([`&-placement-leftTop`, `&-placement-left`, `&-placement-leftBottom`].map(cls => cls += ':not(&-arrow-hidden)'), showArrowCls)]: {\n paddingRight: {\n _skip_check_: true,\n value: dropdownArrowDistance\n }\n },\n // >>>>> Right\n [connectArrowCls([`&-placement-rightTop`, `&-placement-right`, `&-placement-rightBottom`].map(cls => cls += ':not(&-arrow-hidden)'), showArrowCls)]: {\n paddingLeft: {\n _skip_check_: true,\n value: dropdownArrowDistance\n }\n }\n }\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { genPresetColor, resetComponent } from '../../style';\nimport getArrowStyle, { MAX_VERTICAL_CONTENT_RADIUS } from '../../style/placementArrow';\nimport 'vue';\nconst genTooltipStyle = token => {\n const {\n componentCls,\n // ant-tooltip\n tooltipMaxWidth,\n tooltipColor,\n tooltipBg,\n tooltipBorderRadius,\n zIndexPopup,\n controlHeight,\n boxShadowSecondary,\n paddingSM,\n paddingXS,\n tooltipRadiusOuter\n } = token;\n return [{\n [componentCls]: _extends(_extends(_extends(_extends({}, resetComponent(token)), {\n position: 'absolute',\n zIndex: zIndexPopup,\n display: 'block',\n '&': [{\n width: 'max-content'\n }, {\n width: 'intrinsic'\n }],\n maxWidth: tooltipMaxWidth,\n visibility: 'visible',\n '&-hidden': {\n display: 'none'\n },\n '--antd-arrow-background-color': tooltipBg,\n // Wrapper for the tooltip content\n [`${componentCls}-inner`]: {\n minWidth: controlHeight,\n minHeight: controlHeight,\n padding: `${paddingSM / 2}px ${paddingXS}px`,\n color: tooltipColor,\n textAlign: 'start',\n textDecoration: 'none',\n wordWrap: 'break-word',\n backgroundColor: tooltipBg,\n borderRadius: tooltipBorderRadius,\n boxShadow: boxShadowSecondary\n },\n // Limit left and right placement radius\n [[`&-placement-left`, `&-placement-leftTop`, `&-placement-leftBottom`, `&-placement-right`, `&-placement-rightTop`, `&-placement-rightBottom`].join(',')]: {\n [`${componentCls}-inner`]: {\n borderRadius: Math.min(tooltipBorderRadius, MAX_VERTICAL_CONTENT_RADIUS)\n }\n },\n [`${componentCls}-content`]: {\n position: 'relative'\n }\n }), genPresetColor(token, (colorKey, _ref) => {\n let {\n darkColor\n } = _ref;\n return {\n [`&${componentCls}-${colorKey}`]: {\n [`${componentCls}-inner`]: {\n backgroundColor: darkColor\n },\n [`${componentCls}-arrow`]: {\n '--antd-arrow-background-color': darkColor\n }\n }\n };\n })), {\n // RTL\n '&-rtl': {\n direction: 'rtl'\n }\n })\n },\n // Arrow Style\n getArrowStyle(mergeToken(token, {\n borderRadiusOuter: tooltipRadiusOuter\n }), {\n colorBg: 'var(--antd-arrow-background-color)',\n showArrowCls: '',\n contentRadius: tooltipBorderRadius,\n limitVerticalRadius: true\n }),\n // Pure Render\n {\n [`${componentCls}-pure`]: {\n position: 'relative',\n maxWidth: 'none'\n }\n }];\n};\n// ============================== Export ==============================\nexport default ((prefixCls, injectStyle) => {\n const useOriginHook = genComponentStyleHook('Tooltip', token => {\n // Popover use Tooltip as internal component. We do not need to handle this.\n if ((injectStyle === null || injectStyle === void 0 ? void 0 : injectStyle.value) === false) {\n return [];\n }\n const {\n borderRadius,\n colorTextLightSolid,\n colorBgDefault,\n borderRadiusOuter\n } = token;\n const TooltipToken = mergeToken(token, {\n // default variables\n tooltipMaxWidth: 250,\n tooltipColor: colorTextLightSolid,\n tooltipBorderRadius: borderRadius,\n tooltipBg: colorBgDefault,\n tooltipRadiusOuter: borderRadiusOuter > 4 ? 4 : borderRadiusOuter\n });\n return [genTooltipStyle(TooltipToken), initZoomMotion(token, 'zoom-big-fast')];\n }, _ref2 => {\n let {\n zIndexPopupBase,\n colorBgSpotlight\n } = _ref2;\n return {\n zIndexPopup: zIndexPopupBase + 70,\n colorBgDefault: colorBgSpotlight\n };\n });\n return useOriginHook(prefixCls);\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport { computed, watch, defineComponent, ref } from 'vue';\nimport VcTooltip from '../vc-tooltip';\nimport classNames from '../_util/classNames';\nimport PropTypes from '../_util/vue-types';\nimport warning from '../_util/warning';\nimport { getStyle, filterEmpty, isValidElement, initDefaultProps, isFragment } from '../_util/props-util';\nimport { cloneElement } from '../_util/vnode';\nimport abstractTooltipProps from './abstractTooltipProps';\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport getPlacements from '../_util/placements';\nimport firstNotUndefined from '../_util/firstNotUndefined';\nimport raf from '../_util/raf';\nimport { parseColor } from './util';\nimport useStyle from './style';\nimport { getTransitionName } from '../_util/transition';\nconst splitObject = (obj, keys) => {\n const picked = {};\n const omitted = _extends({}, obj);\n keys.forEach(key => {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return {\n picked,\n omitted\n };\n};\nexport const tooltipProps = () => _extends(_extends({}, abstractTooltipProps()), {\n title: PropTypes.any\n});\nexport const tooltipDefaultProps = () => ({\n trigger: 'hover',\n align: {},\n placement: 'top',\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n arrowPointAtCenter: false,\n autoAdjustOverflow: true\n});\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'ATooltip',\n inheritAttrs: false,\n props: initDefaultProps(tooltipProps(), {\n trigger: 'hover',\n align: {},\n placement: 'top',\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n arrowPointAtCenter: false,\n autoAdjustOverflow: true\n }),\n slots: Object,\n // emits: ['update:visible', 'visibleChange'],\n setup(props, _ref) {\n let {\n slots,\n emit,\n attrs,\n expose\n } = _ref;\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange']].forEach(_ref2 => {\n let [deprecatedName, newName] = _ref2;\n warning(props[deprecatedName] === undefined, 'Tooltip', `\\`${deprecatedName}\\` is deprecated, please use \\`${newName}\\` instead.`);\n });\n }\n const {\n prefixCls,\n getPopupContainer,\n direction,\n rootPrefixCls\n } = useConfigInject('tooltip', props);\n const mergedOpen = computed(() => {\n var _a;\n return (_a = props.open) !== null && _a !== void 0 ? _a : props.visible;\n });\n const innerOpen = ref(firstNotUndefined([props.open, props.visible]));\n const tooltip = ref();\n let rafId;\n watch(mergedOpen, val => {\n raf.cancel(rafId);\n rafId = raf(() => {\n innerOpen.value = !!val;\n });\n });\n const isNoTitle = () => {\n var _a;\n const title = (_a = props.title) !== null && _a !== void 0 ? _a : slots.title;\n return !title && title !== 0;\n };\n const handleVisibleChange = val => {\n const noTitle = isNoTitle();\n if (mergedOpen.value === undefined) {\n innerOpen.value = noTitle ? false : val;\n }\n if (!noTitle) {\n emit('update:visible', val);\n emit('visibleChange', val);\n emit('update:open', val);\n emit('openChange', val);\n }\n };\n const getPopupDomNode = () => {\n return tooltip.value.getPopupDomNode();\n };\n expose({\n getPopupDomNode,\n open: innerOpen,\n forcePopupAlign: () => {\n var _a;\n return (_a = tooltip.value) === null || _a === void 0 ? void 0 : _a.forcePopupAlign();\n }\n });\n const tooltipPlacements = computed(() => {\n var _a;\n const {\n builtinPlacements,\n autoAdjustOverflow,\n arrow,\n arrowPointAtCenter\n } = props;\n let mergedArrowPointAtCenter = arrowPointAtCenter;\n if (typeof arrow === 'object') {\n mergedArrowPointAtCenter = (_a = arrow.pointAtCenter) !== null && _a !== void 0 ? _a : arrowPointAtCenter;\n }\n return builtinPlacements || getPlacements({\n arrowPointAtCenter: mergedArrowPointAtCenter,\n autoAdjustOverflow\n });\n });\n const isTrueProps = val => {\n return val || val === '';\n };\n const getDisabledCompatibleChildren = ele => {\n const elementType = ele.type;\n if (typeof elementType === 'object' && ele.props) {\n if ((elementType.__ANT_BUTTON === true || elementType === 'button') && isTrueProps(ele.props.disabled) || elementType.__ANT_SWITCH === true && (isTrueProps(ele.props.disabled) || isTrueProps(ele.props.loading)) || elementType.__ANT_RADIO === true && isTrueProps(ele.props.disabled)) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n const {\n picked,\n omitted\n } = splitObject(getStyle(ele), ['position', 'left', 'right', 'top', 'bottom', 'float', 'display', 'zIndex']);\n const spanStyle = _extends(_extends({\n display: 'inline-block'\n }, picked), {\n cursor: 'not-allowed',\n lineHeight: 1,\n width: ele.props && ele.props.block ? '100%' : undefined\n });\n const buttonStyle = _extends(_extends({}, omitted), {\n pointerEvents: 'none'\n });\n const child = cloneElement(ele, {\n style: buttonStyle\n }, true);\n return _createVNode(\"span\", {\n \"style\": spanStyle,\n \"class\": `${prefixCls.value}-disabled-compatible-wrapper`\n }, [child]);\n }\n }\n return ele;\n };\n const getOverlay = () => {\n var _a, _b;\n return (_a = props.title) !== null && _a !== void 0 ? _a : (_b = slots.title) === null || _b === void 0 ? void 0 : _b.call(slots);\n };\n const onPopupAlign = (domNode, align) => {\n const placements = tooltipPlacements.value;\n // 当前返回的位置\n const placement = Object.keys(placements).find(key => {\n var _a, _b;\n return placements[key].points[0] === ((_a = align.points) === null || _a === void 0 ? void 0 : _a[0]) && placements[key].points[1] === ((_b = align.points) === null || _b === void 0 ? void 0 : _b[1]);\n });\n if (placement) {\n // 根据当前坐标设置动画点\n const rect = domNode.getBoundingClientRect();\n const transformOrigin = {\n top: '50%',\n left: '50%'\n };\n if (placement.indexOf('top') >= 0 || placement.indexOf('Bottom') >= 0) {\n transformOrigin.top = `${rect.height - align.offset[1]}px`;\n } else if (placement.indexOf('Top') >= 0 || placement.indexOf('bottom') >= 0) {\n transformOrigin.top = `${-align.offset[1]}px`;\n }\n if (placement.indexOf('left') >= 0 || placement.indexOf('Right') >= 0) {\n transformOrigin.left = `${rect.width - align.offset[0]}px`;\n } else if (placement.indexOf('right') >= 0 || placement.indexOf('Left') >= 0) {\n transformOrigin.left = `${-align.offset[0]}px`;\n }\n domNode.style.transformOrigin = `${transformOrigin.left} ${transformOrigin.top}`;\n }\n };\n const colorInfo = computed(() => parseColor(prefixCls.value, props.color));\n const injectFromPopover = computed(() => attrs['data-popover-inject']);\n const [wrapSSR, hashId] = useStyle(prefixCls, computed(() => !injectFromPopover.value));\n return () => {\n var _a, _b;\n const {\n openClassName,\n overlayClassName,\n overlayStyle,\n overlayInnerStyle\n } = props;\n let children = (_b = filterEmpty((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots))) !== null && _b !== void 0 ? _b : null;\n children = children.length === 1 ? children[0] : children;\n let tempVisible = innerOpen.value;\n // Hide tooltip when there is no title\n if (mergedOpen.value === undefined && isNoTitle()) {\n tempVisible = false;\n }\n if (!children) {\n return null;\n }\n const child = getDisabledCompatibleChildren(isValidElement(children) && !isFragment(children) ? children : _createVNode(\"span\", null, [children]));\n const childCls = classNames({\n [openClassName || `${prefixCls.value}-open`]: true,\n [child.props && child.props.class]: child.props && child.props.class\n });\n const customOverlayClassName = classNames(overlayClassName, {\n [`${prefixCls.value}-rtl`]: direction.value === 'rtl'\n }, colorInfo.value.className, hashId.value);\n const formattedOverlayInnerStyle = _extends(_extends({}, colorInfo.value.overlayStyle), overlayInnerStyle);\n const arrowContentStyle = colorInfo.value.arrowStyle;\n const vcTooltipProps = _extends(_extends(_extends({}, attrs), props), {\n prefixCls: prefixCls.value,\n arrow: !!props.arrow,\n getPopupContainer: getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer.value,\n builtinPlacements: tooltipPlacements.value,\n visible: tempVisible,\n ref: tooltip,\n overlayClassName: customOverlayClassName,\n overlayStyle: _extends(_extends({}, arrowContentStyle), overlayStyle),\n overlayInnerStyle: formattedOverlayInnerStyle,\n onVisibleChange: handleVisibleChange,\n onPopupAlign,\n transitionName: getTransitionName(rootPrefixCls.value, 'zoom-big-fast', props.transitionName)\n });\n return wrapSSR(_createVNode(VcTooltip, vcTooltipProps, {\n default: () => [innerOpen.value ? cloneElement(child, {\n class: childCls\n }) : child],\n arrowContent: () => _createVNode(\"span\", {\n \"class\": `${prefixCls.value}-arrow-content`\n }, null),\n overlay: getOverlay\n }));\n };\n }\n});","import { withInstall } from '../_util/type';\nimport ToolTip, { tooltipProps } from './Tooltip';\nexport { tooltipProps };\nexport default withInstall(ToolTip);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken, PresetColors } from '../../theme/internal';\nimport { resetComponent } from '../../style';\nimport getArrowStyle from '../../style/placementArrow';\nconst genBaseStyle = token => {\n const {\n componentCls,\n popoverBg,\n popoverColor,\n width,\n fontWeightStrong,\n popoverPadding,\n boxShadowSecondary,\n colorTextHeading,\n borderRadiusLG: borderRadius,\n zIndexPopup,\n marginXS,\n colorBgElevated\n } = token;\n return [{\n [componentCls]: _extends(_extends({}, resetComponent(token)), {\n position: 'absolute',\n top: 0,\n // use `left` to fix https://github.com/ant-design/ant-design/issues/39195\n left: {\n _skip_check_: true,\n value: 0\n },\n zIndex: zIndexPopup,\n fontWeight: 'normal',\n whiteSpace: 'normal',\n textAlign: 'start',\n cursor: 'auto',\n userSelect: 'text',\n '--antd-arrow-background-color': colorBgElevated,\n '&-rtl': {\n direction: 'rtl'\n },\n '&-hidden': {\n display: 'none'\n },\n [`${componentCls}-content`]: {\n position: 'relative'\n },\n [`${componentCls}-inner`]: {\n backgroundColor: popoverBg,\n backgroundClip: 'padding-box',\n borderRadius,\n boxShadow: boxShadowSecondary,\n padding: popoverPadding\n },\n [`${componentCls}-title`]: {\n minWidth: width,\n marginBottom: marginXS,\n color: colorTextHeading,\n fontWeight: fontWeightStrong\n },\n [`${componentCls}-inner-content`]: {\n color: popoverColor\n }\n })\n },\n // Arrow Style\n getArrowStyle(token, {\n colorBg: 'var(--antd-arrow-background-color)'\n }),\n // Pure Render\n {\n [`${componentCls}-pure`]: {\n position: 'relative',\n maxWidth: 'none',\n [`${componentCls}-content`]: {\n display: 'inline-block'\n }\n }\n }];\n};\nconst genColorStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [componentCls]: PresetColors.map(colorKey => {\n const lightColor = token[`${colorKey}-6`];\n return {\n [`&${componentCls}-${colorKey}`]: {\n '--antd-arrow-background-color': lightColor,\n [`${componentCls}-inner`]: {\n backgroundColor: lightColor\n },\n [`${componentCls}-arrow`]: {\n background: 'transparent'\n }\n }\n };\n })\n };\n};\nconst genWireframeStyle = token => {\n const {\n componentCls,\n lineWidth,\n lineType,\n colorSplit,\n paddingSM,\n controlHeight,\n fontSize,\n lineHeight,\n padding\n } = token;\n const titlePaddingBlockDist = controlHeight - Math.round(fontSize * lineHeight);\n const popoverTitlePaddingBlockTop = titlePaddingBlockDist / 2;\n const popoverTitlePaddingBlockBottom = titlePaddingBlockDist / 2 - lineWidth;\n const popoverPaddingHorizontal = padding;\n return {\n [componentCls]: {\n [`${componentCls}-inner`]: {\n padding: 0\n },\n [`${componentCls}-title`]: {\n margin: 0,\n padding: `${popoverTitlePaddingBlockTop}px ${popoverPaddingHorizontal}px ${popoverTitlePaddingBlockBottom}px`,\n borderBottom: `${lineWidth}px ${lineType} ${colorSplit}`\n },\n [`${componentCls}-inner-content`]: {\n padding: `${paddingSM}px ${popoverPaddingHorizontal}px`\n }\n }\n };\n};\nexport default genComponentStyleHook('Popover', token => {\n const {\n colorBgElevated,\n colorText,\n wireframe\n } = token;\n const popoverToken = mergeToken(token, {\n popoverBg: colorBgElevated,\n popoverColor: colorText,\n popoverPadding: 12 // Fixed Value\n });\n return [genBaseStyle(popoverToken), genColorStyle(popoverToken), wireframe && genWireframeStyle(popoverToken), initZoomMotion(popoverToken, 'zoom-big')];\n}, _ref => {\n let {\n zIndexPopupBase\n } = _ref;\n return {\n zIndexPopup: zIndexPopupBase + 30,\n width: 177\n };\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\nimport { computed, defineComponent, ref } from 'vue';\nimport Tooltip from '../tooltip';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport { filterEmpty, initDefaultProps } from '../_util/props-util';\nimport { anyType, withInstall } from '../_util/type';\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport omit from '../_util/omit';\nimport { getTransitionName } from '../_util/transition';\nimport { tooltipDefaultProps } from '../tooltip/Tooltip';\nimport useStyle from './style';\nimport classNames from '../_util/classNames';\nimport warning from '../_util/warning';\nexport const popoverProps = () => _extends(_extends({}, abstractTooltipProps()), {\n content: anyType(),\n title: anyType()\n});\nconst Popover = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'APopover',\n inheritAttrs: false,\n props: initDefaultProps(popoverProps(), _extends(_extends({}, tooltipDefaultProps()), {\n trigger: 'hover',\n placement: 'top',\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1\n })),\n setup(props, _ref) {\n let {\n expose,\n slots,\n attrs\n } = _ref;\n const tooltipRef = ref();\n warning(props.visible === undefined, 'popover', `\\`visible\\` will be removed in next major version, please use \\`open\\` instead.`);\n expose({\n getPopupDomNode: () => {\n var _a, _b;\n return (_b = (_a = tooltipRef.value) === null || _a === void 0 ? void 0 : _a.getPopupDomNode) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n });\n const {\n prefixCls,\n configProvider\n } = useConfigInject('popover', props);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const rootPrefixCls = computed(() => configProvider.getPrefixCls());\n const getOverlay = () => {\n var _a, _b;\n const {\n title = filterEmpty((_a = slots.title) === null || _a === void 0 ? void 0 : _a.call(slots)),\n content = filterEmpty((_b = slots.content) === null || _b === void 0 ? void 0 : _b.call(slots))\n } = props;\n const hasTitle = !!(Array.isArray(title) ? title.length : title);\n const hasContent = !!(Array.isArray(content) ? content.length : title);\n if (!hasTitle && !hasContent) return null;\n return _createVNode(_Fragment, null, [hasTitle && _createVNode(\"div\", {\n \"class\": `${prefixCls.value}-title`\n }, [title]), _createVNode(\"div\", {\n \"class\": `${prefixCls.value}-inner-content`\n }, [content])]);\n };\n return () => {\n const overlayCls = classNames(props.overlayClassName, hashId.value);\n return wrapSSR(_createVNode(Tooltip, _objectSpread(_objectSpread(_objectSpread({}, omit(props, ['title', 'content'])), attrs), {}, {\n \"prefixCls\": prefixCls.value,\n \"ref\": tooltipRef,\n \"overlayClassName\": overlayCls,\n \"transitionName\": getTransitionName(rootPrefixCls.value, 'zoom-big', props.transitionName),\n \"data-popover-inject\": true\n }), {\n title: getOverlay,\n default: slots.default\n }));\n };\n }\n});\nexport default withInstall(Popover);","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nconst targetOffset = [0, 0];\nconst placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset\n },\n topCenter: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset\n },\n bottomCenter: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset\n }\n};\nexport default placements;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { Fragment, computed, defineComponent, ref, watch } from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport Trigger from '../vc-trigger';\nimport placements from './placements';\nimport { cloneElement } from '../_util/vnode';\nimport classNames from '../_util/classNames';\nimport { skipFlattenKey } from '../_util/props-util';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n props: {\n minOverlayWidthMatchTrigger: {\n type: Boolean,\n default: undefined\n },\n arrow: {\n type: Boolean,\n default: false\n },\n prefixCls: PropTypes.string.def('rc-dropdown'),\n transitionName: String,\n overlayClassName: PropTypes.string.def(''),\n openClassName: String,\n animation: PropTypes.any,\n align: PropTypes.object,\n overlayStyle: {\n type: Object,\n default: undefined\n },\n placement: PropTypes.string.def('bottomLeft'),\n overlay: PropTypes.any,\n trigger: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string)]).def('hover'),\n alignPoint: {\n type: Boolean,\n default: undefined\n },\n showAction: PropTypes.array,\n hideAction: PropTypes.array,\n getPopupContainer: Function,\n visible: {\n type: Boolean,\n default: undefined\n },\n defaultVisible: {\n type: Boolean,\n default: false\n },\n mouseEnterDelay: PropTypes.number.def(0.15),\n mouseLeaveDelay: PropTypes.number.def(0.1)\n },\n emits: ['visibleChange', 'overlayClick'],\n setup(props, _ref) {\n let {\n slots,\n emit,\n expose\n } = _ref;\n const triggerVisible = ref(!!props.visible);\n watch(() => props.visible, val => {\n if (val !== undefined) {\n triggerVisible.value = val;\n }\n });\n const triggerRef = ref();\n expose({\n triggerRef\n });\n const onClick = e => {\n if (props.visible === undefined) {\n triggerVisible.value = false;\n }\n emit('overlayClick', e);\n };\n const onVisibleChange = visible => {\n if (props.visible === undefined) {\n triggerVisible.value = visible;\n }\n emit('visibleChange', visible);\n };\n const getMenuElement = () => {\n var _a;\n const overlayElement = (_a = slots.overlay) === null || _a === void 0 ? void 0 : _a.call(slots);\n const extraOverlayProps = {\n prefixCls: `${props.prefixCls}-menu`,\n onClick\n };\n return _createVNode(_Fragment, {\n \"key\": skipFlattenKey\n }, [props.arrow && _createVNode(\"div\", {\n \"class\": `${props.prefixCls}-arrow`\n }, null), cloneElement(overlayElement, extraOverlayProps, false)]);\n };\n const minOverlayWidthMatchTrigger = computed(() => {\n const {\n minOverlayWidthMatchTrigger: matchTrigger = !props.alignPoint\n } = props;\n return matchTrigger;\n });\n const renderChildren = () => {\n var _a;\n const children = (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n return triggerVisible.value && children ? cloneElement(children[0], {\n class: props.openClassName || `${props.prefixCls}-open`\n }, false) : children;\n };\n const triggerHideAction = computed(() => {\n if (!props.hideAction && props.trigger.indexOf('contextmenu') !== -1) {\n return ['click'];\n }\n return props.hideAction;\n });\n return () => {\n const {\n prefixCls,\n arrow,\n showAction,\n overlayStyle,\n trigger,\n placement,\n align,\n getPopupContainer,\n transitionName,\n animation,\n overlayClassName\n } = props,\n otherProps = __rest(props, [\"prefixCls\", \"arrow\", \"showAction\", \"overlayStyle\", \"trigger\", \"placement\", \"align\", \"getPopupContainer\", \"transitionName\", \"animation\", \"overlayClassName\"]);\n return _createVNode(Trigger, _objectSpread(_objectSpread({}, otherProps), {}, {\n \"prefixCls\": prefixCls,\n \"ref\": triggerRef,\n \"popupClassName\": classNames(overlayClassName, {\n [`${prefixCls}-show-arrow`]: arrow\n }),\n \"popupStyle\": overlayStyle,\n \"builtinPlacements\": placements,\n \"action\": trigger,\n \"showAction\": showAction,\n \"hideAction\": triggerHideAction.value || [],\n \"popupPlacement\": placement,\n \"popupAlign\": align,\n \"popupTransitionName\": transitionName,\n \"popupAnimation\": animation,\n \"popupVisible\": triggerVisible.value,\n \"stretch\": minOverlayWidthMatchTrigger.value ? 'minWidth' : '',\n \"onPopupVisibleChange\": onVisibleChange,\n \"getPopupContainer\": getPopupContainer\n }), {\n popup: getMenuElement,\n default: renderChildren\n });\n };\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport PropTypes from '../_util/vue-types';\nimport buttonTypes from '../button/buttonTypes';\nimport { booleanType, eventType, objectType, someType } from '../_util/type';\nconst dropdownProps = () => ({\n arrow: someType([Boolean, Object]),\n trigger: {\n type: [Array, String]\n },\n menu: objectType(),\n overlay: PropTypes.any,\n /** @deprecated Please use `open` instead */\n visible: booleanType(),\n open: booleanType(),\n disabled: booleanType(),\n danger: booleanType(),\n autofocus: booleanType(),\n align: objectType(),\n getPopupContainer: Function,\n prefixCls: String,\n transitionName: String,\n placement: String,\n overlayClassName: String,\n overlayStyle: objectType(),\n forceRender: booleanType(),\n mouseEnterDelay: Number,\n mouseLeaveDelay: Number,\n openClassName: String,\n minOverlayWidthMatchTrigger: booleanType(),\n destroyPopupOnHide: booleanType(),\n /** @deprecated Please use `onOpenChange` instead */\n onVisibleChange: {\n type: Function\n },\n /** @deprecated Please use `onUpdate:open` instead */\n 'onUpdate:visible': {\n type: Function\n },\n onOpenChange: {\n type: Function\n },\n 'onUpdate:open': {\n type: Function\n }\n});\nconst buttonTypesProps = buttonTypes();\nconst dropdownButtonProps = () => _extends(_extends({}, dropdownProps()), {\n type: buttonTypesProps.type,\n size: String,\n htmlType: buttonTypesProps.htmlType,\n href: String,\n disabled: booleanType(),\n prefixCls: String,\n icon: PropTypes.any,\n title: String,\n loading: buttonTypesProps.loading,\n onClick: eventType()\n});\nexport { dropdownProps, dropdownButtonProps };\nexport default dropdownProps;","// This icon file is generated automatically.\nvar EllipsisOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z\" } }] }, \"name\": \"ellipsis\", \"theme\": \"outlined\" };\nexport default EllipsisOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport EllipsisOutlinedSvg from \"@ant-design/icons-svg/es/asn/EllipsisOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar EllipsisOutlined = function EllipsisOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": EllipsisOutlinedSvg\n }), null);\n};\n\nEllipsisOutlined.displayName = 'EllipsisOutlined';\nEllipsisOutlined.inheritAttrs = false;\nexport default EllipsisOutlined;","const genButtonStyle = token => {\n const {\n componentCls,\n antCls,\n paddingXS,\n opacityLoading\n } = token;\n return {\n [`${componentCls}-button`]: {\n whiteSpace: 'nowrap',\n [`&${antCls}-btn-group > ${antCls}-btn`]: {\n [`&-loading, &-loading + ${antCls}-btn`]: {\n cursor: 'default',\n pointerEvents: 'none',\n opacity: opacityLoading\n },\n [`&:last-child:not(:first-child):not(${antCls}-btn-icon-only)`]: {\n paddingInline: paddingXS\n }\n }\n }\n };\n};\nexport default genButtonStyle;","const genStatusStyle = token => {\n const {\n componentCls,\n menuCls,\n colorError,\n colorTextLightSolid\n } = token;\n const itemCls = `${menuCls}-item`;\n return {\n [`${componentCls}, ${componentCls}-menu-submenu`]: {\n [`${menuCls} ${itemCls}`]: {\n [`&${itemCls}-danger:not(${itemCls}-disabled)`]: {\n color: colorError,\n '&:hover': {\n color: colorTextLightSolid,\n backgroundColor: colorError\n }\n }\n }\n }\n };\n};\nexport default genStatusStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getArrowOffset } from '../../style/placementArrow';\nimport { initMoveMotion, initSlideMotion, initZoomMotion, slideDownIn, slideDownOut, slideUpIn, slideUpOut } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genButtonStyle from './button';\nimport genStatusStyle from './status';\nimport { genFocusStyle, resetComponent, roundedArrow } from '../../style';\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n menuCls,\n zIndexPopup,\n dropdownArrowDistance,\n dropdownArrowOffset,\n sizePopupArrow,\n antCls,\n iconCls,\n motionDurationMid,\n dropdownPaddingVertical,\n fontSize,\n dropdownEdgeChildPadding,\n colorTextDisabled,\n fontSizeIcon,\n controlPaddingHorizontal,\n colorBgElevated,\n boxShadowPopoverArrow\n } = token;\n return [{\n [componentCls]: _extends(_extends({}, resetComponent(token)), {\n position: 'absolute',\n top: -9999,\n left: {\n _skip_check_: true,\n value: -9999\n },\n zIndex: zIndexPopup,\n display: 'block',\n // A placeholder out of dropdown visible range to avoid close when user moving\n '&::before': {\n position: 'absolute',\n insetBlock: -dropdownArrowDistance + sizePopupArrow / 2,\n // insetInlineStart: -7, // FIXME: Seems not work for hidden element\n zIndex: -9999,\n opacity: 0.0001,\n content: '\"\"'\n },\n [`${componentCls}-wrap`]: {\n position: 'relative',\n [`${antCls}-btn > ${iconCls}-down`]: {\n fontSize: fontSizeIcon\n },\n [`${iconCls}-down::before`]: {\n transition: `transform ${motionDurationMid}`\n }\n },\n [`${componentCls}-wrap-open`]: {\n [`${iconCls}-down::before`]: {\n transform: `rotate(180deg)`\n }\n },\n [`\n &-hidden,\n &-menu-hidden,\n &-menu-submenu-hidden\n `]: {\n display: 'none'\n },\n // =============================================================\n // == Arrow ==\n // =============================================================\n // Offset the popover to account for the dropdown arrow\n [`\n &-show-arrow${componentCls}-placement-topLeft,\n &-show-arrow${componentCls}-placement-top,\n &-show-arrow${componentCls}-placement-topRight\n `]: {\n paddingBottom: dropdownArrowDistance\n },\n [`\n &-show-arrow${componentCls}-placement-bottomLeft,\n &-show-arrow${componentCls}-placement-bottom,\n &-show-arrow${componentCls}-placement-bottomRight\n `]: {\n paddingTop: dropdownArrowDistance\n },\n // Note: .popover-arrow is outer, .popover-arrow:after is inner\n [`${componentCls}-arrow`]: _extends({\n position: 'absolute',\n zIndex: 1,\n display: 'block'\n }, roundedArrow(sizePopupArrow, token.borderRadiusXS, token.borderRadiusOuter, colorBgElevated, boxShadowPopoverArrow)),\n [`\n &-placement-top > ${componentCls}-arrow,\n &-placement-topLeft > ${componentCls}-arrow,\n &-placement-topRight > ${componentCls}-arrow\n `]: {\n bottom: dropdownArrowDistance,\n transform: 'translateY(100%) rotate(180deg)'\n },\n [`&-placement-top > ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateX(-50%) translateY(100%) rotate(180deg)'\n },\n [`&-placement-topLeft > ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n [`&-placement-topRight > ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n [`\n &-placement-bottom > ${componentCls}-arrow,\n &-placement-bottomLeft > ${componentCls}-arrow,\n &-placement-bottomRight > ${componentCls}-arrow\n `]: {\n top: dropdownArrowDistance,\n transform: `translateY(-100%)`\n },\n [`&-placement-bottom > ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: `translateY(-100%) translateX(-50%)`\n },\n [`&-placement-bottomLeft > ${componentCls}-arrow`]: {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n [`&-placement-bottomRight > ${componentCls}-arrow`]: {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n },\n // =============================================================\n // == Motion ==\n // =============================================================\n // When position is not enough for dropdown, the placement will revert.\n // We will handle this with revert motion name.\n [`&${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-enter${antCls}-slide-down-enter-active${componentCls}-placement-bottomRight,\n &${antCls}-slide-down-appear${antCls}-slide-down-appear-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpIn\n },\n [`&${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-top,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-top,\n &${antCls}-slide-up-enter${antCls}-slide-up-enter-active${componentCls}-placement-topRight,\n &${antCls}-slide-up-appear${antCls}-slide-up-appear-active${componentCls}-placement-topRight`]: {\n animationName: slideDownIn\n },\n [`&${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomLeft,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottom,\n &${antCls}-slide-down-leave${antCls}-slide-down-leave-active${componentCls}-placement-bottomRight`]: {\n animationName: slideUpOut\n },\n [`&${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topLeft,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-top,\n &${antCls}-slide-up-leave${antCls}-slide-up-leave-active${componentCls}-placement-topRight`]: {\n animationName: slideDownOut\n }\n })\n }, {\n // =============================================================\n // == Menu ==\n // =============================================================\n [`${componentCls} ${menuCls}`]: {\n position: 'relative',\n margin: 0\n },\n [`${menuCls}-submenu-popup`]: {\n position: 'absolute',\n zIndex: zIndexPopup,\n background: 'transparent',\n boxShadow: 'none',\n transformOrigin: '0 0',\n 'ul,li': {\n listStyle: 'none'\n },\n ul: {\n marginInline: '0.3em'\n }\n },\n [`${componentCls}, ${componentCls}-menu-submenu`]: {\n [menuCls]: _extends(_extends({\n padding: dropdownEdgeChildPadding,\n listStyleType: 'none',\n backgroundColor: colorBgElevated,\n backgroundClip: 'padding-box',\n borderRadius: token.borderRadiusLG,\n outline: 'none',\n boxShadow: token.boxShadowSecondary\n }, genFocusStyle(token)), {\n [`${menuCls}-item-group-title`]: {\n padding: `${dropdownPaddingVertical}px ${controlPaddingHorizontal}px`,\n color: token.colorTextDescription,\n transition: `all ${motionDurationMid}`\n },\n // ======================= Item Content =======================\n [`${menuCls}-item`]: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n borderRadius: token.borderRadiusSM\n },\n [`${menuCls}-item-icon`]: {\n minWidth: fontSize,\n marginInlineEnd: token.marginXS,\n fontSize: token.fontSizeSM\n },\n [`${menuCls}-title-content`]: {\n flex: 'auto',\n '> a': {\n color: 'inherit',\n transition: `all ${motionDurationMid}`,\n '&:hover': {\n color: 'inherit'\n },\n '&::after': {\n position: 'absolute',\n inset: 0,\n content: '\"\"'\n }\n }\n },\n // =========================== Item ===========================\n [`${menuCls}-item, ${menuCls}-submenu-title`]: _extends(_extends({\n clear: 'both',\n margin: 0,\n padding: `${dropdownPaddingVertical}px ${controlPaddingHorizontal}px`,\n color: token.colorText,\n fontWeight: 'normal',\n fontSize,\n lineHeight: token.lineHeight,\n cursor: 'pointer',\n transition: `all ${motionDurationMid}`,\n [`&:hover, &-active`]: {\n backgroundColor: token.controlItemBgHover\n }\n }, genFocusStyle(token)), {\n '&-selected': {\n color: token.colorPrimary,\n backgroundColor: token.controlItemBgActive,\n '&:hover, &-active': {\n backgroundColor: token.controlItemBgActiveHover\n }\n },\n '&-disabled': {\n color: colorTextDisabled,\n cursor: 'not-allowed',\n '&:hover': {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n },\n a: {\n pointerEvents: 'none'\n }\n },\n '&-divider': {\n height: 1,\n margin: `${token.marginXXS}px 0`,\n overflow: 'hidden',\n lineHeight: 0,\n backgroundColor: token.colorSplit\n },\n [`${componentCls}-menu-submenu-expand-icon`]: {\n position: 'absolute',\n insetInlineEnd: token.paddingXS,\n [`${componentCls}-menu-submenu-arrow-icon`]: {\n marginInlineEnd: '0 !important',\n color: token.colorTextDescription,\n fontSize: fontSizeIcon,\n fontStyle: 'normal'\n }\n }\n }),\n [`${menuCls}-item-group-list`]: {\n margin: `0 ${token.marginXS}px`,\n padding: 0,\n listStyle: 'none'\n },\n [`${menuCls}-submenu-title`]: {\n paddingInlineEnd: controlPaddingHorizontal + token.fontSizeSM\n },\n [`${menuCls}-submenu-vertical`]: {\n position: 'relative'\n },\n [`${menuCls}-submenu${menuCls}-submenu-disabled ${componentCls}-menu-submenu-title`]: {\n [`&, ${componentCls}-menu-submenu-arrow-icon`]: {\n color: colorTextDisabled,\n backgroundColor: colorBgElevated,\n cursor: 'not-allowed'\n }\n },\n // https://github.com/ant-design/ant-design/issues/19264\n [`${menuCls}-submenu-selected ${componentCls}-menu-submenu-title`]: {\n color: token.colorPrimary\n }\n })\n }\n },\n // Follow code may reuse in other components\n [initSlideMotion(token, 'slide-up'), initSlideMotion(token, 'slide-down'), initMoveMotion(token, 'move-up'), initMoveMotion(token, 'move-down'), initZoomMotion(token, 'zoom-big')]];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Dropdown', (token, _ref) => {\n let {\n rootPrefixCls\n } = _ref;\n const {\n marginXXS,\n sizePopupArrow,\n controlHeight,\n fontSize,\n lineHeight,\n paddingXXS,\n componentCls,\n borderRadiusOuter,\n borderRadiusLG\n } = token;\n const dropdownPaddingVertical = (controlHeight - fontSize * lineHeight) / 2;\n const {\n dropdownArrowOffset\n } = getArrowOffset({\n sizePopupArrow,\n contentRadius: borderRadiusLG,\n borderRadiusOuter\n });\n const dropdownToken = mergeToken(token, {\n menuCls: `${componentCls}-menu`,\n rootPrefixCls,\n dropdownArrowDistance: sizePopupArrow / 2 + marginXXS,\n dropdownArrowOffset,\n dropdownPaddingVertical,\n dropdownEdgeChildPadding: paddingXXS\n });\n return [genBaseStyle(dropdownToken), genButtonStyle(dropdownToken), genStatusStyle(dropdownToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 50\n}));","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { computed, defineComponent } from 'vue';\nimport Button from '../button';\nimport Dropdown from './dropdown';\nimport classNames from '../_util/classNames';\nimport { initDefaultProps } from '../_util/props-util';\nimport { dropdownButtonProps } from './props';\nimport EllipsisOutlined from \"@ant-design/icons-vue/es/icons/EllipsisOutlined\";\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport useStyle from './style';\nconst ButtonGroup = Button.Group;\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'ADropdownButton',\n inheritAttrs: false,\n __ANT_BUTTON: true,\n props: initDefaultProps(dropdownButtonProps(), {\n trigger: 'hover',\n placement: 'bottomRight',\n type: 'default'\n }),\n // emits: ['click', 'visibleChange', 'update:visible'],s\n slots: Object,\n setup(props, _ref) {\n let {\n slots,\n attrs,\n emit\n } = _ref;\n const handleVisibleChange = val => {\n emit('update:visible', val);\n emit('visibleChange', val);\n emit('update:open', val);\n emit('openChange', val);\n };\n const {\n prefixCls,\n direction,\n getPopupContainer\n } = useConfigInject('dropdown', props);\n const buttonPrefixCls = computed(() => `${prefixCls.value}-button`);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n return () => {\n var _a, _b;\n const _c = _extends(_extends({}, props), attrs),\n {\n type = 'default',\n disabled,\n danger,\n loading,\n htmlType,\n class: className = '',\n overlay = (_a = slots.overlay) === null || _a === void 0 ? void 0 : _a.call(slots),\n trigger,\n align,\n open,\n visible,\n onVisibleChange: _onVisibleChange,\n placement = direction.value === 'rtl' ? 'bottomLeft' : 'bottomRight',\n href,\n title,\n icon = ((_b = slots.icon) === null || _b === void 0 ? void 0 : _b.call(slots)) || _createVNode(EllipsisOutlined, null, null),\n mouseEnterDelay,\n mouseLeaveDelay,\n overlayClassName,\n overlayStyle,\n destroyPopupOnHide,\n onClick,\n 'onUpdate:open': _updateVisible\n } = _c,\n restProps = __rest(_c, [\"type\", \"disabled\", \"danger\", \"loading\", \"htmlType\", \"class\", \"overlay\", \"trigger\", \"align\", \"open\", \"visible\", \"onVisibleChange\", \"placement\", \"href\", \"title\", \"icon\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayClassName\", \"overlayStyle\", \"destroyPopupOnHide\", \"onClick\", 'onUpdate:open']);\n const dropdownProps = {\n align,\n disabled,\n trigger: disabled ? [] : trigger,\n placement,\n getPopupContainer: getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer.value,\n onOpenChange: handleVisibleChange,\n mouseEnterDelay,\n mouseLeaveDelay,\n open: open !== null && open !== void 0 ? open : visible,\n overlayClassName,\n overlayStyle,\n destroyPopupOnHide\n };\n const leftButton = _createVNode(Button, {\n \"danger\": danger,\n \"type\": type,\n \"disabled\": disabled,\n \"loading\": loading,\n \"onClick\": onClick,\n \"htmlType\": htmlType,\n \"href\": href,\n \"title\": title\n }, {\n default: slots.default\n });\n const rightButton = _createVNode(Button, {\n \"danger\": danger,\n \"type\": type,\n \"icon\": icon\n }, null);\n return wrapSSR(_createVNode(ButtonGroup, _objectSpread(_objectSpread({}, restProps), {}, {\n \"class\": classNames(buttonPrefixCls.value, className, hashId.value)\n }), {\n default: () => [slots.leftButton ? slots.leftButton({\n button: leftButton\n }) : leftButton, _createVNode(Dropdown, dropdownProps, {\n default: () => [slots.rightButton ? slots.rightButton({\n button: rightButton\n }) : rightButton],\n overlay: () => overlay\n })]\n }));\n };\n }\n});","// This icon file is generated automatically.\nvar RightOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M765.7 486.8L314.9 134.7A7.97 7.97 0 00302 141v77.3c0 4.9 2.3 9.6 6.1 12.6l360 281.1-360 281.1c-3.9 3-6.1 7.7-6.1 12.6V883c0 6.7 7.7 10.4 12.9 6.3l450.8-352.1a31.96 31.96 0 000-50.4z\" } }] }, \"name\": \"right\", \"theme\": \"outlined\" };\nexport default RightOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport RightOutlinedSvg from \"@ant-design/icons-svg/es/asn/RightOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar RightOutlined = function RightOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": RightOutlinedSvg\n }), null);\n};\n\nRightOutlined.displayName = 'RightOutlined';\nRightOutlined.inheritAttrs = false;\nexport default RightOutlined;","import { provide, computed, inject } from 'vue';\nexport const OverrideContextKey = Symbol('OverrideContextKey');\nexport const useInjectOverride = () => {\n return inject(OverrideContextKey, undefined);\n};\nexport const useProvideOverride = props => {\n var _a, _b, _c;\n const {\n prefixCls,\n mode,\n selectable,\n validator,\n onClick,\n expandIcon\n } = useInjectOverride() || {};\n provide(OverrideContextKey, {\n prefixCls: computed(() => {\n var _a, _b;\n return (_b = (_a = props.prefixCls) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : prefixCls === null || prefixCls === void 0 ? void 0 : prefixCls.value;\n }),\n mode: computed(() => {\n var _a, _b;\n return (_b = (_a = props.mode) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : mode === null || mode === void 0 ? void 0 : mode.value;\n }),\n selectable: computed(() => {\n var _a, _b;\n return (_b = (_a = props.selectable) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : selectable === null || selectable === void 0 ? void 0 : selectable.value;\n }),\n validator: (_a = props.validator) !== null && _a !== void 0 ? _a : validator,\n onClick: (_b = props.onClick) !== null && _b !== void 0 ? _b : onClick,\n expandIcon: (_c = props.expandIcon) !== null && _c !== void 0 ? _c : expandIcon === null || expandIcon === void 0 ? void 0 : expandIcon.value\n });\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport { computed, defineComponent } from 'vue';\nimport RcDropdown from '../vc-dropdown';\nimport DropdownButton from './dropdown-button';\nimport { cloneElement } from '../_util/vnode';\nimport classNames from '../_util/classNames';\nimport { isValidElement, initDefaultProps } from '../_util/props-util';\nimport { dropdownProps } from './props';\nimport RightOutlined from \"@ant-design/icons-vue/es/icons/RightOutlined\";\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport devWarning from '../vc-util/devWarning';\nimport omit from '../_util/omit';\nimport getPlacements from '../_util/placements';\nimport warning from '../_util/warning';\nimport useStyle from './style';\nimport { useProvideOverride } from '../menu/src/OverrideContext';\nconst Dropdown = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'ADropdown',\n inheritAttrs: false,\n props: initDefaultProps(dropdownProps(), {\n mouseEnterDelay: 0.15,\n mouseLeaveDelay: 0.1,\n placement: 'bottomLeft',\n trigger: 'hover'\n }),\n // emits: ['visibleChange', 'update:visible'],\n slots: Object,\n setup(props, _ref) {\n let {\n slots,\n attrs,\n emit\n } = _ref;\n const {\n prefixCls,\n rootPrefixCls,\n direction,\n getPopupContainer\n } = useConfigInject('dropdown', props);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n // Warning for deprecated usage\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['onVisibleChange', 'onOpenChange'], ['onUpdate:visible', 'onUpdate:open']].forEach(_ref2 => {\n let [deprecatedName, newName] = _ref2;\n warning(props[deprecatedName] === undefined, 'Dropdown', `\\`${deprecatedName}\\` is deprecated which will be removed in next major version, please use \\`${newName}\\` instead.`);\n });\n }\n const transitionName = computed(() => {\n const {\n placement = '',\n transitionName\n } = props;\n if (transitionName !== undefined) {\n return transitionName;\n }\n if (placement.includes('top')) {\n return `${rootPrefixCls.value}-slide-down`;\n }\n return `${rootPrefixCls.value}-slide-up`;\n });\n useProvideOverride({\n prefixCls: computed(() => `${prefixCls.value}-menu`),\n expandIcon: computed(() => {\n return _createVNode(\"span\", {\n \"class\": `${prefixCls.value}-menu-submenu-arrow`\n }, [_createVNode(RightOutlined, {\n \"class\": `${prefixCls.value}-menu-submenu-arrow-icon`\n }, null)]);\n }),\n mode: computed(() => 'vertical'),\n selectable: computed(() => false),\n onClick: () => {},\n validator: _ref3 => {\n let {\n mode\n } = _ref3;\n // Warning if use other mode\n warning(!mode || mode === 'vertical', 'Dropdown', `mode=\"${mode}\" is not supported for Dropdown's Menu.`);\n }\n });\n const renderOverlay = () => {\n var _a, _b, _c;\n // rc-dropdown already can process the function of overlay, but we have check logic here.\n // So we need render the element to check and pass back to rc-dropdown.\n const overlay = props.overlay || ((_a = slots.overlay) === null || _a === void 0 ? void 0 : _a.call(slots));\n const overlayNode = Array.isArray(overlay) ? overlay[0] : overlay;\n if (!overlayNode) return null;\n const overlayProps = overlayNode.props || {};\n // Warning if use other mode\n devWarning(!overlayProps.mode || overlayProps.mode === 'vertical', 'Dropdown', `mode=\"${overlayProps.mode}\" is not supported for Dropdown's Menu.`);\n // menu cannot be selectable in dropdown defaultly\n const {\n selectable = false,\n expandIcon = (_c = (_b = overlayNode.children) === null || _b === void 0 ? void 0 : _b.expandIcon) === null || _c === void 0 ? void 0 : _c.call(_b)\n } = overlayProps;\n const overlayNodeExpandIcon = typeof expandIcon !== 'undefined' && isValidElement(expandIcon) ? expandIcon : _createVNode(\"span\", {\n \"class\": `${prefixCls.value}-menu-submenu-arrow`\n }, [_createVNode(RightOutlined, {\n \"class\": `${prefixCls.value}-menu-submenu-arrow-icon`\n }, null)]);\n const fixedModeOverlay = isValidElement(overlayNode) ? cloneElement(overlayNode, {\n mode: 'vertical',\n selectable,\n expandIcon: () => overlayNodeExpandIcon\n }) : overlayNode;\n return fixedModeOverlay;\n };\n const placement = computed(() => {\n const placement = props.placement;\n if (!placement) {\n return direction.value === 'rtl' ? 'bottomRight' : 'bottomLeft';\n }\n if (placement.includes('Center')) {\n const newPlacement = placement.slice(0, placement.indexOf('Center'));\n devWarning(!placement.includes('Center'), 'Dropdown', `You are using '${placement}' placement in Dropdown, which is deprecated. Try to use '${newPlacement}' instead.`);\n return newPlacement;\n }\n return placement;\n });\n const mergedVisible = computed(() => {\n return typeof props.visible === 'boolean' ? props.visible : props.open;\n });\n const handleVisibleChange = val => {\n emit('update:visible', val);\n emit('visibleChange', val);\n emit('update:open', val);\n emit('openChange', val);\n };\n return () => {\n var _a, _b;\n const {\n arrow,\n trigger,\n disabled,\n overlayClassName\n } = props;\n const child = (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)[0];\n const dropdownTrigger = cloneElement(child, _extends({\n class: classNames((_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.class, {\n [`${prefixCls.value}-rtl`]: direction.value === 'rtl'\n }, `${prefixCls.value}-trigger`)\n }, disabled ? {\n disabled\n } : {}));\n const overlayClassNameCustomized = classNames(overlayClassName, hashId.value, {\n [`${prefixCls.value}-rtl`]: direction.value === 'rtl'\n });\n const triggerActions = disabled ? [] : trigger;\n let alignPoint;\n if (triggerActions && triggerActions.includes('contextmenu')) {\n alignPoint = true;\n }\n const builtinPlacements = getPlacements({\n arrowPointAtCenter: typeof arrow === 'object' && arrow.pointAtCenter,\n autoAdjustOverflow: true\n });\n const dropdownProps = omit(_extends(_extends(_extends({}, props), attrs), {\n visible: mergedVisible.value,\n builtinPlacements,\n overlayClassName: overlayClassNameCustomized,\n arrow: !!arrow,\n alignPoint,\n prefixCls: prefixCls.value,\n getPopupContainer: getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer.value,\n transitionName: transitionName.value,\n trigger: triggerActions,\n onVisibleChange: handleVisibleChange,\n placement: placement.value\n }), ['overlay', 'onUpdate:visible']);\n return wrapSSR(_createVNode(RcDropdown, dropdownProps, {\n default: () => [dropdownTrigger],\n overlay: renderOverlay\n }));\n };\n }\n});\nDropdown.Button = DropdownButton;\nexport default Dropdown;","import { toRaw } from 'vue';\nfunction shallowEqual(objA, objB, compare, compareContext) {\n let ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n if (ret !== void 0) {\n return !!ret;\n }\n if (objA === objB) {\n return true;\n }\n if (typeof objA !== 'object' || !objA || typeof objB !== 'object' || !objB) {\n return false;\n }\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) {\n return false;\n }\n const bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n // Test for A's keys different from B.\n for (let idx = 0; idx < keysA.length; idx++) {\n const key = keysA[idx];\n if (!bHasOwnProperty(key)) {\n return false;\n }\n const valueA = objA[key];\n const valueB = objB[key];\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n if (ret === false || ret === void 0 && valueA !== valueB) {\n return false;\n }\n }\n return true;\n}\nexport default function (value, other) {\n return shallowEqual(toRaw(value), toRaw(other));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { defineComponent, inject, provide, toRef } from 'vue';\nconst MenuContextKey = Symbol('menuContextKey');\nconst useProvideMenu = props => {\n provide(MenuContextKey, props);\n};\nconst useInjectMenu = () => {\n return inject(MenuContextKey);\n};\nconst ForceRenderKey = Symbol('ForceRenderKey');\nexport const useProvideForceRender = forceRender => {\n provide(ForceRenderKey, forceRender);\n};\nexport const useInjectForceRender = () => {\n return inject(ForceRenderKey, false);\n};\nconst MenuFirstLevelContextKey = Symbol('menuFirstLevelContextKey');\nconst useProvideFirstLevel = firstLevel => {\n provide(MenuFirstLevelContextKey, firstLevel);\n};\nconst useInjectFirstLevel = () => {\n return inject(MenuFirstLevelContextKey, true);\n};\nconst MenuContextProvider = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'MenuContextProvider',\n inheritAttrs: false,\n props: {\n mode: {\n type: String,\n default: undefined\n },\n overflowDisabled: {\n type: Boolean,\n default: undefined\n }\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const menuContext = useInjectMenu();\n const newContext = _extends({}, menuContext);\n // 确保传入的属性不会动态增删\n // 不需要 watch 变化\n if (props.mode !== undefined) {\n newContext.mode = toRef(props, 'mode');\n }\n if (props.overflowDisabled !== undefined) {\n newContext.overflowDisabled = toRef(props, 'overflowDisabled');\n }\n useProvideMenu(newContext);\n return () => {\n var _a;\n return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n };\n }\n});\nexport { useProvideMenu, MenuContextKey, useInjectMenu, MenuFirstLevelContextKey, useProvideFirstLevel, useInjectFirstLevel, MenuContextProvider };\nexport default useProvideMenu;","export const SiderCollapsedKey = Symbol('siderCollapsed');\nexport const SiderHookProviderKey = Symbol('siderHookProvider');","import { computed, inject, provide, defineComponent } from 'vue';\nexport const OVERFLOW_KEY = '$$__vc-menu-more__key';\nconst KeyPathContext = Symbol('KeyPathContext');\nconst useInjectKeyPath = () => {\n return inject(KeyPathContext, {\n parentEventKeys: computed(() => []),\n parentKeys: computed(() => []),\n parentInfo: {}\n });\n};\nconst useProvideKeyPath = (eventKey, key, menuInfo) => {\n const {\n parentEventKeys,\n parentKeys\n } = useInjectKeyPath();\n const eventKeys = computed(() => [...parentEventKeys.value, eventKey]);\n const keys = computed(() => [...parentKeys.value, key]);\n provide(KeyPathContext, {\n parentEventKeys: eventKeys,\n parentKeys: keys,\n parentInfo: menuInfo\n });\n return keys;\n};\nconst measure = Symbol('measure');\nexport const PathContext = defineComponent({\n compatConfig: {\n MODE: 3\n },\n setup(_props, _ref) {\n let {\n slots\n } = _ref;\n // 不需要响应式\n provide(measure, true);\n return () => {\n var _a;\n return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n };\n }\n});\nexport const useMeasure = () => {\n return inject(measure, false);\n};\nexport { useProvideKeyPath, useInjectKeyPath, KeyPathContext };\nexport default useProvideKeyPath;","import { computed } from 'vue';\nimport { useInjectMenu } from './useMenuContext';\nexport default function useDirectionStyle(level) {\n const {\n mode,\n rtl,\n inlineIndent\n } = useInjectMenu();\n return computed(() => mode.value !== 'inline' ? null : rtl.value ? {\n paddingRight: `${level.value * inlineIndent.value}px`\n } : {\n paddingLeft: `${level.value * inlineIndent.value}px`\n });\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { flattenChildren, isValidElement } from '../../_util/props-util';\nimport PropTypes from '../../_util/vue-types';\nimport { computed, defineComponent, getCurrentInstance, onBeforeUnmount, shallowRef, watch } from 'vue';\nimport { useInjectKeyPath, useMeasure } from './hooks/useKeyPath';\nimport { useInjectFirstLevel, useInjectMenu } from './hooks/useMenuContext';\nimport { cloneElement } from '../../_util/vnode';\nimport Tooltip from '../../tooltip';\nimport KeyCode from '../../_util/KeyCode';\nimport useDirectionStyle from './hooks/useDirectionStyle';\nimport Overflow from '../../vc-overflow';\nimport devWarning from '../../vc-util/devWarning';\nimport { objectType } from '../../_util/type';\nlet indexGuid = 0;\nexport const menuItemProps = () => ({\n id: String,\n role: String,\n disabled: Boolean,\n danger: Boolean,\n title: {\n type: [String, Boolean],\n default: undefined\n },\n icon: PropTypes.any,\n onMouseenter: Function,\n onMouseleave: Function,\n onClick: Function,\n onKeydown: Function,\n onFocus: Function,\n // Internal user prop\n originItemValue: objectType()\n});\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'AMenuItem',\n inheritAttrs: false,\n props: menuItemProps(),\n slots: Object,\n setup(props, _ref) {\n let {\n slots,\n emit,\n attrs\n } = _ref;\n const instance = getCurrentInstance();\n const isMeasure = useMeasure();\n const key = typeof instance.vnode.key === 'symbol' ? String(instance.vnode.key) : instance.vnode.key;\n devWarning(typeof instance.vnode.key !== 'symbol', 'MenuItem', `MenuItem \\`:key=\"${String(key)}\"\\` not support Symbol type`);\n const eventKey = `menu_item_${++indexGuid}_$$_${key}`;\n const {\n parentEventKeys,\n parentKeys\n } = useInjectKeyPath();\n const {\n prefixCls,\n activeKeys,\n disabled,\n changeActiveKeys,\n rtl,\n inlineCollapsed,\n siderCollapsed,\n onItemClick,\n selectedKeys,\n registerMenuInfo,\n unRegisterMenuInfo\n } = useInjectMenu();\n const firstLevel = useInjectFirstLevel();\n const isActive = shallowRef(false);\n const keysPath = computed(() => {\n return [...parentKeys.value, key];\n });\n // const keysPath = computed(() => [...parentEventKeys.value, eventKey]);\n const menuInfo = {\n eventKey,\n key,\n parentEventKeys,\n parentKeys,\n isLeaf: true\n };\n registerMenuInfo(eventKey, menuInfo);\n onBeforeUnmount(() => {\n unRegisterMenuInfo(eventKey);\n });\n watch(activeKeys, () => {\n isActive.value = !!activeKeys.value.find(val => val === key);\n }, {\n immediate: true\n });\n const mergedDisabled = computed(() => disabled.value || props.disabled);\n const selected = computed(() => selectedKeys.value.includes(key));\n const classNames = computed(() => {\n const itemCls = `${prefixCls.value}-item`;\n return {\n [`${itemCls}`]: true,\n [`${itemCls}-danger`]: props.danger,\n [`${itemCls}-active`]: isActive.value,\n [`${itemCls}-selected`]: selected.value,\n [`${itemCls}-disabled`]: mergedDisabled.value\n };\n });\n const getEventInfo = e => {\n return {\n key,\n eventKey,\n keyPath: keysPath.value,\n eventKeyPath: [...parentEventKeys.value, eventKey],\n domEvent: e,\n item: _extends(_extends({}, props), attrs)\n };\n };\n // ============================ Events ============================\n const onInternalClick = e => {\n if (mergedDisabled.value) {\n return;\n }\n const info = getEventInfo(e);\n emit('click', e);\n onItemClick(info);\n };\n const onMouseEnter = event => {\n if (!mergedDisabled.value) {\n changeActiveKeys(keysPath.value);\n emit('mouseenter', event);\n }\n };\n const onMouseLeave = event => {\n if (!mergedDisabled.value) {\n changeActiveKeys([]);\n emit('mouseleave', event);\n }\n };\n const onInternalKeyDown = e => {\n emit('keydown', e);\n if (e.which === KeyCode.ENTER) {\n const info = getEventInfo(e);\n // Legacy. Key will also trigger click event\n emit('click', e);\n onItemClick(info);\n }\n };\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n const onInternalFocus = e => {\n changeActiveKeys(keysPath.value);\n emit('focus', e);\n };\n const renderItemChildren = (icon, children) => {\n const wrapNode = _createVNode(\"span\", {\n \"class\": `${prefixCls.value}-title-content`\n }, [children]);\n // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n if (!icon || isValidElement(children) && children.type === 'span') {\n if (children && inlineCollapsed.value && firstLevel && typeof children === 'string') {\n return _createVNode(\"div\", {\n \"class\": `${prefixCls.value}-inline-collapsed-noicon`\n }, [children.charAt(0)]);\n }\n }\n return wrapNode;\n };\n // ========================== DirectionStyle ==========================\n const directionStyle = useDirectionStyle(computed(() => keysPath.value.length));\n return () => {\n var _a, _b, _c, _d, _e;\n if (isMeasure) return null;\n const title = (_a = props.title) !== null && _a !== void 0 ? _a : (_b = slots.title) === null || _b === void 0 ? void 0 : _b.call(slots);\n const children = flattenChildren((_c = slots.default) === null || _c === void 0 ? void 0 : _c.call(slots));\n const childrenLength = children.length;\n let tooltipTitle = title;\n if (typeof title === 'undefined') {\n tooltipTitle = firstLevel && childrenLength ? children : '';\n } else if (title === false) {\n tooltipTitle = '';\n }\n const tooltipProps = {\n title: tooltipTitle\n };\n if (!siderCollapsed.value && !inlineCollapsed.value) {\n tooltipProps.title = null;\n // Reset `visible` to fix control mode tooltip display not correct\n // ref: https://github.com/ant-design/ant-design/issues/16742\n tooltipProps.open = false;\n }\n // ============================ Render ============================\n const optionRoleProps = {};\n if (props.role === 'option') {\n optionRoleProps['aria-selected'] = selected.value;\n }\n const icon = (_d = props.icon) !== null && _d !== void 0 ? _d : (_e = slots.icon) === null || _e === void 0 ? void 0 : _e.call(slots, props);\n return _createVNode(Tooltip, _objectSpread(_objectSpread({}, tooltipProps), {}, {\n \"placement\": rtl.value ? 'left' : 'right',\n \"overlayClassName\": `${prefixCls.value}-inline-collapsed-tooltip`\n }), {\n default: () => [_createVNode(Overflow.Item, _objectSpread(_objectSpread(_objectSpread({\n \"component\": \"li\"\n }, attrs), {}, {\n \"id\": props.id,\n \"style\": _extends(_extends({}, attrs.style || {}), directionStyle.value),\n \"class\": [classNames.value, {\n [`${attrs.class}`]: !!attrs.class,\n [`${prefixCls.value}-item-only-child`]: (icon ? childrenLength + 1 : childrenLength) === 1\n }],\n \"role\": props.role || 'menuitem',\n \"tabindex\": props.disabled ? null : -1,\n \"data-menu-id\": key,\n \"aria-disabled\": props.disabled\n }, optionRoleProps), {}, {\n \"onMouseenter\": onMouseEnter,\n \"onMouseleave\": onMouseLeave,\n \"onClick\": onInternalClick,\n \"onKeydown\": onInternalKeyDown,\n \"onFocus\": onInternalFocus,\n \"title\": typeof title === 'string' ? title : undefined\n }), {\n default: () => [cloneElement(typeof icon === 'function' ? icon(props.originItemValue) : icon, {\n class: `${prefixCls.value}-item-icon`\n }, false), renderItemChildren(icon, children)]\n })]\n });\n };\n }\n});","const autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nexport const placements = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport const placementsRtl = {\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -7]\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 7]\n },\n rightTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0]\n },\n leftTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0]\n }\n};\nexport default placements;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport Trigger from '../../vc-trigger';\nimport { computed, defineComponent, onBeforeUnmount, shallowRef, watch } from 'vue';\nimport { useInjectForceRender, useInjectMenu } from './hooks/useMenuContext';\nimport { placements, placementsRtl } from './placements';\nimport raf from '../../_util/raf';\nimport classNames from '../../_util/classNames';\nimport { getTransitionProps } from '../../_util/transition';\nconst popupPlacementMap = {\n horizontal: 'bottomLeft',\n vertical: 'rightTop',\n 'vertical-left': 'rightTop',\n 'vertical-right': 'leftTop'\n};\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'PopupTrigger',\n inheritAttrs: false,\n props: {\n prefixCls: String,\n mode: String,\n visible: Boolean,\n // popup: React.ReactNode;\n popupClassName: String,\n popupOffset: Array,\n disabled: Boolean,\n onVisibleChange: Function\n },\n slots: Object,\n emits: ['visibleChange'],\n setup(props, _ref) {\n let {\n slots,\n emit\n } = _ref;\n const innerVisible = shallowRef(false);\n const {\n getPopupContainer,\n rtl,\n subMenuOpenDelay,\n subMenuCloseDelay,\n builtinPlacements,\n triggerSubMenuAction,\n forceSubMenuRender,\n motion,\n defaultMotions,\n rootClassName\n } = useInjectMenu();\n const forceRender = useInjectForceRender();\n const placement = computed(() => rtl.value ? _extends(_extends({}, placementsRtl), builtinPlacements.value) : _extends(_extends({}, placements), builtinPlacements.value));\n const popupPlacement = computed(() => popupPlacementMap[props.mode]);\n const visibleRef = shallowRef();\n watch(() => props.visible, visible => {\n raf.cancel(visibleRef.value);\n visibleRef.value = raf(() => {\n innerVisible.value = visible;\n });\n }, {\n immediate: true\n });\n onBeforeUnmount(() => {\n raf.cancel(visibleRef.value);\n });\n const onVisibleChange = visible => {\n emit('visibleChange', visible);\n };\n const mergedMotion = computed(() => {\n var _a, _b;\n const m = motion.value || ((_a = defaultMotions.value) === null || _a === void 0 ? void 0 : _a[props.mode]) || ((_b = defaultMotions.value) === null || _b === void 0 ? void 0 : _b.other);\n const res = typeof m === 'function' ? m() : m;\n return res ? getTransitionProps(res.name, {\n css: true\n }) : undefined;\n });\n return () => {\n const {\n prefixCls,\n popupClassName,\n mode,\n popupOffset,\n disabled\n } = props;\n return _createVNode(Trigger, {\n \"prefixCls\": prefixCls,\n \"popupClassName\": classNames(`${prefixCls}-popup`, {\n [`${prefixCls}-rtl`]: rtl.value\n }, popupClassName, rootClassName.value),\n \"stretch\": mode === 'horizontal' ? 'minWidth' : null,\n \"getPopupContainer\": getPopupContainer.value,\n \"builtinPlacements\": placement.value,\n \"popupPlacement\": popupPlacement.value,\n \"popupVisible\": innerVisible.value,\n \"popupAlign\": popupOffset && {\n offset: popupOffset\n },\n \"action\": disabled ? [] : [triggerSubMenuAction.value],\n \"mouseEnterDelay\": subMenuOpenDelay.value,\n \"mouseLeaveDelay\": subMenuCloseDelay.value,\n \"onPopupVisibleChange\": onVisibleChange,\n \"forceRender\": forceRender || forceSubMenuRender.value,\n \"popupAnimation\": mergedMotion.value\n }, {\n popup: slots.popup,\n default: slots.default\n });\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { createVNode as _createVNode } from \"vue\";\nimport classNames from '../../_util/classNames';\nimport { useInjectMenu } from './hooks/useMenuContext';\nconst InternalSubMenuList = (_props, _ref) => {\n let {\n slots,\n attrs\n } = _ref;\n var _a;\n const {\n prefixCls,\n mode\n } = useInjectMenu();\n return _createVNode(\"ul\", _objectSpread(_objectSpread({}, attrs), {}, {\n \"class\": classNames(prefixCls.value, `${prefixCls.value}-sub`, `${prefixCls.value}-${mode.value === 'inline' ? 'inline' : 'vertical'}`),\n \"data-menu-list\": true\n }), [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]);\n};\nInternalSubMenuList.displayName = 'SubMenuList';\nexport default InternalSubMenuList;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { withDirectives as _withDirectives, createVNode as _createVNode, vShow as _vShow } from \"vue\";\nimport { computed, Transition, defineComponent, ref, watch } from 'vue';\nimport { useInjectMenu, MenuContextProvider } from './hooks/useMenuContext';\nimport SubMenuList from './SubMenuList';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'InlineSubMenuList',\n inheritAttrs: false,\n props: {\n id: String,\n open: Boolean,\n keyPath: Array\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const fixedMode = computed(() => 'inline');\n const {\n motion,\n mode,\n defaultMotions\n } = useInjectMenu();\n const sameModeRef = computed(() => mode.value === fixedMode.value);\n const destroy = ref(!sameModeRef.value);\n const mergedOpen = computed(() => sameModeRef.value ? props.open : false);\n // ================================= Effect =================================\n // Reset destroy state when mode change back\n watch(mode, () => {\n if (sameModeRef.value) {\n destroy.value = false;\n }\n }, {\n flush: 'post'\n });\n const mergedMotion = computed(() => {\n var _a, _b;\n const m = motion.value || ((_a = defaultMotions.value) === null || _a === void 0 ? void 0 : _a[fixedMode.value]) || ((_b = defaultMotions.value) === null || _b === void 0 ? void 0 : _b.other);\n const res = typeof m === 'function' ? m() : m;\n return _extends(_extends({}, res), {\n appear: props.keyPath.length <= 1\n });\n });\n return () => {\n var _a;\n if (destroy.value) {\n return null;\n }\n return _createVNode(MenuContextProvider, {\n \"mode\": fixedMode.value\n }, {\n default: () => [_createVNode(Transition, mergedMotion.value, {\n default: () => [_withDirectives(_createVNode(SubMenuList, {\n \"id\": props.id\n }, {\n default: () => [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]\n }), [[_vShow, mergedOpen.value]])]\n })]\n });\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nimport PropTypes from '../../_util/vue-types';\nimport { computed, defineComponent, getCurrentInstance, shallowRef, watch, onBeforeUnmount } from 'vue';\nimport useProvideKeyPath, { useInjectKeyPath, useMeasure } from './hooks/useKeyPath';\nimport { useInjectMenu, useProvideFirstLevel, MenuContextProvider, useProvideForceRender, useInjectForceRender } from './hooks/useMenuContext';\nimport { getPropsSlot, isValidElement } from '../../_util/props-util';\nimport classNames from '../../_util/classNames';\nimport useDirectionStyle from './hooks/useDirectionStyle';\nimport PopupTrigger from './PopupTrigger';\nimport SubMenuList from './SubMenuList';\nimport InlineSubMenuList from './InlineSubMenuList';\nimport { cloneElement } from '../../_util/vnode';\nimport Overflow from '../../vc-overflow';\nimport devWarning from '../../vc-util/devWarning';\nimport isValid from '../../_util/isValid';\nimport { objectType } from '../../_util/type';\nlet indexGuid = 0;\nexport const subMenuProps = () => ({\n icon: PropTypes.any,\n title: PropTypes.any,\n disabled: Boolean,\n level: Number,\n popupClassName: String,\n popupOffset: Array,\n internalPopupClose: Boolean,\n eventKey: String,\n expandIcon: Function,\n theme: String,\n onMouseenter: Function,\n onMouseleave: Function,\n onTitleClick: Function,\n // Internal user prop\n originItemValue: objectType()\n});\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'ASubMenu',\n inheritAttrs: false,\n props: subMenuProps(),\n slots: Object,\n setup(props, _ref) {\n let {\n slots,\n attrs,\n emit\n } = _ref;\n var _a, _b;\n useProvideFirstLevel(false);\n const isMeasure = useMeasure();\n const instance = getCurrentInstance();\n const vnodeKey = typeof instance.vnode.key === 'symbol' ? String(instance.vnode.key) : instance.vnode.key;\n devWarning(typeof instance.vnode.key !== 'symbol', 'SubMenu', `SubMenu \\`:key=\"${String(vnodeKey)}\"\\` not support Symbol type`);\n const key = isValid(vnodeKey) ? vnodeKey : `sub_menu_${++indexGuid}_$$_not_set_key`;\n const eventKey = (_a = props.eventKey) !== null && _a !== void 0 ? _a : isValid(vnodeKey) ? `sub_menu_${++indexGuid}_$$_${vnodeKey}` : key;\n const {\n parentEventKeys,\n parentInfo,\n parentKeys\n } = useInjectKeyPath();\n const keysPath = computed(() => [...parentKeys.value, key]);\n const childrenEventKeys = shallowRef([]);\n const menuInfo = {\n eventKey,\n key,\n parentEventKeys,\n childrenEventKeys,\n parentKeys\n };\n (_b = parentInfo.childrenEventKeys) === null || _b === void 0 ? void 0 : _b.value.push(eventKey);\n onBeforeUnmount(() => {\n var _a;\n if (parentInfo.childrenEventKeys) {\n parentInfo.childrenEventKeys.value = (_a = parentInfo.childrenEventKeys) === null || _a === void 0 ? void 0 : _a.value.filter(k => k != eventKey);\n }\n });\n useProvideKeyPath(eventKey, key, menuInfo);\n const {\n prefixCls,\n activeKeys,\n disabled: contextDisabled,\n changeActiveKeys,\n mode,\n inlineCollapsed,\n openKeys,\n overflowDisabled,\n onOpenChange,\n registerMenuInfo,\n unRegisterMenuInfo,\n selectedSubMenuKeys,\n expandIcon: menuExpandIcon,\n theme\n } = useInjectMenu();\n const hasKey = vnodeKey !== undefined && vnodeKey !== null;\n // If not set key, use forceRender = true for children\n // 如果没有 key,强制 render 子元素\n const forceRender = !isMeasure && (useInjectForceRender() || !hasKey);\n useProvideForceRender(forceRender);\n if (isMeasure && hasKey || !isMeasure && !hasKey || forceRender) {\n registerMenuInfo(eventKey, menuInfo);\n onBeforeUnmount(() => {\n unRegisterMenuInfo(eventKey);\n });\n }\n const subMenuPrefixCls = computed(() => `${prefixCls.value}-submenu`);\n const mergedDisabled = computed(() => contextDisabled.value || props.disabled);\n const elementRef = shallowRef();\n const popupRef = shallowRef();\n // // ================================ Icon ================================\n // const mergedItemIcon = itemIcon || contextItemIcon;\n // const mergedExpandIcon = expandIcon || contextExpandIcon;\n // ================================ Open ================================\n const originOpen = computed(() => openKeys.value.includes(key));\n const open = computed(() => !overflowDisabled.value && originOpen.value);\n // =============================== Select ===============================\n const childrenSelected = computed(() => {\n return selectedSubMenuKeys.value.includes(key);\n });\n const isActive = shallowRef(false);\n watch(activeKeys, () => {\n isActive.value = !!activeKeys.value.find(val => val === key);\n }, {\n immediate: true\n });\n // =============================== Events ===============================\n // >>>> Title click\n const onInternalTitleClick = e => {\n // Skip if disabled\n if (mergedDisabled.value) {\n return;\n }\n emit('titleClick', e, key);\n // Trigger open by click when mode is `inline`\n if (mode.value === 'inline') {\n onOpenChange(key, !originOpen.value);\n }\n };\n const onMouseEnter = event => {\n if (!mergedDisabled.value) {\n changeActiveKeys(keysPath.value);\n emit('mouseenter', event);\n }\n };\n const onMouseLeave = event => {\n if (!mergedDisabled.value) {\n changeActiveKeys([]);\n emit('mouseleave', event);\n }\n };\n // ========================== DirectionStyle ==========================\n const directionStyle = useDirectionStyle(computed(() => keysPath.value.length));\n // >>>>> Visible change\n const onPopupVisibleChange = newVisible => {\n if (mode.value !== 'inline') {\n onOpenChange(key, newVisible);\n }\n };\n /**\n * Used for accessibility. Helper will focus element without key board.\n * We should manually trigger an active\n */\n const onInternalFocus = () => {\n changeActiveKeys(keysPath.value);\n };\n // =============================== Render ===============================\n const popupId = eventKey && `${eventKey}-popup`;\n const popupClassName = computed(() => classNames(prefixCls.value, `${prefixCls.value}-${props.theme || theme.value}`, props.popupClassName));\n const renderTitle = (title, icon) => {\n if (!icon) {\n return inlineCollapsed.value && !parentKeys.value.length && title && typeof title === 'string' ? _createVNode(\"div\", {\n \"class\": `${prefixCls.value}-inline-collapsed-noicon`\n }, [title.charAt(0)]) : _createVNode(\"span\", {\n \"class\": `${prefixCls.value}-title-content`\n }, [title]);\n }\n // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性,则内部包裹一个 span\n // ref: https://github.com/ant-design/ant-design/pull/23456\n const titleIsSpan = isValidElement(title) && title.type === 'span';\n return _createVNode(_Fragment, null, [cloneElement(typeof icon === 'function' ? icon(props.originItemValue) : icon, {\n class: `${prefixCls.value}-item-icon`\n }, false), titleIsSpan ? title : _createVNode(\"span\", {\n \"class\": `${prefixCls.value}-title-content`\n }, [title])]);\n };\n // Cache mode if it change to `inline` which do not have popup motion\n const triggerModeRef = computed(() => {\n return mode.value !== 'inline' && keysPath.value.length > 1 ? 'vertical' : mode.value;\n });\n const renderMode = computed(() => mode.value === 'horizontal' ? 'vertical' : mode.value);\n const subMenuTriggerModeRef = computed(() => triggerModeRef.value === 'horizontal' ? 'vertical' : triggerModeRef.value);\n const baseTitleNode = () => {\n var _a, _b;\n const subMenuPrefixClsValue = subMenuPrefixCls.value;\n const icon = (_a = props.icon) !== null && _a !== void 0 ? _a : (_b = slots.icon) === null || _b === void 0 ? void 0 : _b.call(slots, props);\n const expandIcon = props.expandIcon || slots.expandIcon || menuExpandIcon.value;\n const title = renderTitle(getPropsSlot(slots, props, 'title'), icon);\n return _createVNode(\"div\", {\n \"style\": directionStyle.value,\n \"class\": `${subMenuPrefixClsValue}-title`,\n \"tabindex\": mergedDisabled.value ? null : -1,\n \"ref\": elementRef,\n \"title\": typeof title === 'string' ? title : null,\n \"data-menu-id\": key,\n \"aria-expanded\": open.value,\n \"aria-haspopup\": true,\n \"aria-controls\": popupId,\n \"aria-disabled\": mergedDisabled.value,\n \"onClick\": onInternalTitleClick,\n \"onFocus\": onInternalFocus\n }, [title, mode.value !== 'horizontal' && expandIcon ? expandIcon(_extends(_extends({}, props), {\n isOpen: open.value\n })) : _createVNode(\"i\", {\n \"class\": `${subMenuPrefixClsValue}-arrow`\n }, null)]);\n };\n return () => {\n var _a;\n if (isMeasure) {\n if (!hasKey) {\n return null;\n }\n return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n }\n const subMenuPrefixClsValue = subMenuPrefixCls.value;\n let titleNode = () => null;\n if (!overflowDisabled.value && mode.value !== 'inline') {\n const popupOffset = mode.value === 'horizontal' ? [0, 8] : [10, 0];\n titleNode = () => _createVNode(PopupTrigger, {\n \"mode\": triggerModeRef.value,\n \"prefixCls\": subMenuPrefixClsValue,\n \"visible\": !props.internalPopupClose && open.value,\n \"popupClassName\": popupClassName.value,\n \"popupOffset\": props.popupOffset || popupOffset,\n \"disabled\": mergedDisabled.value,\n \"onVisibleChange\": onPopupVisibleChange\n }, {\n default: () => [baseTitleNode()],\n popup: () => _createVNode(MenuContextProvider, {\n \"mode\": subMenuTriggerModeRef.value\n }, {\n default: () => [_createVNode(SubMenuList, {\n \"id\": popupId,\n \"ref\": popupRef\n }, {\n default: slots.default\n })]\n })\n });\n } else {\n // 包裹一层,保持结构一致,防止动画丢失\n // https://github.com/vueComponent/ant-design-vue/issues/4325\n titleNode = () => _createVNode(PopupTrigger, null, {\n default: baseTitleNode\n });\n }\n return _createVNode(MenuContextProvider, {\n \"mode\": renderMode.value\n }, {\n default: () => [_createVNode(Overflow.Item, _objectSpread(_objectSpread({\n \"component\": \"li\"\n }, attrs), {}, {\n \"role\": \"none\",\n \"class\": classNames(subMenuPrefixClsValue, `${subMenuPrefixClsValue}-${mode.value}`, attrs.class, {\n [`${subMenuPrefixClsValue}-open`]: open.value,\n [`${subMenuPrefixClsValue}-active`]: isActive.value,\n [`${subMenuPrefixClsValue}-selected`]: childrenSelected.value,\n [`${subMenuPrefixClsValue}-disabled`]: mergedDisabled.value\n }),\n \"onMouseenter\": onMouseEnter,\n \"onMouseleave\": onMouseLeave,\n \"data-submenu-id\": key\n }), {\n default: () => {\n return _createVNode(_Fragment, null, [titleNode(), !overflowDisabled.value && _createVNode(InlineSubMenuList, {\n \"id\": popupId,\n \"open\": open.value,\n \"keyPath\": keysPath.value\n }, {\n default: slots.default\n })]);\n }\n })]\n });\n };\n }\n});","export function hasClass(node, className) {\n if (node.classList) {\n return node.classList.contains(className);\n }\n const originClass = node.className;\n return ` ${originClass} `.indexOf(` ${className} `) > -1;\n}\nexport function addClass(node, className) {\n if (node.classList) {\n node.classList.add(className);\n } else {\n if (!hasClass(node, className)) {\n node.className = `${node.className} ${className}`;\n }\n }\n}\nexport function removeClass(node, className) {\n if (node.classList) {\n node.classList.remove(className);\n } else {\n if (hasClass(node, className)) {\n const originClass = node.className;\n node.className = ` ${originClass} `.replace(` ${className} `, ' ');\n }\n }\n}","import { nextTick } from 'vue';\nimport { addClass, removeClass } from '../vc-util/Dom/class';\nconst collapseMotion = function () {\n let name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ant-motion-collapse';\n let appear = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return {\n name,\n appear,\n css: true,\n onBeforeEnter: node => {\n node.style.height = '0px';\n node.style.opacity = '0';\n addClass(node, name);\n },\n onEnter: node => {\n nextTick(() => {\n node.style.height = `${node.scrollHeight}px`;\n node.style.opacity = '1';\n });\n },\n onAfterEnter: node => {\n if (node) {\n removeClass(node, name);\n node.style.height = null;\n node.style.opacity = null;\n }\n },\n onBeforeLeave: node => {\n addClass(node, name);\n node.style.height = `${node.offsetHeight}px`;\n node.style.opacity = null;\n },\n onLeave: node => {\n setTimeout(() => {\n node.style.height = '0px';\n node.style.opacity = '0';\n });\n },\n onAfterLeave: node => {\n if (node) {\n removeClass(node, name);\n if (node.style) {\n node.style.height = null;\n node.style.opacity = null;\n }\n }\n }\n };\n};\nexport default collapseMotion;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { getPropsSlot } from '../../_util/props-util';\nimport { computed, defineComponent } from 'vue';\nimport PropTypes from '../../_util/vue-types';\nimport { useInjectMenu } from './hooks/useMenuContext';\nimport { useMeasure } from './hooks/useKeyPath';\nimport { objectType } from '../../_util/type';\nexport const menuItemGroupProps = () => ({\n title: PropTypes.any,\n // Internal user prop\n originItemValue: objectType()\n});\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'AMenuItemGroup',\n inheritAttrs: false,\n props: menuItemGroupProps(),\n slots: Object,\n setup(props, _ref) {\n let {\n slots,\n attrs\n } = _ref;\n const {\n prefixCls\n } = useInjectMenu();\n const groupPrefixCls = computed(() => `${prefixCls.value}-item-group`);\n const isMeasure = useMeasure();\n return () => {\n var _a, _b;\n if (isMeasure) return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n return _createVNode(\"li\", _objectSpread(_objectSpread({}, attrs), {}, {\n \"onClick\": e => e.stopPropagation(),\n \"class\": groupPrefixCls.value\n }), [_createVNode(\"div\", {\n \"title\": typeof props.title === 'string' ? props.title : undefined,\n \"class\": `${groupPrefixCls.value}-title`\n }, [getPropsSlot(slots, props, 'title')]), _createVNode(\"ul\", {\n \"class\": `${groupPrefixCls.value}-list`\n }, [(_b = slots.default) === null || _b === void 0 ? void 0 : _b.call(slots)])]);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport { computed, defineComponent } from 'vue';\nimport { useInjectMenu } from './hooks/useMenuContext';\nexport const menuDividerProps = () => ({\n prefixCls: String,\n dashed: Boolean\n});\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'AMenuDivider',\n props: menuDividerProps(),\n setup(props) {\n const {\n prefixCls\n } = useInjectMenu();\n const cls = computed(() => {\n return {\n [`${prefixCls.value}-item-divider`]: true,\n [`${prefixCls.value}-item-divider-dashed`]: !!props.dashed\n };\n });\n return () => {\n return _createVNode(\"li\", {\n \"class\": cls.value\n }, null);\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport SubMenu from '../SubMenu';\nimport ItemGroup from '../ItemGroup';\nimport MenuDivider from '../Divider';\nimport MenuItem from '../MenuItem';\nimport { ref, shallowRef, watch } from 'vue';\nfunction convertItemsToNodes(list, store, parentMenuInfo) {\n return (list || []).map((opt, index) => {\n if (opt && typeof opt === 'object') {\n const _a = opt,\n {\n label,\n children,\n key,\n type\n } = _a,\n restProps = __rest(_a, [\"label\", \"children\", \"key\", \"type\"]);\n const mergedKey = key !== null && key !== void 0 ? key : `tmp-${index}`;\n // 此处 eventKey === key, 移除 children 后可以移除 eventKey\n const parentKeys = parentMenuInfo ? parentMenuInfo.parentKeys.slice() : [];\n const childrenEventKeys = [];\n // if\n const menuInfo = {\n eventKey: mergedKey,\n key: mergedKey,\n parentEventKeys: ref(parentKeys),\n parentKeys: ref(parentKeys),\n childrenEventKeys: ref(childrenEventKeys),\n isLeaf: false\n };\n // MenuItemGroup & SubMenuItem\n if (children || type === 'group') {\n if (type === 'group') {\n const childrenNodes = convertItemsToNodes(children, store, parentMenuInfo);\n // Group\n return _createVNode(ItemGroup, _objectSpread(_objectSpread({\n \"key\": mergedKey\n }, restProps), {}, {\n \"title\": label,\n \"originItemValue\": opt\n }), {\n default: () => [childrenNodes]\n });\n }\n store.set(mergedKey, menuInfo);\n if (parentMenuInfo) {\n parentMenuInfo.childrenEventKeys.push(mergedKey);\n }\n // Sub Menu\n const childrenNodes = convertItemsToNodes(children, store, {\n childrenEventKeys,\n parentKeys: [].concat(parentKeys, mergedKey)\n });\n return _createVNode(SubMenu, _objectSpread(_objectSpread({\n \"key\": mergedKey\n }, restProps), {}, {\n \"title\": label,\n \"originItemValue\": opt\n }), {\n default: () => [childrenNodes]\n });\n }\n // MenuItem & Divider\n if (type === 'divider') {\n return _createVNode(MenuDivider, _objectSpread({\n \"key\": mergedKey\n }, restProps), null);\n }\n menuInfo.isLeaf = true;\n store.set(mergedKey, menuInfo);\n return _createVNode(MenuItem, _objectSpread(_objectSpread({\n \"key\": mergedKey\n }, restProps), {}, {\n \"originItemValue\": opt\n }), {\n default: () => [label]\n });\n }\n return null;\n }).filter(opt => opt);\n}\n// FIXME: Move logic here in v4\n/**\n * We simply convert `items` to VueNode for reuse origin component logic. But we need move all the\n * logic from component into this hooks when in v4\n */\nexport default function useItems(props) {\n const itemsNodes = shallowRef([]);\n const hasItmes = shallowRef(false);\n const store = shallowRef(new Map());\n watch(() => props.items, () => {\n const newStore = new Map();\n hasItmes.value = false;\n if (props.items) {\n hasItmes.value = true;\n itemsNodes.value = convertItemsToNodes(props.items, newStore);\n } else {\n itemsNodes.value = undefined;\n }\n store.value = newStore;\n }, {\n immediate: true,\n deep: true\n });\n return {\n itemsNodes,\n store,\n hasItmes\n };\n}","const getHorizontalStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n menuHorizontalHeight,\n colorSplit,\n lineWidth,\n lineType,\n menuItemPaddingInline\n } = token;\n return {\n [`${componentCls}-horizontal`]: {\n lineHeight: `${menuHorizontalHeight}px`,\n border: 0,\n borderBottom: `${lineWidth}px ${lineType} ${colorSplit}`,\n boxShadow: 'none',\n '&::after': {\n display: 'block',\n clear: 'both',\n height: 0,\n content: '\"\\\\20\"'\n },\n // ======================= Item =======================\n [`${componentCls}-item, ${componentCls}-submenu`]: {\n position: 'relative',\n display: 'inline-block',\n verticalAlign: 'bottom',\n paddingInline: menuItemPaddingInline\n },\n [`> ${componentCls}-item:hover,\n > ${componentCls}-item-active,\n > ${componentCls}-submenu ${componentCls}-submenu-title:hover`]: {\n backgroundColor: 'transparent'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`].join(',')\n },\n // ===================== Sub Menu =====================\n [`${componentCls}-submenu-arrow`]: {\n display: 'none'\n }\n }\n };\n};\nexport default getHorizontalStyle;","const getRTLStyle = _ref => {\n let {\n componentCls,\n menuArrowOffset\n } = _ref;\n return {\n [`${componentCls}-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-submenu-rtl`]: {\n transformOrigin: '100% 0'\n },\n // Vertical Arrow\n [`${componentCls}-rtl${componentCls}-vertical,\n ${componentCls}-submenu-rtl ${componentCls}-vertical`]: {\n [`${componentCls}-submenu-arrow`]: {\n '&::before': {\n transform: `rotate(-45deg) translateY(-${menuArrowOffset})`\n },\n '&::after': {\n transform: `rotate(45deg) translateY(${menuArrowOffset})`\n }\n }\n }\n };\n};\nexport default getRTLStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { genFocusOutline } from '../../style';\nconst accessibilityFocus = token => _extends({}, genFocusOutline(token));\nconst getThemeStyle = (token, themeSuffix) => {\n const {\n componentCls,\n colorItemText,\n colorItemTextSelected,\n colorGroupTitle,\n colorItemBg,\n colorSubItemBg,\n colorItemBgSelected,\n colorActiveBarHeight,\n colorActiveBarWidth,\n colorActiveBarBorderSize,\n motionDurationSlow,\n motionEaseInOut,\n motionEaseOut,\n menuItemPaddingInline,\n motionDurationMid,\n colorItemTextHover,\n lineType,\n colorSplit,\n // Disabled\n colorItemTextDisabled,\n // Danger\n colorDangerItemText,\n colorDangerItemTextHover,\n colorDangerItemTextSelected,\n colorDangerItemBgActive,\n colorDangerItemBgSelected,\n colorItemBgHover,\n menuSubMenuBg,\n // Horizontal\n colorItemTextSelectedHorizontal,\n colorItemBgSelectedHorizontal\n } = token;\n return {\n [`${componentCls}-${themeSuffix}`]: {\n color: colorItemText,\n background: colorItemBg,\n [`&${componentCls}-root:focus-visible`]: _extends({}, accessibilityFocus(token)),\n // ======================== Item ========================\n [`${componentCls}-item-group-title`]: {\n color: colorGroupTitle\n },\n [`${componentCls}-submenu-selected`]: {\n [`> ${componentCls}-submenu-title`]: {\n color: colorItemTextSelected\n }\n },\n // Disabled\n [`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {\n color: `${colorItemTextDisabled} !important`\n },\n // Hover\n [`${componentCls}-item:hover, ${componentCls}-submenu-title:hover`]: {\n [`&:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n color: colorItemTextHover\n }\n },\n [`&:not(${componentCls}-horizontal)`]: {\n [`${componentCls}-item:not(${componentCls}-item-selected)`]: {\n '&:hover': {\n backgroundColor: colorItemBgHover\n },\n '&:active': {\n backgroundColor: colorItemBgSelected\n }\n },\n [`${componentCls}-submenu-title`]: {\n '&:hover': {\n backgroundColor: colorItemBgHover\n },\n '&:active': {\n backgroundColor: colorItemBgSelected\n }\n }\n },\n // Danger - only Item has\n [`${componentCls}-item-danger`]: {\n color: colorDangerItemText,\n [`&${componentCls}-item:hover`]: {\n [`&:not(${componentCls}-item-selected):not(${componentCls}-submenu-selected)`]: {\n color: colorDangerItemTextHover\n }\n },\n [`&${componentCls}-item:active`]: {\n background: colorDangerItemBgActive\n }\n },\n [`${componentCls}-item a`]: {\n '&, &:hover': {\n color: 'inherit'\n }\n },\n [`${componentCls}-item-selected`]: {\n color: colorItemTextSelected,\n // Danger\n [`&${componentCls}-item-danger`]: {\n color: colorDangerItemTextSelected\n },\n [`a, a:hover`]: {\n color: 'inherit'\n }\n },\n [`& ${componentCls}-item-selected`]: {\n backgroundColor: colorItemBgSelected,\n // Danger\n [`&${componentCls}-item-danger`]: {\n backgroundColor: colorDangerItemBgSelected\n }\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n [`&:not(${componentCls}-item-disabled):focus-visible`]: _extends({}, accessibilityFocus(token))\n },\n [`&${componentCls}-submenu > ${componentCls}`]: {\n backgroundColor: menuSubMenuBg\n },\n [`&${componentCls}-popup > ${componentCls}`]: {\n backgroundColor: colorItemBg\n },\n // ====================== Horizontal ======================\n [`&${componentCls}-horizontal`]: _extends(_extends({}, themeSuffix === 'dark' ? {\n borderBottom: 0\n } : {}), {\n [`> ${componentCls}-item, > ${componentCls}-submenu`]: {\n top: colorActiveBarBorderSize,\n marginTop: -colorActiveBarBorderSize,\n marginBottom: 0,\n borderRadius: 0,\n '&::after': {\n position: 'absolute',\n insetInline: menuItemPaddingInline,\n bottom: 0,\n borderBottom: `${colorActiveBarHeight}px solid transparent`,\n transition: `border-color ${motionDurationSlow} ${motionEaseInOut}`,\n content: '\"\"'\n },\n [`&:hover, &-active, &-open`]: {\n '&::after': {\n borderBottomWidth: colorActiveBarHeight,\n borderBottomColor: colorItemTextSelectedHorizontal\n }\n },\n [`&-selected`]: {\n color: colorItemTextSelectedHorizontal,\n backgroundColor: colorItemBgSelectedHorizontal,\n '&::after': {\n borderBottomWidth: colorActiveBarHeight,\n borderBottomColor: colorItemTextSelectedHorizontal\n }\n }\n }\n }),\n // ================== Inline & Vertical ===================\n //\n [`&${componentCls}-root`]: {\n [`&${componentCls}-inline, &${componentCls}-vertical`]: {\n borderInlineEnd: `${colorActiveBarBorderSize}px ${lineType} ${colorSplit}`\n }\n },\n // ======================== Inline ========================\n [`&${componentCls}-inline`]: {\n // Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n background: colorSubItemBg\n },\n // Item\n [`${componentCls}-item, ${componentCls}-submenu-title`]: colorActiveBarBorderSize && colorActiveBarWidth ? {\n width: `calc(100% + ${colorActiveBarBorderSize}px)`\n } : {},\n [`${componentCls}-item`]: {\n position: 'relative',\n '&::after': {\n position: 'absolute',\n insetBlock: 0,\n insetInlineEnd: 0,\n borderInlineEnd: `${colorActiveBarWidth}px solid ${colorItemTextSelected}`,\n transform: 'scaleY(0.0001)',\n opacity: 0,\n transition: [`transform ${motionDurationMid} ${motionEaseOut}`, `opacity ${motionDurationMid} ${motionEaseOut}`].join(','),\n content: '\"\"'\n },\n // Danger\n [`&${componentCls}-item-danger`]: {\n '&::after': {\n borderInlineEndColor: colorDangerItemTextSelected\n }\n }\n },\n [`${componentCls}-selected, ${componentCls}-item-selected`]: {\n '&::after': {\n transform: 'scaleY(1)',\n opacity: 1,\n transition: [`transform ${motionDurationMid} ${motionEaseInOut}`, `opacity ${motionDurationMid} ${motionEaseInOut}`].join(',')\n }\n }\n }\n }\n };\n};\nexport default getThemeStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { textEllipsis } from '../../style';\nconst getVerticalInlineStyle = token => {\n const {\n componentCls,\n menuItemHeight,\n itemMarginInline,\n padding,\n menuArrowSize,\n marginXS,\n marginXXS\n } = token;\n const paddingWithArrow = padding + menuArrowSize + marginXS;\n return {\n [`${componentCls}-item`]: {\n position: 'relative'\n },\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n height: menuItemHeight,\n lineHeight: `${menuItemHeight}px`,\n paddingInline: padding,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n marginInline: itemMarginInline,\n marginBlock: marginXXS,\n width: `calc(100% - ${itemMarginInline * 2}px)`\n },\n // disable margin collapsed\n [`${componentCls}-submenu`]: {\n paddingBottom: 0.02\n },\n [`> ${componentCls}-item,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n height: menuItemHeight,\n lineHeight: `${menuItemHeight}px`\n },\n [`${componentCls}-item-group-list ${componentCls}-submenu-title,\n ${componentCls}-submenu-title`]: {\n paddingInlineEnd: paddingWithArrow\n }\n };\n};\nconst getVerticalStyle = token => {\n const {\n componentCls,\n iconCls,\n menuItemHeight,\n colorTextLightSolid,\n dropdownWidth,\n controlHeightLG,\n motionDurationMid,\n motionEaseOut,\n paddingXL,\n fontSizeSM,\n fontSizeLG,\n motionDurationSlow,\n paddingXS,\n boxShadowSecondary\n } = token;\n const inlineItemStyle = {\n height: menuItemHeight,\n lineHeight: `${menuItemHeight}px`,\n listStylePosition: 'inside',\n listStyleType: 'disc'\n };\n return [{\n [componentCls]: {\n [`&-inline, &-vertical`]: _extends({\n [`&${componentCls}-root`]: {\n boxShadow: 'none'\n }\n }, getVerticalInlineStyle(token))\n },\n [`${componentCls}-submenu-popup`]: {\n [`${componentCls}-vertical`]: _extends(_extends({}, getVerticalInlineStyle(token)), {\n boxShadow: boxShadowSecondary\n })\n }\n },\n // Vertical only\n {\n [`${componentCls}-submenu-popup ${componentCls}-vertical${componentCls}-sub`]: {\n minWidth: dropdownWidth,\n maxHeight: `calc(100vh - ${controlHeightLG * 2.5}px)`,\n padding: '0',\n overflow: 'hidden',\n borderInlineEnd: 0,\n // https://github.com/ant-design/ant-design/issues/22244\n // https://github.com/ant-design/ant-design/issues/26812\n \"&:not([class*='-active'])\": {\n overflowX: 'hidden',\n overflowY: 'auto'\n }\n }\n },\n // Inline Only\n {\n [`${componentCls}-inline`]: {\n width: '100%',\n // Motion enhance for first level\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n display: 'flex',\n alignItems: 'center',\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`, `padding ${motionDurationMid} ${motionEaseOut}`].join(','),\n [`> ${componentCls}-title-content`]: {\n flex: 'auto',\n minWidth: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n '> *': {\n flex: 'none'\n }\n }\n },\n // >>>>> Sub\n [`${componentCls}-sub${componentCls}-inline`]: {\n padding: 0,\n border: 0,\n borderRadius: 0,\n boxShadow: 'none',\n [`& > ${componentCls}-submenu > ${componentCls}-submenu-title`]: inlineItemStyle,\n [`& ${componentCls}-item-group-title`]: {\n paddingInlineStart: paddingXL\n }\n },\n // >>>>> Item\n [`${componentCls}-item`]: inlineItemStyle\n }\n },\n // Inline Collapse Only\n {\n [`${componentCls}-inline-collapsed`]: {\n width: menuItemHeight * 2,\n [`&${componentCls}-root`]: {\n [`${componentCls}-item, ${componentCls}-submenu ${componentCls}-submenu-title`]: {\n [`> ${componentCls}-inline-collapsed-noicon`]: {\n fontSize: fontSizeLG,\n textAlign: 'center'\n }\n }\n },\n [`> ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-item,\n > ${componentCls}-item-group > ${componentCls}-item-group-list > ${componentCls}-submenu > ${componentCls}-submenu-title,\n > ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n insetInlineStart: 0,\n paddingInline: `calc(50% - ${fontSizeSM}px)`,\n textOverflow: 'clip',\n [`\n ${componentCls}-submenu-arrow,\n ${componentCls}-submenu-expand-icon\n `]: {\n opacity: 0\n },\n [`${componentCls}-item-icon, ${iconCls}`]: {\n margin: 0,\n fontSize: fontSizeLG,\n lineHeight: `${menuItemHeight}px`,\n '+ span': {\n display: 'inline-block',\n opacity: 0\n }\n }\n },\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'inline-block'\n },\n '&-tooltip': {\n pointerEvents: 'none',\n [`${componentCls}-item-icon, ${iconCls}`]: {\n display: 'none'\n },\n 'a, a:hover': {\n color: colorTextLightSolid\n }\n },\n [`${componentCls}-item-group-title`]: _extends(_extends({}, textEllipsis), {\n paddingInline: paddingXS\n })\n }\n }];\n};\nexport default getVerticalStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { genCollapseMotion, initSlideMotion, initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport getHorizontalStyle from './horizontal';\nimport getRTLStyle from './rtl';\nimport getThemeStyle from './theme';\nimport getVerticalStyle from './vertical';\nimport { clearFix, resetComponent, resetIcon } from '../../style';\nimport 'vue';\nconst genMenuItemStyle = token => {\n const {\n componentCls,\n fontSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n motionEaseOut,\n iconCls,\n controlHeightSM\n } = token;\n return {\n // >>>>> Item\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n position: 'relative',\n display: 'block',\n margin: 0,\n whiteSpace: 'nowrap',\n cursor: 'pointer',\n transition: [`border-color ${motionDurationSlow}`, `background ${motionDurationSlow}`, `padding ${motionDurationSlow} ${motionEaseInOut}`].join(','),\n [`${componentCls}-item-icon, ${iconCls}`]: {\n minWidth: fontSize,\n fontSize,\n transition: [`font-size ${motionDurationMid} ${motionEaseOut}`, `margin ${motionDurationSlow} ${motionEaseInOut}`, `color ${motionDurationSlow}`].join(','),\n '+ span': {\n marginInlineStart: controlHeightSM - fontSize,\n opacity: 1,\n transition: [`opacity ${motionDurationSlow} ${motionEaseInOut}`, `margin ${motionDurationSlow}`, `color ${motionDurationSlow}`].join(',')\n }\n },\n [`${componentCls}-item-icon`]: _extends({}, resetIcon()),\n [`&${componentCls}-item-only-child`]: {\n [`> ${iconCls}, > ${componentCls}-item-icon`]: {\n marginInlineEnd: 0\n }\n }\n },\n // Disabled state sets text to gray and nukes hover/tab effects\n [`${componentCls}-item-disabled, ${componentCls}-submenu-disabled`]: {\n background: 'none !important',\n cursor: 'not-allowed',\n '&::after': {\n borderColor: 'transparent !important'\n },\n a: {\n color: 'inherit !important'\n },\n [`> ${componentCls}-submenu-title`]: {\n color: 'inherit !important',\n cursor: 'not-allowed'\n }\n }\n };\n};\nconst genSubMenuArrowStyle = token => {\n const {\n componentCls,\n motionDurationSlow,\n motionEaseInOut,\n borderRadius,\n menuArrowSize,\n menuArrowOffset\n } = token;\n return {\n [`${componentCls}-submenu`]: {\n [`&-expand-icon, &-arrow`]: {\n position: 'absolute',\n top: '50%',\n insetInlineEnd: token.margin,\n width: menuArrowSize,\n color: 'currentcolor',\n transform: 'translateY(-50%)',\n transition: `transform ${motionDurationSlow} ${motionEaseInOut}, opacity ${motionDurationSlow}`\n },\n '&-arrow': {\n // →\n '&::before, &::after': {\n position: 'absolute',\n width: menuArrowSize * 0.6,\n height: menuArrowSize * 0.15,\n backgroundColor: 'currentcolor',\n borderRadius,\n transition: [`background ${motionDurationSlow} ${motionEaseInOut}`, `transform ${motionDurationSlow} ${motionEaseInOut}`, `top ${motionDurationSlow} ${motionEaseInOut}`, `color ${motionDurationSlow} ${motionEaseInOut}`].join(','),\n content: '\"\"'\n },\n '&::before': {\n transform: `rotate(45deg) translateY(-${menuArrowOffset})`\n },\n '&::after': {\n transform: `rotate(-45deg) translateY(${menuArrowOffset})`\n }\n }\n }\n };\n};\n// =============================== Base ===============================\nconst getBaseStyle = token => {\n const {\n antCls,\n componentCls,\n fontSize,\n motionDurationSlow,\n motionDurationMid,\n motionEaseInOut,\n lineHeight,\n paddingXS,\n padding,\n colorSplit,\n lineWidth,\n zIndexPopup,\n borderRadiusLG,\n radiusSubMenuItem,\n menuArrowSize,\n menuArrowOffset,\n lineType,\n menuPanelMaskInset\n } = token;\n return [\n // Misc\n {\n '': {\n [`${componentCls}`]: _extends(_extends({}, clearFix()), {\n // Hidden\n [`&-hidden`]: {\n display: 'none'\n }\n })\n },\n [`${componentCls}-submenu-hidden`]: {\n display: 'none'\n }\n }, {\n [componentCls]: _extends(_extends(_extends(_extends(_extends(_extends(_extends({}, resetComponent(token)), clearFix()), {\n marginBottom: 0,\n paddingInlineStart: 0,\n // Override default ul/ol\n fontSize,\n lineHeight: 0,\n listStyle: 'none',\n outline: 'none',\n transition: `width ${motionDurationSlow} cubic-bezier(0.2, 0, 0, 1) 0s`,\n [`ul, ol`]: {\n margin: 0,\n padding: 0,\n listStyle: 'none'\n },\n // Overflow ellipsis\n [`&-overflow`]: {\n display: 'flex',\n [`${componentCls}-item`]: {\n flex: 'none'\n }\n },\n [`${componentCls}-item, ${componentCls}-submenu, ${componentCls}-submenu-title`]: {\n borderRadius: token.radiusItem\n },\n [`${componentCls}-item-group-title`]: {\n padding: `${paddingXS}px ${padding}px`,\n fontSize,\n lineHeight,\n transition: `all ${motionDurationSlow}`\n },\n [`&-horizontal ${componentCls}-submenu`]: {\n transition: [`border-color ${motionDurationSlow} ${motionEaseInOut}`, `background ${motionDurationSlow} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-submenu, ${componentCls}-submenu-inline`]: {\n transition: [`border-color ${motionDurationSlow} ${motionEaseInOut}`, `background ${motionDurationSlow} ${motionEaseInOut}`, `padding ${motionDurationMid} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-submenu ${componentCls}-sub`]: {\n cursor: 'initial',\n transition: [`background ${motionDurationSlow} ${motionEaseInOut}`, `padding ${motionDurationSlow} ${motionEaseInOut}`].join(',')\n },\n [`${componentCls}-title-content`]: {\n transition: `color ${motionDurationSlow}`\n },\n [`${componentCls}-item a`]: {\n '&::before': {\n position: 'absolute',\n inset: 0,\n backgroundColor: 'transparent',\n content: '\"\"'\n }\n },\n // Removed a Badge related style seems it's safe\n // https://github.com/ant-design/ant-design/issues/19809\n // >>>>> Divider\n [`${componentCls}-item-divider`]: {\n overflow: 'hidden',\n lineHeight: 0,\n borderColor: colorSplit,\n borderStyle: lineType,\n borderWidth: 0,\n borderTopWidth: lineWidth,\n marginBlock: lineWidth,\n padding: 0,\n '&-dashed': {\n borderStyle: 'dashed'\n }\n }\n }), genMenuItemStyle(token)), {\n [`${componentCls}-item-group`]: {\n [`${componentCls}-item-group-list`]: {\n margin: 0,\n padding: 0,\n [`${componentCls}-item, ${componentCls}-submenu-title`]: {\n paddingInline: `${fontSize * 2}px ${padding}px`\n }\n }\n },\n // ======================= Sub Menu =======================\n '&-submenu': {\n '&-popup': {\n position: 'absolute',\n zIndex: zIndexPopup,\n background: 'transparent',\n borderRadius: borderRadiusLG,\n boxShadow: 'none',\n transformOrigin: '0 0',\n // https://github.com/ant-design/ant-design/issues/13955\n '&::before': {\n position: 'absolute',\n inset: `${menuPanelMaskInset}px 0 0`,\n zIndex: -1,\n width: '100%',\n height: '100%',\n opacity: 0,\n content: '\"\"'\n }\n },\n // https://github.com/ant-design/ant-design/issues/13955\n '&-placement-rightTop::before': {\n top: 0,\n insetInlineStart: menuPanelMaskInset\n },\n [`> ${componentCls}`]: _extends(_extends(_extends({\n borderRadius: borderRadiusLG\n }, genMenuItemStyle(token)), genSubMenuArrowStyle(token)), {\n [`${componentCls}-item, ${componentCls}-submenu > ${componentCls}-submenu-title`]: {\n borderRadius: radiusSubMenuItem\n },\n [`${componentCls}-submenu-title::after`]: {\n transition: `transform ${motionDurationSlow} ${motionEaseInOut}`\n }\n })\n }\n }), genSubMenuArrowStyle(token)), {\n [`&-inline-collapsed ${componentCls}-submenu-arrow,\n &-inline ${componentCls}-submenu-arrow`]: {\n // ↓\n '&::before': {\n transform: `rotate(-45deg) translateX(${menuArrowOffset})`\n },\n '&::after': {\n transform: `rotate(45deg) translateX(-${menuArrowOffset})`\n }\n },\n [`${componentCls}-submenu-open${componentCls}-submenu-inline > ${componentCls}-submenu-title > ${componentCls}-submenu-arrow`]: {\n // ↑\n transform: `translateY(-${menuArrowSize * 0.2}px)`,\n '&::after': {\n transform: `rotate(-45deg) translateX(-${menuArrowOffset})`\n },\n '&::before': {\n transform: `rotate(45deg) translateX(${menuArrowOffset})`\n }\n }\n })\n },\n // Integration with header element so menu items have the same height\n {\n [`${antCls}-layout-header`]: {\n [componentCls]: {\n lineHeight: 'inherit'\n }\n }\n }];\n};\n// ============================== Export ==============================\nexport default ((prefixCls, injectStyle) => {\n const useOriginHook = genComponentStyleHook('Menu', (token, _ref) => {\n let {\n overrideComponentToken\n } = _ref;\n // Dropdown will handle menu style self. We do not need to handle this.\n if ((injectStyle === null || injectStyle === void 0 ? void 0 : injectStyle.value) === false) {\n return [];\n }\n const {\n colorBgElevated,\n colorPrimary,\n colorError,\n colorErrorHover,\n colorTextLightSolid\n } = token;\n const {\n controlHeightLG,\n fontSize\n } = token;\n const menuArrowSize = fontSize / 7 * 5;\n // Menu Token\n const menuToken = mergeToken(token, {\n menuItemHeight: controlHeightLG,\n menuItemPaddingInline: token.margin,\n menuArrowSize,\n menuHorizontalHeight: controlHeightLG * 1.15,\n menuArrowOffset: `${menuArrowSize * 0.25}px`,\n menuPanelMaskInset: -7,\n menuSubMenuBg: colorBgElevated\n });\n const colorTextDark = new TinyColor(colorTextLightSolid).setAlpha(0.65).toRgbString();\n const menuDarkToken = mergeToken(menuToken, {\n colorItemText: colorTextDark,\n colorItemTextHover: colorTextLightSolid,\n colorGroupTitle: colorTextDark,\n colorItemTextSelected: colorTextLightSolid,\n colorItemBg: '#001529',\n colorSubItemBg: '#000c17',\n colorItemBgActive: 'transparent',\n colorItemBgSelected: colorPrimary,\n colorActiveBarWidth: 0,\n colorActiveBarHeight: 0,\n colorActiveBarBorderSize: 0,\n // Disabled\n colorItemTextDisabled: new TinyColor(colorTextLightSolid).setAlpha(0.25).toRgbString(),\n // Danger\n colorDangerItemText: colorError,\n colorDangerItemTextHover: colorErrorHover,\n colorDangerItemTextSelected: colorTextLightSolid,\n colorDangerItemBgActive: colorError,\n colorDangerItemBgSelected: colorError,\n menuSubMenuBg: '#001529',\n // Horizontal\n colorItemTextSelectedHorizontal: colorTextLightSolid,\n colorItemBgSelectedHorizontal: colorPrimary\n }, _extends({}, overrideComponentToken));\n return [\n // Basic\n getBaseStyle(menuToken),\n // Horizontal\n getHorizontalStyle(menuToken),\n // Vertical\n getVerticalStyle(menuToken),\n // Theme\n getThemeStyle(menuToken, 'light'), getThemeStyle(menuDarkToken, 'dark'),\n // RTL\n getRTLStyle(menuToken),\n // Motion\n genCollapseMotion(menuToken), initSlideMotion(menuToken, 'slide-up'), initSlideMotion(menuToken, 'slide-down'), initZoomMotion(menuToken, 'zoom-big')];\n }, token => {\n const {\n colorPrimary,\n colorError,\n colorTextDisabled,\n colorErrorBg,\n colorText,\n colorTextDescription,\n colorBgContainer,\n colorFillAlter,\n colorFillContent,\n lineWidth,\n lineWidthBold,\n controlItemBgActive,\n colorBgTextHover\n } = token;\n return {\n dropdownWidth: 160,\n zIndexPopup: token.zIndexPopupBase + 50,\n radiusItem: token.borderRadiusLG,\n radiusSubMenuItem: token.borderRadiusSM,\n colorItemText: colorText,\n colorItemTextHover: colorText,\n colorItemTextHoverHorizontal: colorPrimary,\n colorGroupTitle: colorTextDescription,\n colorItemTextSelected: colorPrimary,\n colorItemTextSelectedHorizontal: colorPrimary,\n colorItemBg: colorBgContainer,\n colorItemBgHover: colorBgTextHover,\n colorItemBgActive: colorFillContent,\n colorSubItemBg: colorFillAlter,\n colorItemBgSelected: controlItemBgActive,\n colorItemBgSelectedHorizontal: 'transparent',\n colorActiveBarWidth: 0,\n colorActiveBarHeight: lineWidthBold,\n colorActiveBarBorderSize: lineWidth,\n // Disabled\n colorItemTextDisabled: colorTextDisabled,\n // Danger\n colorDangerItemText: colorError,\n colorDangerItemTextHover: colorError,\n colorDangerItemTextSelected: colorError,\n colorDangerItemBgActive: colorErrorBg,\n colorDangerItemBgSelected: colorErrorBg,\n itemMarginInline: token.marginXXS\n };\n });\n return useOriginHook(prefixCls);\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { Fragment as _Fragment, createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport { shallowRef, Teleport, computed, defineComponent, ref, inject, watchEffect, watch, onMounted, unref } from 'vue';\nimport shallowEqual from '../../_util/shallowequal';\nimport useProvideMenu, { MenuContextProvider, useProvideFirstLevel } from './hooks/useMenuContext';\nimport useConfigInject from '../../config-provider/hooks/useConfigInject';\nimport devWarning from '../../vc-util/devWarning';\nimport uniq from 'lodash-es/uniq';\nimport { SiderCollapsedKey } from '../../layout/injectionKey';\nimport { flattenChildren } from '../../_util/props-util';\nimport Overflow from '../../vc-overflow';\nimport MenuItem from './MenuItem';\nimport SubMenu from './SubMenu';\nimport EllipsisOutlined from \"@ant-design/icons-vue/es/icons/EllipsisOutlined\";\nimport { cloneElement } from '../../_util/vnode';\nimport { OVERFLOW_KEY, PathContext } from './hooks/useKeyPath';\nimport collapseMotion from '../../_util/collapseMotion';\nimport useItems from './hooks/useItems';\nimport useStyle from '../style';\nimport { useInjectOverride } from './OverrideContext';\nexport const menuProps = () => ({\n id: String,\n prefixCls: String,\n // donot use items, now only support inner use\n items: Array,\n disabled: Boolean,\n inlineCollapsed: Boolean,\n disabledOverflow: Boolean,\n forceSubMenuRender: Boolean,\n openKeys: Array,\n selectedKeys: Array,\n activeKey: String,\n selectable: {\n type: Boolean,\n default: true\n },\n multiple: {\n type: Boolean,\n default: false\n },\n tabindex: {\n type: [Number, String]\n },\n motion: Object,\n role: String,\n theme: {\n type: String,\n default: 'light'\n },\n mode: {\n type: String,\n default: 'vertical'\n },\n inlineIndent: {\n type: Number,\n default: 24\n },\n subMenuOpenDelay: {\n type: Number,\n default: 0\n },\n subMenuCloseDelay: {\n type: Number,\n default: 0.1\n },\n builtinPlacements: {\n type: Object\n },\n triggerSubMenuAction: {\n type: String,\n default: 'hover'\n },\n getPopupContainer: Function,\n expandIcon: Function,\n onOpenChange: Function,\n onSelect: Function,\n onDeselect: Function,\n onClick: [Function, Array],\n onFocus: Function,\n onBlur: Function,\n onMousedown: Function,\n 'onUpdate:openKeys': Function,\n 'onUpdate:selectedKeys': Function,\n 'onUpdate:activeKey': Function\n});\nconst EMPTY_LIST = [];\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'AMenu',\n inheritAttrs: false,\n props: menuProps(),\n slots: Object,\n setup(props, _ref) {\n let {\n slots,\n emit,\n attrs\n } = _ref;\n const {\n direction,\n getPrefixCls\n } = useConfigInject('menu', props);\n const override = useInjectOverride();\n const prefixCls = computed(() => {\n var _a;\n return getPrefixCls('menu', props.prefixCls || ((_a = override === null || override === void 0 ? void 0 : override.prefixCls) === null || _a === void 0 ? void 0 : _a.value));\n });\n const [wrapSSR, hashId] = useStyle(prefixCls, computed(() => {\n return !override;\n }));\n const store = shallowRef(new Map());\n const siderCollapsed = inject(SiderCollapsedKey, ref(undefined));\n const inlineCollapsed = computed(() => {\n if (siderCollapsed.value !== undefined) {\n return siderCollapsed.value;\n }\n return props.inlineCollapsed;\n });\n const {\n itemsNodes\n } = useItems(props);\n const isMounted = shallowRef(false);\n onMounted(() => {\n isMounted.value = true;\n });\n watchEffect(() => {\n devWarning(!(props.inlineCollapsed === true && props.mode !== 'inline'), 'Menu', '`inlineCollapsed` should only be used when `mode` is inline.');\n devWarning(!(siderCollapsed.value !== undefined && props.inlineCollapsed === true), 'Menu', '`inlineCollapsed` not control Menu under Sider. Should set `collapsed` on Sider instead.');\n // devWarning(\n // !!props.items && !slots.default,\n // 'Menu',\n // '`children` will be removed in next major version. Please use `items` instead.',\n // );\n });\n const activeKeys = ref([]);\n const mergedSelectedKeys = ref([]);\n const keyMapStore = ref({});\n watch(store, () => {\n const newKeyMapStore = {};\n for (const menuInfo of store.value.values()) {\n newKeyMapStore[menuInfo.key] = menuInfo;\n }\n keyMapStore.value = newKeyMapStore;\n }, {\n flush: 'post'\n });\n watchEffect(() => {\n if (props.activeKey !== undefined) {\n let keys = [];\n const menuInfo = props.activeKey ? keyMapStore.value[props.activeKey] : undefined;\n if (menuInfo && props.activeKey !== undefined) {\n keys = uniq([].concat(unref(menuInfo.parentKeys), props.activeKey));\n } else {\n keys = [];\n }\n if (!shallowEqual(activeKeys.value, keys)) {\n activeKeys.value = keys;\n }\n }\n });\n watch(() => props.selectedKeys, selectedKeys => {\n if (selectedKeys) {\n mergedSelectedKeys.value = selectedKeys.slice();\n }\n }, {\n immediate: true,\n deep: true\n });\n const selectedSubMenuKeys = ref([]);\n watch([keyMapStore, mergedSelectedKeys], () => {\n let subMenuParentKeys = [];\n mergedSelectedKeys.value.forEach(key => {\n const menuInfo = keyMapStore.value[key];\n if (menuInfo) {\n subMenuParentKeys = subMenuParentKeys.concat(unref(menuInfo.parentKeys));\n }\n });\n subMenuParentKeys = uniq(subMenuParentKeys);\n if (!shallowEqual(selectedSubMenuKeys.value, subMenuParentKeys)) {\n selectedSubMenuKeys.value = subMenuParentKeys;\n }\n }, {\n immediate: true\n });\n // >>>>> Trigger select\n const triggerSelection = info => {\n if (props.selectable) {\n // Insert or Remove\n const {\n key: targetKey\n } = info;\n const exist = mergedSelectedKeys.value.includes(targetKey);\n let newSelectedKeys;\n if (props.multiple) {\n if (exist) {\n newSelectedKeys = mergedSelectedKeys.value.filter(key => key !== targetKey);\n } else {\n newSelectedKeys = [...mergedSelectedKeys.value, targetKey];\n }\n } else {\n newSelectedKeys = [targetKey];\n }\n // Trigger event\n const selectInfo = _extends(_extends({}, info), {\n selectedKeys: newSelectedKeys\n });\n if (!shallowEqual(newSelectedKeys, mergedSelectedKeys.value)) {\n if (props.selectedKeys === undefined) {\n mergedSelectedKeys.value = newSelectedKeys;\n }\n emit('update:selectedKeys', newSelectedKeys);\n if (exist && props.multiple) {\n emit('deselect', selectInfo);\n } else {\n emit('select', selectInfo);\n }\n }\n }\n // Whatever selectable, always close it\n if (mergedMode.value !== 'inline' && !props.multiple && mergedOpenKeys.value.length) {\n triggerOpenKeys(EMPTY_LIST);\n }\n };\n const mergedOpenKeys = ref([]);\n watch(() => props.openKeys, function () {\n let openKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : mergedOpenKeys.value;\n if (!shallowEqual(mergedOpenKeys.value, openKeys)) {\n mergedOpenKeys.value = openKeys.slice();\n }\n }, {\n immediate: true,\n deep: true\n });\n let timeout;\n const changeActiveKeys = keys => {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n if (props.activeKey === undefined) {\n activeKeys.value = keys;\n }\n emit('update:activeKey', keys[keys.length - 1]);\n });\n };\n const disabled = computed(() => !!props.disabled);\n const isRtl = computed(() => direction.value === 'rtl');\n const mergedMode = ref('vertical');\n const mergedInlineCollapsed = shallowRef(false);\n watchEffect(() => {\n var _a;\n if ((props.mode === 'inline' || props.mode === 'vertical') && inlineCollapsed.value) {\n mergedMode.value = 'vertical';\n mergedInlineCollapsed.value = inlineCollapsed.value;\n } else {\n mergedMode.value = props.mode;\n mergedInlineCollapsed.value = false;\n }\n if ((_a = override === null || override === void 0 ? void 0 : override.mode) === null || _a === void 0 ? void 0 : _a.value) {\n mergedMode.value = override.mode.value;\n }\n });\n const isInlineMode = computed(() => mergedMode.value === 'inline');\n const triggerOpenKeys = keys => {\n mergedOpenKeys.value = keys;\n emit('update:openKeys', keys);\n emit('openChange', keys);\n };\n // >>>>> Cache & Reset open keys when inlineCollapsed changed\n const inlineCacheOpenKeys = ref(mergedOpenKeys.value);\n const mountRef = shallowRef(false);\n // Cache\n watch(mergedOpenKeys, () => {\n if (isInlineMode.value) {\n inlineCacheOpenKeys.value = mergedOpenKeys.value;\n }\n }, {\n immediate: true\n });\n // Restore\n watch(isInlineMode, () => {\n if (!mountRef.value) {\n mountRef.value = true;\n return;\n }\n if (isInlineMode.value) {\n mergedOpenKeys.value = inlineCacheOpenKeys.value;\n } else {\n // Trigger open event in case its in control\n triggerOpenKeys(EMPTY_LIST);\n }\n }, {\n immediate: true\n });\n const className = computed(() => {\n return {\n [`${prefixCls.value}`]: true,\n [`${prefixCls.value}-root`]: true,\n [`${prefixCls.value}-${mergedMode.value}`]: true,\n [`${prefixCls.value}-inline-collapsed`]: mergedInlineCollapsed.value,\n [`${prefixCls.value}-rtl`]: isRtl.value,\n [`${prefixCls.value}-${props.theme}`]: true\n };\n });\n const rootPrefixCls = computed(() => getPrefixCls());\n const defaultMotions = computed(() => ({\n horizontal: {\n name: `${rootPrefixCls.value}-slide-up`\n },\n inline: collapseMotion(`${rootPrefixCls.value}-motion-collapse`),\n other: {\n name: `${rootPrefixCls.value}-zoom-big`\n }\n }));\n useProvideFirstLevel(true);\n const getChildrenKeys = function () {\n let eventKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n const keys = [];\n const storeValue = store.value;\n eventKeys.forEach(eventKey => {\n const {\n key,\n childrenEventKeys\n } = storeValue.get(eventKey);\n keys.push(key, ...getChildrenKeys(unref(childrenEventKeys)));\n });\n return keys;\n };\n // ========================= Open =========================\n /**\n * Click for item. SubMenu do not have selection status\n */\n const onInternalClick = info => {\n var _a;\n emit('click', info);\n triggerSelection(info);\n (_a = override === null || override === void 0 ? void 0 : override.onClick) === null || _a === void 0 ? void 0 : _a.call(override);\n };\n const onInternalOpenChange = (key, open) => {\n var _a;\n const childrenEventKeys = ((_a = keyMapStore.value[key]) === null || _a === void 0 ? void 0 : _a.childrenEventKeys) || [];\n let newOpenKeys = mergedOpenKeys.value.filter(k => k !== key);\n if (open) {\n newOpenKeys.push(key);\n } else if (mergedMode.value !== 'inline') {\n // We need find all related popup to close\n const subPathKeys = getChildrenKeys(unref(childrenEventKeys));\n newOpenKeys = uniq(newOpenKeys.filter(k => !subPathKeys.includes(k)));\n }\n if (!shallowEqual(mergedOpenKeys, newOpenKeys)) {\n triggerOpenKeys(newOpenKeys);\n }\n };\n const registerMenuInfo = (key, info) => {\n store.value.set(key, info);\n store.value = new Map(store.value);\n };\n const unRegisterMenuInfo = key => {\n store.value.delete(key);\n store.value = new Map(store.value);\n };\n const lastVisibleIndex = ref(0);\n const expandIcon = computed(() => {\n var _a;\n return props.expandIcon || slots.expandIcon || ((_a = override === null || override === void 0 ? void 0 : override.expandIcon) === null || _a === void 0 ? void 0 : _a.value) ? opt => {\n let icon = props.expandIcon || slots.expandIcon;\n icon = typeof icon === 'function' ? icon(opt) : icon;\n return cloneElement(icon, {\n class: `${prefixCls.value}-submenu-expand-icon`\n }, false);\n } : null;\n });\n useProvideMenu({\n prefixCls,\n activeKeys,\n openKeys: mergedOpenKeys,\n selectedKeys: mergedSelectedKeys,\n changeActiveKeys,\n disabled,\n rtl: isRtl,\n mode: mergedMode,\n inlineIndent: computed(() => props.inlineIndent),\n subMenuCloseDelay: computed(() => props.subMenuCloseDelay),\n subMenuOpenDelay: computed(() => props.subMenuOpenDelay),\n builtinPlacements: computed(() => props.builtinPlacements),\n triggerSubMenuAction: computed(() => props.triggerSubMenuAction),\n getPopupContainer: computed(() => props.getPopupContainer),\n inlineCollapsed: mergedInlineCollapsed,\n theme: computed(() => props.theme),\n siderCollapsed,\n defaultMotions: computed(() => isMounted.value ? defaultMotions.value : null),\n motion: computed(() => isMounted.value ? props.motion : null),\n overflowDisabled: shallowRef(undefined),\n onOpenChange: onInternalOpenChange,\n onItemClick: onInternalClick,\n registerMenuInfo,\n unRegisterMenuInfo,\n selectedSubMenuKeys,\n expandIcon,\n forceSubMenuRender: computed(() => props.forceSubMenuRender),\n rootClassName: hashId\n });\n const getChildrenList = () => {\n var _a;\n return itemsNodes.value || flattenChildren((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots));\n };\n return () => {\n var _a;\n const childList = getChildrenList();\n const allVisible = lastVisibleIndex.value >= childList.length - 1 || mergedMode.value !== 'horizontal' || props.disabledOverflow;\n // >>>>> Children\n const getWrapperList = childList => {\n return mergedMode.value !== 'horizontal' || props.disabledOverflow ? childList :\n // Need wrap for overflow dropdown that do not response for open\n childList.map((child, index) => // Always wrap provider to avoid sub node re-mount\n _createVNode(MenuContextProvider, {\n \"key\": child.key,\n \"overflowDisabled\": index > lastVisibleIndex.value\n }, {\n default: () => child\n }));\n };\n const overflowedIndicator = ((_a = slots.overflowedIndicator) === null || _a === void 0 ? void 0 : _a.call(slots)) || _createVNode(EllipsisOutlined, null, null);\n return wrapSSR(_createVNode(Overflow, _objectSpread(_objectSpread({}, attrs), {}, {\n \"onMousedown\": props.onMousedown,\n \"prefixCls\": `${prefixCls.value}-overflow`,\n \"component\": \"ul\",\n \"itemComponent\": MenuItem,\n \"class\": [className.value, attrs.class, hashId.value],\n \"role\": \"menu\",\n \"id\": props.id,\n \"data\": getWrapperList(childList),\n \"renderRawItem\": node => node,\n \"renderRawRest\": omitItems => {\n // We use origin list since wrapped list use context to prevent open\n const len = omitItems.length;\n const originOmitItems = len ? childList.slice(-len) : null;\n return _createVNode(_Fragment, null, [_createVNode(SubMenu, {\n \"eventKey\": OVERFLOW_KEY,\n \"key\": OVERFLOW_KEY,\n \"title\": overflowedIndicator,\n \"disabled\": allVisible,\n \"internalPopupClose\": len === 0\n }, {\n default: () => originOmitItems\n }), _createVNode(PathContext, null, {\n default: () => [_createVNode(SubMenu, {\n \"eventKey\": OVERFLOW_KEY,\n \"key\": OVERFLOW_KEY,\n \"title\": overflowedIndicator,\n \"disabled\": allVisible,\n \"internalPopupClose\": len === 0\n }, {\n default: () => originOmitItems\n })]\n })]);\n },\n \"maxCount\": mergedMode.value !== 'horizontal' || props.disabledOverflow ? Overflow.INVALIDATE : Overflow.RESPONSIVE,\n \"ssr\": \"full\",\n \"data-menu-list\": true,\n \"onVisibleChange\": newLastIndex => {\n lastVisibleIndex.value = newLastIndex;\n }\n }), {\n default: () => [_createVNode(Teleport, {\n \"to\": \"body\"\n }, {\n default: () => [_createVNode(\"div\", {\n \"style\": {\n display: 'none'\n },\n \"aria-hidden\": true\n }, [_createVNode(PathContext, null, {\n default: () => [getWrapperList(getChildrenList())]\n })])]\n })]\n }));\n };\n }\n});","import Menu from './src/Menu';\nimport MenuItem from './src/MenuItem';\nimport SubMenu from './src/SubMenu';\nimport ItemGroup from './src/ItemGroup';\nimport Divider from './src/Divider';\n/* istanbul ignore next */\nMenu.install = function (app) {\n app.component(Menu.name, Menu);\n app.component(MenuItem.name, MenuItem);\n app.component(SubMenu.name, SubMenu);\n app.component(Divider.name, Divider);\n app.component(ItemGroup.name, ItemGroup);\n return app;\n};\nMenu.Item = MenuItem;\nMenu.Divider = Divider;\nMenu.SubMenu = SubMenu;\nMenu.ItemGroup = ItemGroup;\nexport { SubMenu, MenuItem as Item, MenuItem, ItemGroup, ItemGroup as MenuItemGroup, Divider, Divider as MenuDivider };\nexport default Menu;","import canUseDom from './canUseDom';\nexport const canUseDocElement = () => canUseDom() && window.document.documentElement;\nconst isStyleNameSupport = styleName => {\n if (canUseDom() && window.document.documentElement) {\n const styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n const {\n documentElement\n } = window.document;\n return styleNameList.some(name => name in documentElement.style);\n }\n return false;\n};\nconst isStyleValueSupport = (styleName, value) => {\n if (!isStyleNameSupport(styleName)) {\n return false;\n }\n const ele = document.createElement('div');\n const origin = ele.style[styleName];\n ele.style[styleName] = value;\n return ele.style[styleName] !== origin;\n};\nexport function isStyleSupport(styleName, styleValue) {\n if (!Array.isArray(styleName) && styleValue !== undefined) {\n return isStyleValueSupport(styleName, styleValue);\n }\n return isStyleNameSupport(styleName);\n}\nlet flexGapSupported;\nexport const detectFlexGapSupported = () => {\n if (!canUseDocElement()) {\n return false;\n }\n if (flexGapSupported !== undefined) {\n return flexGapSupported;\n }\n // create flex container with row-gap set\n const flex = document.createElement('div');\n flex.style.display = 'flex';\n flex.style.flexDirection = 'column';\n flex.style.rowGap = '1px';\n // create two, elements inside it\n flex.appendChild(document.createElement('div'));\n flex.appendChild(document.createElement('div'));\n // append to the DOM (needed to obtain scrollHeight)\n document.body.appendChild(flex);\n flexGapSupported = flex.scrollHeight === 1; // flex container should be 1px high from the row-gap\n document.body.removeChild(flex);\n return flexGapSupported;\n};\nexport default isStyleSupport;","import { onMounted, shallowRef } from 'vue';\nimport { detectFlexGapSupported } from '../styleChecker';\nexport default (() => {\n const flexible = shallowRef(false);\n onMounted(() => {\n flexible.value = detectFlexGapSupported();\n });\n return flexible;\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport defaultLocale from '../locale/en_US';\nlet runtimeLocale = _extends({}, defaultLocale.Modal);\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = _extends(_extends({}, runtimeLocale), newLocale);\n } else {\n runtimeLocale = _extends({}, defaultLocale.Modal);\n }\n}\nexport function getConfirmLocale() {\n return runtimeLocale;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { provide, defineComponent, reactive, watch } from 'vue';\nimport { changeConfirmLocale } from '../modal/locale';\nimport warning from '../_util/warning';\nimport { withInstall } from '../_util/type';\nexport const ANT_MARK = 'internalMark';\nconst LocaleProvider = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'ALocaleProvider',\n props: {\n locale: {\n type: Object\n },\n ANT_MARK__: String\n },\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n warning(props.ANT_MARK__ === ANT_MARK, 'LocaleProvider', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead');\n const state = reactive({\n antLocale: _extends(_extends({}, props.locale), {\n exist: true\n }),\n ANT_MARK__: ANT_MARK\n });\n provide('localeData', state);\n watch(() => props.locale, locale => {\n changeConfirmLocale(locale && locale.Modal);\n state.antLocale = _extends(_extends({}, locale), {\n exist: true\n });\n }, {\n immediate: true\n });\n return () => {\n var _a;\n return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n };\n }\n});\n/* istanbul ignore next */\nLocaleProvider.install = function (app) {\n app.component(LocaleProvider.name, LocaleProvider);\n return app;\n};\nexport default withInstall(LocaleProvider);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport { Teleport, computed, defineComponent, onMounted, watch, onUnmounted } from 'vue';\nimport classNames from '../_util/classNames';\nexport default defineComponent({\n name: 'Notice',\n inheritAttrs: false,\n props: ['prefixCls', 'duration', 'updateMark', 'noticeKey', 'closeIcon', 'closable', 'props', 'onClick', 'onClose', 'holder', 'visible'],\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n let closeTimer;\n let isUnMounted = false;\n const duration = computed(() => props.duration === undefined ? 4.5 : props.duration);\n const startCloseTimer = () => {\n if (duration.value && !isUnMounted) {\n closeTimer = setTimeout(() => {\n close();\n }, duration.value * 1000);\n }\n };\n const clearCloseTimer = () => {\n if (closeTimer) {\n clearTimeout(closeTimer);\n closeTimer = null;\n }\n };\n const close = e => {\n if (e) {\n e.stopPropagation();\n }\n clearCloseTimer();\n const {\n onClose,\n noticeKey\n } = props;\n if (onClose) {\n onClose(noticeKey);\n }\n };\n const restartCloseTimer = () => {\n clearCloseTimer();\n startCloseTimer();\n };\n onMounted(() => {\n startCloseTimer();\n });\n onUnmounted(() => {\n isUnMounted = true;\n clearCloseTimer();\n });\n watch([duration, () => props.updateMark, () => props.visible], (_ref2, _ref3) => {\n let [preDuration, preUpdateMark, preVisible] = _ref2;\n let [newDuration, newUpdateMark, newVisible] = _ref3;\n if (preDuration !== newDuration || preUpdateMark !== newUpdateMark || preVisible !== newVisible && newVisible) {\n restartCloseTimer();\n }\n }, {\n flush: 'post'\n });\n return () => {\n var _a, _b;\n const {\n prefixCls,\n closable,\n closeIcon = (_a = slots.closeIcon) === null || _a === void 0 ? void 0 : _a.call(slots),\n onClick,\n holder\n } = props;\n const {\n class: className,\n style\n } = attrs;\n const componentClass = `${prefixCls}-notice`;\n const dataOrAriaAttributeProps = Object.keys(attrs).reduce((acc, key) => {\n if (key.startsWith('data-') || key.startsWith('aria-') || key === 'role') {\n acc[key] = attrs[key];\n }\n return acc;\n }, {});\n const node = _createVNode(\"div\", _objectSpread({\n \"class\": classNames(componentClass, className, {\n [`${componentClass}-closable`]: closable\n }),\n \"style\": style,\n \"onMouseenter\": clearCloseTimer,\n \"onMouseleave\": startCloseTimer,\n \"onClick\": onClick\n }, dataOrAriaAttributeProps), [_createVNode(\"div\", {\n \"class\": `${componentClass}-content`\n }, [(_b = slots.default) === null || _b === void 0 ? void 0 : _b.call(slots)]), closable ? _createVNode(\"a\", {\n \"tabindex\": 0,\n \"onClick\": close,\n \"class\": `${componentClass}-close`\n }, [closeIcon || _createVNode(\"span\", {\n \"class\": `${componentClass}-close-x`\n }, null)]) : null]);\n if (holder) {\n return _createVNode(Teleport, {\n \"to\": holder\n }, {\n default: () => node\n });\n }\n return node;\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { getTransitionGroupProps } from '../_util/transition';\nimport { toRaw, shallowRef, createVNode, computed, defineComponent, ref, TransitionGroup, onMounted, render as vueRender } from 'vue';\nimport Notice from './Notice';\nimport ConfigProvider, { globalConfigForApi } from '../config-provider';\nimport classNames from '../_util/classNames';\nlet seed = 0;\nconst now = Date.now();\nfunction getUuid() {\n const id = seed;\n seed += 1;\n return `rcNotification_${now}_${id}`;\n}\nconst Notification = defineComponent({\n name: 'Notification',\n inheritAttrs: false,\n props: ['prefixCls', 'transitionName', 'animation', 'maxCount', 'closeIcon', 'hashId'],\n setup(props, _ref) {\n let {\n attrs,\n expose,\n slots\n } = _ref;\n const hookRefs = new Map();\n const notices = ref([]);\n const transitionProps = computed(() => {\n const {\n prefixCls,\n animation = 'fade'\n } = props;\n let name = props.transitionName;\n if (!name && animation) {\n name = `${prefixCls}-${animation}`;\n }\n return getTransitionGroupProps(name);\n });\n const add = (originNotice, holderCallback) => {\n const key = originNotice.key || getUuid();\n const notice = _extends(_extends({}, originNotice), {\n key\n });\n const {\n maxCount\n } = props;\n const noticeIndex = notices.value.map(v => v.notice.key).indexOf(key);\n const updatedNotices = notices.value.concat();\n if (noticeIndex !== -1) {\n updatedNotices.splice(noticeIndex, 1, {\n notice,\n holderCallback\n });\n } else {\n if (maxCount && notices.value.length >= maxCount) {\n // XXX, use key of first item to update new added (let React to move exsiting\n // instead of remove and mount). Same key was used before for both a) external\n // manual control and b) internal react 'key' prop , which is not that good.\n // eslint-disable-next-line no-param-reassign\n // zombieJ: Not know why use `updateKey`. This makes Notice infinite loop in jest.\n // Change to `updateMark` for compare instead.\n // https://github.com/react-component/notification/commit/32299e6be396f94040bfa82517eea940db947ece\n notice.key = updatedNotices[0].notice.key;\n notice.updateMark = getUuid();\n // zombieJ: That's why. User may close by key directly.\n // We need record this but not re-render to avoid upper issue\n // https://github.com/react-component/notification/issues/129\n notice.userPassKey = key;\n updatedNotices.shift();\n }\n updatedNotices.push({\n notice,\n holderCallback\n });\n }\n notices.value = updatedNotices;\n };\n const remove = removeKey => {\n notices.value = toRaw(notices.value).filter(_ref2 => {\n let {\n notice: {\n key,\n userPassKey\n }\n } = _ref2;\n const mergedKey = userPassKey || key;\n return mergedKey !== removeKey;\n });\n };\n expose({\n add,\n remove,\n notices\n });\n return () => {\n var _a;\n const {\n prefixCls,\n closeIcon = (_a = slots.closeIcon) === null || _a === void 0 ? void 0 : _a.call(slots, {\n prefixCls\n })\n } = props;\n const noticeNodes = notices.value.map((_ref3, index) => {\n let {\n notice,\n holderCallback\n } = _ref3;\n const updateMark = index === notices.value.length - 1 ? notice.updateMark : undefined;\n const {\n key,\n userPassKey\n } = notice;\n const {\n content\n } = notice;\n const noticeProps = _extends(_extends(_extends({\n prefixCls,\n closeIcon: typeof closeIcon === 'function' ? closeIcon({\n prefixCls\n }) : closeIcon\n }, notice), notice.props), {\n key,\n noticeKey: userPassKey || key,\n updateMark,\n onClose: noticeKey => {\n var _a;\n remove(noticeKey);\n (_a = notice.onClose) === null || _a === void 0 ? void 0 : _a.call(notice);\n },\n onClick: notice.onClick\n });\n if (holderCallback) {\n return _createVNode(\"div\", {\n \"key\": key,\n \"class\": `${prefixCls}-hook-holder`,\n \"ref\": div => {\n if (typeof key === 'undefined') {\n return;\n }\n if (div) {\n hookRefs.set(key, div);\n holderCallback(div, noticeProps);\n } else {\n hookRefs.delete(key);\n }\n }\n }, null);\n }\n return _createVNode(Notice, _objectSpread(_objectSpread({}, noticeProps), {}, {\n \"class\": classNames(noticeProps.class, props.hashId)\n }), {\n default: () => [typeof content === 'function' ? content({\n prefixCls\n }) : content]\n });\n });\n const className = {\n [prefixCls]: 1,\n [attrs.class]: !!attrs.class,\n [props.hashId]: true\n };\n return _createVNode(\"div\", {\n \"class\": className,\n \"style\": attrs.style || {\n top: '65px',\n left: '50%'\n }\n }, [_createVNode(TransitionGroup, _objectSpread({\n \"tag\": \"div\"\n }, transitionProps.value), {\n default: () => [noticeNodes]\n })]);\n };\n }\n});\nNotification.newInstance = function newNotificationInstance(properties, callback) {\n const _a = properties || {},\n {\n name = 'notification',\n getContainer,\n appContext,\n prefixCls: customizePrefixCls,\n rootPrefixCls: customRootPrefixCls,\n transitionName: customTransitionName,\n hasTransitionName,\n useStyle\n } = _a,\n props = __rest(_a, [\"name\", \"getContainer\", \"appContext\", \"prefixCls\", \"rootPrefixCls\", \"transitionName\", \"hasTransitionName\", \"useStyle\"]);\n const div = document.createElement('div');\n if (getContainer) {\n const root = getContainer();\n root.appendChild(div);\n } else {\n document.body.appendChild(div);\n }\n const Wrapper = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'NotificationWrapper',\n setup(_props, _ref4) {\n let {\n attrs\n } = _ref4;\n const notiRef = shallowRef();\n const prefixCls = computed(() => globalConfigForApi.getPrefixCls(name, customizePrefixCls));\n const [, hashId] = useStyle(prefixCls);\n onMounted(() => {\n callback({\n notice(noticeProps) {\n var _a;\n (_a = notiRef.value) === null || _a === void 0 ? void 0 : _a.add(noticeProps);\n },\n removeNotice(key) {\n var _a;\n (_a = notiRef.value) === null || _a === void 0 ? void 0 : _a.remove(key);\n },\n destroy() {\n vueRender(null, div);\n if (div.parentNode) {\n div.parentNode.removeChild(div);\n }\n },\n component: notiRef\n });\n });\n return () => {\n const global = globalConfigForApi;\n const rootPrefixCls = global.getRootPrefixCls(customRootPrefixCls, prefixCls.value);\n const transitionName = hasTransitionName ? customTransitionName : `${prefixCls.value}-${customTransitionName}`;\n return _createVNode(ConfigProvider, _objectSpread(_objectSpread({}, global), {}, {\n \"prefixCls\": rootPrefixCls\n }), {\n default: () => [_createVNode(Notification, _objectSpread(_objectSpread({\n \"ref\": notiRef\n }, attrs), {}, {\n \"prefixCls\": prefixCls.value,\n \"transitionName\": transitionName,\n \"hashId\": hashId.value\n }), null)]\n });\n };\n }\n });\n const vm = createVNode(Wrapper, props);\n vm.appContext = appContext || vm.appContext;\n vueRender(vm, div);\n};\nexport default Notification;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { watch, computed, defineComponent, ref, TransitionGroup } from 'vue';\nimport Notice from './Notice';\nimport { getTransitionGroupProps } from '../_util/transition';\nimport classNames from '../_util/classNames';\nimport Portal from '../_util/Portal';\nlet seed = 0;\nconst now = Date.now();\nexport function getUuid() {\n const id = seed;\n seed += 1;\n return `rcNotification_${now}_${id}`;\n}\nconst Notification = defineComponent({\n name: 'HookNotification',\n inheritAttrs: false,\n props: ['prefixCls', 'transitionName', 'animation', 'maxCount', 'closeIcon', 'hashId', 'remove', 'notices', 'getStyles', 'getClassName', 'onAllRemoved', 'getContainer'],\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const hookRefs = new Map();\n const notices = computed(() => props.notices);\n const transitionProps = computed(() => {\n let name = props.transitionName;\n if (!name && props.animation) {\n switch (typeof props.animation) {\n case 'string':\n name = props.animation;\n break;\n case 'function':\n name = props.animation().name;\n break;\n case 'object':\n name = props.animation.name;\n break;\n default:\n name = `${props.prefixCls}-fade`;\n break;\n }\n }\n return getTransitionGroupProps(name);\n });\n const remove = key => props.remove(key);\n const placements = ref({});\n watch(notices, () => {\n const nextPlacements = {};\n // init placements with animation\n Object.keys(placements.value).forEach(placement => {\n nextPlacements[placement] = [];\n });\n props.notices.forEach(config => {\n const {\n placement = 'topRight'\n } = config.notice;\n if (placement) {\n nextPlacements[placement] = nextPlacements[placement] || [];\n nextPlacements[placement].push(config);\n }\n });\n placements.value = nextPlacements;\n });\n const placementList = computed(() => Object.keys(placements.value));\n return () => {\n var _a;\n const {\n prefixCls,\n closeIcon = (_a = slots.closeIcon) === null || _a === void 0 ? void 0 : _a.call(slots, {\n prefixCls\n })\n } = props;\n const noticeNodes = placementList.value.map(placement => {\n var _a, _b;\n const noticesForPlacement = placements.value[placement];\n const classes = (_a = props.getClassName) === null || _a === void 0 ? void 0 : _a.call(props, placement);\n const styles = (_b = props.getStyles) === null || _b === void 0 ? void 0 : _b.call(props, placement);\n const noticeNodesForPlacement = noticesForPlacement.map((_ref2, index) => {\n let {\n notice,\n holderCallback\n } = _ref2;\n const updateMark = index === notices.value.length - 1 ? notice.updateMark : undefined;\n const {\n key,\n userPassKey\n } = notice;\n const {\n content\n } = notice;\n const noticeProps = _extends(_extends(_extends({\n prefixCls,\n closeIcon: typeof closeIcon === 'function' ? closeIcon({\n prefixCls\n }) : closeIcon\n }, notice), notice.props), {\n key,\n noticeKey: userPassKey || key,\n updateMark,\n onClose: noticeKey => {\n var _a;\n remove(noticeKey);\n (_a = notice.onClose) === null || _a === void 0 ? void 0 : _a.call(notice);\n },\n onClick: notice.onClick\n });\n if (holderCallback) {\n return _createVNode(\"div\", {\n \"key\": key,\n \"class\": `${prefixCls}-hook-holder`,\n \"ref\": div => {\n if (typeof key === 'undefined') {\n return;\n }\n if (div) {\n hookRefs.set(key, div);\n holderCallback(div, noticeProps);\n } else {\n hookRefs.delete(key);\n }\n }\n }, null);\n }\n return _createVNode(Notice, _objectSpread(_objectSpread({}, noticeProps), {}, {\n \"class\": classNames(noticeProps.class, props.hashId)\n }), {\n default: () => [typeof content === 'function' ? content({\n prefixCls\n }) : content]\n });\n });\n const className = {\n [prefixCls]: 1,\n [`${prefixCls}-${placement}`]: 1,\n [attrs.class]: !!attrs.class,\n [props.hashId]: true,\n [classes]: !!classes\n };\n function onAfterLeave() {\n var _a;\n if (noticesForPlacement.length > 0) {\n return;\n }\n Reflect.deleteProperty(placements.value, placement);\n (_a = props.onAllRemoved) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n return _createVNode(\"div\", {\n \"key\": placement,\n \"class\": className,\n \"style\": attrs.style || styles || {\n top: '65px',\n left: '50%'\n }\n }, [_createVNode(TransitionGroup, _objectSpread(_objectSpread({\n \"tag\": \"div\"\n }, transitionProps.value), {}, {\n \"onAfterLeave\": onAfterLeave\n }), {\n default: () => [noticeNodesForPlacement]\n })]);\n });\n return _createVNode(Portal, {\n \"getContainer\": props.getContainer\n }, {\n default: () => [noticeNodes]\n });\n };\n }\n});\nexport default Notification;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { shallowRef, watch } from 'vue';\nimport HookNotification, { getUuid } from './HookNotification';\nconst defaultGetContainer = () => document.body;\nlet uniqueKey = 0;\nfunction mergeConfig() {\n const clone = {};\n for (var _len = arguments.length, objList = new Array(_len), _key = 0; _key < _len; _key++) {\n objList[_key] = arguments[_key];\n }\n objList.forEach(obj => {\n if (obj) {\n Object.keys(obj).forEach(key => {\n const val = obj[key];\n if (val !== undefined) {\n clone[key] = val;\n }\n });\n }\n });\n return clone;\n}\nexport default function useNotification() {\n let rootConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const {\n getContainer = defaultGetContainer,\n motion,\n prefixCls,\n maxCount,\n getClassName,\n getStyles,\n onAllRemoved\n } = rootConfig,\n shareConfig = __rest(rootConfig, [\"getContainer\", \"motion\", \"prefixCls\", \"maxCount\", \"getClassName\", \"getStyles\", \"onAllRemoved\"]);\n const notices = shallowRef([]);\n const notificationsRef = shallowRef();\n const add = (originNotice, holderCallback) => {\n const key = originNotice.key || getUuid();\n const notice = _extends(_extends({}, originNotice), {\n key\n });\n const noticeIndex = notices.value.map(v => v.notice.key).indexOf(key);\n const updatedNotices = notices.value.concat();\n if (noticeIndex !== -1) {\n updatedNotices.splice(noticeIndex, 1, {\n notice,\n holderCallback\n });\n } else {\n if (maxCount && notices.value.length >= maxCount) {\n notice.key = updatedNotices[0].notice.key;\n notice.updateMark = getUuid();\n notice.userPassKey = key;\n updatedNotices.shift();\n }\n updatedNotices.push({\n notice,\n holderCallback\n });\n }\n notices.value = updatedNotices;\n };\n const removeNotice = removeKey => {\n notices.value = notices.value.filter(_ref => {\n let {\n notice: {\n key,\n userPassKey\n }\n } = _ref;\n const mergedKey = userPassKey || key;\n return mergedKey !== removeKey;\n });\n };\n const destroy = () => {\n notices.value = [];\n };\n const contextHolder = () => _createVNode(HookNotification, {\n \"ref\": notificationsRef,\n \"prefixCls\": prefixCls,\n \"maxCount\": maxCount,\n \"notices\": notices.value,\n \"remove\": removeNotice,\n \"getClassName\": getClassName,\n \"getStyles\": getStyles,\n \"animation\": motion,\n \"hashId\": rootConfig.hashId,\n \"onAllRemoved\": onAllRemoved,\n \"getContainer\": getContainer\n }, null);\n const taskQueue = shallowRef([]);\n // ========================= Refs =========================\n const api = {\n open: config => {\n const mergedConfig = mergeConfig(shareConfig, config);\n //@ts-ignore\n if (mergedConfig.key === null || mergedConfig.key === undefined) {\n //@ts-ignore\n mergedConfig.key = `vc-notification-${uniqueKey}`;\n uniqueKey += 1;\n }\n taskQueue.value = [...taskQueue.value, {\n type: 'open',\n config: mergedConfig\n }];\n },\n close: key => {\n taskQueue.value = [...taskQueue.value, {\n type: 'close',\n key\n }];\n },\n destroy: () => {\n taskQueue.value = [...taskQueue.value, {\n type: 'destroy'\n }];\n }\n };\n // ======================== Effect ========================\n watch(taskQueue, () => {\n // Flush task when node ready\n if (taskQueue.value.length) {\n taskQueue.value.forEach(task => {\n switch (task.type) {\n case 'open':\n // @ts-ignore\n add(task.config);\n break;\n case 'close':\n removeNotice(task.key);\n break;\n case 'destroy':\n destroy();\n break;\n }\n });\n taskQueue.value = [];\n }\n });\n // ======================== Return ========================\n return [api, contextHolder];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// deps-lint-skip-all\nimport { Keyframes } from '../../_util/cssinjs';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { resetComponent } from '../../style';\nconst genMessageStyle = token => {\n const {\n componentCls,\n iconCls,\n boxShadowSecondary,\n colorBgElevated,\n colorSuccess,\n colorError,\n colorWarning,\n colorInfo,\n fontSizeLG,\n motionEaseInOutCirc,\n motionDurationSlow,\n marginXS,\n paddingXS,\n borderRadiusLG,\n zIndexPopup,\n // Custom token\n messageNoticeContentPadding\n } = token;\n const messageMoveIn = new Keyframes('MessageMoveIn', {\n '0%': {\n padding: 0,\n transform: 'translateY(-100%)',\n opacity: 0\n },\n '100%': {\n padding: paddingXS,\n transform: 'translateY(0)',\n opacity: 1\n }\n });\n const messageMoveOut = new Keyframes('MessageMoveOut', {\n '0%': {\n maxHeight: token.height,\n padding: paddingXS,\n opacity: 1\n },\n '100%': {\n maxHeight: 0,\n padding: 0,\n opacity: 0\n }\n });\n return [\n // ============================ Holder ============================\n {\n [componentCls]: _extends(_extends({}, resetComponent(token)), {\n position: 'fixed',\n top: marginXS,\n left: '50%',\n transform: 'translateX(-50%)',\n width: '100%',\n pointerEvents: 'none',\n zIndex: zIndexPopup,\n [`${componentCls}-move-up`]: {\n animationFillMode: 'forwards'\n },\n [`\n ${componentCls}-move-up-appear,\n ${componentCls}-move-up-enter\n `]: {\n animationName: messageMoveIn,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n },\n [`\n ${componentCls}-move-up-appear${componentCls}-move-up-appear-active,\n ${componentCls}-move-up-enter${componentCls}-move-up-enter-active\n `]: {\n animationPlayState: 'running'\n },\n [`${componentCls}-move-up-leave`]: {\n animationName: messageMoveOut,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n },\n [`${componentCls}-move-up-leave${componentCls}-move-up-leave-active`]: {\n animationPlayState: 'running'\n },\n '&-rtl': {\n direction: 'rtl',\n span: {\n direction: 'rtl'\n }\n }\n })\n },\n // ============================ Notice ============================\n {\n [`${componentCls}-notice`]: {\n padding: paddingXS,\n textAlign: 'center',\n [iconCls]: {\n verticalAlign: 'text-bottom',\n marginInlineEnd: marginXS,\n fontSize: fontSizeLG\n },\n [`${componentCls}-notice-content`]: {\n display: 'inline-block',\n padding: messageNoticeContentPadding,\n background: colorBgElevated,\n borderRadius: borderRadiusLG,\n boxShadow: boxShadowSecondary,\n pointerEvents: 'all'\n },\n [`${componentCls}-success ${iconCls}`]: {\n color: colorSuccess\n },\n [`${componentCls}-error ${iconCls}`]: {\n color: colorError\n },\n [`${componentCls}-warning ${iconCls}`]: {\n color: colorWarning\n },\n [`\n ${componentCls}-info ${iconCls},\n ${componentCls}-loading ${iconCls}`]: {\n color: colorInfo\n }\n }\n },\n // ============================= Pure =============================\n {\n [`${componentCls}-notice-pure-panel`]: {\n padding: 0,\n textAlign: 'start'\n }\n }];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Message', token => {\n // Gen-style functions here\n const combinedToken = mergeToken(token, {\n messageNoticeContentPadding: `${(token.controlHeightLG - token.fontSize * token.lineHeight) / 2}px ${token.paddingSM}px`\n });\n return [genMessageStyle(combinedToken)];\n}, token => ({\n height: 150,\n zIndexPopup: token.zIndexPopupBase + 10\n}));","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { createVNode as _createVNode } from \"vue\";\nimport Notice from '../vc-notification/Notice';\nimport useStyle from './style';\nimport LoadingOutlined from \"@ant-design/icons-vue/es/icons/LoadingOutlined\";\nimport ExclamationCircleFilled from \"@ant-design/icons-vue/es/icons/ExclamationCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons-vue/es/icons/CloseCircleFilled\";\nimport CheckCircleFilled from \"@ant-design/icons-vue/es/icons/CheckCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons-vue/es/icons/InfoCircleFilled\";\nimport classNames from '../_util/classNames';\nimport { useConfigContextInject } from '../config-provider/context';\nimport { computed, defineComponent } from 'vue';\nexport const TypeIcon = {\n info: _createVNode(InfoCircleFilled, null, null),\n success: _createVNode(CheckCircleFilled, null, null),\n error: _createVNode(CloseCircleFilled, null, null),\n warning: _createVNode(ExclamationCircleFilled, null, null),\n loading: _createVNode(LoadingOutlined, null, null)\n};\nexport const PureContent = defineComponent({\n name: 'PureContent',\n inheritAttrs: false,\n props: ['prefixCls', 'type', 'icon'],\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n return () => {\n var _a;\n return _createVNode(\"div\", {\n \"class\": classNames(`${props.prefixCls}-custom-content`, `${props.prefixCls}-${props.type}`)\n }, [props.icon || TypeIcon[props.type], _createVNode(\"span\", null, [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)])]);\n };\n }\n});\n/** @private Internal Component. Do not use in your production. */\nexport default defineComponent({\n name: 'PurePanel',\n inheritAttrs: false,\n props: ['prefixCls', 'class', 'type', 'icon', 'content'],\n setup(props, _ref2) {\n let {\n slots,\n attrs\n } = _ref2;\n var _a;\n const {\n getPrefixCls\n } = useConfigContextInject();\n const prefixCls = computed(() => props.prefixCls || getPrefixCls('message'));\n const [, hashId] = useStyle(prefixCls);\n return _createVNode(Notice, _objectSpread(_objectSpread({}, attrs), {}, {\n \"prefixCls\": prefixCls.value,\n \"class\": classNames(hashId.value, `${prefixCls.value}-notice-pure-panel`),\n \"noticeKey\": \"pure\",\n \"duration\": null\n }), {\n default: () => [_createVNode(PureContent, {\n \"prefixCls\": prefixCls.value,\n \"type\": props.type,\n \"icon\": props.icon\n }, {\n default: () => [(_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)]\n })]\n });\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { shallowRef, computed, defineComponent } from 'vue';\nimport { useNotification as useVcNotification } from '../vc-notification';\nimport CloseOutlined from \"@ant-design/icons-vue/es/icons/CloseOutlined\";\nimport useStyle from './style';\nimport { PureContent } from './PurePanel';\nimport { getMotion } from '../vc-trigger/utils/motionUtil';\nimport { wrapPromiseFn } from '../_util/util';\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport classNames from '../_util/classNames';\nconst DEFAULT_OFFSET = 8;\nconst DEFAULT_DURATION = 3;\nconst Holder = defineComponent({\n name: 'Holder',\n inheritAttrs: false,\n props: ['top', 'prefixCls', 'getContainer', 'maxCount', 'duration', 'rtl', 'transitionName', 'onAllRemoved', 'animation', 'staticGetContainer'],\n setup(props, _ref) {\n let {\n expose\n } = _ref;\n var _a, _b;\n const {\n getPrefixCls,\n getPopupContainer\n } = useConfigInject('message', props);\n const prefixCls = computed(() => getPrefixCls('message', props.prefixCls));\n const [, hashId] = useStyle(prefixCls);\n // =============================== Style ===============================\n const getStyles = () => {\n var _a;\n const top = (_a = props.top) !== null && _a !== void 0 ? _a : DEFAULT_OFFSET;\n return {\n left: '50%',\n transform: 'translateX(-50%)',\n top: typeof top === 'number' ? `${top}px` : top\n };\n };\n const getClassName = () => classNames(hashId.value, props.rtl ? `${prefixCls.value}-rtl` : '');\n // ============================== Motion ===============================\n const getNotificationMotion = () => {\n var _a;\n return getMotion({\n prefixCls: prefixCls.value,\n animation: (_a = props.animation) !== null && _a !== void 0 ? _a : `move-up`,\n transitionName: props.transitionName\n });\n };\n // ============================ Close Icon =============================\n const mergedCloseIcon = _createVNode(\"span\", {\n \"class\": `${prefixCls.value}-close-x`\n }, [_createVNode(CloseOutlined, {\n \"class\": `${prefixCls.value}-close-icon`\n }, null)]);\n // ============================== Origin ===============================\n const [api, holder] = useVcNotification({\n //@ts-ignore\n getStyles,\n prefixCls: prefixCls.value,\n getClassName,\n motion: getNotificationMotion,\n closable: false,\n closeIcon: mergedCloseIcon,\n duration: (_a = props.duration) !== null && _a !== void 0 ? _a : DEFAULT_DURATION,\n getContainer: (_b = props.staticGetContainer) !== null && _b !== void 0 ? _b : getPopupContainer.value,\n maxCount: props.maxCount,\n onAllRemoved: props.onAllRemoved\n });\n // ================================ Ref ================================\n expose(_extends(_extends({}, api), {\n prefixCls,\n hashId\n }));\n return holder;\n }\n});\n// ==============================================================================\n// == Hook ==\n// ==============================================================================\nlet keyIndex = 0;\nexport function useInternalMessage(messageConfig) {\n const holderRef = shallowRef(null);\n const holderKey = Symbol('messageHolderKey');\n // ================================ API ================================\n // Wrap with notification content\n // >>> close\n const close = key => {\n var _a;\n (_a = holderRef.value) === null || _a === void 0 ? void 0 : _a.close(key);\n };\n // >>> Open\n const open = config => {\n if (!holderRef.value) {\n const fakeResult = () => {};\n fakeResult.then = () => {};\n return fakeResult;\n }\n const {\n open: originOpen,\n prefixCls,\n hashId\n } = holderRef.value;\n const noticePrefixCls = `${prefixCls}-notice`;\n const {\n content,\n icon,\n type,\n key,\n class: className,\n onClose\n } = config,\n restConfig = __rest(config, [\"content\", \"icon\", \"type\", \"key\", \"class\", \"onClose\"]);\n let mergedKey = key;\n if (mergedKey === undefined || mergedKey === null) {\n keyIndex += 1;\n mergedKey = `antd-message-${keyIndex}`;\n }\n return wrapPromiseFn(resolve => {\n originOpen(_extends(_extends({}, restConfig), {\n key: mergedKey,\n content: () => _createVNode(PureContent, {\n \"prefixCls\": prefixCls,\n \"type\": type,\n \"icon\": typeof icon === 'function' ? icon() : icon\n }, {\n default: () => [typeof content === 'function' ? content() : content]\n }),\n placement: 'top',\n // @ts-ignore\n class: classNames(type && `${noticePrefixCls}-${type}`, hashId, className),\n onClose: () => {\n onClose === null || onClose === void 0 ? void 0 : onClose();\n resolve();\n }\n }));\n // Return close function\n return () => {\n close(mergedKey);\n };\n });\n };\n // >>> destroy\n const destroy = key => {\n var _a;\n if (key !== undefined) {\n close(key);\n } else {\n (_a = holderRef.value) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n };\n const wrapAPI = {\n open,\n destroy\n };\n const keys = ['info', 'success', 'warning', 'error', 'loading'];\n keys.forEach(type => {\n const typeOpen = (jointContent, duration, onClose) => {\n let config;\n if (jointContent && typeof jointContent === 'object' && 'content' in jointContent) {\n config = jointContent;\n } else {\n config = {\n content: jointContent\n };\n }\n // Params\n let mergedDuration;\n let mergedOnClose;\n if (typeof duration === 'function') {\n mergedOnClose = duration;\n } else {\n mergedDuration = duration;\n mergedOnClose = onClose;\n }\n const mergedConfig = _extends(_extends({\n onClose: mergedOnClose,\n duration: mergedDuration\n }, config), {\n type\n });\n return open(mergedConfig);\n };\n wrapAPI[type] = typeOpen;\n });\n // ============================== Return ===============================\n return [wrapAPI, () => _createVNode(Holder, _objectSpread(_objectSpread({\n \"key\": holderKey\n }, messageConfig), {}, {\n \"ref\": holderRef\n }), null)];\n}\nexport default function useMessage(messageConfig) {\n return useInternalMessage(messageConfig);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport Notification from '../vc-notification';\nimport LoadingOutlined from \"@ant-design/icons-vue/es/icons/LoadingOutlined\";\nimport ExclamationCircleFilled from \"@ant-design/icons-vue/es/icons/ExclamationCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons-vue/es/icons/CloseCircleFilled\";\nimport CheckCircleFilled from \"@ant-design/icons-vue/es/icons/CheckCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons-vue/es/icons/InfoCircleFilled\";\nimport classNames from '../_util/classNames';\nimport useStyle from './style';\nimport useMessage from './useMessage';\nlet defaultDuration = 3;\nlet defaultTop;\nlet messageInstance;\nlet key = 1;\nlet localPrefixCls = '';\nlet transitionName = 'move-up';\nlet hasTransitionName = false;\nlet getContainer = () => document.body;\nlet maxCount;\nlet rtl = false;\nexport function getKeyThenIncreaseKey() {\n return key++;\n}\nfunction setMessageConfig(options) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null; // delete messageInstance for new defaultTop\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.prefixCls !== undefined) {\n localPrefixCls = options.prefixCls;\n }\n if (options.getContainer !== undefined) {\n getContainer = options.getContainer;\n messageInstance = null; // delete messageInstance for new getContainer\n }\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null; // delete messageInstance for new transitionName\n hasTransitionName = true;\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n if (options.rtl !== undefined) {\n rtl = options.rtl;\n }\n}\nfunction getMessageInstance(args, callback) {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n Notification.newInstance({\n appContext: args.appContext,\n prefixCls: args.prefixCls || localPrefixCls,\n rootPrefixCls: args.rootPrefixCls,\n transitionName,\n hasTransitionName,\n style: {\n top: defaultTop\n },\n getContainer: getContainer || args.getPopupContainer,\n maxCount,\n name: 'message',\n useStyle\n }, instance => {\n if (messageInstance) {\n callback(messageInstance);\n return;\n }\n messageInstance = instance;\n callback(instance);\n });\n}\nconst typeToIcon = {\n info: InfoCircleFilled,\n success: CheckCircleFilled,\n error: CloseCircleFilled,\n warning: ExclamationCircleFilled,\n loading: LoadingOutlined\n};\nexport const typeList = Object.keys(typeToIcon);\nfunction notice(args) {\n const duration = args.duration !== undefined ? args.duration : defaultDuration;\n const target = args.key || getKeyThenIncreaseKey();\n const closePromise = new Promise(resolve => {\n const callback = () => {\n if (typeof args.onClose === 'function') {\n args.onClose();\n }\n return resolve(true);\n };\n getMessageInstance(args, instance => {\n instance.notice({\n key: target,\n duration,\n style: args.style || {},\n class: args.class,\n content: _ref => {\n let {\n prefixCls\n } = _ref;\n const Icon = typeToIcon[args.type];\n const iconNode = Icon ? _createVNode(Icon, null, null) : '';\n const messageClass = classNames(`${prefixCls}-custom-content`, {\n [`${prefixCls}-${args.type}`]: args.type,\n [`${prefixCls}-rtl`]: rtl === true\n });\n return _createVNode(\"div\", {\n \"class\": messageClass\n }, [typeof args.icon === 'function' ? args.icon() : args.icon || iconNode, _createVNode(\"span\", null, [typeof args.content === 'function' ? args.content() : args.content])]);\n },\n onClose: callback,\n onClick: args.onClick\n });\n });\n });\n const result = () => {\n if (messageInstance) {\n messageInstance.removeNotice(target);\n }\n };\n result.then = (filled, rejected) => closePromise.then(filled, rejected);\n result.promise = closePromise;\n return result;\n}\nfunction isArgsProps(content) {\n return Object.prototype.toString.call(content) === '[object Object]' && !!content.content;\n}\nconst api = {\n open: notice,\n config: setMessageConfig,\n destroy(messageKey) {\n if (messageInstance) {\n if (messageKey) {\n const {\n removeNotice\n } = messageInstance;\n removeNotice(messageKey);\n } else {\n const {\n destroy\n } = messageInstance;\n destroy();\n messageInstance = null;\n }\n }\n }\n};\nexport function attachTypeApi(originalApi, type) {\n originalApi[type] = (content, duration, onClose) => {\n if (isArgsProps(content)) {\n return originalApi.open(_extends(_extends({}, content), {\n type\n }));\n }\n if (typeof duration === 'function') {\n onClose = duration;\n duration = undefined;\n }\n return originalApi.open({\n content,\n duration,\n type,\n onClose\n });\n };\n}\ntypeList.forEach(type => attachTypeApi(api, type));\napi.warn = api.warning;\napi.useMessage = useMessage;\n/** @private test Only function. Not work on production */\nexport const getInstance = () => process.env.NODE_ENV === 'test' ? messageInstance : null;\nexport default api;","import { Keyframes } from '../../_util/cssinjs';\nconst genNotificationPlacementStyle = token => {\n const {\n componentCls,\n width,\n notificationMarginEdge\n } = token;\n const notificationTopFadeIn = new Keyframes('antNotificationTopFadeIn', {\n '0%': {\n marginTop: '-100%',\n opacity: 0\n },\n '100%': {\n marginTop: 0,\n opacity: 1\n }\n });\n const notificationBottomFadeIn = new Keyframes('antNotificationBottomFadeIn', {\n '0%': {\n marginBottom: '-100%',\n opacity: 0\n },\n '100%': {\n marginBottom: 0,\n opacity: 1\n }\n });\n const notificationLeftFadeIn = new Keyframes('antNotificationLeftFadeIn', {\n '0%': {\n right: {\n _skip_check_: true,\n value: width\n },\n opacity: 0\n },\n '100%': {\n right: {\n _skip_check_: true,\n value: 0\n },\n opacity: 1\n }\n });\n return {\n [`&${componentCls}-top, &${componentCls}-bottom`]: {\n marginInline: 0\n },\n [`&${componentCls}-top`]: {\n [`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {\n animationName: notificationTopFadeIn\n }\n },\n [`&${componentCls}-bottom`]: {\n [`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {\n animationName: notificationBottomFadeIn\n }\n },\n [`&${componentCls}-topLeft, &${componentCls}-bottomLeft`]: {\n marginInlineEnd: 0,\n marginInlineStart: notificationMarginEdge,\n [`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {\n animationName: notificationLeftFadeIn\n }\n }\n };\n};\nexport default genNotificationPlacementStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { Keyframes } from '../../_util/cssinjs';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genNotificationPlacementStyle from './placement';\nimport { resetComponent } from '../../style';\nconst genNotificationStyle = token => {\n const {\n iconCls,\n componentCls,\n // .ant-notification\n boxShadowSecondary,\n fontSizeLG,\n notificationMarginBottom,\n borderRadiusLG,\n colorSuccess,\n colorInfo,\n colorWarning,\n colorError,\n colorTextHeading,\n notificationBg,\n notificationPadding,\n notificationMarginEdge,\n motionDurationMid,\n motionEaseInOut,\n fontSize,\n lineHeight,\n width,\n notificationIconSize\n } = token;\n const noticeCls = `${componentCls}-notice`;\n const notificationFadeIn = new Keyframes('antNotificationFadeIn', {\n '0%': {\n left: {\n _skip_check_: true,\n value: width\n },\n opacity: 0\n },\n '100%': {\n left: {\n _skip_check_: true,\n value: 0\n },\n opacity: 1\n }\n });\n const notificationFadeOut = new Keyframes('antNotificationFadeOut', {\n '0%': {\n maxHeight: token.animationMaxHeight,\n marginBottom: notificationMarginBottom,\n opacity: 1\n },\n '100%': {\n maxHeight: 0,\n marginBottom: 0,\n paddingTop: 0,\n paddingBottom: 0,\n opacity: 0\n }\n });\n return [\n // ============================ Holder ============================\n {\n [componentCls]: _extends(_extends(_extends(_extends({}, resetComponent(token)), {\n position: 'fixed',\n zIndex: token.zIndexPopup,\n marginInlineEnd: notificationMarginEdge,\n [`${componentCls}-hook-holder`]: {\n position: 'relative'\n },\n [`&${componentCls}-top, &${componentCls}-bottom`]: {\n [`${componentCls}-notice`]: {\n marginInline: 'auto auto'\n }\n },\n [`&${componentCls}-topLeft, &${componentCls}-bottomLeft`]: {\n [`${componentCls}-notice`]: {\n marginInlineEnd: 'auto',\n marginInlineStart: 0\n }\n },\n // animation\n [`${componentCls}-fade-enter, ${componentCls}-fade-appear`]: {\n animationDuration: token.motionDurationMid,\n animationTimingFunction: motionEaseInOut,\n animationFillMode: 'both',\n opacity: 0,\n animationPlayState: 'paused'\n },\n [`${componentCls}-fade-leave`]: {\n animationTimingFunction: motionEaseInOut,\n animationFillMode: 'both',\n animationDuration: motionDurationMid,\n animationPlayState: 'paused'\n },\n [`${componentCls}-fade-enter${componentCls}-fade-enter-active, ${componentCls}-fade-appear${componentCls}-fade-appear-active`]: {\n animationName: notificationFadeIn,\n animationPlayState: 'running'\n },\n [`${componentCls}-fade-leave${componentCls}-fade-leave-active`]: {\n animationName: notificationFadeOut,\n animationPlayState: 'running'\n }\n }), genNotificationPlacementStyle(token)), {\n // RTL\n '&-rtl': {\n direction: 'rtl',\n [`${componentCls}-notice-btn`]: {\n float: 'left'\n }\n }\n })\n },\n // ============================ Notice ============================\n {\n [noticeCls]: {\n position: 'relative',\n width,\n maxWidth: `calc(100vw - ${notificationMarginEdge * 2}px)`,\n marginBottom: notificationMarginBottom,\n marginInlineStart: 'auto',\n padding: notificationPadding,\n overflow: 'hidden',\n lineHeight,\n wordWrap: 'break-word',\n background: notificationBg,\n borderRadius: borderRadiusLG,\n boxShadow: boxShadowSecondary,\n [`${componentCls}-close-icon`]: {\n fontSize,\n cursor: 'pointer'\n },\n [`${noticeCls}-message`]: {\n marginBottom: token.marginXS,\n color: colorTextHeading,\n fontSize: fontSizeLG,\n lineHeight: token.lineHeightLG\n },\n [`${noticeCls}-description`]: {\n fontSize\n },\n [`&${noticeCls}-closable ${noticeCls}-message`]: {\n paddingInlineEnd: token.paddingLG\n },\n [`${noticeCls}-with-icon ${noticeCls}-message`]: {\n marginBottom: token.marginXS,\n marginInlineStart: token.marginSM + notificationIconSize,\n fontSize: fontSizeLG\n },\n [`${noticeCls}-with-icon ${noticeCls}-description`]: {\n marginInlineStart: token.marginSM + notificationIconSize,\n fontSize\n },\n // Icon & color style in different selector level\n // https://github.com/ant-design/ant-design/issues/16503\n // https://github.com/ant-design/ant-design/issues/15512\n [`${noticeCls}-icon`]: {\n position: 'absolute',\n fontSize: notificationIconSize,\n lineHeight: 0,\n // icon-font\n [`&-success${iconCls}`]: {\n color: colorSuccess\n },\n [`&-info${iconCls}`]: {\n color: colorInfo\n },\n [`&-warning${iconCls}`]: {\n color: colorWarning\n },\n [`&-error${iconCls}`]: {\n color: colorError\n }\n },\n [`${noticeCls}-close`]: {\n position: 'absolute',\n top: token.notificationPaddingVertical,\n insetInlineEnd: token.notificationPaddingHorizontal,\n color: token.colorIcon,\n outline: 'none',\n width: token.notificationCloseButtonSize,\n height: token.notificationCloseButtonSize,\n borderRadius: token.borderRadiusSM,\n transition: `background-color ${token.motionDurationMid}, color ${token.motionDurationMid}`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n '&:hover': {\n color: token.colorIconHover,\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContent\n }\n },\n [`${noticeCls}-btn`]: {\n float: 'right',\n marginTop: token.marginSM\n }\n }\n },\n // ============================= Pure =============================\n {\n [`${noticeCls}-pure-panel`]: {\n margin: 0\n }\n }];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Notification', token => {\n const notificationPaddingVertical = token.paddingMD;\n const notificationPaddingHorizontal = token.paddingLG;\n const notificationToken = mergeToken(token, {\n // default.less variables\n notificationBg: token.colorBgElevated,\n notificationPaddingVertical,\n notificationPaddingHorizontal,\n // index.less variables\n notificationPadding: `${token.paddingMD}px ${token.paddingContentHorizontalLG}px`,\n notificationMarginBottom: token.margin,\n notificationMarginEdge: token.marginLG,\n animationMaxHeight: 150,\n notificationIconSize: token.fontSizeLG * token.lineHeightLG,\n notificationCloseButtonSize: token.controlHeightLG * 0.55\n });\n return [genNotificationStyle(notificationToken)];\n}, token => ({\n zIndexPopup: token.zIndexPopupBase + 50,\n width: 384\n}));","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { computed, defineComponent } from 'vue';\nimport useStyle from './style';\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport Notice from '../vc-notification/Notice';\nimport classNames from '../_util/classNames';\nimport LoadingOutlined from \"@ant-design/icons-vue/es/icons/LoadingOutlined\";\nimport ExclamationCircleFilled from \"@ant-design/icons-vue/es/icons/ExclamationCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons-vue/es/icons/CloseCircleFilled\";\nimport CheckCircleFilled from \"@ant-design/icons-vue/es/icons/CheckCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons-vue/es/icons/InfoCircleFilled\";\nimport CloseOutlined from \"@ant-design/icons-vue/es/icons/CloseOutlined\";\nimport { renderHelper } from '../_util/util';\nexport function getCloseIcon(prefixCls, closeIcon) {\n return closeIcon || _createVNode(\"span\", {\n \"class\": `${prefixCls}-close-x`\n }, [_createVNode(CloseOutlined, {\n \"class\": `${prefixCls}-close-icon`\n }, null)]);\n}\nexport const TypeIcon = {\n info: _createVNode(InfoCircleFilled, null, null),\n success: _createVNode(CheckCircleFilled, null, null),\n error: _createVNode(CloseCircleFilled, null, null),\n warning: _createVNode(ExclamationCircleFilled, null, null),\n loading: _createVNode(LoadingOutlined, null, null)\n};\nconst typeToIcon = {\n success: CheckCircleFilled,\n info: InfoCircleFilled,\n error: CloseCircleFilled,\n warning: ExclamationCircleFilled\n};\nexport function PureContent(_ref) {\n let {\n prefixCls,\n icon,\n type,\n message,\n description,\n btn\n } = _ref;\n let iconNode = null;\n if (icon) {\n iconNode = _createVNode(\"span\", {\n \"class\": `${prefixCls}-icon`\n }, [renderHelper(icon)]);\n } else if (type) {\n const Icon = typeToIcon[type];\n iconNode = _createVNode(Icon, {\n \"class\": `${prefixCls}-icon ${prefixCls}-icon-${type}`\n }, null);\n }\n return _createVNode(\"div\", {\n \"class\": classNames({\n [`${prefixCls}-with-icon`]: iconNode\n }),\n \"role\": \"alert\"\n }, [iconNode, _createVNode(\"div\", {\n \"class\": `${prefixCls}-message`\n }, [message]), _createVNode(\"div\", {\n \"class\": `${prefixCls}-description`\n }, [description]), btn && _createVNode(\"div\", {\n \"class\": `${prefixCls}-btn`\n }, [btn])]);\n}\n/** @private Internal Component. Do not use in your production. */\nexport default defineComponent({\n name: 'PurePanel',\n inheritAttrs: false,\n props: ['prefixCls', 'icon', 'type', 'message', 'description', 'btn', 'closeIcon'],\n setup(props) {\n const {\n getPrefixCls\n } = useConfigInject('notification', props);\n const prefixCls = computed(() => props.prefixCls || getPrefixCls('notification'));\n const noticePrefixCls = computed(() => `${prefixCls.value}-notice`);\n const [, hashId] = useStyle(prefixCls);\n return () => {\n return _createVNode(Notice, _objectSpread(_objectSpread({}, props), {}, {\n \"prefixCls\": prefixCls.value,\n \"class\": classNames(hashId.value, `${noticePrefixCls.value}-pure-panel`),\n \"noticeKey\": \"pure\",\n \"duration\": null,\n \"closable\": props.closable,\n \"closeIcon\": getCloseIcon(prefixCls.value, props.closeIcon)\n }), {\n default: () => [_createVNode(PureContent, {\n \"prefixCls\": noticePrefixCls.value,\n \"icon\": props.icon,\n \"type\": props.type,\n \"message\": props.message,\n \"description\": props.description,\n \"btn\": props.btn\n }, null)]\n });\n };\n }\n});","export function getPlacementStyle(placement, top, bottom) {\n let style;\n top = typeof top === 'number' ? `${top}px` : top;\n bottom = typeof bottom === 'number' ? `${bottom}px` : bottom;\n switch (placement) {\n case 'top':\n style = {\n left: '50%',\n transform: 'translateX(-50%)',\n right: 'auto',\n top,\n bottom: 'auto'\n };\n break;\n case 'topLeft':\n style = {\n left: 0,\n top,\n bottom: 'auto'\n };\n break;\n case 'topRight':\n style = {\n right: 0,\n top,\n bottom: 'auto'\n };\n break;\n case 'bottom':\n style = {\n left: '50%',\n transform: 'translateX(-50%)',\n right: 'auto',\n top: 'auto',\n bottom\n };\n break;\n case 'bottomLeft':\n style = {\n left: 0,\n top: 'auto',\n bottom\n };\n break;\n default:\n style = {\n right: 0,\n top: 'auto',\n bottom\n };\n break;\n }\n return style;\n}\nexport function getMotion(prefixCls) {\n return {\n name: `${prefixCls}-fade`\n };\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { shallowRef, computed, defineComponent } from 'vue';\nimport { useNotification as useVcNotification } from '../vc-notification';\nimport useStyle from './style';\nimport { getCloseIcon, PureContent } from './PurePanel';\nimport { getMotion, getPlacementStyle } from './util';\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport classNames from '../_util/classNames';\nconst DEFAULT_OFFSET = 24;\nconst DEFAULT_DURATION = 4.5;\nconst Holder = defineComponent({\n name: 'Holder',\n inheritAttrs: false,\n props: ['prefixCls', 'class', 'type', 'icon', 'content', 'onAllRemoved'],\n setup(props, _ref) {\n let {\n expose\n } = _ref;\n const {\n getPrefixCls,\n getPopupContainer\n } = useConfigInject('notification', props);\n const prefixCls = computed(() => props.prefixCls || getPrefixCls('notification'));\n // =============================== Style ===============================\n const getStyles = placement => {\n var _a, _b;\n return getPlacementStyle(placement, (_a = props.top) !== null && _a !== void 0 ? _a : DEFAULT_OFFSET, (_b = props.bottom) !== null && _b !== void 0 ? _b : DEFAULT_OFFSET);\n };\n // Style\n const [, hashId] = useStyle(prefixCls);\n const getClassName = () => classNames(hashId.value, {\n [`${prefixCls.value}-rtl`]: props.rtl\n });\n // ============================== Motion ===============================\n const getNotificationMotion = () => getMotion(prefixCls.value);\n // ============================== Origin ===============================\n const [api, holder] = useVcNotification({\n prefixCls: prefixCls.value,\n getStyles,\n getClassName,\n motion: getNotificationMotion,\n closable: true,\n closeIcon: getCloseIcon(prefixCls.value),\n duration: DEFAULT_DURATION,\n getContainer: () => {\n var _a, _b;\n return ((_a = props.getPopupContainer) === null || _a === void 0 ? void 0 : _a.call(props)) || ((_b = getPopupContainer.value) === null || _b === void 0 ? void 0 : _b.call(getPopupContainer)) || document.body;\n },\n maxCount: props.maxCount,\n hashId: hashId.value,\n onAllRemoved: props.onAllRemoved\n });\n // ================================ Ref ================================\n expose(_extends(_extends({}, api), {\n prefixCls: prefixCls.value,\n hashId\n }));\n return holder;\n }\n});\n// ==============================================================================\n// == Hook ==\n// ==============================================================================\nexport function useInternalNotification(notificationConfig) {\n const holderRef = shallowRef(null);\n const holderKey = Symbol('notificationHolderKey');\n // ================================ API ================================\n // Wrap with notification content\n // >>> Open\n const open = config => {\n if (!holderRef.value) {\n return;\n }\n const {\n open: originOpen,\n prefixCls,\n hashId\n } = holderRef.value;\n const noticePrefixCls = `${prefixCls}-notice`;\n const {\n message,\n description,\n icon,\n type,\n btn,\n class: className\n } = config,\n restConfig = __rest(config, [\"message\", \"description\", \"icon\", \"type\", \"btn\", \"class\"]);\n return originOpen(_extends(_extends({\n placement: 'topRight'\n }, restConfig), {\n content: () => _createVNode(PureContent, {\n \"prefixCls\": noticePrefixCls,\n \"icon\": typeof icon === 'function' ? icon() : icon,\n \"type\": type,\n \"message\": typeof message === 'function' ? message() : message,\n \"description\": typeof description === 'function' ? description() : description,\n \"btn\": typeof btn === 'function' ? btn() : btn\n }, null),\n // @ts-ignore\n class: classNames(type && `${noticePrefixCls}-${type}`, hashId, className)\n }));\n };\n // >>> destroy\n const destroy = key => {\n var _a, _b;\n if (key !== undefined) {\n (_a = holderRef.value) === null || _a === void 0 ? void 0 : _a.close(key);\n } else {\n (_b = holderRef.value) === null || _b === void 0 ? void 0 : _b.destroy();\n }\n };\n const wrapAPI = {\n open,\n destroy\n };\n const keys = ['success', 'info', 'warning', 'error'];\n keys.forEach(type => {\n wrapAPI[type] = config => open(_extends(_extends({}, config), {\n type\n }));\n });\n // ============================== Return ===============================\n return [wrapAPI, () => _createVNode(Holder, _objectSpread(_objectSpread({\n \"key\": holderKey\n }, notificationConfig), {}, {\n \"ref\": holderRef\n }), null)];\n}\nexport default function useNotification(notificationConfig) {\n return useInternalNotification(notificationConfig);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nvar __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 Notification from '../vc-notification';\nimport CheckCircleOutlined from \"@ant-design/icons-vue/es/icons/CheckCircleOutlined\";\nimport InfoCircleOutlined from \"@ant-design/icons-vue/es/icons/InfoCircleOutlined\";\nimport CloseCircleOutlined from \"@ant-design/icons-vue/es/icons/CloseCircleOutlined\";\nimport ExclamationCircleOutlined from \"@ant-design/icons-vue/es/icons/ExclamationCircleOutlined\";\nimport CloseOutlined from \"@ant-design/icons-vue/es/icons/CloseOutlined\";\nimport { renderHelper } from '../_util/util';\nimport { globalConfig } from '../config-provider';\nimport classNames from '../_util/classNames';\nimport useStyle from './style';\nimport useNotification from './useNotification';\nimport { getPlacementStyle } from './util';\nconst notificationInstance = {};\nlet defaultDuration = 4.5;\nlet defaultTop = '24px';\nlet defaultBottom = '24px';\nlet defaultPrefixCls = '';\nlet defaultPlacement = 'topRight';\nlet defaultGetContainer = () => document.body;\nlet defaultCloseIcon = null;\nlet rtl = false;\nlet maxCount;\nfunction setNotificationConfig(options) {\n const {\n duration,\n placement,\n bottom,\n top,\n getContainer,\n closeIcon,\n prefixCls\n } = options;\n if (prefixCls !== undefined) {\n defaultPrefixCls = prefixCls;\n }\n if (duration !== undefined) {\n defaultDuration = duration;\n }\n if (placement !== undefined) {\n defaultPlacement = placement;\n }\n if (bottom !== undefined) {\n defaultBottom = typeof bottom === 'number' ? `${bottom}px` : bottom;\n }\n if (top !== undefined) {\n defaultTop = typeof top === 'number' ? `${top}px` : top;\n }\n if (getContainer !== undefined) {\n defaultGetContainer = getContainer;\n }\n if (closeIcon !== undefined) {\n defaultCloseIcon = closeIcon;\n }\n if (options.rtl !== undefined) {\n rtl = options.rtl;\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n }\n}\nfunction getNotificationInstance(_ref, callback) {\n let {\n prefixCls: customizePrefixCls,\n placement = defaultPlacement,\n getContainer = defaultGetContainer,\n top,\n bottom,\n closeIcon = defaultCloseIcon,\n appContext\n } = _ref;\n const {\n getPrefixCls\n } = globalConfig();\n const prefixCls = getPrefixCls('notification', customizePrefixCls || defaultPrefixCls);\n const cacheKey = `${prefixCls}-${placement}-${rtl}`;\n const cacheInstance = notificationInstance[cacheKey];\n if (cacheInstance) {\n Promise.resolve(cacheInstance).then(instance => {\n callback(instance);\n });\n return;\n }\n const notificationClass = classNames(`${prefixCls}-${placement}`, {\n [`${prefixCls}-rtl`]: rtl === true\n });\n Notification.newInstance({\n name: 'notification',\n prefixCls: customizePrefixCls || defaultPrefixCls,\n useStyle,\n class: notificationClass,\n style: getPlacementStyle(placement, top !== null && top !== void 0 ? top : defaultTop, bottom !== null && bottom !== void 0 ? bottom : defaultBottom),\n appContext,\n getContainer,\n closeIcon: _ref2 => {\n let {\n prefixCls\n } = _ref2;\n const closeIconToRender = _createVNode(\"span\", {\n \"class\": `${prefixCls}-close-x`\n }, [renderHelper(closeIcon, {}, _createVNode(CloseOutlined, {\n \"class\": `${prefixCls}-close-icon`\n }, null))]);\n return closeIconToRender;\n },\n maxCount,\n hasTransitionName: true\n }, notification => {\n notificationInstance[cacheKey] = notification;\n callback(notification);\n });\n}\nconst typeToIcon = {\n success: CheckCircleOutlined,\n info: InfoCircleOutlined,\n error: CloseCircleOutlined,\n warning: ExclamationCircleOutlined\n};\nfunction notice(args) {\n const {\n icon,\n type,\n description,\n message,\n btn\n } = args;\n const duration = args.duration === undefined ? defaultDuration : args.duration;\n getNotificationInstance(args, notification => {\n notification.notice({\n content: _ref3 => {\n let {\n prefixCls: outerPrefixCls\n } = _ref3;\n const prefixCls = `${outerPrefixCls}-notice`;\n let iconNode = null;\n if (icon) {\n iconNode = () => _createVNode(\"span\", {\n \"class\": `${prefixCls}-icon`\n }, [renderHelper(icon)]);\n } else if (type) {\n const Icon = typeToIcon[type];\n iconNode = () => _createVNode(Icon, {\n \"class\": `${prefixCls}-icon ${prefixCls}-icon-${type}`\n }, null);\n }\n return _createVNode(\"div\", {\n \"class\": iconNode ? `${prefixCls}-with-icon` : ''\n }, [iconNode && iconNode(), _createVNode(\"div\", {\n \"class\": `${prefixCls}-message`\n }, [!description && iconNode ? _createVNode(\"span\", {\n \"class\": `${prefixCls}-message-single-line-auto-margin`\n }, null) : null, renderHelper(message)]), _createVNode(\"div\", {\n \"class\": `${prefixCls}-description`\n }, [renderHelper(description)]), btn ? _createVNode(\"span\", {\n \"class\": `${prefixCls}-btn`\n }, [renderHelper(btn)]) : null]);\n },\n duration,\n closable: true,\n onClose: args.onClose,\n onClick: args.onClick,\n key: args.key,\n style: args.style || {},\n class: args.class\n });\n });\n}\nconst api = {\n open: notice,\n close(key) {\n Object.keys(notificationInstance).forEach(cacheKey => Promise.resolve(notificationInstance[cacheKey]).then(instance => {\n instance.removeNotice(key);\n }));\n },\n config: setNotificationConfig,\n destroy() {\n Object.keys(notificationInstance).forEach(cacheKey => {\n Promise.resolve(notificationInstance[cacheKey]).then(instance => {\n instance.destroy();\n });\n delete notificationInstance[cacheKey]; // lgtm[js/missing-await]\n });\n }\n};\nconst iconTypes = ['success', 'info', 'warning', 'error'];\niconTypes.forEach(type => {\n api[type] = args => api.open(_extends(_extends({}, args), {\n type\n }));\n});\napi.warn = api.warning;\napi.useNotification = useNotification;\n/** @private test Only function. Not work on production */\nexport const getInstance = cacheKey => __awaiter(void 0, void 0, void 0, function* () {\n return process.env.NODE_ENV === 'test' ? notificationInstance[cacheKey] : null;\n});\nexport default api;","/* eslint-disable import/prefer-default-export, prefer-destructuring */\nimport { TinyColor } from '@ctrl/tinycolor';\nimport { generate } from '@ant-design/colors';\nimport { updateCSS } from '../vc-util/Dom/dynamicCSS';\nimport canUseDom from '../_util/canUseDom';\nimport warning from '../_util/warning';\nconst dynamicStyleMark = `-ant-${Date.now()}-${Math.random()}`;\nexport function getStyle(globalPrefixCls, theme) {\n const variables = {};\n const formatColor = (color, updater) => {\n let clone = color.clone();\n clone = (updater === null || updater === void 0 ? void 0 : updater(clone)) || clone;\n return clone.toRgbString();\n };\n const fillColor = (colorVal, type) => {\n const baseColor = new TinyColor(colorVal);\n const colorPalettes = generate(baseColor.toRgbString());\n variables[`${type}-color`] = formatColor(baseColor);\n variables[`${type}-color-disabled`] = colorPalettes[1];\n variables[`${type}-color-hover`] = colorPalettes[4];\n variables[`${type}-color-active`] = colorPalettes[6];\n variables[`${type}-color-outline`] = baseColor.clone().setAlpha(0.2).toRgbString();\n variables[`${type}-color-deprecated-bg`] = colorPalettes[0];\n variables[`${type}-color-deprecated-border`] = colorPalettes[2];\n };\n // ================ Primary Color ================\n if (theme.primaryColor) {\n fillColor(theme.primaryColor, 'primary');\n const primaryColor = new TinyColor(theme.primaryColor);\n const primaryColors = generate(primaryColor.toRgbString());\n // Legacy - We should use semantic naming standard\n primaryColors.forEach((color, index) => {\n variables[`primary-${index + 1}`] = color;\n });\n // Deprecated\n variables['primary-color-deprecated-l-35'] = formatColor(primaryColor, c => c.lighten(35));\n variables['primary-color-deprecated-l-20'] = formatColor(primaryColor, c => c.lighten(20));\n variables['primary-color-deprecated-t-20'] = formatColor(primaryColor, c => c.tint(20));\n variables['primary-color-deprecated-t-50'] = formatColor(primaryColor, c => c.tint(50));\n variables['primary-color-deprecated-f-12'] = formatColor(primaryColor, c => c.setAlpha(c.getAlpha() * 0.12));\n const primaryActiveColor = new TinyColor(primaryColors[0]);\n variables['primary-color-active-deprecated-f-30'] = formatColor(primaryActiveColor, c => c.setAlpha(c.getAlpha() * 0.3));\n variables['primary-color-active-deprecated-d-02'] = formatColor(primaryActiveColor, c => c.darken(2));\n }\n // ================ Success Color ================\n if (theme.successColor) {\n fillColor(theme.successColor, 'success');\n }\n // ================ Warning Color ================\n if (theme.warningColor) {\n fillColor(theme.warningColor, 'warning');\n }\n // ================= Error Color =================\n if (theme.errorColor) {\n fillColor(theme.errorColor, 'error');\n }\n // ================= Info Color ==================\n if (theme.infoColor) {\n fillColor(theme.infoColor, 'info');\n }\n // Convert to css variables\n const cssList = Object.keys(variables).map(key => `--${globalPrefixCls}-${key}: ${variables[key]};`);\n return `\n :root {\n ${cssList.join('\\n')}\n }\n `.trim();\n}\nexport function registerTheme(globalPrefixCls, theme) {\n const style = getStyle(globalPrefixCls, theme);\n if (canUseDom()) {\n updateCSS(style, `${dynamicStyleMark}-dynamic-theme`);\n } else {\n warning(false, 'ConfigProvider', 'SSR do not support dynamic theme with css variables.');\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { useStyleRegister } from '../../_util/cssinjs';\nimport { resetIcon } from '../../style';\nimport { useToken } from '../../theme/internal';\nimport { computed } from 'vue';\nconst useStyle = iconPrefixCls => {\n const [theme, token] = useToken();\n // Generate style for icons\n return useStyleRegister(computed(() => ({\n theme: theme.value,\n token: token.value,\n hashId: '',\n path: ['ant-design-icons', iconPrefixCls.value]\n })), () => [{\n [`.${iconPrefixCls.value}`]: _extends(_extends({}, resetIcon()), {\n [`.${iconPrefixCls.value} .${iconPrefixCls.value}-icon`]: {\n display: 'block'\n }\n })\n }]);\n};\nexport default useStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { defaultConfig } from '../../theme/internal';\nimport { computed } from 'vue';\nexport default function useTheme(theme, parentTheme) {\n const themeConfig = computed(() => (theme === null || theme === void 0 ? void 0 : theme.value) || {});\n const parentThemeConfig = computed(() => themeConfig.value.inherit === false || !(parentTheme === null || parentTheme === void 0 ? void 0 : parentTheme.value) ? defaultConfig : parentTheme.value);\n const mergedTheme = computed(() => {\n if (!(theme === null || theme === void 0 ? void 0 : theme.value)) {\n return parentTheme === null || parentTheme === void 0 ? void 0 : parentTheme.value;\n }\n // Override\n const mergedComponents = _extends({}, parentThemeConfig.value.components);\n Object.keys(theme.value.components || {}).forEach(componentName => {\n mergedComponents[componentName] = _extends(_extends({}, mergedComponents[componentName]), theme.value.components[componentName]);\n });\n // Base token\n return _extends(_extends(_extends({}, parentThemeConfig.value), themeConfig.value), {\n token: _extends(_extends({}, parentThemeConfig.value.token), themeConfig.value.token),\n components: mergedComponents\n });\n });\n return mergedTheme;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { watch, computed, reactive, defineComponent, watchEffect } from 'vue';\nimport defaultRenderEmpty from './renderEmpty';\nimport LocaleProvider, { ANT_MARK } from '../locale-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport message from '../message';\nimport notification from '../notification';\nimport { registerTheme } from './cssVariables';\nimport defaultLocale from '../locale/en_US';\nimport useStyle from './style';\nimport useTheme from './hooks/useTheme';\nimport defaultSeedToken from '../theme/themes/seed';\nimport { useConfigContextProvider, useConfigContextInject, configProviderProps, useProvideGlobalForm, defaultIconPrefixCls } from './context';\nimport { useProviderSize } from './SizeContext';\nimport { useProviderDisabled } from './DisabledContext';\nimport { createTheme } from '../_util/cssinjs';\nimport { DesignTokenProvider } from '../theme/internal';\nexport const defaultPrefixCls = 'ant';\nexport { defaultIconPrefixCls };\nfunction getGlobalPrefixCls() {\n return globalConfigForApi.prefixCls || defaultPrefixCls;\n}\nfunction getGlobalIconPrefixCls() {\n return globalConfigForApi.iconPrefixCls || defaultIconPrefixCls;\n}\nconst globalConfigBySet = reactive({}); // 权重最大\nexport const globalConfigForApi = reactive({});\nexport const configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader'];\nwatchEffect(() => {\n _extends(globalConfigForApi, globalConfigBySet);\n globalConfigForApi.prefixCls = getGlobalPrefixCls();\n globalConfigForApi.iconPrefixCls = getGlobalIconPrefixCls();\n globalConfigForApi.getPrefixCls = (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? `${globalConfigForApi.prefixCls}-${suffixCls}` : globalConfigForApi.prefixCls;\n };\n globalConfigForApi.getRootPrefixCls = () => {\n // If Global prefixCls provided, use this\n if (globalConfigForApi.prefixCls) {\n return globalConfigForApi.prefixCls;\n }\n // Fallback to default prefixCls\n return getGlobalPrefixCls();\n };\n});\nlet stopWatchEffect;\nconst setGlobalConfig = params => {\n if (stopWatchEffect) {\n stopWatchEffect();\n }\n stopWatchEffect = watchEffect(() => {\n _extends(globalConfigBySet, reactive(params));\n _extends(globalConfigForApi, reactive(params));\n });\n if (params.theme) {\n registerTheme(getGlobalPrefixCls(), params.theme);\n }\n};\nexport const globalConfig = () => ({\n getPrefixCls: (suffixCls, customizePrefixCls) => {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? `${getGlobalPrefixCls()}-${suffixCls}` : getGlobalPrefixCls();\n },\n getIconPrefixCls: getGlobalIconPrefixCls,\n getRootPrefixCls: () => {\n // If Global prefixCls provided, use this\n if (globalConfigForApi.prefixCls) {\n return globalConfigForApi.prefixCls;\n }\n // Fallback to default prefixCls\n return getGlobalPrefixCls();\n }\n});\nconst ConfigProvider = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'AConfigProvider',\n inheritAttrs: false,\n props: configProviderProps(),\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const parentContext = useConfigContextInject();\n const getPrefixCls = (suffixCls, customizePrefixCls) => {\n const {\n prefixCls = 'ant'\n } = props;\n if (customizePrefixCls) return customizePrefixCls;\n const mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? `${mergedPrefixCls}-${suffixCls}` : mergedPrefixCls;\n };\n const iconPrefixCls = computed(() => props.iconPrefixCls || parentContext.iconPrefixCls.value || defaultIconPrefixCls);\n const shouldWrapSSR = computed(() => iconPrefixCls.value !== parentContext.iconPrefixCls.value);\n const csp = computed(() => {\n var _a;\n return props.csp || ((_a = parentContext.csp) === null || _a === void 0 ? void 0 : _a.value);\n });\n const wrapSSR = useStyle(iconPrefixCls);\n const mergedTheme = useTheme(computed(() => props.theme), computed(() => {\n var _a;\n return (_a = parentContext.theme) === null || _a === void 0 ? void 0 : _a.value;\n }));\n const renderEmptyComponent = name => {\n const renderEmpty = props.renderEmpty || slots.renderEmpty || parentContext.renderEmpty || defaultRenderEmpty;\n return renderEmpty(name);\n };\n const autoInsertSpaceInButton = computed(() => {\n var _a, _b;\n return (_a = props.autoInsertSpaceInButton) !== null && _a !== void 0 ? _a : (_b = parentContext.autoInsertSpaceInButton) === null || _b === void 0 ? void 0 : _b.value;\n });\n const locale = computed(() => {\n var _a;\n return props.locale || ((_a = parentContext.locale) === null || _a === void 0 ? void 0 : _a.value);\n });\n watch(locale, () => {\n globalConfigBySet.locale = locale.value;\n }, {\n immediate: true\n });\n const direction = computed(() => {\n var _a;\n return props.direction || ((_a = parentContext.direction) === null || _a === void 0 ? void 0 : _a.value);\n });\n const space = computed(() => {\n var _a, _b;\n return (_a = props.space) !== null && _a !== void 0 ? _a : (_b = parentContext.space) === null || _b === void 0 ? void 0 : _b.value;\n });\n const virtual = computed(() => {\n var _a, _b;\n return (_a = props.virtual) !== null && _a !== void 0 ? _a : (_b = parentContext.virtual) === null || _b === void 0 ? void 0 : _b.value;\n });\n const dropdownMatchSelectWidth = computed(() => {\n var _a, _b;\n return (_a = props.dropdownMatchSelectWidth) !== null && _a !== void 0 ? _a : (_b = parentContext.dropdownMatchSelectWidth) === null || _b === void 0 ? void 0 : _b.value;\n });\n const getTargetContainer = computed(() => {\n var _a;\n return props.getTargetContainer !== undefined ? props.getTargetContainer : (_a = parentContext.getTargetContainer) === null || _a === void 0 ? void 0 : _a.value;\n });\n const getPopupContainer = computed(() => {\n var _a;\n return props.getPopupContainer !== undefined ? props.getPopupContainer : (_a = parentContext.getPopupContainer) === null || _a === void 0 ? void 0 : _a.value;\n });\n const pageHeader = computed(() => {\n var _a;\n return props.pageHeader !== undefined ? props.pageHeader : (_a = parentContext.pageHeader) === null || _a === void 0 ? void 0 : _a.value;\n });\n const input = computed(() => {\n var _a;\n return props.input !== undefined ? props.input : (_a = parentContext.input) === null || _a === void 0 ? void 0 : _a.value;\n });\n const pagination = computed(() => {\n var _a;\n return props.pagination !== undefined ? props.pagination : (_a = parentContext.pagination) === null || _a === void 0 ? void 0 : _a.value;\n });\n const form = computed(() => {\n var _a;\n return props.form !== undefined ? props.form : (_a = parentContext.form) === null || _a === void 0 ? void 0 : _a.value;\n });\n const select = computed(() => {\n var _a;\n return props.select !== undefined ? props.select : (_a = parentContext.select) === null || _a === void 0 ? void 0 : _a.value;\n });\n const componentSize = computed(() => props.componentSize);\n const componentDisabled = computed(() => props.componentDisabled);\n const wave = computed(() => {\n var _a, _b;\n return (_a = props.wave) !== null && _a !== void 0 ? _a : (_b = parentContext.wave) === null || _b === void 0 ? void 0 : _b.value;\n });\n const configProvider = {\n csp,\n autoInsertSpaceInButton,\n locale,\n direction,\n space,\n virtual,\n dropdownMatchSelectWidth,\n getPrefixCls,\n iconPrefixCls,\n theme: computed(() => {\n var _a, _b;\n return (_a = mergedTheme.value) !== null && _a !== void 0 ? _a : (_b = parentContext.theme) === null || _b === void 0 ? void 0 : _b.value;\n }),\n renderEmpty: renderEmptyComponent,\n getTargetContainer,\n getPopupContainer,\n pageHeader,\n input,\n pagination,\n form,\n select,\n componentSize,\n componentDisabled,\n transformCellText: computed(() => props.transformCellText),\n wave\n };\n // ================================ Dynamic theme ================================\n const memoTheme = computed(() => {\n const _a = mergedTheme.value || {},\n {\n algorithm,\n token\n } = _a,\n rest = __rest(_a, [\"algorithm\", \"token\"]);\n const themeObj = algorithm && (!Array.isArray(algorithm) || algorithm.length > 0) ? createTheme(algorithm) : undefined;\n return _extends(_extends({}, rest), {\n theme: themeObj,\n token: _extends(_extends({}, defaultSeedToken), token)\n });\n });\n const validateMessagesRef = computed(() => {\n var _a, _b;\n // Additional Form provider\n let validateMessages = {};\n if (locale.value) {\n validateMessages = ((_a = locale.value.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || ((_b = defaultLocale.Form) === null || _b === void 0 ? void 0 : _b.defaultValidateMessages) || {};\n }\n if (props.form && props.form.validateMessages) {\n validateMessages = _extends(_extends({}, validateMessages), props.form.validateMessages);\n }\n return validateMessages;\n });\n useConfigContextProvider(configProvider);\n useProvideGlobalForm({\n validateMessages: validateMessagesRef\n });\n useProviderSize(componentSize);\n useProviderDisabled(componentDisabled);\n const renderProvider = legacyLocale => {\n var _a, _b;\n let childNode = shouldWrapSSR.value ? wrapSSR((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)) : (_b = slots.default) === null || _b === void 0 ? void 0 : _b.call(slots);\n if (props.theme) {\n const _childNode = function () {\n return childNode;\n }();\n childNode = _createVNode(DesignTokenProvider, {\n \"value\": memoTheme.value\n }, {\n default: () => [_childNode]\n });\n }\n return _createVNode(LocaleProvider, {\n \"locale\": locale.value || legacyLocale,\n \"ANT_MARK__\": ANT_MARK\n }, {\n default: () => [childNode]\n });\n };\n watchEffect(() => {\n if (direction.value) {\n message.config({\n rtl: direction.value === 'rtl'\n });\n notification.config({\n rtl: direction.value === 'rtl'\n });\n }\n });\n return () => _createVNode(LocaleReceiver, {\n \"children\": (_, __, legacyLocale) => renderProvider(legacyLocale)\n }, null);\n }\n});\nConfigProvider.config = setGlobalConfig;\nConfigProvider.install = function (app) {\n app.component(ConfigProvider.name, ConfigProvider);\n};\nexport default ConfigProvider;","import Dropdown from './dropdown';\nimport DropdownButton from './dropdown-button';\nimport { dropdownProps, dropdownButtonProps } from './props';\nDropdown.Button = DropdownButton;\n/* istanbul ignore next */\nDropdown.install = function (app) {\n app.component(Dropdown.name, Dropdown);\n app.component(DropdownButton.name, DropdownButton);\n return app;\n};\nexport { DropdownButton, dropdownProps, dropdownButtonProps };\nexport default Dropdown;","import PropTypes from '../_util/vue-types';\nexport function dialogPropTypes() {\n return {\n keyboard: {\n type: Boolean,\n default: undefined\n },\n mask: {\n type: Boolean,\n default: undefined\n },\n afterClose: Function,\n closable: {\n type: Boolean,\n default: undefined\n },\n maskClosable: {\n type: Boolean,\n default: undefined\n },\n visible: {\n type: Boolean,\n default: undefined\n },\n destroyOnClose: {\n type: Boolean,\n default: undefined\n },\n mousePosition: PropTypes.shape({\n x: Number,\n y: Number\n }).loose,\n title: PropTypes.any,\n footer: PropTypes.any,\n transitionName: String,\n maskTransitionName: String,\n animation: PropTypes.any,\n maskAnimation: PropTypes.any,\n wrapStyle: {\n type: Object,\n default: undefined\n },\n bodyStyle: {\n type: Object,\n default: undefined\n },\n maskStyle: {\n type: Object,\n default: undefined\n },\n prefixCls: String,\n wrapClassName: String,\n rootClassName: String,\n width: [String, Number],\n height: [String, Number],\n zIndex: Number,\n bodyProps: PropTypes.any,\n maskProps: PropTypes.any,\n wrapProps: PropTypes.any,\n getContainer: PropTypes.any,\n dialogStyle: {\n type: Object,\n default: undefined\n },\n dialogClass: String,\n closeIcon: PropTypes.any,\n forceRender: {\n type: Boolean,\n default: undefined\n },\n getOpenCount: Function,\n // https://github.com/ant-design/ant-design/issues/19771\n // https://github.com/react-component/dialog/issues/95\n focusTriggerAfterClose: {\n type: Boolean,\n default: undefined\n },\n onClose: Function,\n modalRender: Function\n };\n}\nexport default dialogPropTypes;","// =============================== Motion ===============================\nexport function getMotionName(prefixCls, transitionName, animationName) {\n let motionName = transitionName;\n if (!motionName && animationName) {\n motionName = `${prefixCls}-${animationName}`;\n }\n return motionName;\n}\n// ================================ UUID ================================\nlet uuid = -1;\nexport function getUUID() {\n uuid += 1;\n return uuid;\n}\n// =============================== Offset ===============================\nfunction getScroll(w, top) {\n let ret = w[`page${top ? 'Y' : 'X'}Offset`];\n const method = `scroll${top ? 'Top' : 'Left'}`;\n if (typeof ret !== 'number') {\n const d = w.document;\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n return ret;\n}\nexport function offset(el) {\n const rect = el.getBoundingClientRect();\n const pos = {\n left: rect.left,\n top: rect.top\n };\n const doc = el.ownerDocument;\n const w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { withDirectives as _withDirectives, vShow as _vShow, createVNode as _createVNode } from \"vue\";\nimport { Transition, computed, ref, defineComponent, nextTick } from 'vue';\nimport { getTransitionProps } from '../_util/transition';\nimport dialogPropTypes from './IDialogPropTypes';\nimport { offset } from './util';\nconst sentinelStyle = {\n width: 0,\n height: 0,\n overflow: 'hidden',\n outline: 'none'\n};\nconst entityStyle = {\n outline: 'none'\n};\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'DialogContent',\n inheritAttrs: false,\n props: _extends(_extends({}, dialogPropTypes()), {\n motionName: String,\n ariaId: String,\n onVisibleChanged: Function,\n onMousedown: Function,\n onMouseup: Function\n }),\n setup(props, _ref) {\n let {\n expose,\n slots,\n attrs\n } = _ref;\n const sentinelStartRef = ref();\n const sentinelEndRef = ref();\n const dialogRef = ref();\n expose({\n focus: () => {\n var _a;\n (_a = sentinelStartRef.value) === null || _a === void 0 ? void 0 : _a.focus({\n preventScroll: true\n });\n },\n changeActive: next => {\n const {\n activeElement\n } = document;\n if (next && activeElement === sentinelEndRef.value) {\n sentinelStartRef.value.focus({\n preventScroll: true\n });\n } else if (!next && activeElement === sentinelStartRef.value) {\n sentinelEndRef.value.focus({\n preventScroll: true\n });\n }\n }\n });\n const transformOrigin = ref();\n const contentStyleRef = computed(() => {\n const {\n width,\n height\n } = props;\n const contentStyle = {};\n if (width !== undefined) {\n contentStyle.width = typeof width === 'number' ? `${width}px` : width;\n }\n if (height !== undefined) {\n contentStyle.height = typeof height === 'number' ? `${height}px` : height;\n }\n if (transformOrigin.value) {\n contentStyle.transformOrigin = transformOrigin.value;\n }\n return contentStyle;\n });\n const onPrepare = () => {\n nextTick(() => {\n if (dialogRef.value) {\n const elementOffset = offset(dialogRef.value);\n transformOrigin.value = props.mousePosition ? `${props.mousePosition.x - elementOffset.left}px ${props.mousePosition.y - elementOffset.top}px` : '';\n }\n });\n };\n const onVisibleChanged = visible => {\n props.onVisibleChanged(visible);\n };\n return () => {\n var _a, _b, _c, _d;\n const {\n prefixCls,\n footer = (_a = slots.footer) === null || _a === void 0 ? void 0 : _a.call(slots),\n title = (_b = slots.title) === null || _b === void 0 ? void 0 : _b.call(slots),\n ariaId,\n closable,\n closeIcon = (_c = slots.closeIcon) === null || _c === void 0 ? void 0 : _c.call(slots),\n onClose,\n bodyStyle,\n bodyProps,\n onMousedown,\n onMouseup,\n visible,\n modalRender = slots.modalRender,\n destroyOnClose,\n motionName\n } = props;\n let footerNode;\n if (footer) {\n footerNode = _createVNode(\"div\", {\n \"class\": `${prefixCls}-footer`\n }, [footer]);\n }\n let headerNode;\n if (title) {\n headerNode = _createVNode(\"div\", {\n \"class\": `${prefixCls}-header`\n }, [_createVNode(\"div\", {\n \"class\": `${prefixCls}-title`,\n \"id\": ariaId\n }, [title])]);\n }\n let closer;\n if (closable) {\n closer = _createVNode(\"button\", {\n \"type\": \"button\",\n \"onClick\": onClose,\n \"aria-label\": \"Close\",\n \"class\": `${prefixCls}-close`\n }, [closeIcon || _createVNode(\"span\", {\n \"class\": `${prefixCls}-close-x`\n }, null)]);\n }\n const content = _createVNode(\"div\", {\n \"class\": `${prefixCls}-content`\n }, [closer, headerNode, _createVNode(\"div\", _objectSpread({\n \"class\": `${prefixCls}-body`,\n \"style\": bodyStyle\n }, bodyProps), [(_d = slots.default) === null || _d === void 0 ? void 0 : _d.call(slots)]), footerNode]);\n const transitionProps = getTransitionProps(motionName);\n return _createVNode(Transition, _objectSpread(_objectSpread({}, transitionProps), {}, {\n \"onBeforeEnter\": onPrepare,\n \"onAfterEnter\": () => onVisibleChanged(true),\n \"onAfterLeave\": () => onVisibleChanged(false)\n }), {\n default: () => [visible || !destroyOnClose ? _withDirectives(_createVNode(\"div\", _objectSpread(_objectSpread({}, attrs), {}, {\n \"ref\": dialogRef,\n \"key\": \"dialog-element\",\n \"role\": \"document\",\n \"style\": [contentStyleRef.value, attrs.style],\n \"class\": [prefixCls, attrs.class],\n \"onMousedown\": onMousedown,\n \"onMouseup\": onMouseup\n }), [_createVNode(\"div\", {\n \"tabindex\": 0,\n \"ref\": sentinelStartRef,\n \"style\": entityStyle\n }, [modalRender ? modalRender({\n originVNode: content\n }) : content]), _createVNode(\"div\", {\n \"tabindex\": 0,\n \"ref\": sentinelEndRef,\n \"style\": sentinelStyle\n }, null)]), [[_vShow, visible]]) : null]\n });\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { withDirectives as _withDirectives, createVNode as _createVNode, vShow as _vShow } from \"vue\";\nimport { defineComponent, Transition } from 'vue';\nimport { getTransitionProps } from '../_util/transition';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'DialogMask',\n props: {\n prefixCls: String,\n visible: Boolean,\n motionName: String,\n maskProps: Object\n },\n setup(props, _ref) {\n let {} = _ref;\n return () => {\n const {\n prefixCls,\n visible,\n maskProps,\n motionName\n } = props;\n const transitionProps = getTransitionProps(motionName);\n return _createVNode(Transition, transitionProps, {\n default: () => [_withDirectives(_createVNode(\"div\", _objectSpread({\n \"class\": `${prefixCls}-mask`\n }, maskProps), null), [[_vShow, visible]])]\n });\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nimport { defineComponent, onBeforeUnmount, shallowRef, watch, watchEffect } from 'vue';\nimport contains from '../vc-util/Dom/contains';\nimport classNames from '../_util/classNames';\nimport KeyCode from '../_util/KeyCode';\nimport omit from '../_util/omit';\nimport pickAttrs from '../_util/pickAttrs';\nimport { initDefaultProps } from '../_util/props-util';\nimport Content from './Content';\nimport dialogPropTypes from './IDialogPropTypes';\nimport Mask from './Mask';\nimport { getMotionName, getUUID } from './util';\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'VcDialog',\n inheritAttrs: false,\n props: initDefaultProps(_extends(_extends({}, dialogPropTypes()), {\n getOpenCount: Function,\n scrollLocker: Object\n }), {\n mask: true,\n visible: false,\n keyboard: true,\n closable: true,\n maskClosable: true,\n destroyOnClose: false,\n prefixCls: 'rc-dialog',\n getOpenCount: () => null,\n focusTriggerAfterClose: true\n }),\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const lastOutSideActiveElementRef = shallowRef();\n const wrapperRef = shallowRef();\n const contentRef = shallowRef();\n const animatedVisible = shallowRef(props.visible);\n const ariaIdRef = shallowRef(`vcDialogTitle${getUUID()}`);\n // ========================= Events =========================\n const onDialogVisibleChanged = newVisible => {\n var _a, _b;\n if (newVisible) {\n // Try to focus\n if (!contains(wrapperRef.value, document.activeElement)) {\n lastOutSideActiveElementRef.value = document.activeElement;\n (_a = contentRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n }\n } else {\n const preAnimatedVisible = animatedVisible.value;\n // Clean up scroll bar & focus back\n animatedVisible.value = false;\n if (props.mask && lastOutSideActiveElementRef.value && props.focusTriggerAfterClose) {\n try {\n lastOutSideActiveElementRef.value.focus({\n preventScroll: true\n });\n } catch (e) {\n // Do nothing\n }\n lastOutSideActiveElementRef.value = null;\n }\n // Trigger afterClose only when change visible from true to false\n if (preAnimatedVisible) {\n (_b = props.afterClose) === null || _b === void 0 ? void 0 : _b.call(props);\n }\n }\n };\n const onInternalClose = e => {\n var _a;\n (_a = props.onClose) === null || _a === void 0 ? void 0 : _a.call(props, e);\n };\n // >>> Content\n const contentClickRef = shallowRef(false);\n const contentTimeoutRef = shallowRef();\n // We need record content click incase content popup out of dialog\n const onContentMouseDown = () => {\n clearTimeout(contentTimeoutRef.value);\n contentClickRef.value = true;\n };\n const onContentMouseUp = () => {\n contentTimeoutRef.value = setTimeout(() => {\n contentClickRef.value = false;\n });\n };\n const onWrapperClick = e => {\n if (!props.maskClosable) return null;\n if (contentClickRef.value) {\n contentClickRef.value = false;\n } else if (wrapperRef.value === e.target) {\n onInternalClose(e);\n }\n };\n const onWrapperKeyDown = e => {\n if (props.keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n onInternalClose(e);\n return;\n }\n // keep focus inside dialog\n if (props.visible) {\n if (e.keyCode === KeyCode.TAB) {\n contentRef.value.changeActive(!e.shiftKey);\n }\n }\n };\n watch(() => props.visible, () => {\n if (props.visible) {\n animatedVisible.value = true;\n }\n }, {\n flush: 'post'\n });\n onBeforeUnmount(() => {\n var _a;\n clearTimeout(contentTimeoutRef.value);\n (_a = props.scrollLocker) === null || _a === void 0 ? void 0 : _a.unLock();\n });\n watchEffect(() => {\n var _a, _b;\n (_a = props.scrollLocker) === null || _a === void 0 ? void 0 : _a.unLock();\n if (animatedVisible.value) {\n (_b = props.scrollLocker) === null || _b === void 0 ? void 0 : _b.lock();\n }\n });\n return () => {\n const {\n prefixCls,\n mask,\n visible,\n maskTransitionName,\n maskAnimation,\n zIndex,\n wrapClassName,\n rootClassName,\n wrapStyle,\n closable,\n maskProps,\n maskStyle,\n transitionName,\n animation,\n wrapProps,\n title = slots.title\n } = props;\n const {\n style,\n class: className\n } = attrs;\n return _createVNode(\"div\", _objectSpread({\n \"class\": [`${prefixCls}-root`, rootClassName]\n }, pickAttrs(props, {\n data: true\n })), [_createVNode(Mask, {\n \"prefixCls\": prefixCls,\n \"visible\": mask && visible,\n \"motionName\": getMotionName(prefixCls, maskTransitionName, maskAnimation),\n \"style\": _extends({\n zIndex\n }, maskStyle),\n \"maskProps\": maskProps\n }, null), _createVNode(\"div\", _objectSpread({\n \"tabIndex\": -1,\n \"onKeydown\": onWrapperKeyDown,\n \"class\": classNames(`${prefixCls}-wrap`, wrapClassName),\n \"ref\": wrapperRef,\n \"onClick\": onWrapperClick,\n \"role\": \"dialog\",\n \"aria-labelledby\": title ? ariaIdRef.value : null,\n \"style\": _extends(_extends({\n zIndex\n }, wrapStyle), {\n display: !animatedVisible.value ? 'none' : null\n })\n }, wrapProps), [_createVNode(Content, _objectSpread(_objectSpread({}, omit(props, ['scrollLocker'])), {}, {\n \"style\": style,\n \"class\": className,\n \"onMousedown\": onContentMouseDown,\n \"onMouseup\": onContentMouseUp,\n \"ref\": contentRef,\n \"closable\": closable,\n \"ariaId\": ariaIdRef.value,\n \"prefixCls\": prefixCls,\n \"visible\": visible,\n \"onClose\": onInternalClose,\n \"onVisibleChanged\": onDialogVisibleChanged,\n \"motionName\": getMotionName(prefixCls, transitionName, animation)\n }), slots)])]);\n };\n }\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport Dialog from './Dialog';\nimport getDialogPropTypes from './IDialogPropTypes';\nimport Portal from '../_util/PortalWrapper';\nimport { defineComponent, ref, watch } from 'vue';\nimport { useProvidePortal } from '../vc-trigger/context';\nimport { initDefaultProps } from '../_util/props-util';\nconst IDialogPropTypes = getDialogPropTypes();\nconst DialogWrap = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'DialogWrap',\n inheritAttrs: false,\n props: initDefaultProps(IDialogPropTypes, {\n visible: false\n }),\n setup(props, _ref) {\n let {\n attrs,\n slots\n } = _ref;\n const animatedVisible = ref(props.visible);\n useProvidePortal({}, {\n inTriggerContext: false\n });\n watch(() => props.visible, () => {\n if (props.visible) {\n animatedVisible.value = true;\n }\n }, {\n flush: 'post'\n });\n return () => {\n const {\n visible,\n getContainer,\n forceRender,\n destroyOnClose = false,\n afterClose\n } = props;\n let dialogProps = _extends(_extends(_extends({}, props), attrs), {\n ref: '_component',\n key: 'dialog'\n });\n // 渲染在当前 dom 里;\n if (getContainer === false) {\n return _createVNode(Dialog, _objectSpread(_objectSpread({}, dialogProps), {}, {\n \"getOpenCount\": () => 2\n }), slots);\n }\n // Destroy on close will remove wrapped div\n if (!forceRender && destroyOnClose && !animatedVisible.value) {\n return null;\n }\n return _createVNode(Portal, {\n \"autoLock\": true,\n \"visible\": visible,\n \"forceRender\": forceRender,\n \"getContainer\": getContainer\n }, {\n default: childProps => {\n dialogProps = _extends(_extends(_extends({}, dialogProps), childProps), {\n afterClose: () => {\n afterClose === null || afterClose === void 0 ? void 0 : afterClose();\n animatedVisible.value = false;\n }\n });\n return _createVNode(Dialog, dialogProps, slots);\n }\n });\n };\n }\n});\nexport default DialogWrap;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { initFadeMotion, initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { clearFix, genFocusStyle, resetComponent } from '../../style';\nimport 'vue';\nfunction box(position) {\n return {\n position,\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0\n };\n}\nexport const genModalMaskStyle = token => {\n const {\n componentCls\n } = token;\n return [{\n [`${componentCls}-root`]: {\n [`${componentCls}${token.antCls}-zoom-enter, ${componentCls}${token.antCls}-zoom-appear`]: {\n // reset scale avoid mousePosition bug\n transform: 'none',\n opacity: 0,\n animationDuration: token.motionDurationSlow,\n // https://github.com/ant-design/ant-design/issues/11777\n userSelect: 'none'\n },\n [`${componentCls}${token.antCls}-zoom-leave ${componentCls}-content`]: {\n pointerEvents: 'none'\n },\n [`${componentCls}-mask`]: _extends(_extends({}, box('fixed')), {\n zIndex: token.zIndexPopupBase,\n height: '100%',\n backgroundColor: token.colorBgMask,\n [`${componentCls}-hidden`]: {\n display: 'none'\n }\n }),\n [`${componentCls}-wrap`]: _extends(_extends({}, box('fixed')), {\n overflow: 'auto',\n outline: 0,\n WebkitOverflowScrolling: 'touch'\n })\n }\n }, {\n [`${componentCls}-root`]: initFadeMotion(token)\n }];\n};\nconst genModalStyle = token => {\n const {\n componentCls\n } = token;\n return [\n // ======================== Root =========================\n {\n [`${componentCls}-root`]: {\n [`${componentCls}-wrap`]: {\n zIndex: token.zIndexPopupBase,\n position: 'fixed',\n inset: 0,\n overflow: 'auto',\n outline: 0,\n WebkitOverflowScrolling: 'touch'\n },\n [`${componentCls}-wrap-rtl`]: {\n direction: 'rtl'\n },\n [`${componentCls}-centered`]: {\n textAlign: 'center',\n '&::before': {\n display: 'inline-block',\n width: 0,\n height: '100%',\n verticalAlign: 'middle',\n content: '\"\"'\n },\n [componentCls]: {\n top: 0,\n display: 'inline-block',\n paddingBottom: 0,\n textAlign: 'start',\n verticalAlign: 'middle'\n }\n },\n [`@media (max-width: ${token.screenSMMax})`]: {\n [componentCls]: {\n maxWidth: 'calc(100vw - 16px)',\n margin: `${token.marginXS} auto`\n },\n [`${componentCls}-centered`]: {\n [componentCls]: {\n flex: 1\n }\n }\n }\n }\n },\n // ======================== Modal ========================\n {\n [componentCls]: _extends(_extends({}, resetComponent(token)), {\n pointerEvents: 'none',\n position: 'relative',\n top: 100,\n width: 'auto',\n maxWidth: `calc(100vw - ${token.margin * 2}px)`,\n margin: '0 auto',\n paddingBottom: token.paddingLG,\n [`${componentCls}-title`]: {\n margin: 0,\n color: token.modalHeadingColor,\n fontWeight: token.fontWeightStrong,\n fontSize: token.modalHeaderTitleFontSize,\n lineHeight: token.modalHeaderTitleLineHeight,\n wordWrap: 'break-word'\n },\n [`${componentCls}-content`]: {\n position: 'relative',\n backgroundColor: token.modalContentBg,\n backgroundClip: 'padding-box',\n border: 0,\n borderRadius: token.borderRadiusLG,\n boxShadow: token.boxShadowSecondary,\n pointerEvents: 'auto',\n padding: `${token.paddingMD}px ${token.paddingContentHorizontalLG}px`\n },\n [`${componentCls}-close`]: _extends({\n position: 'absolute',\n top: (token.modalHeaderCloseSize - token.modalCloseBtnSize) / 2,\n insetInlineEnd: (token.modalHeaderCloseSize - token.modalCloseBtnSize) / 2,\n zIndex: token.zIndexPopupBase + 10,\n padding: 0,\n color: token.modalCloseColor,\n fontWeight: token.fontWeightStrong,\n lineHeight: 1,\n textDecoration: 'none',\n background: 'transparent',\n borderRadius: token.borderRadiusSM,\n width: token.modalConfirmIconSize,\n height: token.modalConfirmIconSize,\n border: 0,\n outline: 0,\n cursor: 'pointer',\n transition: `color ${token.motionDurationMid}, background-color ${token.motionDurationMid}`,\n '&-x': {\n display: 'block',\n fontSize: token.fontSizeLG,\n fontStyle: 'normal',\n lineHeight: `${token.modalCloseBtnSize}px`,\n textAlign: 'center',\n textTransform: 'none',\n textRendering: 'auto'\n },\n '&:hover': {\n color: token.modalIconHoverColor,\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContent,\n textDecoration: 'none'\n },\n '&:active': {\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContentHover\n }\n }, genFocusStyle(token)),\n [`${componentCls}-header`]: {\n color: token.colorText,\n background: token.modalHeaderBg,\n borderRadius: `${token.borderRadiusLG}px ${token.borderRadiusLG}px 0 0`,\n marginBottom: token.marginXS\n },\n [`${componentCls}-body`]: {\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n wordWrap: 'break-word'\n },\n [`${componentCls}-footer`]: {\n textAlign: 'end',\n background: token.modalFooterBg,\n marginTop: token.marginSM,\n [`${token.antCls}-btn + ${token.antCls}-btn:not(${token.antCls}-dropdown-trigger)`]: {\n marginBottom: 0,\n marginInlineStart: token.marginXS\n }\n },\n [`${componentCls}-open`]: {\n overflow: 'hidden'\n }\n })\n },\n // ======================== Pure =========================\n {\n [`${componentCls}-pure-panel`]: {\n top: 'auto',\n padding: 0,\n display: 'flex',\n flexDirection: 'column',\n [`${componentCls}-content,\n ${componentCls}-body,\n ${componentCls}-confirm-body-wrapper`]: {\n display: 'flex',\n flexDirection: 'column',\n flex: 'auto'\n },\n [`${componentCls}-confirm-body`]: {\n marginBottom: 'auto'\n }\n }\n }];\n};\nconst genModalConfirmStyle = token => {\n const {\n componentCls\n } = token;\n const confirmComponentCls = `${componentCls}-confirm`;\n return {\n [confirmComponentCls]: {\n '&-rtl': {\n direction: 'rtl'\n },\n [`${token.antCls}-modal-header`]: {\n display: 'none'\n },\n [`${confirmComponentCls}-body-wrapper`]: _extends({}, clearFix()),\n [`${confirmComponentCls}-body`]: {\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n [`${confirmComponentCls}-title`]: {\n flex: '0 0 100%',\n display: 'block',\n // create BFC to avoid\n // https://user-images.githubusercontent.com/507615/37702510-ba844e06-2d2d-11e8-9b67-8e19be57f445.png\n overflow: 'hidden',\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: token.modalHeaderTitleFontSize,\n lineHeight: token.modalHeaderTitleLineHeight,\n [`+ ${confirmComponentCls}-content`]: {\n marginBlockStart: token.marginXS,\n flexBasis: '100%',\n maxWidth: `calc(100% - ${token.modalConfirmIconSize + token.marginSM}px)`\n }\n },\n [`${confirmComponentCls}-content`]: {\n color: token.colorText,\n fontSize: token.fontSize\n },\n [`> ${token.iconCls}`]: {\n flex: 'none',\n marginInlineEnd: token.marginSM,\n fontSize: token.modalConfirmIconSize,\n [`+ ${confirmComponentCls}-title`]: {\n flex: 1\n },\n // `content` after `icon` should set marginLeft\n [`+ ${confirmComponentCls}-title + ${confirmComponentCls}-content`]: {\n marginInlineStart: token.modalConfirmIconSize + token.marginSM\n }\n }\n },\n [`${confirmComponentCls}-btns`]: {\n textAlign: 'end',\n marginTop: token.marginSM,\n [`${token.antCls}-btn + ${token.antCls}-btn`]: {\n marginBottom: 0,\n marginInlineStart: token.marginXS\n }\n }\n },\n [`${confirmComponentCls}-error ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorError\n },\n [`${confirmComponentCls}-warning ${confirmComponentCls}-body > ${token.iconCls},\n ${confirmComponentCls}-confirm ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorWarning\n },\n [`${confirmComponentCls}-info ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorInfo\n },\n [`${confirmComponentCls}-success ${confirmComponentCls}-body > ${token.iconCls}`]: {\n color: token.colorSuccess\n },\n // https://github.com/ant-design/ant-design/issues/37329\n [`${componentCls}-zoom-leave ${componentCls}-btns`]: {\n pointerEvents: 'none'\n }\n };\n};\nconst genRTLStyle = token => {\n const {\n componentCls\n } = token;\n return {\n [`${componentCls}-root`]: {\n [`${componentCls}-wrap-rtl`]: {\n direction: 'rtl',\n [`${componentCls}-confirm-body`]: {\n direction: 'rtl'\n }\n }\n }\n };\n};\nconst genWireframeStyle = token => {\n const {\n componentCls,\n antCls\n } = token;\n const confirmComponentCls = `${componentCls}-confirm`;\n return {\n [componentCls]: {\n [`${componentCls}-content`]: {\n padding: 0\n },\n [`${componentCls}-header`]: {\n padding: token.modalHeaderPadding,\n borderBottom: `${token.modalHeaderBorderWidth}px ${token.modalHeaderBorderStyle} ${token.modalHeaderBorderColorSplit}`,\n marginBottom: 0\n },\n [`${componentCls}-body`]: {\n padding: token.modalBodyPadding\n },\n [`${componentCls}-footer`]: {\n padding: `${token.modalFooterPaddingVertical}px ${token.modalFooterPaddingHorizontal}px`,\n borderTop: `${token.modalFooterBorderWidth}px ${token.modalFooterBorderStyle} ${token.modalFooterBorderColorSplit}`,\n borderRadius: `0 0 ${token.borderRadiusLG}px ${token.borderRadiusLG}px`,\n marginTop: 0\n }\n },\n [confirmComponentCls]: {\n [`${antCls}-modal-body`]: {\n padding: `${token.padding * 2}px ${token.padding * 2}px ${token.paddingLG}px`\n },\n [`${confirmComponentCls}-body`]: {\n [`> ${token.iconCls}`]: {\n marginInlineEnd: token.margin,\n // `content` after `icon` should set marginLeft\n [`+ ${confirmComponentCls}-title + ${confirmComponentCls}-content`]: {\n marginInlineStart: token.modalConfirmIconSize + token.margin\n }\n }\n },\n [`${confirmComponentCls}-btns`]: {\n marginTop: token.marginLG\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Modal', token => {\n const headerPaddingVertical = token.padding;\n const headerFontSize = token.fontSizeHeading5;\n const headerLineHeight = token.lineHeightHeading5;\n const modalToken = mergeToken(token, {\n modalBodyPadding: token.paddingLG,\n modalHeaderBg: token.colorBgElevated,\n modalHeaderPadding: `${headerPaddingVertical}px ${token.paddingLG}px`,\n modalHeaderBorderWidth: token.lineWidth,\n modalHeaderBorderStyle: token.lineType,\n modalHeaderTitleLineHeight: headerLineHeight,\n modalHeaderTitleFontSize: headerFontSize,\n modalHeaderBorderColorSplit: token.colorSplit,\n modalHeaderCloseSize: headerLineHeight * headerFontSize + headerPaddingVertical * 2,\n modalContentBg: token.colorBgElevated,\n modalHeadingColor: token.colorTextHeading,\n modalCloseColor: token.colorTextDescription,\n modalFooterBg: 'transparent',\n modalFooterBorderColorSplit: token.colorSplit,\n modalFooterBorderStyle: token.lineType,\n modalFooterPaddingVertical: token.paddingXS,\n modalFooterPaddingHorizontal: token.padding,\n modalFooterBorderWidth: token.lineWidth,\n modalConfirmTitleFontSize: token.fontSizeLG,\n modalIconHoverColor: token.colorIconHover,\n modalConfirmIconSize: token.fontSize * token.lineHeight,\n modalCloseBtnSize: token.controlHeightLG * 0.55\n });\n return [genModalStyle(modalToken), genModalConfirmStyle(modalToken), genRTLStyle(modalToken), genModalMaskStyle(modalToken), token.wireframe && genWireframeStyle(modalToken), initZoomMotion(modalToken, 'zoom')];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode, Fragment as _Fragment } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { defineComponent } from 'vue';\nimport classNames from '../_util/classNames';\nimport Dialog from '../vc-dialog';\nimport PropTypes from '../_util/vue-types';\nimport addEventListener from '../vc-util/Dom/addEventListener';\nimport CloseOutlined from \"@ant-design/icons-vue/es/icons/CloseOutlined\";\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/buttonTypes';\nimport { useLocaleReceiver } from '../locale-provider/LocaleReceiver';\nimport initDefaultProps from '../_util/props-util/initDefaultProps';\nimport { objectType } from '../_util/type';\nimport { canUseDocElement } from '../_util/styleChecker';\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport { getTransitionName } from '../_util/transition';\nimport warning from '../_util/warning';\nimport useStyle from './style';\nlet mousePosition;\n// ref: https://github.com/ant-design/ant-design/issues/15795\nconst getClickPosition = e => {\n mousePosition = {\n x: e.pageX,\n y: e.pageY\n };\n // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n setTimeout(() => mousePosition = null, 100);\n};\n// 只有点击事件支持从鼠标位置动画展开\nif (canUseDocElement()) {\n addEventListener(document.documentElement, 'click', getClickPosition, true);\n}\nexport const modalProps = () => ({\n prefixCls: String,\n /** @deprecated Please use `open` instead. */\n visible: {\n type: Boolean,\n default: undefined\n },\n open: {\n type: Boolean,\n default: undefined\n },\n confirmLoading: {\n type: Boolean,\n default: undefined\n },\n title: PropTypes.any,\n closable: {\n type: Boolean,\n default: undefined\n },\n closeIcon: PropTypes.any,\n onOk: Function,\n onCancel: Function,\n 'onUpdate:visible': Function,\n 'onUpdate:open': Function,\n onChange: Function,\n afterClose: Function,\n centered: {\n type: Boolean,\n default: undefined\n },\n width: [String, Number],\n footer: PropTypes.any,\n okText: PropTypes.any,\n okType: String,\n cancelText: PropTypes.any,\n icon: PropTypes.any,\n maskClosable: {\n type: Boolean,\n default: undefined\n },\n forceRender: {\n type: Boolean,\n default: undefined\n },\n okButtonProps: objectType(),\n cancelButtonProps: objectType(),\n destroyOnClose: {\n type: Boolean,\n default: undefined\n },\n wrapClassName: String,\n maskTransitionName: String,\n transitionName: String,\n getContainer: {\n type: [String, Function, Boolean, Object],\n default: undefined\n },\n zIndex: Number,\n bodyStyle: objectType(),\n maskStyle: objectType(),\n mask: {\n type: Boolean,\n default: undefined\n },\n keyboard: {\n type: Boolean,\n default: undefined\n },\n wrapProps: Object,\n focusTriggerAfterClose: {\n type: Boolean,\n default: undefined\n },\n modalRender: Function,\n mousePosition: objectType()\n});\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'AModal',\n inheritAttrs: false,\n props: initDefaultProps(modalProps(), {\n width: 520,\n confirmLoading: false,\n okType: 'primary'\n }),\n setup(props, _ref) {\n let {\n emit,\n slots,\n attrs\n } = _ref;\n const [locale] = useLocaleReceiver('Modal');\n const {\n prefixCls,\n rootPrefixCls,\n direction,\n getPopupContainer\n } = useConfigInject('modal', props);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n warning(props.visible === undefined, 'Modal', `\\`visible\\` will be removed in next major version, please use \\`open\\` instead.`);\n const handleCancel = e => {\n emit('update:visible', false);\n emit('update:open', false);\n emit('cancel', e);\n emit('change', false);\n };\n const handleOk = e => {\n emit('ok', e);\n };\n const renderFooter = () => {\n var _a, _b;\n const {\n okText = (_a = slots.okText) === null || _a === void 0 ? void 0 : _a.call(slots),\n okType,\n cancelText = (_b = slots.cancelText) === null || _b === void 0 ? void 0 : _b.call(slots),\n confirmLoading\n } = props;\n return _createVNode(_Fragment, null, [_createVNode(Button, _objectSpread({\n \"onClick\": handleCancel\n }, props.cancelButtonProps), {\n default: () => [cancelText || locale.value.cancelText]\n }), _createVNode(Button, _objectSpread(_objectSpread({}, convertLegacyProps(okType)), {}, {\n \"loading\": confirmLoading,\n \"onClick\": handleOk\n }, props.okButtonProps), {\n default: () => [okText || locale.value.okText]\n })]);\n };\n return () => {\n var _a, _b;\n const {\n prefixCls: customizePrefixCls,\n visible,\n open,\n wrapClassName,\n centered,\n getContainer,\n closeIcon = (_a = slots.closeIcon) === null || _a === void 0 ? void 0 : _a.call(slots),\n focusTriggerAfterClose = true\n } = props,\n restProps = __rest(props, [\"prefixCls\", \"visible\", \"open\", \"wrapClassName\", \"centered\", \"getContainer\", \"closeIcon\", \"focusTriggerAfterClose\"]);\n const wrapClassNameExtended = classNames(wrapClassName, {\n [`${prefixCls.value}-centered`]: !!centered,\n [`${prefixCls.value}-wrap-rtl`]: direction.value === 'rtl'\n });\n return wrapSSR(_createVNode(Dialog, _objectSpread(_objectSpread(_objectSpread({}, restProps), attrs), {}, {\n \"rootClassName\": hashId.value,\n \"class\": classNames(hashId.value, attrs.class),\n \"getContainer\": getContainer || (getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer.value),\n \"prefixCls\": prefixCls.value,\n \"wrapClassName\": wrapClassNameExtended,\n \"visible\": open !== null && open !== void 0 ? open : visible,\n \"onClose\": handleCancel,\n \"focusTriggerAfterClose\": focusTriggerAfterClose,\n \"transitionName\": getTransitionName(rootPrefixCls.value, 'zoom', props.transitionName),\n \"maskTransitionName\": getTransitionName(rootPrefixCls.value, 'fade', props.maskTransitionName),\n \"mousePosition\": (_b = restProps.mousePosition) !== null && _b !== void 0 ? _b : mousePosition\n }), _extends(_extends({}, slots), {\n footer: slots.footer || renderFooter,\n closeIcon: () => {\n return _createVNode(\"span\", {\n \"class\": `${prefixCls.value}-close-x`\n }, [closeIcon || _createVNode(CloseOutlined, {\n \"class\": `${prefixCls.value}-close-icon`\n }, null)]);\n }\n })));\n };\n }\n});","import { onBeforeUnmount, shallowRef } from 'vue';\nconst useDestroyed = () => {\n const destroyed = shallowRef(false);\n onBeforeUnmount(() => {\n destroyed.value = true;\n });\n return destroyed;\n};\nexport default useDestroyed;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { createVNode as _createVNode, resolveDirective as _resolveDirective } from \"vue\";\nimport { shallowRef, onMounted, defineComponent, onBeforeUnmount } from 'vue';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/buttonTypes';\nimport useDestroyed from './hooks/useDestroyed';\nimport { objectType } from './type';\nimport { findDOMNode } from './props-util';\nconst actionButtonProps = {\n type: {\n type: String\n },\n actionFn: Function,\n close: Function,\n autofocus: Boolean,\n prefixCls: String,\n buttonProps: objectType(),\n emitEvent: Boolean,\n quitOnNullishReturnValue: Boolean\n};\nfunction isThenable(thing) {\n return !!(thing && thing.then);\n}\nexport default defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'ActionButton',\n props: actionButtonProps,\n setup(props, _ref) {\n let {\n slots\n } = _ref;\n const clickedRef = shallowRef(false);\n const buttonRef = shallowRef();\n const loading = shallowRef(false);\n let timeoutId;\n const isDestroyed = useDestroyed();\n onMounted(() => {\n if (props.autofocus) {\n timeoutId = setTimeout(() => {\n var _a, _b;\n return (_b = (_a = findDOMNode(buttonRef.value)) === null || _a === void 0 ? void 0 : _a.focus) === null || _b === void 0 ? void 0 : _b.call(_a);\n });\n }\n });\n onBeforeUnmount(() => {\n clearTimeout(timeoutId);\n });\n const onInternalClose = function () {\n var _a;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_a = props.close) === null || _a === void 0 ? void 0 : _a.call(props, ...args);\n };\n const handlePromiseOnOk = returnValueOfOnOk => {\n if (!isThenable(returnValueOfOnOk)) {\n return;\n }\n loading.value = true;\n returnValueOfOnOk.then(function () {\n if (!isDestroyed.value) {\n loading.value = false;\n }\n onInternalClose(...arguments);\n clickedRef.value = false;\n }, e => {\n // See: https://github.com/ant-design/ant-design/issues/6183\n if (!isDestroyed.value) {\n loading.value = false;\n }\n clickedRef.value = false;\n return Promise.reject(e);\n });\n };\n const onClick = e => {\n const {\n actionFn\n } = props;\n if (clickedRef.value) {\n return;\n }\n clickedRef.value = true;\n if (!actionFn) {\n onInternalClose();\n return;\n }\n let returnValueOfOnOk;\n if (props.emitEvent) {\n returnValueOfOnOk = actionFn(e);\n if (props.quitOnNullishReturnValue && !isThenable(returnValueOfOnOk)) {\n clickedRef.value = false;\n onInternalClose(e);\n return;\n }\n } else if (actionFn.length) {\n returnValueOfOnOk = actionFn(props.close);\n // https://github.com/ant-design/ant-design/issues/23358\n clickedRef.value = false;\n } else {\n returnValueOfOnOk = actionFn();\n if (!returnValueOfOnOk) {\n onInternalClose();\n return;\n }\n }\n handlePromiseOnOk(returnValueOfOnOk);\n };\n return () => {\n const {\n type,\n prefixCls,\n buttonProps\n } = props;\n return _createVNode(Button, _objectSpread(_objectSpread(_objectSpread({}, convertLegacyProps(type)), {}, {\n \"onClick\": onClick,\n \"loading\": loading.value,\n \"prefixCls\": prefixCls\n }, buttonProps), {}, {\n \"ref\": buttonRef\n }), slots);\n };\n }\n});","import { createVNode as _createVNode } from \"vue\";\nimport CheckCircleFilled from \"@ant-design/icons-vue/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons-vue/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons-vue/es/icons/ExclamationCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons-vue/es/icons/InfoCircleFilled\";\nimport classNames from '../_util/classNames';\nimport Dialog from './Modal';\nimport ActionButton from '../_util/ActionButton';\nimport { defineComponent } from 'vue';\nimport { useLocaleReceiver } from '../locale-provider/LocaleReceiver';\nimport { getTransitionName } from '../_util/transition';\nimport warning from '../_util/warning';\nfunction renderSomeContent(someContent) {\n if (typeof someContent === 'function') {\n return someContent();\n }\n return someContent;\n}\nexport default defineComponent({\n name: 'ConfirmDialog',\n inheritAttrs: false,\n props: ['icon', 'onCancel', 'onOk', 'close', 'closable', 'zIndex', 'afterClose', 'visible', 'open', 'keyboard', 'centered', 'getContainer', 'maskStyle', 'okButtonProps', 'cancelButtonProps', 'okType', 'prefixCls', 'okCancel', 'width', 'mask', 'maskClosable', 'okText', 'cancelText', 'autoFocusButton', 'transitionName', 'maskTransitionName', 'type', 'title', 'content', 'direction', 'rootPrefixCls', 'bodyStyle', 'closeIcon', 'modalRender', 'focusTriggerAfterClose', 'wrapClassName', 'confirmPrefixCls', 'footer'],\n setup(props, _ref) {\n let {\n attrs\n } = _ref;\n const [locale] = useLocaleReceiver('Modal');\n if (process.env.NODE_ENV !== 'production') {\n warning(props.visible === undefined, 'Modal', `\\`visible\\` is deprecated, please use \\`open\\` instead.`);\n }\n return () => {\n const {\n icon,\n onCancel,\n onOk,\n close,\n okText,\n closable = false,\n zIndex,\n afterClose,\n keyboard,\n centered,\n getContainer,\n maskStyle,\n okButtonProps,\n cancelButtonProps,\n okCancel,\n width = 416,\n mask = true,\n maskClosable = false,\n type,\n open,\n title,\n content,\n direction,\n closeIcon,\n modalRender,\n focusTriggerAfterClose,\n rootPrefixCls,\n bodyStyle,\n wrapClassName,\n footer\n } = props;\n // Icon\n let mergedIcon = icon;\n // 支持传入{ icon: null }来隐藏`Modal.confirm`默认的Icon\n if (!icon && icon !== null) {\n switch (type) {\n case 'info':\n mergedIcon = _createVNode(InfoCircleFilled, null, null);\n break;\n case 'success':\n mergedIcon = _createVNode(CheckCircleFilled, null, null);\n break;\n case 'error':\n mergedIcon = _createVNode(CloseCircleFilled, null, null);\n break;\n default:\n mergedIcon = _createVNode(ExclamationCircleFilled, null, null);\n }\n }\n const okType = props.okType || 'primary';\n const prefixCls = props.prefixCls || 'ant-modal';\n const contentPrefixCls = `${prefixCls}-confirm`;\n const style = attrs.style || {};\n const mergedOkCancel = okCancel !== null && okCancel !== void 0 ? okCancel : type === 'confirm';\n const autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n const confirmPrefixCls = `${prefixCls}-confirm`;\n const classString = classNames(confirmPrefixCls, `${confirmPrefixCls}-${props.type}`, {\n [`${confirmPrefixCls}-rtl`]: direction === 'rtl'\n }, attrs.class);\n const mergedLocal = locale.value;\n const cancelButton = mergedOkCancel && _createVNode(ActionButton, {\n \"actionFn\": onCancel,\n \"close\": close,\n \"autofocus\": autoFocusButton === 'cancel',\n \"buttonProps\": cancelButtonProps,\n \"prefixCls\": `${rootPrefixCls}-btn`\n }, {\n default: () => [renderSomeContent(props.cancelText) || mergedLocal.cancelText]\n });\n return _createVNode(Dialog, {\n \"prefixCls\": prefixCls,\n \"class\": classString,\n \"wrapClassName\": classNames({\n [`${confirmPrefixCls}-centered`]: !!centered\n }, wrapClassName),\n \"onCancel\": e => close === null || close === void 0 ? void 0 : close({\n triggerCancel: true\n }, e),\n \"open\": open,\n \"title\": \"\",\n \"footer\": \"\",\n \"transitionName\": getTransitionName(rootPrefixCls, 'zoom', props.transitionName),\n \"maskTransitionName\": getTransitionName(rootPrefixCls, 'fade', props.maskTransitionName),\n \"mask\": mask,\n \"maskClosable\": maskClosable,\n \"maskStyle\": maskStyle,\n \"style\": style,\n \"bodyStyle\": bodyStyle,\n \"width\": width,\n \"zIndex\": zIndex,\n \"afterClose\": afterClose,\n \"keyboard\": keyboard,\n \"centered\": centered,\n \"getContainer\": getContainer,\n \"closable\": closable,\n \"closeIcon\": closeIcon,\n \"modalRender\": modalRender,\n \"focusTriggerAfterClose\": focusTriggerAfterClose\n }, {\n default: () => [_createVNode(\"div\", {\n \"class\": `${contentPrefixCls}-body-wrapper`\n }, [_createVNode(\"div\", {\n \"class\": `${contentPrefixCls}-body`\n }, [renderSomeContent(mergedIcon), title === undefined ? null : _createVNode(\"span\", {\n \"class\": `${contentPrefixCls}-title`\n }, [renderSomeContent(title)]), _createVNode(\"div\", {\n \"class\": `${contentPrefixCls}-content`\n }, [renderSomeContent(content)])]), footer !== undefined ? renderSomeContent(footer) : _createVNode(\"div\", {\n \"class\": `${contentPrefixCls}-btns`\n }, [cancelButton, _createVNode(ActionButton, {\n \"type\": okType,\n \"actionFn\": onOk,\n \"close\": close,\n \"autofocus\": autoFocusButton === 'ok',\n \"buttonProps\": okButtonProps,\n \"prefixCls\": `${rootPrefixCls}-btn`\n }, {\n default: () => [renderSomeContent(okText) || (mergedOkCancel ? mergedLocal.okText : mergedLocal.justOkText)]\n })])])]\n });\n };\n }\n});","const destroyFns = [];\nexport default destroyFns;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { createVNode, render as vueRender } from 'vue';\nimport ConfirmDialog from './ConfirmDialog';\nimport ConfigProvider, { globalConfigForApi } from '../config-provider';\nimport omit from '../_util/omit';\nimport { triggerVNodeUpdate } from '../_util/vnode';\nimport { getConfirmLocale } from './locale';\nimport destroyFns from './destroyFns';\nconst confirm = config => {\n const container = document.createDocumentFragment();\n let currentConfig = _extends(_extends({}, omit(config, ['parentContext', 'appContext'])), {\n close,\n open: true\n });\n let confirmDialogInstance = null;\n function destroy() {\n if (confirmDialogInstance) {\n // destroy\n vueRender(null, container);\n confirmDialogInstance = null;\n }\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (config.onCancel && triggerCancel) {\n config.onCancel(() => {}, ...args.slice(1));\n }\n for (let i = 0; i < destroyFns.length; i++) {\n const fn = destroyFns[i];\n if (fn === close) {\n destroyFns.splice(i, 1);\n break;\n }\n }\n }\n function close() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n currentConfig = _extends(_extends({}, currentConfig), {\n open: false,\n afterClose: () => {\n if (typeof config.afterClose === 'function') {\n config.afterClose();\n }\n destroy.apply(this, args);\n }\n });\n // Legacy support\n if (currentConfig.visible) {\n delete currentConfig.visible;\n }\n update(currentConfig);\n }\n function update(configUpdate) {\n if (typeof configUpdate === 'function') {\n currentConfig = configUpdate(currentConfig);\n } else {\n currentConfig = _extends(_extends({}, currentConfig), configUpdate);\n }\n if (confirmDialogInstance) {\n triggerVNodeUpdate(confirmDialogInstance, currentConfig, container);\n }\n }\n const Wrapper = p => {\n const global = globalConfigForApi;\n const rootPrefixCls = global.prefixCls;\n const prefixCls = p.prefixCls || `${rootPrefixCls}-modal`;\n const iconPrefixCls = global.iconPrefixCls;\n const runtimeLocale = getConfirmLocale();\n return _createVNode(ConfigProvider, _objectSpread(_objectSpread({}, global), {}, {\n \"prefixCls\": rootPrefixCls\n }), {\n default: () => [_createVNode(ConfirmDialog, _objectSpread(_objectSpread({}, p), {}, {\n \"rootPrefixCls\": rootPrefixCls,\n \"prefixCls\": prefixCls,\n \"iconPrefixCls\": iconPrefixCls,\n \"locale\": runtimeLocale,\n \"cancelText\": p.cancelText || runtimeLocale.cancelText\n }), null)]\n });\n };\n function render(props) {\n const vm = createVNode(Wrapper, _extends({}, props));\n vm.appContext = config.parentContext || config.appContext || vm.appContext;\n vueRender(vm, container);\n return vm;\n }\n confirmDialogInstance = render(currentConfig);\n destroyFns.push(close);\n return {\n destroy: close,\n update\n };\n};\nexport default confirm;\nexport function withWarn(props) {\n return _extends(_extends({}, props), {\n type: 'warning'\n });\n}\nexport function withInfo(props) {\n return _extends(_extends({}, props), {\n type: 'info'\n });\n}\nexport function withSuccess(props) {\n return _extends(_extends({}, props), {\n type: 'success'\n });\n}\nexport function withError(props) {\n return _extends(_extends({}, props), {\n type: 'error'\n });\n}\nexport function withConfirm(props) {\n return _extends(_extends({}, props), {\n type: 'confirm'\n });\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { computed, defineComponent } from 'vue';\nimport { useConfigContextInject } from '../../config-provider/context';\nimport { useLocaleReceiver } from '../../locale-provider/LocaleReceiver';\nimport defaultLocale from '../../locale/en_US';\nimport ConfirmDialog from '../ConfirmDialog';\nimport initDefaultProps from '../../_util/props-util/initDefaultProps';\nconst comfirmFuncProps = () => ({\n config: Object,\n afterClose: Function,\n destroyAction: Function,\n open: Boolean\n});\nexport default defineComponent({\n name: 'HookModal',\n inheritAttrs: false,\n props: initDefaultProps(comfirmFuncProps(), {\n config: {\n width: 520,\n okType: 'primary'\n }\n }),\n setup(props, _ref) {\n let {\n expose\n } = _ref;\n var _a;\n const open = computed(() => props.open);\n const innerConfig = computed(() => props.config);\n const {\n direction,\n getPrefixCls\n } = useConfigContextInject();\n const prefixCls = getPrefixCls('modal');\n const rootPrefixCls = getPrefixCls();\n const afterClose = () => {\n var _a, _b;\n props === null || props === void 0 ? void 0 : props.afterClose();\n (_b = (_a = innerConfig.value).afterClose) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n const close = function () {\n props.destroyAction(...arguments);\n };\n expose({\n destroy: close\n });\n const mergedOkCancel = (_a = innerConfig.value.okCancel) !== null && _a !== void 0 ? _a : innerConfig.value.type === 'confirm';\n const [contextLocale] = useLocaleReceiver('Modal', defaultLocale.Modal);\n return () => _createVNode(ConfirmDialog, _objectSpread(_objectSpread({\n \"prefixCls\": prefixCls,\n \"rootPrefixCls\": rootPrefixCls\n }, innerConfig.value), {}, {\n \"close\": close,\n \"open\": open.value,\n \"afterClose\": afterClose,\n \"okText\": innerConfig.value.okText || (mergedOkCancel ? contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.value.okText : contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.value.justOkText),\n \"direction\": innerConfig.value.direction || direction.value,\n \"cancelText\": innerConfig.value.cancelText || (contextLocale === null || contextLocale === void 0 ? void 0 : contextLocale.value.cancelText)\n }), null);\n }\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { createVNode as _createVNode } from \"vue\";\nimport { isRef, unref, computed, defineComponent, shallowRef, watch } from 'vue';\nimport { withConfirm, withError, withInfo, withSuccess, withWarn } from '../confirm';\nimport HookModal from './HookModal';\nimport destroyFns from '../destroyFns';\nlet uuid = 0;\nconst ElementsHolder = defineComponent({\n name: 'ElementsHolder',\n inheritAttrs: false,\n setup(_, _ref) {\n let {\n expose\n } = _ref;\n const modals = shallowRef([]);\n const addModal = modal => {\n modals.value.push(modal);\n modals.value = modals.value.slice();\n return () => {\n modals.value = modals.value.filter(currentModal => currentModal !== modal);\n };\n };\n expose({\n addModal\n });\n return () => {\n return modals.value.map(modal => modal());\n };\n }\n});\nfunction useModal() {\n const holderRef = shallowRef(null);\n // ========================== Effect ==========================\n const actionQueue = shallowRef([]);\n watch(actionQueue, () => {\n if (actionQueue.value.length) {\n const cloneQueue = [...actionQueue.value];\n cloneQueue.forEach(action => {\n action();\n });\n actionQueue.value = [];\n }\n }, {\n immediate: true\n });\n // =========================== Hook ===========================\n const getConfirmFunc = withFunc => function hookConfirm(config) {\n var _a;\n uuid += 1;\n const open = shallowRef(true);\n const modalRef = shallowRef(null);\n const configRef = shallowRef(unref(config));\n const updateConfig = shallowRef({});\n watch(() => config, val => {\n updateAction(_extends(_extends({}, isRef(val) ? val.value : val), updateConfig.value));\n });\n const destroyAction = function () {\n open.value = false;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n const triggerCancel = args.some(param => param && param.triggerCancel);\n if (configRef.value.onCancel && triggerCancel) {\n configRef.value.onCancel(() => {}, ...args.slice(1));\n }\n };\n // eslint-disable-next-line prefer-const\n let closeFunc;\n const modal = () => _createVNode(HookModal, {\n \"key\": `modal-${uuid}`,\n \"config\": withFunc(configRef.value),\n \"ref\": modalRef,\n \"open\": open.value,\n \"destroyAction\": destroyAction,\n \"afterClose\": () => {\n closeFunc === null || closeFunc === void 0 ? void 0 : closeFunc();\n }\n }, null);\n closeFunc = (_a = holderRef.value) === null || _a === void 0 ? void 0 : _a.addModal(modal);\n if (closeFunc) {\n destroyFns.push(closeFunc);\n }\n const updateAction = newConfig => {\n configRef.value = _extends(_extends({}, configRef.value), newConfig);\n };\n const destroy = () => {\n if (modalRef.value) {\n destroyAction();\n } else {\n actionQueue.value = [...actionQueue.value, destroyAction];\n }\n };\n const update = newConfig => {\n updateConfig.value = newConfig;\n if (modalRef.value) {\n updateAction(newConfig);\n } else {\n actionQueue.value = [...actionQueue.value, () => updateAction(newConfig)];\n }\n };\n return {\n destroy,\n update\n };\n };\n const fns = computed(() => ({\n info: getConfirmFunc(withInfo),\n success: getConfirmFunc(withSuccess),\n error: getConfirmFunc(withError),\n warning: getConfirmFunc(withWarn),\n confirm: getConfirmFunc(withConfirm)\n }));\n const holderKey = Symbol('modalHolderKey');\n return [fns.value, () => _createVNode(ElementsHolder, {\n \"key\": holderKey,\n \"ref\": holderRef\n }, null)];\n}\nexport default useModal;","import Modal from './Modal';\nimport confirm, { withWarn, withInfo, withSuccess, withError, withConfirm } from './confirm';\nimport useModal from './useModal';\nimport destroyFns from './destroyFns';\nfunction modalWarn(props) {\n return confirm(withWarn(props));\n}\nModal.useModal = useModal;\nModal.info = function infoFn(props) {\n return confirm(withInfo(props));\n};\nModal.success = function successFn(props) {\n return confirm(withSuccess(props));\n};\nModal.error = function errorFn(props) {\n return confirm(withError(props));\n};\nModal.warning = modalWarn;\nModal.warn = modalWarn;\nModal.confirm = function confirmFn(props) {\n return confirm(withConfirm(props));\n};\nModal.destroyAll = function destroyAllFn() {\n while (destroyFns.length) {\n const close = destroyFns.pop();\n if (close) {\n close();\n }\n }\n};\n/* istanbul ignore next */\nModal.install = function (app) {\n app.component(Modal.name, Modal);\n return app;\n};\nexport default Modal;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { Fragment as _Fragment, createVNode as _createVNode } from \"vue\";\nimport { defineComponent, computed, ref, watch, Fragment } from 'vue';\nimport PropTypes from '../_util/vue-types';\nimport { filterEmpty } from '../_util/props-util';\nimport { booleanType, tuple } from '../_util/type';\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport useFlexGapSupport from '../_util/hooks/useFlexGapSupport';\nimport classNames from '../_util/classNames';\nimport Compact from './Compact';\nimport useStyle from './style';\nconst spaceSize = {\n small: 8,\n middle: 16,\n large: 24\n};\nexport const spaceProps = () => ({\n prefixCls: String,\n size: {\n type: [String, Number, Array]\n },\n direction: PropTypes.oneOf(tuple('horizontal', 'vertical')).def('horizontal'),\n align: PropTypes.oneOf(tuple('start', 'end', 'center', 'baseline')),\n wrap: booleanType()\n});\nfunction getNumberSize(size) {\n return typeof size === 'string' ? spaceSize[size] : size || 0;\n}\nconst Space = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'ASpace',\n inheritAttrs: false,\n props: spaceProps(),\n slots: Object,\n setup(props, _ref) {\n let {\n slots,\n attrs\n } = _ref;\n const {\n prefixCls,\n space,\n direction: directionConfig\n } = useConfigInject('space', props);\n const [wrapSSR, hashId] = useStyle(prefixCls);\n const supportFlexGap = useFlexGapSupport();\n const size = computed(() => {\n var _a, _b, _c;\n return (_c = (_a = props.size) !== null && _a !== void 0 ? _a : (_b = space === null || space === void 0 ? void 0 : space.value) === null || _b === void 0 ? void 0 : _b.size) !== null && _c !== void 0 ? _c : 'small';\n });\n const horizontalSize = ref();\n const verticalSize = ref();\n watch(size, () => {\n [horizontalSize.value, verticalSize.value] = (Array.isArray(size.value) ? size.value : [size.value, size.value]).map(item => getNumberSize(item));\n }, {\n immediate: true\n });\n const mergedAlign = computed(() => props.align === undefined && props.direction === 'horizontal' ? 'center' : props.align);\n const cn = computed(() => {\n return classNames(prefixCls.value, hashId.value, `${prefixCls.value}-${props.direction}`, {\n [`${prefixCls.value}-rtl`]: directionConfig.value === 'rtl',\n [`${prefixCls.value}-align-${mergedAlign.value}`]: mergedAlign.value\n });\n });\n const marginDirection = computed(() => directionConfig.value === 'rtl' ? 'marginLeft' : 'marginRight');\n const style = computed(() => {\n const gapStyle = {};\n if (supportFlexGap.value) {\n gapStyle.columnGap = `${horizontalSize.value}px`;\n gapStyle.rowGap = `${verticalSize.value}px`;\n }\n return _extends(_extends({}, gapStyle), props.wrap && {\n flexWrap: 'wrap',\n marginBottom: `${-verticalSize.value}px`\n });\n });\n return () => {\n var _a, _b;\n const {\n wrap,\n direction = 'horizontal'\n } = props;\n const children = (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);\n const items = filterEmpty(children);\n const len = items.length;\n if (len === 0) {\n return null;\n }\n const split = (_b = slots.split) === null || _b === void 0 ? void 0 : _b.call(slots);\n const itemClassName = `${prefixCls.value}-item`;\n const horizontalSizeVal = horizontalSize.value;\n const latestIndex = len - 1;\n return _createVNode(\"div\", _objectSpread(_objectSpread({}, attrs), {}, {\n \"class\": [cn.value, attrs.class],\n \"style\": [style.value, attrs.style]\n }), [items.map((child, index) => {\n let originIndex = children.indexOf(child);\n if (originIndex === -1) {\n originIndex = `$$space-${index}`;\n }\n let itemStyle = {};\n if (!supportFlexGap.value) {\n if (direction === 'vertical') {\n if (index < latestIndex) {\n itemStyle = {\n marginBottom: `${horizontalSizeVal / (split ? 2 : 1)}px`\n };\n }\n } else {\n itemStyle = _extends(_extends({}, index < latestIndex && {\n [marginDirection.value]: `${horizontalSizeVal / (split ? 2 : 1)}px`\n }), wrap && {\n paddingBottom: `${verticalSize.value}px`\n });\n }\n }\n return wrapSSR(_createVNode(_Fragment, {\n \"key\": originIndex\n }, [_createVNode(\"div\", {\n \"class\": itemClassName,\n \"style\": itemStyle\n }, [child]), index < latestIndex && split && _createVNode(\"span\", {\n \"class\": `${itemClassName}-split`,\n \"style\": itemStyle\n }, [split])]));\n })]);\n };\n }\n});\nSpace.Compact = Compact;\nSpace.install = function (app) {\n app.component(Space.name, Space);\n app.component(Compact.name, Compact);\n return app;\n};\nexport { Compact };\nexport default Space;","import { genComponentStyleHook } from '../../theme/internal';\n// =============================== Base ===============================\nconst genBaseStyle = token => {\n const {\n componentCls,\n iconCls,\n zIndexPopup,\n colorText,\n colorWarning,\n marginXS,\n fontSize,\n fontWeightStrong,\n lineHeight\n } = token;\n return {\n [componentCls]: {\n zIndex: zIndexPopup,\n [`${componentCls}-inner-content`]: {\n color: colorText\n },\n [`${componentCls}-message`]: {\n position: 'relative',\n marginBottom: marginXS,\n color: colorText,\n fontSize,\n display: 'flex',\n flexWrap: 'nowrap',\n alignItems: 'start',\n [`> ${componentCls}-message-icon ${iconCls}`]: {\n color: colorWarning,\n fontSize,\n flex: 'none',\n lineHeight: 1,\n paddingTop: (Math.round(fontSize * lineHeight) - fontSize) / 2\n },\n '&-title': {\n flex: 'auto',\n marginInlineStart: marginXS\n },\n '&-title-only': {\n fontWeight: fontWeightStrong\n }\n },\n [`${componentCls}-description`]: {\n position: 'relative',\n marginInlineStart: fontSize + marginXS,\n marginBottom: marginXS,\n color: colorText,\n fontSize\n },\n [`${componentCls}-buttons`]: {\n textAlign: 'end',\n button: {\n marginInlineStart: marginXS\n }\n }\n }\n };\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Popconfirm', token => genBaseStyle(token), token => {\n const {\n zIndexPopupBase\n } = token;\n return {\n zIndexPopup: zIndexPopupBase + 60\n };\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { resolveDirective as _resolveDirective, createVNode as _createVNode } from \"vue\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { computed, ref, toRef, defineComponent } from 'vue';\nimport Popover from '../popover';\nimport abstractTooltipProps from '../tooltip/abstractTooltipProps';\nimport { initDefaultProps } from '../_util/props-util';\nimport { convertLegacyProps } from '../button/buttonTypes';\nimport ExclamationCircleFilled from \"@ant-design/icons-vue/es/icons/ExclamationCircleFilled\";\nimport Button from '../button';\nimport { useLocaleReceiver } from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale/en_US';\nimport { anyType, objectType, stringType, withInstall } from '../_util/type';\nimport useMergedState from '../_util/hooks/useMergedState';\nimport KeyCode from '../_util/KeyCode';\nimport useConfigInject from '../config-provider/hooks/useConfigInject';\nimport classNames from '../_util/classNames';\nimport { getTransitionName } from '../_util/transition';\nimport { cloneVNodes } from '../_util/vnode';\nimport omit from '../_util/omit';\nimport { tooltipDefaultProps } from '../tooltip/Tooltip';\nimport ActionButton from '../_util/ActionButton';\nimport usePopconfirmStyle from './style';\nimport warning from '../_util/warning';\nexport const popconfirmProps = () => _extends(_extends({}, abstractTooltipProps()), {\n prefixCls: String,\n content: anyType(),\n title: anyType(),\n description: anyType(),\n okType: stringType('primary'),\n disabled: {\n type: Boolean,\n default: false\n },\n okText: anyType(),\n cancelText: anyType(),\n icon: anyType(),\n okButtonProps: objectType(),\n cancelButtonProps: objectType(),\n showCancel: {\n type: Boolean,\n default: true\n },\n onConfirm: Function,\n onCancel: Function\n});\nconst Popconfirm = defineComponent({\n compatConfig: {\n MODE: 3\n },\n name: 'APopconfirm',\n inheritAttrs: false,\n props: initDefaultProps(popconfirmProps(), _extends(_extends({}, tooltipDefaultProps()), {\n trigger: 'click',\n placement: 'top',\n mouseEnterDelay: 0.1,\n mouseLeaveDelay: 0.1,\n arrowPointAtCenter: false,\n autoAdjustOverflow: true,\n okType: 'primary',\n disabled: false\n })),\n slots: Object,\n // emits: ['update:open', 'visibleChange'],\n setup(props, _ref) {\n let {\n slots,\n emit,\n expose,\n attrs\n } = _ref;\n const rootRef = ref();\n warning(props.visible === undefined, 'Popconfirm', `\\`visible\\` will be removed in next major version, please use \\`open\\` instead.`);\n expose({\n getPopupDomNode: () => {\n var _a, _b;\n return (_b = (_a = rootRef.value) === null || _a === void 0 ? void 0 : _a.getPopupDomNode) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n });\n const [open, setOpen] = useMergedState(false, {\n value: toRef(props, 'open')\n });\n const settingOpen = (value, e) => {\n if (props.open === undefined) {\n setOpen(value);\n }\n emit('update:open', value);\n emit('openChange', value, e);\n };\n const close = e => {\n settingOpen(false, e);\n };\n const onConfirm = e => {\n var _a;\n return (_a = props.onConfirm) === null || _a === void 0 ? void 0 : _a.call(props, e);\n };\n const onCancel = e => {\n var _a;\n settingOpen(false, e);\n (_a = props.onCancel) === null || _a === void 0 ? void 0 : _a.call(props, e);\n };\n const onKeyDown = e => {\n if (e.keyCode === KeyCode.ESC && open) {\n settingOpen(false, e);\n }\n };\n const onOpenChange = value => {\n const {\n disabled\n } = props;\n if (disabled) {\n return;\n }\n settingOpen(value);\n };\n const {\n prefixCls: prefixClsConfirm,\n getPrefixCls\n } = useConfigInject('popconfirm', props);\n const rootPrefixCls = computed(() => getPrefixCls());\n const btnPrefixCls = computed(() => getPrefixCls('btn'));\n const [wrapSSR] = usePopconfirmStyle(prefixClsConfirm);\n const [popconfirmLocale] = useLocaleReceiver('Popconfirm', defaultLocale.Popconfirm);\n const renderOverlay = () => {\n var _a, _b, _c, _d, _e;\n const {\n okButtonProps,\n cancelButtonProps,\n title = (_a = slots.title) === null || _a === void 0 ? void 0 : _a.call(slots),\n description = (_b = slots.description) === null || _b === void 0 ? void 0 : _b.call(slots),\n cancelText = (_c = slots.cancel) === null || _c === void 0 ? void 0 : _c.call(slots),\n okText = (_d = slots.okText) === null || _d === void 0 ? void 0 : _d.call(slots),\n okType,\n icon = ((_e = slots.icon) === null || _e === void 0 ? void 0 : _e.call(slots)) || _createVNode(ExclamationCircleFilled, null, null),\n showCancel = true\n } = props;\n const {\n cancelButton,\n okButton\n } = slots;\n const cancelProps = _extends({\n onClick: onCancel,\n size: 'small'\n }, cancelButtonProps);\n const okProps = _extends(_extends(_extends({\n onClick: onConfirm\n }, convertLegacyProps(okType)), {\n size: 'small'\n }), okButtonProps);\n return _createVNode(\"div\", {\n \"class\": `${prefixClsConfirm.value}-inner-content`\n }, [_createVNode(\"div\", {\n \"class\": `${prefixClsConfirm.value}-message`\n }, [icon && _createVNode(\"span\", {\n \"class\": `${prefixClsConfirm.value}-message-icon`\n }, [icon]), _createVNode(\"div\", {\n \"class\": [`${prefixClsConfirm.value}-message-title`, {\n [`${prefixClsConfirm.value}-message-title-only`]: !!description\n }]\n }, [title])]), description && _createVNode(\"div\", {\n \"class\": `${prefixClsConfirm.value}-description`\n }, [description]), _createVNode(\"div\", {\n \"class\": `${prefixClsConfirm.value}-buttons`\n }, [showCancel ? cancelButton ? cancelButton(cancelProps) : _createVNode(Button, cancelProps, {\n default: () => [cancelText || popconfirmLocale.value.cancelText]\n }) : null, okButton ? okButton(okProps) : _createVNode(ActionButton, {\n \"buttonProps\": _extends(_extends({\n size: 'small'\n }, convertLegacyProps(okType)), okButtonProps),\n \"actionFn\": onConfirm,\n \"close\": close,\n \"prefixCls\": btnPrefixCls.value,\n \"quitOnNullishReturnValue\": true,\n \"emitEvent\": true\n }, {\n default: () => [okText || popconfirmLocale.value.okText]\n })])]);\n };\n return () => {\n var _a;\n const {\n placement,\n overlayClassName,\n trigger = 'click'\n } = props,\n restProps = __rest(props, [\"placement\", \"overlayClassName\", \"trigger\"]);\n const otherProps = omit(restProps, ['title', 'content', 'cancelText', 'okText', 'onUpdate:open', 'onConfirm', 'onCancel', 'prefixCls']);\n const overlayClassNames = classNames(prefixClsConfirm.value, overlayClassName);\n return wrapSSR(_createVNode(Popover, _objectSpread(_objectSpread(_objectSpread({}, otherProps), attrs), {}, {\n \"trigger\": trigger,\n \"placement\": placement,\n \"onOpenChange\": onOpenChange,\n \"open\": open.value,\n \"overlayClassName\": overlayClassNames,\n \"transitionName\": getTransitionName(rootPrefixCls.value, 'zoom-big', props.transitionName),\n \"ref\": rootRef,\n \"data-popover-inject\": true\n }), {\n default: () => [cloneVNodes(((_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots)) || [], {\n onKeydown: e => {\n onKeyDown(e);\n }\n }, false)],\n content: renderOverlay\n }));\n };\n }\n});\nexport default withInstall(Popconfirm);","// This icon file is generated automatically.\nvar DeleteOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M360 184h-8c4.4 0 8-3.6 8-8v8h304v-8c0 4.4 3.6 8 8 8h-8v72h72v-80c0-35.3-28.7-64-64-64H352c-35.3 0-64 28.7-64 64v80h72v-72zm504 72H160c-17.7 0-32 14.3-32 32v32c0 4.4 3.6 8 8 8h60.4l24.7 523c1.6 34.1 29.8 61 63.9 61h454c34.2 0 62.3-26.8 63.9-61l24.7-523H888c4.4 0 8-3.6 8-8v-32c0-17.7-14.3-32-32-32zM731.3 840H292.7l-24.2-512h487l-24.2 512z\" } }] }, \"name\": \"delete\", \"theme\": \"outlined\" };\nexport default DeleteOutlined;\n","import { createVNode as _createVNode } from \"vue\";\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? Object(arguments[i]) : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport DeleteOutlinedSvg from \"@ant-design/icons-svg/es/asn/DeleteOutlined\";\nimport AntdIcon from '../components/AntdIcon';\n\nvar DeleteOutlined = function DeleteOutlined(props, context) {\n var p = _objectSpread({}, props, context.attrs);\n\n return _createVNode(AntdIcon, _objectSpread({}, p, {\n \"icon\": DeleteOutlinedSvg\n }), null);\n};\n\nDeleteOutlined.displayName = 'DeleteOutlined';\nDeleteOutlined.inheritAttrs = false;\nexport default DeleteOutlined;","<!--\n * @Author: liaokt\n * @Description: MTN UI ConfirmButton - 确认按钮组件\n * @Date: 2026-01-26\n-->\n<template>\n <a-popconfirm\n :title=\"props.title\"\n :description=\"props.description\"\n :ok-text=\"props.okText\"\n :cancel-text=\"props.cancelText\"\n :ok-type=\"props.okType\"\n :ok-button-props=\"props.okButtonProps\"\n @confirm=\"handleConfirm\"\n @cancel=\"handleCancel\"\n >\n <template #default>\n <MtnButton\n v-bind=\"buttonAttrs\"\n :permission=\"props.permission\"\n :permission-action=\"props.permissionAction\"\n :debounce-ms=\"props.debounceMs\"\n >\n <template v-for=\"(_, slotName) in buttonSlots\" #[slotName]=\"slotProps\">\n <slot :name=\"slotName\" v-bind=\"slotProps ?? {}\" />\n </template>\n </MtnButton>\n </template>\n <template v-if=\"$slots.description\" #description>\n <slot name=\"description\" />\n </template>\n </a-popconfirm>\n</template>\n\n<script setup lang=\"ts\">\nimport { Popconfirm as APopconfirm } from 'ant-design-vue'\nimport { Button as MtnButton } from '../button'\nimport { computed, useAttrs, useSlots } from 'vue'\n\n// Props 类型\ninterface Props {\n /**\n * 确认对话框标题\n */\n title?: string\n /**\n * 确认对话框描述(可选)\n */\n description?: string\n /**\n * 确认按钮文字\n */\n okText?: string\n /**\n * 取消按钮文字\n */\n cancelText?: string\n /**\n * 确认按钮类型\n */\n okType?: 'primary' | 'default' | 'dashed' | 'text' | 'link'\n /**\n * 确认按钮的额外属性(如 danger: true 用于删除等危险操作)\n */\n okButtonProps?: Record<string, unknown>\n /**\n * 权限标识,可以是单个权限字符串或权限数组\n * 如果未提供,则不进行权限检查\n */\n permission?: string | string[]\n /**\n * 权限控制模式\n * - 'hide': 无权限时隐藏按钮(默认)\n * - 'disable': 无权限时禁用按钮\n */\n permissionAction?: 'hide' | 'disable'\n /**\n * 防抖延迟时间(毫秒)\n * 如果设置了此属性,确认操作会被防抖处理\n * 默认不启用防抖\n */\n debounceMs?: number\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n title: '确定要执行此操作吗?',\n okText: '确定',\n cancelText: '取消',\n okType: 'primary',\n permissionAction: 'hide'\n})\n\nconst attrs = useAttrs()\nconst slots = useSlots()\n\n// 提取 Button 相关的属性(排除 Popconfirm 相关的)\nconst buttonAttrs = computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { title: _title, description: _description, okText: _okText, cancelText: _cancelText, okType: _okType, okButtonProps: _okButtonProps, onConfirm, onCancel, ...rest } = attrs\n return rest\n})\n\n// Button 的插槽(排除 description 插槽,因为 description 是 Popconfirm 的插槽)\nconst buttonSlots = computed(() => {\n const slotKeys = Object.keys(slots)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const filteredSlots: Record<string, any> = {}\n for (const key of slotKeys) {\n if (key !== 'description') {\n filteredSlots[key] = slots[key]\n }\n }\n return filteredSlots\n})\n\n// 处理确认事件\nconst emit = defineEmits<{\n confirm: [e?: MouseEvent]\n cancel: [e?: MouseEvent]\n}>()\n\nconst handleConfirm = (e?: MouseEvent) => {\n emit('confirm', e)\n}\n\n// 处理取消事件\nconst handleCancel = (e?: MouseEvent) => {\n emit('cancel', e)\n}\n</script>\n","<!--\n * @Author: liaokt\n * @Description: MTN UI DeleteButton - 删除按钮组件\n * @Date: 2026-01-26\n-->\n<template>\n <MtnConfirmButton\n v-bind=\"buttonAttrs\"\n type=\"primary\"\n danger\n :title=\"props.title\"\n :description=\"props.description\"\n :ok-button-props=\"{ danger: true }\"\n :permission=\"props.permission\"\n :permission-action=\"props.permissionAction\"\n :debounce-ms=\"props.debounceMs\"\n @confirm=\"$emit('confirm', $event)\"\n >\n <template v-if=\"$slots.icon || props.showIcon\" #icon>\n <slot v-if=\"$slots.icon\" name=\"icon\" />\n <DeleteOutlined v-else />\n </template>\n <slot />\n </MtnConfirmButton>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue'\nimport { DeleteOutlined } from '@ant-design/icons-vue'\nimport { ConfirmButton as MtnConfirmButton } from '../confirm-button'\n\ndefineOptions({\n inheritAttrs: false\n})\n\ninterface Props {\n /**\n * 确认对话框标题\n * @default '确定要删除吗?'\n */\n title?: string\n /**\n * 确认对话框描述(可选)\n */\n description?: string\n /**\n * 是否显示删除图标\n * @default true\n */\n showIcon?: boolean\n /**\n * 权限标识,可以是单个权限字符串或权限数组\n */\n permission?: string | string[]\n /**\n * 权限控制模式\n */\n permissionAction?: 'hide' | 'disable'\n /**\n * 防抖延迟时间(毫秒)\n */\n debounceMs?: number\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n title: '确定要删除吗?',\n showIcon: true\n})\n\nconst attrs = useAttrs()\n\n// 提取按钮相关的属性(排除 DeleteButton 特定的属性)\nconst buttonAttrs = computed(() => {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { title: _title, description: _description, permission: _permission, permissionAction: _permissionAction, debounceMs: _debounceMs, ...rest } = attrs\n return rest\n})\n\ndefineEmits<{\n confirm: [e?: MouseEvent]\n}>()\n</script>\n","<template>\n <div ref=\"rootRef\" class=\"mtn-action-group-wrapper\">\n <!-- 隐藏测量区:用于计算每项宽度 -->\n <div ref=\"measureRef\" class=\"mtn-action-group-measure\">\n <div v-for=\"(item, i) in activeItems\" :key=\"`measure-${item.type}-${i}-${item.label || ''}`\" class=\"measure-item\">\n <span>{{ item.label }}</span>\n </div>\n </div>\n\n <Space\n v-bind=\"spaceProps\"\n class=\"mtn-action-group-container\"\n >\n <!-- 可见项 -->\n <template v-for=\"item in visibleItems\" :key=\"`visible-${item.type}-${item.label || ''}`\">\n <component\n :is=\"itemComp(item.type)\"\n v-bind=\"itemProps(item)\"\n >\n <template v-if=\"itemIcon(item)\" #icon>\n <component :is=\"renderIcon(itemIcon(item)!)\" />\n </template>\n {{ item.label }}\n </component>\n </template>\n\n <!-- 更多下拉 -->\n <Dropdown v-if=\"collapsedItems.length > 0\" v-model:open=\"dropdownOpen\" trigger=\"click\">\n <MtnButton variant=\"text\">更多 <DownOutlined /></MtnButton>\n <template #overlay>\n <Menu @click=\"dropdownOpen = false\">\n <template v-for=\"item in collapsedItems\" :key=\"`collapsed-${item.type}-${item.label || ''}`\">\n <MenuItem\n :danger=\"itemDanger(item)\"\n @click=\"handleMenuItemClick(item)\"\n >\n <template v-if=\"itemIcon(item)\" #icon>\n <component :is=\"renderIcon(itemIcon(item)!)\" />\n </template>\n {{ item.label }}\n </MenuItem>\n </template>\n </Menu>\n </template>\n </Dropdown>\n </Space>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, nextTick } from 'vue'\nimport { Space, Dropdown, Menu, MenuItem, Modal } from 'ant-design-vue'\nimport { DownOutlined } from '@ant-design/icons-vue'\nimport { Button as MtnButton } from '../button'\nimport { ConfirmButton as MtnConfirmButton } from '../confirm-button'\nimport { DeleteButton as MtnDeleteButton } from '../delete-button'\nimport { useElementSize, useDebounceFn } from '@mtn-ui/utils'\nimport type { ActionItem } from './types'\n\nconst props = withDefaults(\n defineProps<{\n items?: ActionItem[]\n maxCount?: number\n size?: 'small' | 'middle' | 'large' | number\n }>(),\n {\n items: () => [],\n maxCount: undefined,\n size: 'middle'\n }\n)\n\nconst rootRef = ref<HTMLElement | null>(null)\nconst measureRef = ref<HTMLElement | null>(null)\nconst { width: containerWidth } = useElementSize(rootRef)\nconst itemWidths = ref<number[]>([])\nconst dropdownOpen = ref(false)\n\nconst activeItems = computed(() =>\n (props.items ?? []).filter((item) =>\n typeof item.hidden === 'function' ? !item.hidden() : !item.hidden\n )\n)\n\nconst splitIndex = computed(() => {\n if (props.maxCount !== undefined) return props.maxCount\n if (itemWidths.value.length === 0) return Math.min(activeItems.value.length, 3)\n const MORE_WIDTH = 70\n const available = (containerWidth.value ?? 0) - MORE_WIDTH\n let sum = 0\n let count = 0\n for (let i = 0; i < itemWidths.value.length; i++) {\n if (sum + itemWidths.value[i] > available) break\n sum += itemWidths.value[i]\n count++\n }\n return count > 0 ? count : 1\n})\n\nconst visibleItems = computed(() => activeItems.value.slice(0, splitIndex.value))\nconst collapsedItems = computed(() => activeItems.value.slice(splitIndex.value))\n\nconst spaceProps = computed(() => ({ size: props.size }))\n\nfunction itemComp(type: ActionItem['type']) {\n if (type === 'confirm') return MtnConfirmButton\n if (type === 'delete') return MtnDeleteButton\n return MtnButton\n}\n\nfunction itemProps(item: ActionItem) {\n const p = item.props ?? {}\n const isConfirm = item.type === 'confirm' || item.type === 'delete'\n return {\n ...p,\n mtnVariant: (p.mtnVariant as string) ?? 'none',\n [isConfirm ? 'onConfirm' : 'onClick']: item.onClick,\n class: (p.class as string) ?? ''\n }\n}\n\nfunction itemIcon(item: ActionItem): unknown {\n return item.icon ?? item.props?.icon\n}\n\n/** 直接返回 icon,供 <component :is=\"\"> 使用;由 Vue 注入 context,不能在此处无参调用组件 */\nfunction renderIcon(icon: unknown) {\n return icon\n}\n\n/** MenuItem 的 danger 必须为 boolean;delete 类型始终为 danger,其它类型看 props.danger */\nfunction itemDanger(item: ActionItem): boolean {\n return item.type === 'delete' || item.props?.danger === true\n}\n\n/** 获取确认提示描述 */\nfunction getConfirmDescription(item: ActionItem): string | undefined {\n return item.props?.description as string | undefined\n}\n\n/** 获取确认按钮属性:优先从 props.okButtonProps 读取,否则 delete 类型默认 danger */\nfunction getOkButtonProps(item: ActionItem): Record<string, unknown> {\n if (item.props?.okButtonProps) {\n return item.props.okButtonProps as Record<string, unknown>\n }\n if (item.type === 'delete') {\n return { danger: true }\n }\n return {}\n}\n\n/** 处理菜单项点击:delete/confirm 类型弹出确认对话框,其它直接执行 */\nfunction handleMenuItemClick(item: ActionItem) {\n if (item.type === 'delete' || item.type === 'confirm') {\n const title = item.props?.title as string ?? '提醒'\n const description = getConfirmDescription(item) ?? '确定要执行此操作吗?'\n const okText = (item.props?.okText as string) ?? '确定'\n const cancelText = (item.props?.cancelText as string) ?? '取消'\n const okButtonProps = getOkButtonProps(item)\n \n Modal.confirm({\n title,\n content: description,\n okText,\n cancelText,\n okButtonProps,\n onOk: () => {\n item.onClick?.()\n dropdownOpen.value = false\n }\n })\n } else {\n item.onClick?.()\n }\n}\n\nconst measure = useDebounceFn(() => {\n if (!measureRef.value) return\n const children = Array.from(measureRef.value.children) as HTMLElement[]\n const gap =\n typeof props.size === 'number'\n ? props.size\n : props.size === 'small'\n ? 4\n : props.size === 'large'\n ? 6\n : 8\n itemWidths.value = children.map((el) => (el.offsetWidth || 60) + gap)\n}, 100)\n\nwatch([() => containerWidth.value, activeItems], () => nextTick(measure), { immediate: true })\nonMounted(() => setTimeout(measure, 200))\n</script>\n\n<style scoped>\n.mtn-action-group-wrapper {\n width: 100%;\n position: relative;\n display: inline-block;\n}\n\n.mtn-action-group-measure {\n position: absolute;\n top: 0;\n left: 0;\n visibility: hidden;\n pointer-events: none;\n display: flex;\n white-space: nowrap;\n}\n\n.measure-item {\n padding: 0 16px;\n font-size: 14px;\n}\n\n.mtn-action-group-container {\n display: flex;\n align-items: center;\n}\n</style>\n","import type { ComponentResolver } from 'unplugin-vue-components/types'\n\n/**\n * MTN UI Components Resolver\n * \n * 用于 unplugin-vue-components 的组件解析器\n * 当在模板中使用 <MtnButton /> 时,自动解析组件和样式路径\n * \n * @example\n * ```ts\n * // vite.config.ts\n * import Components from 'unplugin-vue-components/vite'\n * import { MtnUIResolver } from '@mtn-ui/components/resolver'\n * \n * export default defineConfig({\n * plugins: [\n * Components({\n * resolvers: [MtnUIResolver()]\n * })\n * ]\n * })\n * ```\n */\n/**\n * 将 PascalCase 转换为 kebab-case\n * @example\n * PascalCaseToKebabCase('ConfirmButton') => 'confirm-button'\n * PascalCaseToKebabCase('Button') => 'button'\n */\nfunction pascalCaseToKebabCase(str: string): string {\n return str\n .replace(/([A-Z])/g, '-$1') // 在大写字母前添加连字符\n .toLowerCase() // 转为小写\n .replace(/^-/, '') // 移除开头的连字符\n}\n\nexport function MtnUIResolver(): ComponentResolver {\n return {\n type: 'component',\n resolve: (name: string) => {\n // 支持的组件名格式:\n // - Button (PascalCase,直接使用)\n // - MtnButton (PascalCase,移除 Mtn 前缀)\n // - mtn-button (kebab-case,会被 unplugin-vue-components 转换为 MtnButton)\n \n // 如果组件名以 Mtn 开头,移除前缀\n if (name.startsWith('Mtn')) {\n const componentName = name.slice(3) // 移除 'Mtn' 前缀 (MtnButton -> Button)\n const path = pascalCaseToKebabCase(componentName) // 转为 kebab-case (ConfirmButton -> confirm-button)\n \n return {\n name: componentName, // 导出名称(如 Button, ConfirmButton)\n from: `@mtn-ui/components/${path}`, // 路径(如 button, confirm-button)\n // 自动引入样式的逻辑(如果需要,可以取消注释)\n // sideEffects: `@mtn-ui/components/${path}/style`,\n }\n }\n\n // 如果组件名直接是组件名(如 Button),转换为 kebab-case\n const path = pascalCaseToKebabCase(name)\n return {\n name: name, // 导出名称(如 Button)\n from: `@mtn-ui/components/${path}`, // 路径(如 button)\n // sideEffects: `@mtn-ui/components/${path}/style`,\n }\n },\n }\n}\n\n/**\n * 默认导出的 Resolver\n */\nexport default MtnUIResolver()\n","import type { App, Plugin } from 'vue'\nimport { Button } from './button'\n\n// ==================== 组件导出 ====================\n// 导出所有组件(支持按需导入)\n// 使用 export * 确保所有导出都被包含,支持 tree-shaking\n// \n// 使用方式:\n// 1. 按需导入组件(推荐):\n// import { Button, ConfirmButton } from '@mtn-ui/components'\n// import '@mtn-ui/components/style' // 需要手动导入样式\n// \n// 2. 按组件路径导入(更精确的按需导入):\n// import { Button } from '@mtn-ui/components/button'\n// import { ConfirmButton } from '@mtn-ui/components/confirm-button'\n// import '@mtn-ui/components/style' // 按需导入组件样式\n// \n// 3. 全量导入(适合快速开发):\n// import MtnUI from '@mtn-ui/components'\n// import '@mtn-ui/components/style'\n// app.use(MtnUI)\nexport * from './button'\nexport type * from './button/types'\nexport * from './action-group'\nexport type * from './action-group/types'\nexport * from './confirm-button'\nexport type * from './confirm-button/types'\nexport * from './delete-button'\nexport type * from './delete-button/types'\n\n// ==================== 类型导出 ====================\n// 导出所有组件类型\nexport type * from './button/types'\n\n// ==================== Vue Plugin ====================\n// 组件映射表(用于自动注册)\nimport { ActionGroup } from './action-group'\nimport { ConfirmButton } from './confirm-button'\nimport { DeleteButton } from './delete-button'\n\nconst components = {\n Button,\n ActionGroup,\n ConfirmButton,\n DeleteButton\n}\n\n/**\n * MTN UI Vue Plugin\n * 用于全量注册所有组件\n * \n * @example\n * ```ts\n * import MtnUI from '@mtn-ui/components'\n * import '@mtn-ui/components/style' // 需要手动导入样式\n * app.use(MtnUI)\n * ```\n */\nconst MtnUI: Plugin = {\n install(app: App) {\n Object.entries(components).forEach(([name, component]) => {\n app.component(name, component)\n })\n }\n}\n\nexport default MtnUI\n\n// ==================== 版本信息 ====================\nexport const version = '1.0.0'\n\n// ==================== Resolver 导出 ====================\n// 用于 unplugin-vue-components 的组件解析器\nexport { MtnUIResolver, default as resolver } from './resolver'\n\n// ==================== 权限管理导出(从 utils 再导出,便于从 components 统一使用) ====================\nexport {\n usePermission,\n type UsePermissionOptions,\n type UsePermissionReturn,\n type PermissionAction\n} from '@mtn-ui/utils'\n"],"names":["MapShim","getIndex","arr","key","result","entry","index","class_1","value","entries","callback","ctx","_i","_a","isBrowser","global$1","requestAnimationFrame$1","trailingTimeout","throttle","delay","leadingCall","trailingCall","lastCallTime","resolvePending","proxy","timeoutCallback","timeStamp","REFRESH_DELAY","transitionKeys","mutationObserverSupported","ResizeObserverController","observer","observers","changesDetected","activeObservers","_b","propertyName","isReflowProperty","defineConfigurable","target","props","getWindowOf","ownerGlobal","emptyRect","createRectInit","toFloat","getBordersSize","styles","positions","size","position","getPaddings","paddings","positions_1","getSVGContentRect","bbox","getHTMLElementContentRect","clientWidth","clientHeight","horizPad","vertPad","width","height","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","getContentRect","createReadOnlyRect","x","y","Constr","rect","ResizeObservation","ResizeObserverEntry","rectInit","contentRect","ResizeObserverSPI","controller","callbackCtx","observations","_this","observation","ResizeObserver","method","defineComponent","_ref","slots","state","reactive","currentElement","resizeObserver","destroyObserver","onResize","offsetWidth","offsetHeight","fixedWidth","fixedHeight","_extends","instance","getCurrentInstance","registerObserver","disabled","element","findDOMNode","onMounted","onUpdated","onUnmounted","watch","supportsPassive","opts","addEventListenerWrap","eventType","cb","option","opt","Keyframe","name","style","hashId","PresetColors","roundedArrow","innerRadius","outerRadius","bgColor","boxShadow","unitWidth","ax","ay","bx","by","cx","cy","dx","dy","ex","ey","fx","fy","shadowWidth","polygonOffset","genPresetColor","token","genCss","prev","colorKey","lightColor","lightBorderColor","darkColor","textColor","omit","obj","fields","shallowCopy","i","returnEmptyString","returnDocument","noop","triggerProps","PropTypes","innerProps","mobileProps","popupProps","getMotion","prefixCls","animation","transitionName","Mask","visible","zIndex","mask","maskAnimation","maskTransitionName","motion","_createVNode","Transition","_objectSpread","_withDirectives","_resolveDirective","MobilePopupInner","expose","elementRef","ref","popupClassName","popupStyle","popupMotion","popupRender","mergedStyle","childNode","flattenChildren","mergedClassName","classNames","__awaiter","thisArg","_arguments","P","generator","adopt","resolve","reject","fulfilled","step","e","rejected","StatusQueue","useVisibleStatus","doMeasure","status","shallowRef","rafRef","destroyRef","setStatus","nextStatus","cancelRaf","raf","goNextStatus","newStatus","onBeforeUnmount","useStretchStyle","stretch","targetSize","measureStretch","computed","sizeStyle","ownKeys","object","enumerableOnly","keys","symbols","sym","_objectSpread2","source","_defineProperty","_typeof","vendorPrefix","jsCssMap","getVendorPrefix","testProp","getTransitionName","getTransformName","setTransitionProperty","node","setTransform","getTransitionProperty","getTransformXY","transform","matrix","matrix2d","matrix3d","setTransformXY","xy","match2d","item","match3d","RE_NUM","getComputedStyleX","forceRelayout","elem","originalStyle","css","el","v","getClientPosition","box","doc","body","docElem","getScroll","w","top","ret","d","getScrollLeft","getScrollTop","getOffset","pos","isWindow","getDocument","_getComputedStyle","cs","computedStyle","val","_RE_NUM_NO_PX","RE_POS","CURRENT_STYLE","RUNTIME_STYLE","LEFT","PX","_getComputedStyleIE","left","rsLeft","getOffsetDirection","dir","oppositeOffsetDirection","setLeftTop","offset","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","off","_key","_dir","_off","setTransform$1","originalXY","resultXY","setOffset","oriOffset","oLeft","oTop","tLeft","tTop","each","fn","isBorderBoxFn","BOX_MODELS","CONTENT_INDEX","PADDING_INDEX","BORDER_INDEX","MARGIN_INDEX","swap","options","getPBMWidth","which","prop","j","cssProp","domUtils","parent","refWin","win","documentElement","documentElementProp","getWH","extra","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","cssShow","getWHIgnoreDisplay","_len","args","_key2","first","includeMargin","mix","to","from","utils","overflow","getParent","getOffsetParent","positionStyle","skipStatic","getParent$1","isAncestorFixed","getVisibleRectForElement","alwaysByViewport","visibleRect","originalPosition","scrollX","scrollY","viewportWidth","viewportHeight","documentWidth","documentHeight","bodyStyle","maxVisibleWidth","maxVisibleHeight","adjustForViewport","elFuturePos","elRegion","getRegion","h","getAlignOffset","region","align","V","H","getElFuturePos","refNodeRegion","points","targetOffset","p1","p2","diff","isFailX","isFailY","isCompleteFailX","isCompleteFailY","flip","reg","map","p","m","flipOffset","convertOffset","str","offsetLen","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","newPoints","newOffset","newTargetOffset","newElFuturePos","_newPoints","_newOffset","_newTargetOffset","_newElFuturePos","isStillFailX","isStillFailY","_newPoints2","isOutOfVisibleRect","targetRegion","alignElement","refNode","isTargetNotOutOfVisible","alignPoint","tgtPoint","pageX","pageY","pointInView","cloneElement","vnode","nodeProps","override","mergeRef","ele","filterEmpty","cloneVNode","warning","cloneVNodes","vnodes","triggerVNodeUpdate","vm","attrs","dom","VueRender","isSamePoint","next","restoreFocus","activeElement","container","contains","monitorResize","prevWidth","prevHeight","useBuffer","buffer","called","timeout","cancelTrigger","trigger","force","listCacheClear","eq","other","assocIndexOf","array","length","arrayProto","splice","listCacheDelete","data","lastIndex","listCacheGet","listCacheHas","listCacheSet","ListCache","stackClear","stackDelete","stackGet","stackHas","nativeCreate","getNative","hashClear","hashDelete","HASH_UNDEFINED","objectProto","hasOwnProperty","hashGet","hashHas","hashSet","Hash","mapCacheClear","Map","isKeyable","type","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","LARGE_ARRAY_SIZE","stackSet","pairs","Stack","setCacheAdd","setCacheHas","SetCache","values","arraySome","predicate","cacheHas","cache","COMPARE_PARTIAL_FLAG","COMPARE_UNORDERED_FLAG","equalArrays","bitmask","customizer","equalFunc","stack","isPartial","arrLength","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","Uint8Array","root","mapToArray","setToArray","set","boolTag","dateTag","errorTag","mapTag","numberTag","regexpTag","setTag","stringTag","symbolTag","arrayBufferTag","dataViewTag","symbolProto","Symbol","symbolValueOf","equalByTag","tag","convert","stacked","arrayPush","baseGetAllKeys","keysFunc","symbolsFunc","isArray","arrayFilter","resIndex","stubArray","propertyIsEnumerable","nativeGetSymbols","getSymbols","symbol","baseTimes","n","iteratee","MAX_SAFE_INTEGER","reIsUint","isIndex","arrayLikeKeys","inherited","isArr","isArg","isArguments","isBuff","isBuffer","isType","isTypedArray","skipIndexes","isArrayLike","baseKeys","getAllKeys","equalObjects","objProps","objLength","othProps","objStacked","skipCtor","objValue","objCtor","othCtor","argsTag","arrayTag","objectTag","baseIsEqualDeep","objIsArr","othIsArr","objTag","getTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","baseIsEqual","isObjectLike","isEqual","alignProps","getElement","func","getPoint","point","Align","cacheRef","nodeRef","forceAlign","cancelForceAlign","latestDisabled","latestTarget","latestAlign","latestOnAlign","isVisible","resizeMonitor","sourceResizeMonitor","goAlign","nextTick","winResizeRef","monitorWindowResize","addEventListener","child","tuple","getTransitionProps","getTransitionGroupProps","rootPrefixCls","PopupInner","alignRef","alignedClassName","stretchStyle","measureStretchStyle","toRef","timeoutId","prepareResolveRef","getAlignTarget","onInternalAlign","popupDomNode","matchAlign","nextAlignedClassName","preAlignedClassName","eventName","originFn","onShowPrepare","alignDisabled","destroyPopupOnHide","onMouseenter","onMouseleave","onTouchstart","onMousedown","statusValue","transitionProps","withModifiers","_vShow","Popup","innerVisible","inMobile","popupRef","rootRef","cloneProps","popupNode","isPointsEq","a1","a2","isAlignPoint","getAlignFromPlacement","builtinPlacements","placementStr","baseAlign","getAlignPopupClassName","placements","placement","BaseMixin","newState","s","getOptionProps","event","l","PortalContextKey","useProvidePortal","config","provide","sPopupVisible","forceRender","autoDestroy","shouldRender","useInjectPortal","portalContext","inject","Portal$1","isSSR","setContainer","onBeforeMount","stopWatch","Teleport","cached","getScrollBarSize","fresh","inner","outer","outerStyle","widthContained","widthScroll","UNIQUE_ID","uuid","isBodyOverflowing","useScrollLocker","lock","mergedLock","id","watchEffect","onClear","canUseDom","scrollbarSize","isOverflow","updateCSS","removeCSS","openCount","supportDom","getContainer","Portal","booleanType","componentRef","rafId","triggerUpdate","defaultContainer","removeCurrentContainer","attachToParent","setWrapperClassName","wrapperClassName","init","_ref2","_ref3","prevVisible","prevGetContainer","portal","childProps","ALL_HANDLERS","Trigger","popupPlacement","popupAlign","setPopupRef","popupVisible","currentDocument","mouseEnterDelay","vcTriggerContext","preTime","nextVisible","_c","_d","getTriggerDOMNode","domNode","className","getPopupClassNameFromAlign","mouseProps","handleGetPopupClassFromAlign","getRootDomNode","$attrs","popupAnimation","popupTransitionName","mobile","arrow","getComponent","popupContainer","getPopupContainer","mountNode","prevPopupVisible","onPopupVisibleChange","hasProp","delayS","events","getEvents","action","showAction","hideAction","children","getSlot","newChildProps","childrenClassName","_Fragment","KeyCode","attributes","eventsName","propList","ariaPrefix","dataPrefix","match","prefix","pickAttrs","ariaOnly","mergedConfig","OverflowContextProviderKey","OverflowContextProvider","useInjectOverflowContext","__rest","t","UNDEFINED","Item","mergedHidden","itemNodeRef","internalRegisterSize","invalidate","renderItem","responsive","registerSize","itemKey","display","order","Component","restProps","overflowStyle","overflowProps","RawItem","context","contextClassName","restContext","RESPONSIVE","INVALIDATE","defaultRenderRest","omittedItems","Overflow","emit","fullySSR","containerWidth","mergedContainerWidth","itemWidths","prevRestWidth","restWidth","suffixWidth","suffixFixedStart","displayCount","mergedDisplayCount","restReady","itemPrefixCls","mergedRestWidth","isResponsive","showRest","mergedData","items","getKey","mergedRenderItem","updateDisplayCount","count","notReady","onOverflowResize","_","clone","registerOverflowSize","registerSuffixSize","getItemWidth","totalWidth","len","currentItemWidth","displayRest","itemComponent","renderRawItem","renderRawRest","renderRest","suffix","restAttrs","suffixStyle","itemSharedProps","internalRenderItemNode","restNode","restContextProps","mergedRenderRest","overflowNode","useMergedState","defaultStateValue","defaultValue","initValue","unref","innerValue","mergedValue","triggerChange","newValue","preVal","toRaw","DownOutlined","AntdIcon","DownOutlinedSvg","CloseOutlined","CloseOutlinedSvg","CloseCircleFilled","CloseCircleFilledSvg","baseFindIndex","fromIndex","fromRight","baseIsNaN","strictIndexOf","baseIndexOf","arrayIncludes","INFINITY","createSet","Set","baseUniq","comparator","includes","isCommon","seenIndex","uniq","initMotionCommon","duration","initMotionCommonLeave","initMotion","motionCls","inKeyframes","outKeyframes","sameLevelPrefix","fadeIn","Keyframes","fadeOut","initFadeMotion","sameLevel","antCls","moveDownIn","moveDownOut","moveLeftIn","moveLeftOut","moveRightIn","moveRightOut","moveUpIn","moveUpOut","moveMotion","initMoveMotion","motionName","slideUpIn","slideUpOut","slideDownIn","slideDownOut","slideLeftIn","slideLeftOut","slideRightIn","slideRightOut","slideMotion","initSlideMotion","zoomIn","zoomOut","zoomBigIn","zoomBigOut","zoomUpIn","zoomUpOut","zoomLeftIn","zoomLeftOut","zoomRightIn","zoomRightOut","zoomDownIn","zoomDownOut","zoomMotion","initZoomMotion","genCollapseMotion","CheckCircleOutlined","CheckCircleOutlinedSvg","ExclamationCircleOutlined","ExclamationCircleOutlinedSvg","InfoCircleOutlined","InfoCircleOutlinedSvg","CloseCircleOutlined","CloseCircleOutlinedSvg","CheckCircleFilled","CheckCircleFilledSvg","ExclamationCircleFilled","ExclamationCircleFilledSvg","InfoCircleFilled","InfoCircleFilledSvg","autoAdjustOverflow","tooltipContentProps","Content$1","Tooltip$1","triggerDOM","getPopupElement","tipId","overlayInnerStyle","getPropsSlot","Content","destroyTooltip","destroyTooltipOnHide","keepParent","overlayClassName","mouseLeaveDelay","overlayStyle","afterVisibleChange","defaultVisible","extraProps","abstractTooltipProps","objectType","autoAdjustOverflowEnabled","autoAdjustOverflowDisabled","getOverflowOptions","getPlacements","arrowWidth","horizontalArrowShift","verticalArrowShift","arrowPointAtCenter","placementMap","firstNotUndefined","inverseColors","color","isPresetColor","parseColor","isInternalColor","arrowStyle","connectArrowCls","classList","showArrowCls","cls","MAX_VERTICAL_CONTENT_RADIUS","getArrowOffset","maxVerticalContentRadius","sizePopupArrow","contentRadius","borderRadiusOuter","limitVerticalRadius","arrowInnerOffset","dropdownArrowOffset","dropdownArrowOffsetVertical","getArrowStyle","componentCls","marginXXS","borderRadiusXS","boxShadowPopoverArrow","colorBg","dropdownArrowDistance","genTooltipStyle","tooltipMaxWidth","tooltipColor","tooltipBg","tooltipBorderRadius","zIndexPopup","controlHeight","boxShadowSecondary","paddingSM","paddingXS","tooltipRadiusOuter","resetComponent","mergeToken","useStyle$7","injectStyle","genComponentStyleHook","borderRadius","colorTextLightSolid","colorBgDefault","TooltipToken","zIndexPopupBase","colorBgSpotlight","splitObject","picked","omitted","tooltipProps","tooltipDefaultProps","ToolTip","initDefaultProps","deprecatedName","newName","direction","useConfigInject","mergedOpen","innerOpen","tooltip","isNoTitle","title","handleVisibleChange","noTitle","tooltipPlacements","mergedArrowPointAtCenter","isTrueProps","getDisabledCompatibleChildren","elementType","getStyle","spanStyle","buttonStyle","getOverlay","onPopupAlign","transformOrigin","colorInfo","injectFromPopover","wrapSSR","useStyle","openClassName","tempVisible","isValidElement","isFragment","childCls","customOverlayClassName","formattedOverlayInnerStyle","arrowContentStyle","vcTooltipProps","VcTooltip","Tooltip","withInstall","genBaseStyle","popoverBg","popoverColor","fontWeightStrong","popoverPadding","colorTextHeading","marginXS","colorBgElevated","genColorStyle","genWireframeStyle","lineWidth","lineType","colorSplit","fontSize","lineHeight","padding","titlePaddingBlockDist","popoverTitlePaddingBlockTop","popoverTitlePaddingBlockBottom","popoverPaddingHorizontal","useStyle$6","colorText","wireframe","popoverToken","popoverProps","anyType","Popover","tooltipRef","configProvider","content","hasTitle","hasContent","overlayCls","Popover$1","Dropdown$1","triggerVisible","triggerRef","onClick","onVisibleChange","getMenuElement","overlayElement","extraOverlayProps","skipFlattenKey","minOverlayWidthMatchTrigger","matchTrigger","renderChildren","triggerHideAction","otherProps","dropdownProps","someType","buttonTypesProps","buttonTypes","dropdownButtonProps","EllipsisOutlined","EllipsisOutlinedSvg","genButtonStyle","opacityLoading","genStatusStyle","menuCls","colorError","itemCls","iconCls","motionDurationMid","dropdownPaddingVertical","dropdownEdgeChildPadding","colorTextDisabled","fontSizeIcon","controlPaddingHorizontal","genFocusStyle","useStyle$5","paddingXXS","borderRadiusLG","dropdownToken","ButtonGroup","Button","DropdownButton","buttonPrefixCls","danger","loading","htmlType","overlay","open","_onVisibleChange","href","icon","_updateVisible","leftButton","rightButton","Dropdown","RightOutlined","RightOutlinedSvg","OverrideContextKey","useInjectOverride","useProvideOverride","mode","selectable","validator","expandIcon","renderOverlay","overlayNode","overlayProps","devWarning","overlayNodeExpandIcon","newPlacement","mergedVisible","dropdownTrigger","overlayClassNameCustomized","triggerActions","RcDropdown","shallowEqual","objA","objB","compare","compareContext","keysA","keysB","bHasOwnProperty","idx","valueA","valueB","shallowequal","MenuContextKey","useProvideMenu","useInjectMenu","ForceRenderKey","useProvideForceRender","useInjectForceRender","MenuFirstLevelContextKey","useProvideFirstLevel","firstLevel","useInjectFirstLevel","MenuContextProvider","menuContext","newContext","SiderCollapsedKey","OVERFLOW_KEY","KeyPathContext","useInjectKeyPath","useProvideKeyPath","eventKey","menuInfo","parentEventKeys","parentKeys","eventKeys","measure","PathContext","_props","useMeasure","useDirectionStyle","level","rtl","inlineIndent","indexGuid","menuItemProps","MenuItem","isMeasure","activeKeys","changeActiveKeys","inlineCollapsed","siderCollapsed","onItemClick","selectedKeys","registerMenuInfo","unRegisterMenuInfo","isActive","keysPath","mergedDisabled","selected","getEventInfo","onInternalClick","info","onMouseEnter","onMouseLeave","onInternalKeyDown","onInternalFocus","renderItemChildren","wrapNode","directionStyle","_e","childrenLength","tooltipTitle","optionRoleProps","placementsRtl","popupPlacementMap","PopupTrigger","subMenuOpenDelay","subMenuCloseDelay","triggerSubMenuAction","forceSubMenuRender","defaultMotions","rootClassName","visibleRef","mergedMotion","res","popupOffset","InternalSubMenuList","InlineSubMenuList","fixedMode","sameModeRef","destroy","SubMenuList","subMenuProps","SubMenu","vnodeKey","isValid","parentInfo","childrenEventKeys","k","contextDisabled","openKeys","overflowDisabled","onOpenChange","selectedSubMenuKeys","menuExpandIcon","theme","hasKey","subMenuPrefixCls","originOpen","childrenSelected","onInternalTitleClick","newVisible","popupId","renderTitle","titleIsSpan","triggerModeRef","renderMode","subMenuTriggerModeRef","baseTitleNode","subMenuPrefixClsValue","titleNode","hasClass","addClass","removeClass","originClass","collapseMotion","appear","menuItemGroupProps","ItemGroup","groupPrefixCls","menuDividerProps","Divider","convertItemsToNodes","list","store","parentMenuInfo","label","mergedKey","childrenNodes","MenuDivider","useItems","itemsNodes","hasItmes","newStore","getHorizontalStyle","motionDurationSlow","menuHorizontalHeight","menuItemPaddingInline","getRTLStyle","menuArrowOffset","accessibilityFocus","genFocusOutline","getThemeStyle","themeSuffix","colorItemText","colorItemTextSelected","colorGroupTitle","colorItemBg","colorSubItemBg","colorItemBgSelected","colorActiveBarHeight","colorActiveBarWidth","colorActiveBarBorderSize","motionEaseInOut","motionEaseOut","colorItemTextHover","colorItemTextDisabled","colorDangerItemText","colorDangerItemTextHover","colorDangerItemTextSelected","colorDangerItemBgActive","colorDangerItemBgSelected","colorItemBgHover","menuSubMenuBg","colorItemTextSelectedHorizontal","colorItemBgSelectedHorizontal","getVerticalInlineStyle","menuItemHeight","itemMarginInline","menuArrowSize","paddingWithArrow","getVerticalStyle","dropdownWidth","controlHeightLG","paddingXL","fontSizeSM","fontSizeLG","inlineItemStyle","textEllipsis","genMenuItemStyle","controlHeightSM","resetIcon","genSubMenuArrowStyle","getBaseStyle","radiusSubMenuItem","menuPanelMaskInset","clearFix","useStyle$4","overrideComponentToken","colorPrimary","colorErrorHover","menuToken","colorTextDark","TinyColor","menuDarkToken","colorErrorBg","colorTextDescription","colorBgContainer","colorFillAlter","colorFillContent","lineWidthBold","controlItemBgActive","colorBgTextHover","menuProps","EMPTY_LIST","Menu","getPrefixCls","isMounted","mergedSelectedKeys","keyMapStore","newKeyMapStore","subMenuParentKeys","triggerSelection","targetKey","exist","newSelectedKeys","selectInfo","mergedMode","mergedOpenKeys","triggerOpenKeys","isRtl","mergedInlineCollapsed","isInlineMode","inlineCacheOpenKeys","mountRef","getChildrenKeys","storeValue","onInternalOpenChange","newOpenKeys","subPathKeys","lastVisibleIndex","getChildrenList","childList","allVisible","getWrapperList","overflowedIndicator","omitItems","originOmitItems","newLastIndex","app","canUseDocElement","flexGapSupported","detectFlexGapSupported","flex","useFlexGapSupport","flexible","runtimeLocale","defaultLocale","changeConfirmLocale","newLocale","getConfirmLocale","ANT_MARK","LocaleProvider","locale","Notice","closeTimer","isUnMounted","startCloseTimer","close","clearCloseTimer","onClose","noticeKey","restartCloseTimer","preDuration","preUpdateMark","preVisible","newDuration","newUpdateMark","closable","closeIcon","holder","componentClass","dataOrAriaAttributeProps","acc","seed","now","getUuid","Notification","hookRefs","notices","add","originNotice","holderCallback","notice","maxCount","noticeIndex","updatedNotices","remove","removeKey","userPassKey","noticeNodes","updateMark","noticeProps","div","TransitionGroup","properties","appContext","customizePrefixCls","customRootPrefixCls","customTransitionName","hasTransitionName","Wrapper","_ref4","notiRef","globalConfigForApi","vueRender","global","ConfigProvider","createVNode","nextPlacements","placementList","noticesForPlacement","classes","noticeNodesForPlacement","onAfterLeave","defaultGetContainer","uniqueKey","mergeConfig","objList","useNotification","rootConfig","getClassName","getStyles","onAllRemoved","shareConfig","notificationsRef","removeNotice","contextHolder","HookNotification","taskQueue","api","task","genMessageStyle","colorSuccess","colorWarning","motionEaseInOutCirc","messageNoticeContentPadding","messageMoveIn","messageMoveOut","useStyle$3","combinedToken","TypeIcon","LoadingOutlined","PureContent","useConfigContextInject","DEFAULT_OFFSET","DEFAULT_DURATION","Holder","getNotificationMotion","mergedCloseIcon","useVcNotification","keyIndex","useInternalMessage","messageConfig","holderRef","holderKey","fakeResult","noticePrefixCls","restConfig","wrapPromiseFn","wrapAPI","typeOpen","jointContent","mergedDuration","mergedOnClose","useMessage","defaultDuration","defaultTop","messageInstance","localPrefixCls","getKeyThenIncreaseKey","setMessageConfig","getMessageInstance","typeToIcon","typeList","closePromise","Icon","iconNode","messageClass","filled","isArgsProps","messageKey","attachTypeApi","originalApi","genNotificationPlacementStyle","notificationMarginEdge","notificationTopFadeIn","notificationBottomFadeIn","notificationLeftFadeIn","genNotificationStyle","notificationMarginBottom","notificationBg","notificationPadding","notificationIconSize","noticeCls","notificationFadeIn","notificationFadeOut","useStyle$2","notificationPaddingVertical","notificationPaddingHorizontal","notificationToken","getCloseIcon","message","description","btn","renderHelper","getPlacementStyle","bottom","useInternalNotification","notificationConfig","notificationInstance","defaultBottom","defaultPrefixCls","defaultPlacement","defaultCloseIcon","setNotificationConfig","getNotificationInstance","globalConfig","cacheKey","cacheInstance","notificationClass","notification","outerPrefixCls","iconTypes","dynamicStyleMark","globalPrefixCls","variables","formatColor","updater","fillColor","colorVal","baseColor","colorPalettes","generate","primaryColor","primaryColors","c","primaryActiveColor","registerTheme","iconPrefixCls","useToken","useStyleRegister","useTheme","parentTheme","themeConfig","parentThemeConfig","defaultConfig","mergedComponents","componentName","getGlobalPrefixCls","getGlobalIconPrefixCls","defaultIconPrefixCls","globalConfigBySet","suffixCls","stopWatchEffect","setGlobalConfig","params","configProviderProps","parentContext","mergedPrefixCls","shouldWrapSSR","csp","mergedTheme","renderEmptyComponent","defaultRenderEmpty","autoInsertSpaceInButton","space","virtual","dropdownMatchSelectWidth","getTargetContainer","pageHeader","input","pagination","form","select","componentSize","componentDisabled","wave","memoTheme","algorithm","rest","themeObj","createTheme","defaultSeedToken","validateMessagesRef","validateMessages","useConfigContextProvider","useProvideGlobalForm","useProviderSize","useProviderDisabled","renderProvider","legacyLocale","_childNode","DesignTokenProvider","LocaleReceiver","__","dialogPropTypes","getMotionName","animationName","getUUID","sentinelStyle","entityStyle","sentinelStartRef","sentinelEndRef","dialogRef","contentStyleRef","contentStyle","onPrepare","elementOffset","onVisibleChanged","footer","ariaId","bodyProps","onMouseup","modalRender","destroyOnClose","footerNode","headerNode","closer","maskProps","Dialog","lastOutSideActiveElementRef","wrapperRef","contentRef","animatedVisible","ariaIdRef","onDialogVisibleChanged","preAnimatedVisible","onInternalClose","contentClickRef","contentTimeoutRef","onContentMouseDown","onContentMouseUp","onWrapperClick","onWrapperKeyDown","wrapClassName","wrapStyle","maskStyle","wrapProps","IDialogPropTypes","getDialogPropTypes","DialogWrap","afterClose","dialogProps","genModalMaskStyle","genModalStyle","genModalConfirmStyle","confirmComponentCls","genRTLStyle","headerPaddingVertical","headerFontSize","headerLineHeight","modalToken","mousePosition","getClickPosition","modalProps","Modal","useLocaleReceiver","handleCancel","handleOk","renderFooter","okText","okType","cancelText","confirmLoading","convertLegacyProps","centered","focusTriggerAfterClose","wrapClassNameExtended","useDestroyed","destroyed","actionButtonProps","isThenable","thing","ActionButton","clickedRef","buttonRef","isDestroyed","handlePromiseOnOk","returnValueOfOnOk","actionFn","buttonProps","renderSomeContent","someContent","ConfirmDialog","onCancel","onOk","keyboard","okButtonProps","cancelButtonProps","okCancel","maskClosable","mergedIcon","contentPrefixCls","mergedOkCancel","autoFocusButton","confirmPrefixCls","classString","mergedLocal","cancelButton","destroyFns","confirm","currentConfig","confirmDialogInstance","triggerCancel","param","_len2","update","configUpdate","render","withWarn","withInfo","withSuccess","withError","withConfirm","comfirmFuncProps","HookModal","innerConfig","contextLocale","ElementsHolder","modals","modal","currentModal","useModal","actionQueue","getConfirmFunc","withFunc","modalRef","configRef","updateConfig","updateAction","isRef","destroyAction","closeFunc","newConfig","fns","modalWarn","spaceSize","spaceProps","getNumberSize","Space","directionConfig","supportFlexGap","horizontalSize","verticalSize","mergedAlign","cn","marginDirection","gapStyle","wrap","split","itemClassName","horizontalSizeVal","latestIndex","originIndex","itemStyle","Compact","usePopconfirmStyle","popconfirmProps","stringType","Popconfirm","setOpen","settingOpen","onConfirm","onKeyDown","prefixClsConfirm","btnPrefixCls","popconfirmLocale","showCancel","okButton","cancelProps","okProps","overlayClassNames","APopconfirm","DeleteOutlined","DeleteOutlinedSvg","__props","useAttrs","useSlots","buttonAttrs","_title","_description","_okText","_cancelText","_okType","_okButtonProps","buttonSlots","slotKeys","filteredSlots","__emit","handleConfirm","_createBlock","_unref","MtnButton","_mergeProps","slotName","_withCtx","slotProps","_renderSlot","_ctx","_normalizeProps","_guardReactiveProps","$slots","_permission","_permissionAction","_debounceMs","MtnConfirmButton","_cache","$event","$emit","measureRef","useElementSize","dropdownOpen","activeItems","splitIndex","available","sum","visibleItems","collapsedItems","itemComp","MtnDeleteButton","itemProps","isConfirm","itemIcon","renderIcon","itemDanger","getConfirmDescription","getOkButtonProps","handleMenuItemClick","useDebounceFn","gap","_createElementBlock","_createElementVNode","_openBlock","_renderList","_toDisplayString","_resolveDynamicComponent","_createSlots","pascalCaseToKebabCase","MtnUIResolver","path","resolver","components","ActionGroup","ConfirmButton","DeleteButton","MtnUI","component","version"],"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,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220]}
|