{"version":3,"sources":["webpack:///./src/components/currentUserAvatar.vue","webpack:///./node_modules/@vicons/ionicons5/es/PersonCircleOutline.js","webpack:///./node_modules/@vicons/ionicons5/es/LogOutOutline.js","webpack:///./src/components/currentUserAvatar.vue?2e53","webpack:///./src/components/currentUserAvatar.vue?f7d0","webpack:///./node_modules/vooks/es/use-merged-state.js","webpack:///./node_modules/vooks/es/use-keyboard.js","webpack:///./node_modules/treemate/es/check.js","webpack:///./node_modules/treemate/es/path.js","webpack:///./node_modules/treemate/es/move.js","webpack:///./node_modules/treemate/es/flatten.js","webpack:///./node_modules/treemate/es/contains.js","webpack:///./node_modules/treemate/es/create.js","webpack:///./src/components/mainFooter.vue","webpack:///./node_modules/vooks/es/on-fonts-ready.js","webpack:///./node_modules/seemly/es/animation/next-frame-once.js","webpack:///./node_modules/treemate/es/utils.js","webpack:///./node_modules/naive-ui/es/_internal/icons/ChevronRight.js","webpack:///./node_modules/vueuc/es/binder/src/utils.js","webpack:///./node_modules/naive-ui/es/_internal/select-menu/src/interface.js","webpack:///./src/components/mainFooter.vue?5801","webpack:///./node_modules/vooks/es/use-compitable.js","webpack:///./node_modules/naive-ui/es/_utils/css/format-length.js","webpack:///./src/assets/img/icons/User.png","webpack:///./node_modules/naive-ui/es/popover/styles/_common.js","webpack:///./node_modules/naive-ui/es/popover/styles/light.js","webpack:///./node_modules/naive-ui/es/popover/src/Popover.js","webpack:///./src/assets/img/cbn.svg","webpack:///./node_modules/naive-ui/es/icon/styles/light.js","webpack:///./node_modules/naive-ui/es/icon/src/styles/index.cssr.js","webpack:///./node_modules/naive-ui/es/icon/src/Icon.js","webpack:///./node_modules/vueuc/es/binder/src/Target.js","webpack:///./node_modules/vueuc/es/binder/src/Binder.js","webpack:///./node_modules/naive-ui/es/_utils/vue/create-ref-setter.js","webpack:///./node_modules/naive-ui/es/dropdown/styles/_common.js","webpack:///./node_modules/naive-ui/es/dropdown/styles/light.js","webpack:///./node_modules/naive-ui/es/_utils/composable/index.js","webpack:///./node_modules/naive-ui/es/dropdown/src/utils.js","webpack:///./node_modules/naive-ui/es/dropdown/src/DropdownOption.js","webpack:///./node_modules/naive-ui/es/dropdown/src/DropdownDivider.js","webpack:///./node_modules/naive-ui/es/dropdown/src/DropdownGroupHeader.js","webpack:///./node_modules/naive-ui/es/dropdown/src/DropdownGroup.js","webpack:///./node_modules/naive-ui/es/dropdown/src/DropdownMenu.js","webpack:///./node_modules/naive-ui/es/dropdown/src/styles/index.cssr.js","webpack:///./node_modules/naive-ui/es/dropdown/src/Dropdown.js","webpack:///./node_modules/vueuc/es/shared/cssr.js","webpack:///./src/assets/logo.png","webpack:///./node_modules/vueuc/es/binder/src/get-placement-style.js","webpack:///./node_modules/vueuc/es/binder/src/Follower.js","webpack:///./node_modules/naive-ui/es/_utils/composable/use-adjusted-to.js","webpack:///./node_modules/vdirs/es/mousemoveoutside.js","webpack:///./node_modules/naive-ui/es/popover/src/styles/index.cssr.js","webpack:///./node_modules/naive-ui/es/popover/src/PopoverBody.js"],"names":["class","user","data","currentRoute","welcomeMessage","trigger","placement","options","dashboardOptions","show-arrow","changeRoute","src","photo","alt","xmlns","viewBox","d","fill","_hoisted_3","name","render","_ctx","_cache","stroke","_hoisted_4","components","NDropdown","setup","route","router","store","config","getters","firstName","renderIcon","icon","default","label","key","push","dispatch","then","location","assign","getCurrentRoute","path","value","includes","newRoute","__exports__","useMergedState","controlledStateRef","uncontrolledStateRef","undefined","useKeyboard","enabledRef","state","ctrl","command","win","shift","tab","keydown","keyup","keydownHandler","e","Object","keys","forEach","handler","stop","prevent","stopPropagation","preventDefault","keyupHandler","document","SubtreeNotLoadedError","Error","super","this","message","getExtendedCheckedKeySetAfterCheck","checkKeys","currentCheckedKeys","treeMate","getExtendedCheckedKeySet","concat","getAvailableAscendantNodeSet","uncheckedKeys","visitedKeys","Set","uncheckedKey","uncheckedTreeNode","treeNodeMap","get","nodeCursor","parent","disabled","has","add","getExtendedCheckedKeySetAfterUncheck","extendedCheckedKeySet","extendedKeySetToUncheck","ascendantKeySet","keysToRemove","delete","getCheckedKeys","checkedKeys","keysToCheck","keysToUncheck","indeterminateKeys","cascade","leafOnly","checkStrategy","Array","from","levelTreeNodeMap","checkStrategyIsParent","checkStrategyIsChild","syntheticCheckedKeySet","syntheticIndeterminateKeySet","maxLevel","Math","max","apply","level","levelIsZero","levelTreeNodes","levelTreeNode","isLeaf","levelTreeNodeKey","shallowLoaded","children","v","fullyChecked","partialChecked","allDisabled","childNode","childKey","isUnchecking","getChildren","visitedKeySet","extendedKeySet","checkedKey","checkedTreeNode","treeNode","STOP","rawNode","getPath","includeGroup","includeSelf","_a","mergedPath","keyPath","treeNodePath","ignored","isGroup","reverse","pop","map","getFirstAvailableNode","nodes","length","node","getNext","rawGetNext","loop","sibs","siblings","l","index","move","fromNode","dir","includeDisabled","iterate","rawGetPrev","getChildOptions","meet","endNode","traverse","child","nextNode","rawGetParent","start","end","delta","i","childInGroup","moveMethods","getParent","flatten","treeNodes","expandedKeys","expandedKeySet","flattenedNodes","contains","parentKey","createTreeNodes","rawNodes","nodeProto","create","isFirstChild","isLastChild","rawChildren","set","createTreeMate","Map","getDisabled","getIgnored","getIsGroup","getKey","getNode","tmNode","_getNode","getPrev","getChild","treemate","_b","fontsReady","fonts","ready","isFontReady","onFontsReady","cb","deactivated","onceCbs","paramsMap","WeakMap","flushOnceCallbacks","beforeNextFrameOnce","params","requestAnimationFrame","toArray","arg","isArray","TRAVERSE_COMMAND","traverseWithCb","callback","getNonLeafKeys","preserveGroup","defaultGetChildren","defaultGetKey","isIgnored","isShallowLoaded","isDisabled","isExpilicitlyNotLoaded","unwrapCheckedKeys","result","unwrapIndeterminateKeys","merge","originalKeys","keysToAdd","minus","type","createIndexGetter","viewMeasurer","ensureViewBoundingRect","getElementById","createElement","id","style","position","left","right","top","bottom","pointerEvents","visibility","body","appendChild","getBoundingClientRect","getPointRect","x","y","viewRect","height","width","getRect","el","elRect","getParentNode","nodeType","parentNode","getScrollParent","overflow","overflowX","overflowY","getComputedStyle","test","internalSelectionMenuInjectionKey","Symbol","internalSelectionMenuBodyInjectionKey","useCompitable","reactive","pureNumberRegex","numberRegex","formatLength","c","offset","attachPx","Number","exec","replace","String","module","exports","space","spaceArrow","arrowOffset","arrowOffsetVertical","arrowHeight","padding","vars","boxShadow2","popoverColor","textColor2","borderRadius","fontSize","dividerColor","color","textColor","boxShadow","popoverLight","common","self","bodyPropKeys","triggerEventMap","focus","click","hover","manual","appendEvents","vNode","events","eventName","props","originalHandler","args","textVNodeType","popoverBaseProps","show","Boolean","defaultShow","showArrow","delay","duration","raw","Function","displayDirective","arrowStyle","filp","animated","overlap","internalExtraClass","onClickoutside","onUpdateShow","onShow","validator","onHide","arrow","minWidth","maxWidth","popoverProps","internalRenderBody","inheritAttrs","isMountedRef","controlledShowRef","uncontrolledShowRef","mergedShowWithoutDisabledRef","mergedShowConsideringDisabledPropRef","getMergedDisabled","getMergedShow","compatibleShowArrowRef","mergedShowArrowRef","triggerVNode","bodyInstance","showTimerIdRef","hideTimerIdRef","positionManuallyRef","doUpdateShow","_onUpdateShow","syncPosition","clearShowTimer","showTimerId","window","clearTimeout","clearHideTimer","hideTimerId","handleFocus","mergedDisabled","handleBlur","handleMouseEnter","delayCallback","setTimeout","handleMouseLeave","delayedCallback","handleMouseMoveOutside","handleClickOutside","call","handleClick","nextShow","setShow","getTriggerElement","setBodyInstance","extraClassRef","internalRenderBodyRef","positionManually","mergedShowConsideringDisabledProp","uncontrolledShow","mergedShowArrow","$slots","slots","activator","onClick","onMouseenter","onMouseleave","onFocus","onBlur","setTriggerVNode","mergedShow","$props","$attrs","textColorBase","opacity1","opacity2","opacity3","opacity4","opacity5","opacity1Depth","opacity2Depth","opacity3Depth","opacity4Depth","opacity5Depth","iconLight","transition","opacity","_n_icon__","depth","size","mergedClsPrefixRef","themeRef","mergedClsPrefix","mergedStyle","cssVars","cubicBezierEaseInOut","$parent","$options","warn","role","setTargetRef","setTargetDirective","mounted","updated","Binder","proxy","targetRef","scrollableNodes","ensureScrollListener","cursor","onScroll","removeScrollListeners","followerScrollListeners","addScrollListener","listener","removeScrollListener","onScrollRaf","followerResizeListeners","addResizeListener","onResize","removeResizeListener","createRefSetter","ref","inst","$el","optionIconSizeSmall","optionIconSizeMedium","optionIconSizeLarge","optionIconSizeHuge","optionSuffixWidthSmall","optionSuffixWidthMedium","optionSuffixWidthLarge","optionSuffixWidthHuge","optionIconSuffixWidthSmall","optionIconSuffixWidthMedium","optionIconSuffixWidthLarge","optionIconSuffixWidthHuge","optionPrefixWidthSmall","optionPrefixWidthMedium","optionPrefixWidthLarge","optionPrefixWidthHuge","optionIconPrefixWidthSmall","optionIconPrefixWidthMedium","optionIconPrefixWidthLarge","optionIconPrefixWidthHuge","primaryColor","hoverColor","invertedColor","fontSizeSmall","fontSizeMedium","fontSizeLarge","fontSizeHuge","heightSmall","heightMedium","heightLarge","heightHuge","textColor3","opacityDisabled","optionHeightSmall","optionHeightMedium","optionHeightLarge","optionHeightHuge","optionTextColor","optionTextColorHover","optionTextColorActive","optionTextColorChildActive","suffixColor","prefixColor","optionColorHover","optionColorActive","alpha","groupHeaderTextColor","optionTextColorInverted","optionTextColorHoverInverted","optionTextColorActiveInverted","optionTextColorChildActiveInverted","colorInverted","dividerColorInverted","suffixColorInverted","prefixColorInverted","optionColorHoverInverted","optionColorActiveInverted","groupHeaderTextColorInverted","optionOpacityDisabled","dropdownLight","peers","Popover","useDeferredTrue","valueRef","shouldDelayRef","delayedRef","timerId","isSubmenuNode","isGroupNode","isDividerNode","dropdownOptionInjectionKey","clsPrefix","required","dropdownInjectionKey","hoverKeyRef","keyboardKeyRef","lastToggledSubmenuKeyRef","pendingKeyPathRef","activeKeyPathRef","animatedRef","mergedShowRef","renderLabelRef","renderIconRef","NDropdownOption","NDropdownMenu","dropdownMenuInjectionKey","rawNodeRef","hasSubmenuRef","mergedDisabledRef","showSubmenuRef","hoverKey","keyboardKey","lastToggledSubmenuKey","pendingKeyPath","deferredShowSubmenuRef","parentEnteringSubmenuRef","enteringSubmenuRef","handleSubmenuBeforeEnter","handleSubmenuAfterEnter","handleMouseMove","relatedTarget","hasAttribute","hasSubmenu","doSelect","renderLabel","siblingHasIcon","showIconRef","siblingHasSubmenu","mergedShowSubmenu","pending","childActive","activeKeyPath","findIndex","k","active","submenuVNode","tmNodes","builtinProps","onMousemove","title","ChevronRight","teleportDisabled","onBeforeEnter","onAfterEnter","appear","showIcon","some","rawChild","backgroundColor","whiteSpace","flex","treemateOptions","dropdownBaseProps","keyboard","inverted","onSelect","popoverPropKeys","treemateRef","tmNodesRef","pendingKeyRef","_c","keyboardEnabledRef","ArrowUp","handleKeyDownUp","ArrowRight","handleKeyDownRight","ArrowDown","handleKeyDownDown","ArrowLeft","handleKeyDownLeft","Escape","handleKeyDownEsc","Enter","handleKeyUpEnter","clearPendingState","handleKeyDown","pendingNode","getPendingNode","pendingKey","direction","nextKeyboardKey","firstNode","currentNode","mergedTheme","optionIconSuffixWidth","optionSuffixWidth","optionIconPrefixWidth","optionPrefixWidth","optionHeight","optionIconSize","renderPopoverBody","className","dropdownProps","theme","themeOverrides","peerOverrides","keep","_","oppositionPositions","oppositeAligns","center","propToCompare","transformOrigins","overlapTransformOrigin","oppositeAlignCssPositionProps","getProperPlacementOfFollower","targetRect","followerRect","flip","align","split","properAlign","oppositeAlignCssPositionProp","currentAlignCssPositionProp","oppositeAlignCssSizeProp","properPosition","getProperTransformOrigin","getOffset","offsetRect","transform","zIndex","enabled","syncTrigger","to","containerClass","zindexable","VBinder","mergedEnabledRef","followerRef","offsetContainerRef","ensureListeners","removeListeners","ssrAdapter","mount","head","ssr","follower","target","setAttribute","removeAttribute","offsetContainerRect","properPlacement","properTransformOrigin","transformOrigin","syncOnNextTick","catch","console","error","prop","mergedToRef","mergedEnabled","mergedTo","useAdjustedTo","modal","drawer","popover","selectMenu","tdkey","propTo","ctxKey","mousemoveoutside","ctx","oppositePlacement","placementStyle","arrowStyleLiteral","sizeStyle","popoverBodyProps","renderArrow","attrs","namespaceRef","NPopover","bodyRef","followerEnabledRef","directivesRef","directives","clickoutside","styleRef","cssVarsRef","cubicBezierEaseIn","cubicBezierEaseOut","renderContentNode","contentNode","renderBody","extraClass","header","namespace","adjustedTo","followerEnabled","onEnter","onAfterLeave"],"mappings":"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","file":"js/chunk-3cf47126.304a6a92.js","sourcesContent":["\r\n \r\n
{{welcomeMessage}} \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, defineComponent } from 'vue'\nconst _hoisted_1 = {\n xmlns: 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink',\n viewBox: '0 0 512 512'\n}\nconst _hoisted_2 = /*#__PURE__*/ _createVNode(\n 'path',\n {\n d: 'M258.9 48C141.92 46.42 46.42 141.92 48 258.9c1.56 112.19 92.91 203.54 205.1 205.1c117 1.6 212.48-93.9 210.88-210.88C462.44 140.91 371.09 49.56 258.9 48zm126.42 327.25a4 4 0 0 1-6.14-.32a124.27 124.27 0 0 0-32.35-29.59C321.37 329 289.11 320 256 320s-65.37 9-90.83 25.34a124.24 124.24 0 0 0-32.35 29.58a4 4 0 0 1-6.14.32A175.32 175.32 0 0 1 80 259c-1.63-97.31 78.22-178.76 175.57-179S432 158.81 432 256a175.32 175.32 0 0 1-46.68 119.25z',\n fill: 'currentColor'\n },\n null,\n -1\n /* HOISTED */\n)\nconst _hoisted_3 = /*#__PURE__*/ _createVNode(\n 'path',\n {\n d: 'M256 144c-19.72 0-37.55 7.39-50.22 20.82s-19 32-17.57 51.93C191.11 256 221.52 288 256 288s64.83-32 67.79-71.24c1.48-19.74-4.8-38.14-17.68-51.82C293.39 151.44 275.59 144 256 144z',\n fill: 'currentColor'\n },\n null,\n -1\n /* HOISTED */\n)\nexport default defineComponent({\n name: 'PersonCircleOutline',\n render: function render(_ctx, _cache) {\n return _openBlock(), _createBlock('svg', _hoisted_1, [_hoisted_2, _hoisted_3])\n }\n})\n","import { createVNode as _createVNode, openBlock as _openBlock, createBlock as _createBlock, defineComponent } from 'vue'\nconst _hoisted_1 = {\n xmlns: 'http://www.w3.org/2000/svg',\n 'xmlns:xlink': 'http://www.w3.org/1999/xlink',\n viewBox: '0 0 512 512'\n}\nconst _hoisted_2 = /*#__PURE__*/ _createVNode(\n 'path',\n {\n d: 'M304 336v40a40 40 0 0 1-40 40H104a40 40 0 0 1-40-40V136a40 40 0 0 1 40-40h152c22.09 0 48 17.91 48 40v40',\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '32'\n },\n null,\n -1\n /* HOISTED */\n)\nconst _hoisted_3 = /*#__PURE__*/ _createVNode(\n 'path',\n {\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '32',\n d: 'M368 336l80-80l-80-80'\n },\n null,\n -1\n /* HOISTED */\n)\nconst _hoisted_4 = /*#__PURE__*/ _createVNode(\n 'path',\n {\n fill: 'none',\n stroke: 'currentColor',\n 'stroke-linecap': 'round',\n 'stroke-linejoin': 'round',\n 'stroke-width': '32',\n d: 'M176 256h256'\n },\n null,\n -1\n /* HOISTED */\n)\nexport default defineComponent({\n name: 'LogOutOutline',\n render: function render(_ctx, _cache) {\n return _openBlock(), _createBlock('svg', _hoisted_1, [_hoisted_2, _hoisted_3, _hoisted_4])\n }\n})\n","import { render } from \"./currentUserAvatar.vue?vue&type=template&id=117c7b72&scoped=true\"\nimport script from \"./currentUserAvatar.vue?vue&type=script&lang=js\"\nexport * from \"./currentUserAvatar.vue?vue&type=script&lang=js\"\n\nimport \"./currentUserAvatar.vue?vue&type=style&index=0&id=117c7b72&lang=scss&scoped=true\"\n\nimport exportComponent from \"C:\\\\Users\\\\augustine.ibe\\\\Desktop\\\\AustinXP\\\\payout-fe\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-117c7b72\"]])\n\nexport default __exports__","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./currentUserAvatar.vue?vue&type=style&index=0&id=117c7b72&lang=scss&scoped=true\"","import { watch, computed } from 'vue';\nexport default function useMergedState(controlledStateRef, uncontrolledStateRef) {\n watch(controlledStateRef, value => {\n if (value !== undefined) {\n uncontrolledStateRef.value = value;\n }\n });\n return computed(() => {\n if (controlledStateRef.value === undefined) {\n return uncontrolledStateRef.value;\n }\n return controlledStateRef.value;\n });\n}\n","import { onBeforeMount, onBeforeUnmount, reactive, readonly, watch } from 'vue';\nimport { on, off } from 'evtd';\nimport { hasInstance } from './utils';\nexport default function useKeyboard(options = {}, enabledRef) {\n const state = reactive({\n ctrl: false,\n command: false,\n win: false,\n shift: false,\n tab: false\n });\n const { keydown, keyup } = options;\n const keydownHandler = (e) => {\n switch (e.key) {\n case 'Control':\n state.ctrl = true;\n break;\n case 'Meta':\n state.command = true;\n state.win = true;\n break;\n case 'Shift':\n state.shift = true;\n break;\n case 'Tab':\n state.tab = true;\n break;\n }\n if (keydown !== undefined) {\n Object.keys(keydown).forEach(key => {\n if (key !== e.key)\n return;\n const handler = keydown[key];\n if (typeof handler === 'function') {\n handler(e);\n }\n else {\n const { stop = false, prevent = false } = handler;\n if (stop)\n e.stopPropagation();\n if (prevent)\n e.preventDefault();\n handler.handler(e);\n }\n });\n }\n };\n const keyupHandler = (e) => {\n switch (e.key) {\n case 'Control':\n state.ctrl = false;\n break;\n case 'Meta':\n state.command = false;\n state.win = false;\n break;\n case 'Shift':\n state.shift = false;\n break;\n case 'Tab':\n state.tab = false;\n break;\n }\n if (keyup !== undefined) {\n Object.keys(keyup).forEach(key => {\n if (key !== e.key)\n return;\n const handler = keyup[key];\n if (typeof handler === 'function') {\n handler(e);\n }\n else {\n const { stop = false, prevent = false } = handler;\n if (stop)\n e.stopPropagation();\n if (prevent)\n e.preventDefault();\n handler.handler(e);\n }\n });\n }\n };\n const setup = () => {\n if (enabledRef === undefined || enabledRef.value) {\n on('keydown', document, keydownHandler);\n on('keyup', document, keyupHandler);\n }\n if (enabledRef !== undefined) {\n watch(enabledRef, value => {\n if (value) {\n on('keydown', document, keydownHandler);\n on('keyup', document, keyupHandler);\n }\n else {\n off('keydown', document, keydownHandler);\n off('keyup', document, keyupHandler);\n }\n });\n }\n };\n if (hasInstance()) {\n onBeforeMount(setup);\n onBeforeUnmount(() => {\n if (enabledRef === undefined || enabledRef.value) {\n off('keydown', document, keydownHandler);\n off('keyup', document, keyupHandler);\n }\n });\n }\n else {\n setup();\n }\n return readonly(state);\n}\n","import { isExpilicitlyNotLoaded, merge, minus, traverseWithCb, TRAVERSE_COMMAND } from './utils';\nexport class SubtreeNotLoadedError extends Error {\n constructor() {\n super();\n this.message =\n 'SubtreeNotLoadedError: checking a subtree whose required nodes are not fully loaded.';\n }\n}\nfunction getExtendedCheckedKeySetAfterCheck(checkKeys, currentCheckedKeys, treeMate) {\n return getExtendedCheckedKeySet(currentCheckedKeys.concat(checkKeys), treeMate);\n}\nfunction getAvailableAscendantNodeSet(uncheckedKeys, treeMate) {\n const visitedKeys = new Set();\n uncheckedKeys.forEach((uncheckedKey) => {\n const uncheckedTreeNode = treeMate.treeNodeMap.get(uncheckedKey);\n if (uncheckedTreeNode !== undefined) {\n let nodeCursor = uncheckedTreeNode.parent;\n while (nodeCursor !== null) {\n if (nodeCursor.disabled)\n break;\n if (visitedKeys.has(nodeCursor.key))\n break;\n else {\n visitedKeys.add(nodeCursor.key);\n }\n nodeCursor = nodeCursor.parent;\n }\n }\n });\n return visitedKeys;\n}\nfunction getExtendedCheckedKeySetAfterUncheck(uncheckedKeys, currentCheckedKeys, treeMate) {\n const extendedCheckedKeySet = getExtendedCheckedKeySet(currentCheckedKeys, treeMate);\n const extendedKeySetToUncheck = getExtendedCheckedKeySet(uncheckedKeys, treeMate, true);\n const ascendantKeySet = getAvailableAscendantNodeSet(uncheckedKeys, treeMate);\n const keysToRemove = [];\n extendedCheckedKeySet.forEach((key) => {\n if (extendedKeySetToUncheck.has(key) || ascendantKeySet.has(key)) {\n keysToRemove.push(key);\n }\n });\n keysToRemove.forEach((key) => extendedCheckedKeySet.delete(key));\n return extendedCheckedKeySet;\n}\nexport function getCheckedKeys(options, treeMate) {\n const { checkedKeys, keysToCheck, keysToUncheck, indeterminateKeys, cascade, leafOnly, checkStrategy } = options;\n if (!cascade) {\n if (keysToCheck !== undefined) {\n return {\n checkedKeys: merge(checkedKeys, keysToCheck),\n indeterminateKeys: Array.from(indeterminateKeys)\n };\n }\n else if (keysToUncheck !== undefined) {\n return {\n checkedKeys: minus(checkedKeys, keysToUncheck),\n indeterminateKeys: Array.from(indeterminateKeys)\n };\n }\n else {\n return {\n checkedKeys: Array.from(checkedKeys),\n indeterminateKeys: Array.from(indeterminateKeys)\n };\n }\n }\n const { levelTreeNodeMap } = treeMate;\n let extendedCheckedKeySet;\n if (keysToUncheck !== undefined) {\n extendedCheckedKeySet = getExtendedCheckedKeySetAfterUncheck(keysToUncheck, checkedKeys, treeMate);\n }\n else if (keysToCheck !== undefined) {\n extendedCheckedKeySet = getExtendedCheckedKeySetAfterCheck(keysToCheck, checkedKeys, treeMate);\n }\n else {\n extendedCheckedKeySet = getExtendedCheckedKeySet(checkedKeys, treeMate);\n }\n const checkStrategyIsParent = checkStrategy === 'parent';\n const checkStrategyIsChild = checkStrategy === 'child' || leafOnly;\n const syntheticCheckedKeySet = extendedCheckedKeySet;\n const syntheticIndeterminateKeySet = new Set();\n const maxLevel = Math.max.apply(null, Array.from(levelTreeNodeMap.keys()));\n // cascade check\n // 1. if tree is fully loaded, it just works\n // 2. if the tree is not fully loaded, we assume that keys which is in not\n // loaded tree are not in checked keys\n // for example:\n // a -- b(fully-loaded) -- c(fully-loaded)\n // |- d(partial-loaded) -- ?e(not-loaded)\n // in the case, `e` is assumed not to be checked, nor we can't calc `d`'s\n // and `a`'s status\n for (let level = maxLevel; level >= 0; level -= 1) {\n const levelIsZero = level === 0;\n // it should exists, nor it is a bug\n const levelTreeNodes = levelTreeNodeMap.get(level);\n for (const levelTreeNode of levelTreeNodes) {\n if (levelTreeNode.isLeaf)\n continue;\n const { key: levelTreeNodeKey, shallowLoaded } = levelTreeNode;\n if (checkStrategyIsChild && shallowLoaded) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n levelTreeNode.children.forEach((v) => {\n if (!v.disabled &&\n !v.isLeaf &&\n v.shallowLoaded &&\n syntheticCheckedKeySet.has(v.key)) {\n syntheticCheckedKeySet.delete(v.key);\n }\n });\n }\n if (levelTreeNode.disabled || !shallowLoaded) {\n continue;\n }\n let fullyChecked = true;\n let partialChecked = false;\n let allDisabled = true;\n // it is shallow loaded, so `children` must exist\n for (const childNode of levelTreeNode.children) {\n const childKey = childNode.key;\n if (childNode.disabled)\n continue;\n if (allDisabled)\n allDisabled = false;\n if (syntheticCheckedKeySet.has(childKey)) {\n partialChecked = true;\n }\n else if (syntheticIndeterminateKeySet.has(childKey)) {\n partialChecked = true;\n fullyChecked = false;\n break;\n }\n else {\n fullyChecked = false;\n if (partialChecked) {\n break;\n }\n }\n }\n if (fullyChecked && !allDisabled) {\n if (checkStrategyIsParent) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n levelTreeNode.children.forEach((v) => {\n if (!v.disabled && syntheticCheckedKeySet.has(v.key)) {\n syntheticCheckedKeySet.delete(v.key);\n }\n });\n }\n syntheticCheckedKeySet.add(levelTreeNodeKey);\n }\n else if (partialChecked) {\n syntheticIndeterminateKeySet.add(levelTreeNodeKey);\n }\n if (levelIsZero &&\n checkStrategyIsChild &&\n syntheticCheckedKeySet.has(levelTreeNodeKey)) {\n syntheticCheckedKeySet.delete(levelTreeNodeKey);\n }\n }\n }\n return {\n checkedKeys: Array.from(syntheticCheckedKeySet),\n indeterminateKeys: Array.from(syntheticIndeterminateKeySet)\n };\n}\n// unchecking is safe when doing cascade uncheck in async mode\nexport function getExtendedCheckedKeySet(checkedKeys, treeMate, isUnchecking = false) {\n const { treeNodeMap, getChildren } = treeMate;\n const visitedKeySet = new Set();\n const extendedKeySet = new Set(checkedKeys);\n checkedKeys.forEach((checkedKey) => {\n const checkedTreeNode = treeNodeMap.get(checkedKey);\n if (checkedTreeNode !== undefined) {\n traverseWithCb(checkedTreeNode, (treeNode) => {\n if (treeNode.disabled) {\n return TRAVERSE_COMMAND.STOP;\n }\n const { key } = treeNode;\n if (visitedKeySet.has(key))\n return;\n visitedKeySet.add(key);\n // Adding keys before loaded check is okay, since if not valid error\n // would be thrown\n extendedKeySet.add(key);\n if (isExpilicitlyNotLoaded(treeNode.rawNode, getChildren)) {\n if (isUnchecking) {\n return TRAVERSE_COMMAND.STOP;\n }\n else {\n throw new SubtreeNotLoadedError();\n }\n }\n });\n }\n });\n return extendedKeySet;\n}\n","export function getPath(key, { includeGroup = false, includeSelf = true }, treeMate) {\n var _a;\n const treeNodeMap = treeMate.treeNodeMap;\n let treeNode = key === null || key === undefined ? null : (_a = treeNodeMap.get(key)) !== null && _a !== void 0 ? _a : null;\n const mergedPath = {\n keyPath: [],\n treeNodePath: [],\n treeNode: treeNode\n };\n if (treeNode === null || treeNode === void 0 ? void 0 : treeNode.ignored) {\n mergedPath.treeNode = null;\n return mergedPath;\n }\n while (treeNode) {\n if (!treeNode.ignored && (includeGroup || !treeNode.isGroup)) {\n mergedPath.treeNodePath.push(treeNode);\n }\n treeNode = treeNode.parent;\n }\n mergedPath.treeNodePath.reverse();\n if (!includeSelf)\n mergedPath.treeNodePath.pop();\n mergedPath.keyPath = mergedPath.treeNodePath.map((treeNode) => treeNode.key);\n return mergedPath;\n}\n","export function getFirstAvailableNode(nodes) {\n if (nodes.length === 0)\n return null;\n const node = nodes[0];\n if (node.isGroup || node.ignored || node.disabled) {\n return node.getNext();\n }\n return node;\n}\nfunction rawGetNext(node, loop) {\n const sibs = node.siblings;\n const l = sibs.length;\n const { index } = node;\n if (loop) {\n return sibs[(index + 1) % l];\n }\n else {\n if (index === sibs.length - 1)\n return null;\n return sibs[index + 1];\n }\n}\nfunction move(fromNode, dir, { loop = false, includeDisabled = false } = {}) {\n const iterate = dir === 'prev' ? rawGetPrev : rawGetNext;\n const getChildOptions = {\n reverse: dir === 'prev'\n };\n let meet = false;\n let endNode = null;\n function traverse(node) {\n if (node === null)\n return;\n if (node === fromNode) {\n if (!meet) {\n meet = true;\n }\n else if (!fromNode.disabled && !fromNode.isGroup) {\n endNode = fromNode;\n return;\n }\n }\n else {\n if ((!node.disabled || includeDisabled) &&\n !node.ignored &&\n !node.isGroup) {\n endNode = node;\n return;\n }\n }\n if (node.isGroup) {\n const child = getChild(node, getChildOptions);\n if (child !== null) {\n endNode = child;\n }\n else {\n traverse(iterate(node, loop));\n }\n }\n else {\n const nextNode = iterate(node, false);\n if (nextNode !== null) {\n traverse(nextNode);\n }\n else {\n const parent = rawGetParent(node);\n if (parent === null || parent === void 0 ? void 0 : parent.isGroup) {\n traverse(iterate(parent, loop));\n }\n else if (loop) {\n traverse(iterate(node, true));\n }\n }\n }\n }\n traverse(fromNode);\n return endNode;\n}\nfunction rawGetPrev(node, loop) {\n const sibs = node.siblings;\n const l = sibs.length;\n const { index } = node;\n if (loop) {\n return sibs[(index - 1 + l) % l];\n }\n else {\n if (index === 0)\n return null;\n return sibs[index - 1];\n }\n}\nfunction rawGetParent(node) {\n return node.parent;\n}\nfunction getChild(node, options = {}) {\n const { reverse = false } = options;\n const { children } = node;\n if (children) {\n const { length } = children;\n const start = reverse ? length - 1 : 0;\n const end = reverse ? -1 : length;\n const delta = reverse ? -1 : 1;\n for (let i = start; i !== end; i += delta) {\n const child = children[i];\n if (!child.disabled && !child.ignored) {\n if (child.isGroup) {\n const childInGroup = getChild(child, options);\n if (childInGroup !== null)\n return childInGroup;\n }\n else {\n return child;\n }\n }\n }\n }\n return null;\n}\nexport const moveMethods = {\n getChild() {\n if (this.ignored)\n return null;\n return getChild(this);\n },\n getParent() {\n const { parent } = this;\n if (parent === null || parent === void 0 ? void 0 : parent.isGroup) {\n return parent.getParent();\n }\n return parent;\n },\n getNext(options = {}) {\n return move(this, 'next', options);\n },\n getPrev(options = {}) {\n return move(this, 'prev', options);\n }\n};\n","export function flatten(treeNodes, expandedKeys) {\n const expandedKeySet = expandedKeys ? new Set(expandedKeys) : undefined;\n const flattenedNodes = [];\n function traverse(treeNodes) {\n treeNodes.forEach((treeNode) => {\n flattenedNodes.push(treeNode);\n if (treeNode.isLeaf || !treeNode.children || treeNode.ignored)\n return;\n if (treeNode.isGroup) {\n // group node shouldn't be expanded\n traverse(treeNode.children);\n }\n else if (\n // normal non-leaf node\n expandedKeySet === undefined ||\n expandedKeySet.has(treeNode.key)) {\n traverse(treeNode.children);\n }\n });\n }\n traverse(treeNodes);\n return flattenedNodes;\n}\n","export function contains(parent, child) {\n const parentKey = parent.key;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (child) {\n if (child.key === parentKey)\n return true;\n child = child.parent;\n }\n return false;\n}\n","import { getCheckedKeys } from './check';\nimport { toArray, isDisabled, isLeaf, isGroup, isNodeInvalid, unwrapCheckedKeys, isShallowLoaded, unwrapIndeterminateKeys, getNonLeafKeys, isIgnored, defaultGetChildren, defaultGetKey } from './utils';\nimport { getPath } from './path';\nimport { moveMethods, getFirstAvailableNode } from './move';\nimport { flatten } from './flatten';\nimport { contains } from './contains';\nfunction createTreeNodes(rawNodes, treeNodeMap, levelTreeNodeMap, nodeProto, getChildren, parent = null, level = 0) {\n const treeNodes = [];\n rawNodes.forEach((rawNode, index) => {\n var _a;\n if (process.env.NODE_ENV !== 'production' && isNodeInvalid(rawNode, getChildren)) {\n console.error('[treemate]: node', rawNode, 'is invalid');\n }\n const treeNode = Object.create(nodeProto);\n treeNode.rawNode = rawNode;\n treeNode.siblings = treeNodes;\n treeNode.level = level;\n treeNode.index = index;\n treeNode.isFirstChild = index === 0;\n treeNode.isLastChild = index + 1 === rawNodes.length;\n treeNode.parent = parent;\n if (!treeNode.ignored) {\n const rawChildren = getChildren(rawNode);\n if (rawChildren !== undefined) {\n treeNode.children = createTreeNodes(rawChildren, treeNodeMap, levelTreeNodeMap, nodeProto, getChildren, treeNode, level + 1);\n }\n }\n treeNodes.push(treeNode);\n treeNodeMap.set(treeNode.key, treeNode);\n if (!levelTreeNodeMap.has(level))\n levelTreeNodeMap.set(level, []);\n (_a = levelTreeNodeMap.get(level)) === null || _a === void 0 ? void 0 : _a.push(treeNode);\n });\n return treeNodes;\n}\nexport function createTreeMate(rawNodes, options = {}) {\n const treeNodeMap = new Map();\n const levelTreeNodeMap = new Map();\n const { getDisabled = isDisabled, getIgnored = isIgnored, getChildren = defaultGetChildren, getIsGroup = isGroup, getKey = defaultGetKey } = options;\n const nodeProto = Object.assign({\n get key() {\n // do not pass parent or related things to it\n // the key need to be specified explicitly\n return getKey(this.rawNode);\n },\n get disabled() {\n return getDisabled(this.rawNode);\n },\n get isGroup() {\n return getIsGroup(this.rawNode);\n },\n get isLeaf() {\n return isLeaf(this.rawNode, getChildren);\n },\n get shallowLoaded() {\n return isShallowLoaded(this.rawNode);\n },\n get ignored() {\n return getIgnored(this.rawNode);\n },\n contains(node) {\n return contains(this, node);\n }\n }, moveMethods);\n const treeNodes = createTreeNodes(rawNodes, treeNodeMap, levelTreeNodeMap, nodeProto, getChildren);\n function getNode(key) {\n if (key === null || key === undefined)\n return null;\n const tmNode = treeNodeMap.get(key);\n if (tmNode && !tmNode.isGroup && !tmNode.ignored) {\n return tmNode;\n }\n return null;\n }\n function _getNode(key) {\n if (key === null || key === undefined)\n return null;\n const tmNode = treeNodeMap.get(key);\n if (tmNode && !tmNode.ignored) {\n return tmNode;\n }\n return null;\n }\n function getPrev(key, options) {\n const node = _getNode(key);\n if (!node)\n return null;\n return node.getPrev(options);\n }\n function getNext(key, options) {\n const node = _getNode(key);\n if (!node)\n return null;\n return node.getNext(options);\n }\n function getParent(key) {\n const node = _getNode(key);\n if (!node)\n return null;\n return node.getParent();\n }\n function getChild(key) {\n const node = _getNode(key);\n if (!node)\n return null;\n return node.getChild();\n }\n const treemate = {\n treeNodes,\n treeNodeMap,\n levelTreeNodeMap,\n maxLevel: Math.max(...levelTreeNodeMap.keys()),\n getChildren,\n getFlattenedNodes(expandedKeys) {\n return flatten(treeNodes, expandedKeys);\n },\n getNode,\n getPrev,\n getNext,\n getParent,\n getChild,\n getFirstAvailableNode() {\n return getFirstAvailableNode(treeNodes);\n },\n getPath(key, options = {}) {\n return getPath(key, options, treemate);\n },\n getCheckedKeys(checkedKeys, options = {}) {\n const { cascade = true, leafOnly = false, checkStrategy = 'all' } = options;\n return getCheckedKeys({\n checkedKeys: unwrapCheckedKeys(checkedKeys),\n indeterminateKeys: unwrapIndeterminateKeys(checkedKeys),\n cascade,\n leafOnly,\n checkStrategy\n }, treemate);\n },\n check(keysToCheck, checkedKeys, options = {}) {\n const { cascade = true, leafOnly = false, checkStrategy = 'all' } = options;\n return getCheckedKeys({\n checkedKeys: unwrapCheckedKeys(checkedKeys),\n indeterminateKeys: unwrapIndeterminateKeys(checkedKeys),\n keysToCheck: keysToCheck === undefined || keysToCheck === null\n ? []\n : toArray(keysToCheck),\n cascade,\n leafOnly,\n checkStrategy\n }, treemate);\n },\n uncheck(keysToUncheck, checkedKeys, options = {}) {\n const { cascade = true, leafOnly = false, checkStrategy = 'all' } = options;\n return getCheckedKeys({\n checkedKeys: unwrapCheckedKeys(checkedKeys),\n indeterminateKeys: unwrapIndeterminateKeys(checkedKeys),\n keysToUncheck: keysToUncheck === null || keysToUncheck === undefined\n ? []\n : toArray(keysToUncheck),\n cascade,\n leafOnly,\n checkStrategy\n }, treemate);\n },\n getNonLeafKeys(options = {}) {\n return getNonLeafKeys(treeNodes, options);\n }\n };\n return treemate;\n}\n","import script from \"./mainFooter.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./mainFooter.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./mainFooter.vue?vue&type=style&index=0&id=3c8e44c6&lang=scss&scoped=true\"\n\nimport exportComponent from \"C:\\\\Users\\\\augustine.ibe\\\\Desktop\\\\AustinXP\\\\payout-fe\\\\node_modules\\\\@vue\\\\cli-service\\\\node_modules\\\\vue-loader-v16\\\\dist\\\\exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-3c8e44c6\"]])\n\nexport default __exports__","var _a, _b;\nimport { onMounted, onBeforeUnmount } from 'vue';\nimport { isBrowser } from './utils';\nconst fontsReady = isBrowser ? (_b = (_a = document) === null || _a === void 0 ? void 0 : _a.fonts) === null || _b === void 0 ? void 0 : _b.ready : undefined;\nlet isFontReady = false;\n/* istanbul ignore if */\nif (fontsReady !== undefined) {\n fontsReady.then(() => {\n isFontReady = true;\n });\n}\nelse {\n isFontReady = true;\n}\n/**\n * Call callback on fontsReady is resolved. If fontsReady is already resolved,\n * callback won't be called.\n */\nexport default function onFontsReady(cb) {\n var _a, _b;\n /* istanbul ignore next */\n if (process.env.NODE_ENV !== 'test' && isFontReady)\n return;\n if (process.env.NODE_ENV === 'test' &&\n // dynamic resolving here, since in we may change it in test environment\n ((_b = (_a = document) === null || _a === void 0 ? void 0 : _a.fonts) === null || _b === void 0 ? void 0 : _b.ready) === undefined) {\n return;\n }\n let deactivated = false;\n onMounted(() => {\n var _a, _b;\n /* istanbul ignore next */\n if (!isFontReady) {\n fontsReady.then(() => {\n if (deactivated)\n return;\n cb();\n });\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV === 'test') {\n ;\n (_b = (_a = document) === null || _a === void 0 ? void 0 : _a.fonts) === null || _b === void 0 ? void 0 : _b.ready.then(() => {\n if (deactivated)\n return;\n cb();\n });\n }\n });\n onBeforeUnmount(() => {\n deactivated = true;\n });\n}\n","let onceCbs = [];\nconst paramsMap = new WeakMap();\nfunction flushOnceCallbacks() {\n onceCbs.forEach((cb) => cb(...paramsMap.get(cb)));\n onceCbs = [];\n}\nfunction beforeNextFrameOnce(cb, ...params) {\n paramsMap.set(cb, params);\n if (onceCbs.includes(cb))\n return;\n onceCbs.push(cb) === 1 && requestAnimationFrame(flushOnceCallbacks);\n}\nexport { beforeNextFrameOnce };\n","export function toArray(arg) {\n if (Array.isArray(arg))\n return arg;\n return [arg];\n}\n// Do not use enum for lint plugin has error\nexport const TRAVERSE_COMMAND = {\n STOP: 'STOP'\n};\nexport function traverseWithCb(treeNode, callback) {\n const command = callback(treeNode);\n if (treeNode.children !== undefined && command !== TRAVERSE_COMMAND.STOP) {\n treeNode.children.forEach((childNode) => traverseWithCb(childNode, callback));\n }\n}\nexport function getNonLeafKeys(treeNodes, options = {}) {\n const { preserveGroup = false } = options;\n const keys = [];\n const cb = preserveGroup\n ? (node) => {\n if (!node.isLeaf) {\n keys.push(node.key);\n traverse(node.children);\n }\n }\n : (node) => {\n if (!node.isLeaf) {\n if (!node.isGroup)\n keys.push(node.key);\n traverse(node.children);\n }\n };\n function traverse(nodes) {\n nodes.forEach(cb);\n }\n traverse(treeNodes);\n return keys;\n}\nexport function isLeaf(rawNode, getChildren) {\n const { isLeaf } = rawNode;\n if (isLeaf !== undefined)\n return isLeaf;\n else if (getChildren(rawNode) === undefined)\n return true;\n return false;\n}\nexport function defaultGetChildren(node) {\n return node.children;\n}\nexport function defaultGetKey(node) {\n return node.key;\n}\nexport function isIgnored() {\n return false;\n}\nexport function isShallowLoaded(rawNode) {\n const { isLeaf, children } = rawNode;\n if (isLeaf === false && children === undefined)\n return false;\n return true;\n}\nexport function isDisabled(rawNode) {\n return rawNode.disabled === true;\n}\nexport function isExpilicitlyNotLoaded(rawNode, getChildren) {\n return rawNode.isLeaf === false && getChildren(rawNode) === undefined;\n}\nexport function isNodeInvalid(rawNode, getChildren) {\n return rawNode.isLeaf === true && getChildren(rawNode) !== undefined;\n}\nexport function unwrapCheckedKeys(result) {\n var _a;\n if (result === undefined || result === null)\n return [];\n if (Array.isArray(result))\n return result;\n return (_a = result.checkedKeys) !== null && _a !== void 0 ? _a : [];\n}\nexport function unwrapIndeterminateKeys(result) {\n var _a;\n if (result === undefined || result === null || Array.isArray(result)) {\n return [];\n }\n return (_a = result.indeterminateKeys) !== null && _a !== void 0 ? _a : [];\n}\nexport function merge(originalKeys, keysToAdd) {\n const set = new Set(originalKeys);\n keysToAdd.forEach((key) => {\n if (!set.has(key)) {\n set.add(key);\n }\n });\n return Array.from(set);\n}\nexport function minus(originalKeys, keysToRemove) {\n const set = new Set(originalKeys);\n keysToRemove.forEach((key) => {\n if (set.has(key)) {\n set.delete(key);\n }\n });\n return Array.from(set);\n}\nexport function isGroup(rawNode) {\n return (rawNode === null || rawNode === void 0 ? void 0 : rawNode.type) === 'group';\n}\nexport function createIndexGetter(treeNodes) {\n const map = new Map();\n treeNodes.forEach((treeNode, i) => {\n map.set(treeNode.key, i);\n });\n return (key) => { var _a; return (_a = map.get(key)) !== null && _a !== void 0 ? _a : null; };\n}\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'ChevronRight',\n render() {\n return (h(\"svg\", { viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\" },\n h(\"path\", { d: \"M5.64645 3.14645C5.45118 3.34171 5.45118 3.65829 5.64645 3.85355L9.79289 8L5.64645 12.1464C5.45118 12.3417 5.45118 12.6583 5.64645 12.8536C5.84171 13.0488 6.15829 13.0488 6.35355 12.8536L10.8536 8.35355C11.0488 8.15829 11.0488 7.84171 10.8536 7.64645L6.35355 3.14645C6.15829 2.95118 5.84171 2.95118 5.64645 3.14645Z\", fill: \"currentColor\" })));\n }\n});\n","let viewMeasurer = null;\nexport function ensureViewBoundingRect() {\n if (viewMeasurer === null) {\n viewMeasurer = document.getElementById('v-binder-view-measurer');\n if (viewMeasurer === null) {\n viewMeasurer = document.createElement('div');\n viewMeasurer.id = 'v-binder-view-measurer';\n const { style } = viewMeasurer;\n style.position = 'fixed';\n style.left = '0';\n style.right = '0';\n style.top = '0';\n style.bottom = '0';\n style.pointerEvents = 'none';\n style.visibility = 'hidden';\n document.body.appendChild(viewMeasurer);\n }\n }\n return viewMeasurer.getBoundingClientRect();\n}\nexport function getPointRect(x, y) {\n const viewRect = ensureViewBoundingRect();\n return {\n top: y,\n left: x,\n height: 0,\n width: 0,\n right: viewRect.width - x,\n bottom: viewRect.height - y\n };\n}\nexport function getRect(el) {\n const elRect = el.getBoundingClientRect();\n const viewRect = ensureViewBoundingRect();\n return {\n left: elRect.left - viewRect.left,\n top: elRect.top - viewRect.top,\n bottom: viewRect.height + viewRect.top - elRect.bottom,\n right: viewRect.width + viewRect.left - elRect.right,\n width: elRect.width,\n height: elRect.height\n };\n}\nexport function getParentNode(node) {\n // document type\n if (node.nodeType === 9) {\n return null;\n }\n return node.parentNode;\n}\nexport function getScrollParent(node) {\n if (node === null)\n return null;\n const parentNode = getParentNode(node);\n if (parentNode === null) {\n return null;\n }\n // Document\n if (parentNode.nodeType === 9) {\n return document;\n }\n // Element\n if (parentNode.nodeType === 1) {\n // Firefox want us to check `-x` and `-y` variations as well\n const { overflow, overflowX, overflowY } = getComputedStyle(parentNode);\n if (/(auto|scroll|overlay)/.test(overflow + overflowY + overflowX)) {\n return parentNode;\n }\n }\n return getScrollParent(parentNode);\n}\n","export const internalSelectionMenuInjectionKey = Symbol('internal-select-menu');\nexport const internalSelectionMenuBodyInjectionKey = Symbol('internal-select-menu-body');\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--0-1!./mainFooter.vue?vue&type=style&index=0&id=3c8e44c6&lang=scss&scoped=true\"","import { computed } from 'vue';\nexport default function useCompitable(reactive, keys) {\n // @ts-expect-error\n return computed(() => {\n for (const key of keys) {\n if (reactive[key] !== undefined)\n return reactive[key];\n }\n return reactive[keys[keys.length - 1]];\n });\n}\n","const pureNumberRegex = /^(\\d|\\.)+$/;\nconst numberRegex = /(\\d|\\.)+/;\nfunction formatLength(length, { c = 1, offset = 0, attachPx = true } = {}) {\n if (typeof length === 'number') {\n const result = (length + offset) * c;\n if (result === 0)\n return '0';\n return `${result}px`;\n }\n else if (typeof length === 'string') {\n if (pureNumberRegex.test(length)) {\n const result = (Number(length) + offset) * c;\n if (attachPx) {\n if (result === 0)\n return '0';\n return `${result}px`;\n }\n else {\n return `${result}`;\n }\n }\n else {\n const result = numberRegex.exec(length);\n if (!result)\n return length;\n return length.replace(numberRegex, String((Number(result[0]) + offset) * c));\n }\n }\n return length;\n}\nexport default formatLength;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHXSURBVHgB7ZjrccIwEIQ3TApwKog6gBKUCkIJLiEdhA6gg6QD6MCkAkgFJhWQDohukGeMgqQ7SYZJhm9mf+DHetHpYRm48c+5Qx6V0cRq7Jz7MlobbY2+cWG0UWO0NzowtDSa4gJoG+yQqNZ6FIdKOc8I5mqOgiijDcqF67emQibKGh0GUnbIIcN1oupUSKBknyveJ3XCQ1ocp5Ml0lpeQ4DkAa3HvBb6NGAyFYZTAS86x53M2a24FBjWDL+ZwC/aipXAjDRBHCXw2yMyorUwIBeJp+7fODoTUEJV6Jo+J1VxAypkmHmQvsWcvLaNkAdngn1FBrkBqQXfcL6MlT2nkME98qlx7Lsro097bGyPJ62xIV4gG3FDaNYP5JZ4i+uz7v9wN01Ukhb80qyNPox2Vq4X9dFn8EZ7xwMim6wGvDVYg48G78VhxTULmbwjrfPTPbF1nj1n+lqxRR4UclPCWwdMFNJR8JdaQ8gC/pA15FD5fO+GCyQQKgeJ+pNm+NA1DcIDzkvs24yy5ipwzQ7H6YZWkW56oD83tuFi9z7h9xQlQmGY7ecGBTbufRYFw5FX8XWa0MhrzQYDfTxyoRHJ3Vztc4KV+oCpjR6dczRotrjSB8wbf4Yf8vr8MYXuNZYAAAAASUVORK5CYII=\"","export default {\n space: '6px',\n spaceArrow: '10px',\n arrowOffset: '10px',\n arrowOffsetVertical: '10px',\n arrowHeight: '6px',\n padding: '8px 14px'\n};\n","import { commonLight } from '../../_styles/common';\nimport commonVariables from './_common';\nexport const self = (vars) => {\n const { boxShadow2, popoverColor, textColor2, borderRadius, fontSize, dividerColor } = vars;\n return Object.assign(Object.assign({}, commonVariables), { fontSize,\n borderRadius, color: popoverColor, dividerColor, textColor: textColor2, boxShadow: boxShadow2 });\n};\nconst popoverLight = {\n name: 'Popover',\n common: commonLight,\n self\n};\nexport default popoverLight;\n","import { h, ref, computed, createTextVNode, defineComponent, provide, toRef, cloneVNode } from 'vue';\nimport { VBinder, VTarget } from 'vueuc';\nimport { useMergedState, useCompitable, useIsMounted, useMemo } from 'vooks';\nimport { call, keep, warn, getFirstSlotVNode } from '../../_utils';\nimport { useTheme } from '../../_mixins';\nimport NPopoverBody, { popoverBodyProps } from './PopoverBody';\nconst bodyPropKeys = Object.keys(popoverBodyProps);\nconst triggerEventMap = {\n focus: ['onFocus', 'onBlur'],\n click: ['onClick'],\n hover: ['onMouseenter', 'onMouseleave'],\n manual: []\n};\nfunction appendEvents(vNode, trigger, events) {\n triggerEventMap[trigger].forEach((eventName) => {\n if (!vNode.props)\n vNode.props = {};\n else {\n vNode.props = Object.assign({}, vNode.props);\n }\n const originalHandler = vNode.props[eventName];\n const handler = events[eventName];\n if (!originalHandler)\n vNode.props[eventName] = handler;\n else {\n vNode.props[eventName] = (...args) => {\n originalHandler(...args);\n handler(...args);\n };\n }\n });\n}\nconst textVNodeType = createTextVNode('').type;\nexport const popoverBaseProps = {\n show: {\n type: Boolean,\n default: undefined\n },\n defaultShow: Boolean,\n showArrow: {\n type: Boolean,\n default: true\n },\n trigger: {\n type: String,\n default: 'hover'\n },\n delay: {\n type: Number,\n default: 100\n },\n duration: {\n type: Number,\n default: 100\n },\n raw: Boolean,\n placement: {\n type: String,\n default: 'top'\n },\n x: Number,\n y: Number,\n disabled: Boolean,\n getDisabled: Function,\n displayDirective: {\n type: String,\n default: 'if'\n },\n arrowStyle: [String, Object],\n filp: {\n type: Boolean,\n default: true\n },\n animated: {\n type: Boolean,\n default: true\n },\n width: {\n type: [Number, String],\n default: undefined\n },\n overlap: Boolean,\n internalExtraClass: {\n type: Array,\n default: () => []\n },\n onClickoutside: Function,\n // events\n 'onUpdate:show': [Function, Array],\n onUpdateShow: [Function, Array],\n /** @deprecated */\n onShow: {\n type: [Function, Array],\n validator: () => {\n warn('popover', '`on-show` is deprecated, please use `on-update:show` instead.');\n return true;\n },\n default: undefined\n },\n /** @deprecated */\n onHide: {\n type: [Function, Array],\n validator: () => {\n warn('popover', '`on-hide` is deprecated, please use `on-update:show` instead.');\n return true;\n },\n default: undefined\n },\n /** @deprecated */\n arrow: {\n type: Boolean,\n default: undefined\n },\n /** @deprecated */\n minWidth: Number,\n /** @deprecated */\n maxWidth: Number\n};\nconst popoverProps = Object.assign(Object.assign(Object.assign({}, useTheme.props), popoverBaseProps), { internalRenderBody: Function });\nexport default defineComponent({\n name: 'Popover',\n inheritAttrs: false,\n props: popoverProps,\n setup(props) {\n const isMountedRef = useIsMounted();\n // setup show\n const controlledShowRef = computed(() => props.show);\n const uncontrolledShowRef = ref(props.defaultShow);\n const mergedShowWithoutDisabledRef = useMergedState(controlledShowRef, uncontrolledShowRef);\n const mergedShowConsideringDisabledPropRef = useMemo(() => {\n if (props.disabled)\n return false;\n return mergedShowWithoutDisabledRef.value;\n });\n const getMergedDisabled = () => {\n if (props.disabled)\n return true;\n const { getDisabled } = props;\n if (getDisabled === null || getDisabled === void 0 ? void 0 : getDisabled())\n return true;\n return false;\n };\n const getMergedShow = () => {\n if (getMergedDisabled())\n return false;\n return mergedShowWithoutDisabledRef.value;\n };\n // setup show-arrow\n const compatibleShowArrowRef = useCompitable(props, ['arrow', 'showArrow']);\n const mergedShowArrowRef = computed(() => {\n if (props.overlap)\n return false;\n return compatibleShowArrowRef.value;\n });\n // trigger\n let triggerVNode = null;\n // bodyInstance\n let bodyInstance = null;\n const showTimerIdRef = ref(null);\n const hideTimerIdRef = ref(null);\n const positionManuallyRef = useMemo(() => {\n return props.x !== undefined && props.y !== undefined;\n });\n // methods\n function doUpdateShow(value) {\n const { 'onUpdate:show': _onUpdateShow, onUpdateShow, onShow, onHide } = props;\n uncontrolledShowRef.value = value;\n if (_onUpdateShow) {\n call(_onUpdateShow, value);\n }\n if (onUpdateShow) {\n call(onUpdateShow, value);\n }\n if (value && onShow) {\n call(onShow, true);\n }\n if (value && onHide) {\n call(onHide, false);\n }\n }\n function syncPosition() {\n if (bodyInstance) {\n bodyInstance.syncPosition();\n }\n }\n function clearShowTimer() {\n const { value: showTimerId } = showTimerIdRef;\n if (showTimerId) {\n window.clearTimeout(showTimerId);\n showTimerIdRef.value = null;\n }\n }\n function clearHideTimer() {\n const { value: hideTimerId } = hideTimerIdRef;\n if (hideTimerId) {\n window.clearTimeout(hideTimerId);\n hideTimerIdRef.value = null;\n }\n }\n function handleFocus() {\n const mergedDisabled = getMergedDisabled();\n if (props.trigger === 'focus' && !mergedDisabled) {\n if (getMergedShow())\n return;\n doUpdateShow(true);\n }\n }\n function handleBlur() {\n const mergedDisabled = getMergedDisabled();\n if (props.trigger === 'focus' && !mergedDisabled) {\n if (!getMergedShow())\n return;\n doUpdateShow(false);\n }\n }\n function handleMouseEnter() {\n const mergedDisabled = getMergedDisabled();\n if (props.trigger === 'hover' && !mergedDisabled) {\n clearHideTimer();\n if (showTimerIdRef.value !== null)\n return;\n if (getMergedShow())\n return;\n const delayCallback = () => {\n doUpdateShow(true);\n showTimerIdRef.value = null;\n };\n const { delay } = props;\n if (delay === 0) {\n delayCallback();\n }\n else {\n showTimerIdRef.value = window.setTimeout(delayCallback, delay);\n }\n }\n }\n function handleMouseLeave() {\n const mergedDisabled = getMergedDisabled();\n if (props.trigger === 'hover' && !mergedDisabled) {\n clearShowTimer();\n if (hideTimerIdRef.value !== null)\n return;\n if (!getMergedShow())\n return;\n const delayedCallback = () => {\n doUpdateShow(false);\n hideTimerIdRef.value = null;\n };\n const { duration } = props;\n if (duration === 0) {\n delayedCallback();\n }\n else {\n hideTimerIdRef.value = window.setTimeout(delayedCallback, duration);\n }\n }\n }\n // will be called in popover-content\n function handleMouseMoveOutside() {\n handleMouseLeave();\n }\n // will be called in popover-content\n function handleClickOutside(e) {\n var _a;\n if (!getMergedShow())\n return;\n if (props.trigger === 'click') {\n clearShowTimer();\n clearHideTimer();\n doUpdateShow(false);\n }\n (_a = props.onClickoutside) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handleClick() {\n if (props.trigger === 'click' && !getMergedDisabled()) {\n clearShowTimer();\n clearHideTimer();\n const nextShow = !getMergedShow();\n doUpdateShow(nextShow);\n }\n }\n function setShow(value) {\n uncontrolledShowRef.value = value;\n }\n function getTriggerElement() {\n return triggerVNode === null || triggerVNode === void 0 ? void 0 : triggerVNode.el;\n }\n function setBodyInstance(value) {\n bodyInstance = value;\n }\n provide('NPopover', {\n getTriggerElement,\n handleMouseEnter,\n handleMouseLeave,\n handleClickOutside,\n handleMouseMoveOutside,\n setBodyInstance,\n positionManuallyRef: positionManuallyRef,\n isMountedRef: isMountedRef,\n extraClassRef: toRef(props, 'internalExtraClass'),\n internalRenderBodyRef: toRef(props, 'internalRenderBody')\n });\n return {\n positionManually: positionManuallyRef,\n mergedShowConsideringDisabledProp: mergedShowConsideringDisabledPropRef,\n // if to show popover body\n uncontrolledShow: uncontrolledShowRef,\n mergedShowArrow: mergedShowArrowRef,\n getMergedShow,\n setShow,\n handleClick,\n handleMouseEnter,\n handleMouseLeave,\n handleFocus,\n handleBlur,\n setTriggerVNode(v) {\n triggerVNode = v;\n },\n syncPosition\n };\n },\n render() {\n return h(VBinder, null, {\n default: () => {\n const { positionManually, $slots: slots } = this;\n let triggerVNode;\n if (!positionManually) {\n if (slots.activator) {\n triggerVNode = getFirstSlotVNode(slots, 'activator');\n }\n else {\n triggerVNode = getFirstSlotVNode(slots, 'trigger');\n }\n if (triggerVNode) {\n triggerVNode = cloneVNode(triggerVNode);\n triggerVNode =\n triggerVNode.type === textVNodeType\n ? h('span', [triggerVNode])\n : triggerVNode;\n appendEvents(triggerVNode, positionManually ? 'manual' : this.trigger, {\n onClick: this.handleClick,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n });\n }\n this.setTriggerVNode(triggerVNode);\n }\n // We need to subscribe it. Sometimes rerender won't ge triggered.\n // `mergedShowConsideringDisabledProp` is not the final disabled status.\n // In ellpisis it's dynamic.\n void this.mergedShowConsideringDisabledProp;\n const mergedShow = this.getMergedShow();\n return [\n positionManually\n ? null\n : h(VTarget, null, {\n default: () => triggerVNode\n }),\n h(NPopoverBody, keep(this.$props, bodyPropKeys, Object.assign(Object.assign({}, this.$attrs), { showArrow: this.mergedShowArrow, show: mergedShow })), slots)\n ];\n }\n });\n }\n});\n","module.exports = __webpack_public_path__ + \"img/cbn.14a7a6c5.svg\";","import { commonLight } from '../../_styles/common';\nexport const self = (vars) => {\n const { textColorBase, opacity1, opacity2, opacity3, opacity4, opacity5 } = vars;\n return {\n color: textColorBase,\n opacity1Depth: opacity1,\n opacity2Depth: opacity2,\n opacity3Depth: opacity3,\n opacity4Depth: opacity4,\n opacity5Depth: opacity5\n };\n};\nconst iconLight = {\n name: 'Icon',\n common: commonLight,\n self\n};\nexport default iconLight;\n","import { c, cB, cM } from '../../../_utils/cssr'; // vars:\n// --bezier\n// --color\n// --opacity\n\nexport default cB('icon', `\n height: 1em;\n width: 1em;\n line-height: 1em;\n text-align: center;\n display: inline-block;\n position: relative;\n fill: currentColor;\n transform: translateZ(0);\n`, [cM('color-transition', {\n transition: 'color .3s var(--bezier)'\n}), cM('depth', {\n color: 'var(--color)'\n}, [c('svg', {\n opacity: 'var(--opacity)',\n transition: 'opacity .3s var(--bezier)'\n})]), c('svg', {\n height: '1em',\n width: '1em'\n})]);","import { h, defineComponent, computed, mergeProps } from 'vue';\nimport { useConfig, useTheme } from '../../_mixins';\nimport { formatLength, warn } from '../../_utils';\nimport { iconLight } from '../styles';\nimport style from './styles/index.cssr';\nexport default defineComponent({\n _n_icon__: true,\n name: 'Icon',\n inheritAttrs: false,\n props: Object.assign(Object.assign({}, useTheme.props), { depth: [String, Number], size: [Number, String], color: String }),\n setup(props) {\n const { mergedClsPrefixRef } = useConfig(props);\n const themeRef = useTheme('Icon', 'Icon', style, iconLight, props, mergedClsPrefixRef);\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n mergedStyle: computed(() => {\n const { size, color } = props;\n return {\n fontSize: formatLength(size),\n color\n };\n }),\n cssVars: computed(() => {\n const { depth } = props;\n const { common: { cubicBezierEaseInOut }, self } = themeRef.value;\n if (depth !== undefined) {\n const { color, [`opacity${depth}Depth`]: opacity } = self;\n return {\n '--bezier': cubicBezierEaseInOut,\n '--color': color,\n '--opacity': opacity\n };\n }\n return {\n '--bezier': cubicBezierEaseInOut\n };\n })\n };\n },\n render() {\n var _a;\n const { $parent, depth, mergedClsPrefix } = this;\n if ((_a = $parent === null || $parent === void 0 ? void 0 : $parent.$options) === null || _a === void 0 ? void 0 : _a._n_icon__) {\n warn('icon', \"don't wrap `n-icon` inside `n-icon`\");\n }\n return h('i', mergeProps(this.$attrs, {\n role: 'img',\n class: [\n `${mergedClsPrefix}-icon`,\n {\n [`${mergedClsPrefix}-icon--depth`]: depth,\n [`${mergedClsPrefix}-icon--color-transition`]: depth !== undefined\n }\n ],\n style: Object.assign(this.cssVars, this.mergedStyle)\n }), this.$slots);\n }\n});\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { defineComponent, inject, withDirectives } from 'vue';\nimport { getFirstVNode } from '../../shared/v-node';\nexport default defineComponent({\n name: 'Target',\n setup() {\n const { setTargetRef } = inject('VBinder');\n const setTargetDirective = {\n mounted: setTargetRef,\n updated: setTargetRef\n };\n return {\n setTargetDirective\n };\n },\n render() {\n const { setTargetDirective } = this;\n return withDirectives(getFirstVNode(this.$slots), [\n [setTargetDirective]\n ]);\n }\n});\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { defineComponent, provide, ref, getCurrentInstance, onBeforeUnmount } from 'vue';\nimport { beforeNextFrameOnce } from 'seemly';\nimport { getSlot } from '../../shared/v-node';\nimport { getScrollParent } from './utils';\nimport { on, off } from 'evtd';\nconst Binder = defineComponent({\n name: 'Binder',\n setup() {\n var _a;\n provide('VBinder', (_a = getCurrentInstance()) === null || _a === void 0 ? void 0 : _a.proxy);\n const targetRef = ref(null);\n const setTargetRef = (el) => {\n targetRef.value = el;\n };\n // scroll related\n let scrollableNodes = [];\n const ensureScrollListener = () => {\n let cursor = targetRef.value;\n while (true) {\n cursor = getScrollParent(cursor);\n if (cursor === null)\n break;\n scrollableNodes.push(cursor);\n }\n for (const el of scrollableNodes) {\n on('scroll', el, onScroll, true);\n }\n };\n const removeScrollListeners = () => {\n for (const el of scrollableNodes) {\n off('scroll', el, onScroll, true);\n }\n scrollableNodes = [];\n };\n const followerScrollListeners = new Set();\n const addScrollListener = (listener) => {\n if (followerScrollListeners.size === 0) {\n ensureScrollListener();\n }\n if (!followerScrollListeners.has(listener)) {\n followerScrollListeners.add(listener);\n }\n };\n const removeScrollListener = (listener) => {\n if (followerScrollListeners.has(listener)) {\n followerScrollListeners.delete(listener);\n }\n if (followerScrollListeners.size === 0) {\n removeScrollListeners();\n }\n };\n const onScroll = () => {\n beforeNextFrameOnce(onScrollRaf);\n };\n const onScrollRaf = () => {\n followerScrollListeners.forEach((listener) => listener());\n };\n // resize related\n const followerResizeListeners = new Set();\n const addResizeListener = (listener) => {\n if (followerResizeListeners.size === 0) {\n on('resize', window, onResize);\n }\n if (!followerResizeListeners.has(listener)) {\n followerResizeListeners.add(listener);\n }\n };\n const removeResizeListener = (listener) => {\n if (followerResizeListeners.has(listener)) {\n followerResizeListeners.delete(listener);\n }\n if (followerResizeListeners.size === 0) {\n off('resize', window, onResize);\n }\n };\n const onResize = () => {\n followerResizeListeners.forEach((listener) => listener());\n };\n onBeforeUnmount(() => {\n off('resize', window, onResize);\n removeScrollListeners();\n });\n return {\n targetRef,\n setTargetRef,\n addScrollListener,\n removeScrollListener,\n addResizeListener,\n removeResizeListener\n };\n },\n render() {\n return getSlot(this.$slots);\n }\n});\nexport default Binder;\n","export function createRefSetter(ref) {\n return (inst) => {\n if (inst) {\n ref.value = inst.$el;\n }\n else {\n ref.value = null;\n }\n };\n}\n","export default {\n padding: '4px 0',\n optionIconSizeSmall: '14px',\n optionIconSizeMedium: '16px',\n optionIconSizeLarge: '16px',\n optionIconSizeHuge: '18px',\n optionSuffixWidthSmall: '14px',\n optionSuffixWidthMedium: '14px',\n optionSuffixWidthLarge: '16px',\n optionSuffixWidthHuge: '16px',\n optionIconSuffixWidthSmall: '32px',\n optionIconSuffixWidthMedium: '32px',\n optionIconSuffixWidthLarge: '36px',\n optionIconSuffixWidthHuge: '36px',\n optionPrefixWidthSmall: '14px',\n optionPrefixWidthMedium: '14px',\n optionPrefixWidthLarge: '16px',\n optionPrefixWidthHuge: '16px',\n optionIconPrefixWidthSmall: '36px',\n optionIconPrefixWidthMedium: '36px',\n optionIconPrefixWidthLarge: '40px',\n optionIconPrefixWidthHuge: '40px'\n};\n","import { changeColor } from 'seemly';\nimport { commonLight } from '../../_styles/common';\nimport { createTheme } from '../../_mixins/use-theme';\nimport commonVariables from './_common';\nimport { popoverLight } from '../../popover/styles';\nexport const self = (vars) => {\n const { primaryColor, textColor2, dividerColor, hoverColor, popoverColor, invertedColor, borderRadius, fontSizeSmall, fontSizeMedium, fontSizeLarge, fontSizeHuge, heightSmall, heightMedium, heightLarge, heightHuge, textColor3, opacityDisabled } = vars;\n return Object.assign(Object.assign({}, commonVariables), { optionHeightSmall: heightSmall, optionHeightMedium: heightMedium, optionHeightLarge: heightLarge, optionHeightHuge: heightHuge, borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n fontSizeHuge, \n // non-inverted\n optionTextColor: textColor2, optionTextColorHover: textColor2, optionTextColorActive: primaryColor, optionTextColorChildActive: primaryColor, color: popoverColor, dividerColor, suffixColor: textColor2, prefixColor: textColor2, optionColorHover: hoverColor, optionColorActive: changeColor(primaryColor, { alpha: 0.1 }), groupHeaderTextColor: textColor3, \n // inverted\n optionTextColorInverted: '#BBB', optionTextColorHoverInverted: '#FFF', optionTextColorActiveInverted: '#FFF', optionTextColorChildActiveInverted: '#FFF', colorInverted: invertedColor, dividerColorInverted: '#BBB', suffixColorInverted: '#BBB', prefixColorInverted: '#BBB', optionColorHoverInverted: primaryColor, optionColorActiveInverted: primaryColor, groupHeaderTextColorInverted: '#AAA', optionOpacityDisabled: opacityDisabled });\n};\nconst dropdownLight = createTheme({\n name: 'Dropdown',\n common: commonLight,\n peers: {\n Popover: popoverLight\n },\n self\n});\nexport default dropdownLight;\n","import { ref, watch, onMounted, inject, getCurrentInstance, onBeforeUnmount } from 'vue';\n// injection.collection {\n// key1: [insta, instb]\n// key2: [instc]\n// }\nexport function useInjectionInstanceCollection(injectionName, collectionKey, registerKeyRef) {\n var _a;\n const injection = inject(injectionName, null);\n if (injection === null)\n return;\n const vm = (_a = getCurrentInstance()) === null || _a === void 0 ? void 0 : _a.proxy;\n watch(registerKeyRef, registerInstance);\n registerInstance(registerKeyRef.value);\n onBeforeUnmount(() => {\n registerInstance(undefined, registerKeyRef.value);\n });\n function registerInstance(key, oldKey) {\n const collection = injection[collectionKey];\n if (oldKey !== undefined)\n removeInstance(collection, oldKey);\n if (key !== undefined)\n addInstance(collection, key);\n }\n function removeInstance(collection, key) {\n if (!collection[key])\n collection[key] = [];\n collection[key].splice(collection[key].findIndex((instance) => instance === vm), 1);\n }\n function addInstance(collection, key) {\n if (!collection[key])\n collection[key] = [];\n if (!~collection[key].findIndex((instance) => instance === vm)) {\n collection[key].push(vm);\n }\n }\n}\n// injection.collection {\n// key1: [insta.value, instb.value]\n// key2: [instc.value]\n// }\nexport function useInjectionCollection(injectionName, collectionKey, valueRef) {\n const injection = inject(injectionName, null);\n if (injection === null)\n return;\n if (!(collectionKey in injection)) {\n injection[collectionKey] = [];\n }\n injection[collectionKey].push(valueRef.value);\n watch(valueRef, (value, prevValue) => {\n const collectionArray = injection[collectionKey];\n const index = collectionArray.findIndex((collectionValue) => collectionValue === prevValue);\n if (~index)\n collectionArray.splice(index, 1);\n collectionArray.push(value);\n });\n onBeforeUnmount(() => {\n const collectionArray = injection[collectionKey];\n const index = collectionArray.findIndex((collectionValue) => collectionValue === valueRef.value);\n if (~index)\n collectionArray.splice(index, 1);\n });\n}\n// injection.collection {\n// key1: [insta.$el, instb.$el]\n// key2: [instc.$el]\n// }\nexport function useInjectionElementCollection(injectionName, collectionKey, getElement) {\n const injection = inject(injectionName, null);\n if (injection === null)\n return;\n if (!(collectionKey in injection)) {\n injection[collectionKey] = [];\n }\n onMounted(() => {\n const el = getElement();\n if (!el)\n return;\n injection[collectionKey].push(el);\n });\n onBeforeUnmount(() => {\n const collectionArray = injection[collectionKey];\n const element = getElement();\n const index = collectionArray.findIndex((collectionElement) => collectionElement === element);\n if (~index)\n collectionArray.splice(index, 1);\n });\n}\nexport function useDeferredTrue(valueRef, delay, shouldDelayRef) {\n if (!delay)\n return valueRef;\n const delayedRef = ref(valueRef.value);\n let timerId = null;\n watch(valueRef, (value) => {\n if (timerId !== null)\n window.clearTimeout(timerId);\n if (value === true) {\n if (shouldDelayRef && !shouldDelayRef.value) {\n delayedRef.value = true;\n }\n else {\n timerId = window.setTimeout(() => {\n delayedRef.value = true;\n }, delay);\n }\n }\n else {\n delayedRef.value = false;\n }\n });\n return delayedRef;\n}\nexport { useAdjustedTo } from './use-adjusted-to';\nexport { useHoudini } from './use-houdini';\n","export function isSubmenuNode(rawNode) {\n return (rawNode.type === 'submenu' ||\n (rawNode.type === undefined && rawNode.children !== undefined));\n}\nexport function isGroupNode(rawNode) {\n return rawNode.type === 'group';\n}\nexport function isDividerNode(rawNode) {\n return rawNode.type === 'divider';\n}\n","import { h, computed, inject, ref, Transition, defineComponent, provide, mergeProps } from 'vue';\nimport { VBinder, VTarget, VFollower } from 'vueuc';\nimport { useMemo } from 'vooks';\nimport { ChevronRightIcon } from '../../_internal/icons';\nimport { render, useDeferredTrue } from '../../_utils';\nimport { NIcon } from '../../icon';\nimport NDropdownMenu, { dropdownMenuInjectionKey } from './DropdownMenu';\nimport { dropdownInjectionKey } from './Dropdown';\nimport { isSubmenuNode } from './utils';\nconst dropdownOptionInjectionKey = Symbol('dropdown-option');\nexport default defineComponent({\n name: 'DropdownOption',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n },\n parentKey: {\n type: [String, Number],\n default: null\n },\n placement: {\n type: String,\n default: 'right-start'\n },\n props: Object\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NDropdown = inject(dropdownInjectionKey);\n const { hoverKeyRef, keyboardKeyRef, lastToggledSubmenuKeyRef, pendingKeyPathRef, activeKeyPathRef, animatedRef, mergedShowRef, renderLabelRef, renderIconRef } = NDropdown;\n const NDropdownOption = inject(dropdownOptionInjectionKey, null);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NDropdownMenu = inject(dropdownMenuInjectionKey);\n const rawNodeRef = computed(() => props.tmNode.rawNode);\n const hasSubmenuRef = computed(() => {\n return isSubmenuNode(props.tmNode.rawNode);\n });\n const mergedDisabledRef = computed(() => {\n const { disabled } = props.tmNode;\n return disabled;\n });\n const showSubmenuRef = computed(() => {\n if (!hasSubmenuRef.value)\n return false;\n const { key, disabled } = props.tmNode;\n if (disabled)\n return false;\n const { value: hoverKey } = hoverKeyRef;\n const { value: keyboardKey } = keyboardKeyRef;\n const { value: lastToggledSubmenuKey } = lastToggledSubmenuKeyRef;\n const { value: pendingKeyPath } = pendingKeyPathRef;\n if (hoverKey !== null)\n return pendingKeyPath.includes(key);\n if (keyboardKey !== null) {\n return (pendingKeyPath.includes(key) &&\n pendingKeyPath[pendingKeyPath.length - 1] !== key);\n }\n if (lastToggledSubmenuKey !== null)\n return pendingKeyPath.includes(key);\n return false;\n });\n const shouldDelayRef = computed(() => {\n return keyboardKeyRef.value === null && !animatedRef.value;\n });\n const deferredShowSubmenuRef = useDeferredTrue(showSubmenuRef, 300, shouldDelayRef);\n const parentEnteringSubmenuRef = computed(() => {\n return !!(NDropdownOption === null || NDropdownOption === void 0 ? void 0 : NDropdownOption.enteringSubmenuRef.value);\n });\n const enteringSubmenuRef = ref(false);\n provide(dropdownOptionInjectionKey, {\n enteringSubmenuRef\n });\n // methods\n function handleSubmenuBeforeEnter() {\n enteringSubmenuRef.value = true;\n }\n function handleSubmenuAfterEnter() {\n enteringSubmenuRef.value = false;\n }\n function handleMouseEnter() {\n const { parentKey, tmNode } = props;\n if (!mergedShowRef.value)\n return;\n lastToggledSubmenuKeyRef.value = parentKey;\n keyboardKeyRef.value = null;\n hoverKeyRef.value = tmNode.key;\n }\n function handleMouseMove() {\n const { tmNode } = props;\n if (!mergedShowRef.value)\n return;\n if (hoverKeyRef.value === tmNode.key)\n return;\n handleMouseEnter();\n }\n function handleMouseLeave(e) {\n if (!mergedShowRef.value)\n return;\n const { relatedTarget } = e;\n if (relatedTarget &&\n !relatedTarget.hasAttribute('__dropdown-option')) {\n hoverKeyRef.value = null;\n }\n }\n function handleClick() {\n const { value: hasSubmenu } = hasSubmenuRef;\n const { tmNode } = props;\n if (!mergedShowRef.value)\n return;\n if (!hasSubmenu && !tmNode.disabled) {\n NDropdown.doSelect(tmNode.key, tmNode.rawNode);\n NDropdown.doUpdateShow(false);\n }\n }\n return {\n renderLabel: renderLabelRef,\n renderIcon: renderIconRef,\n siblingHasIcon: NDropdownMenu.showIconRef,\n siblingHasSubmenu: NDropdownMenu.hasSubmenuRef,\n animated: animatedRef,\n mergedShowSubmenu: computed(() => {\n return deferredShowSubmenuRef.value && !parentEnteringSubmenuRef.value;\n }),\n rawNode: rawNodeRef,\n hasSubmenu: hasSubmenuRef,\n pending: useMemo(() => {\n const { value: pendingKeyPath } = pendingKeyPathRef;\n const { key } = props.tmNode;\n return pendingKeyPath.includes(key);\n }),\n childActive: useMemo(() => {\n const { value: activeKeyPath } = activeKeyPathRef;\n const { key } = props.tmNode;\n const index = activeKeyPath.findIndex((k) => key === k);\n if (index === -1)\n return false;\n return index < activeKeyPath.length - 1;\n }),\n active: useMemo(() => {\n const { value: activeKeyPath } = activeKeyPathRef;\n const { key } = props.tmNode;\n const index = activeKeyPath.findIndex((k) => key === k);\n if (index === -1)\n return false;\n return index === activeKeyPath.length - 1;\n }),\n mergedDisabled: mergedDisabledRef,\n handleClick,\n handleMouseMove,\n handleMouseEnter,\n handleMouseLeave,\n handleSubmenuBeforeEnter,\n handleSubmenuAfterEnter\n };\n },\n render() {\n var _a;\n const { animated, rawNode, mergedShowSubmenu, clsPrefix, siblingHasIcon, siblingHasSubmenu, renderLabel, renderIcon, props } = this;\n const submenuVNode = mergedShowSubmenu ? (h(NDropdownMenu, { clsPrefix: clsPrefix, tmNodes: this.tmNode.children, parentKey: this.tmNode.key })) : null;\n const builtinProps = {\n class: [\n `${clsPrefix}-dropdown-option-body`,\n {\n [`${clsPrefix}-dropdown-option-body--pending`]: this.pending,\n [`${clsPrefix}-dropdown-option-body--active`]: this.active,\n [`${clsPrefix}-dropdown-option-body--child-active`]: this.childActive,\n [`${clsPrefix}-dropdown-option-body--disabled`]: this.mergedDisabled\n }\n ],\n onMousemove: this.handleMouseMove,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave,\n onClick: this.handleClick\n };\n return (h(\"div\", { class: `${clsPrefix}-dropdown-option` },\n h('div', mergeProps(builtinProps, props), [\n h(\"div\", { \"__dropdown-option\": true, class: [\n `${clsPrefix}-dropdown-option-body__prefix`,\n siblingHasIcon &&\n `${clsPrefix}-dropdown-option-body__prefix--show-icon`\n ] }, [renderIcon ? renderIcon(rawNode) : render(rawNode.icon)]),\n h(\"div\", { \"__dropdown-option\": true, class: `${clsPrefix}-dropdown-option-body__label` }, renderLabel\n ? renderLabel(rawNode)\n : render((_a = rawNode.label) !== null && _a !== void 0 ? _a : rawNode.title)),\n h(\"div\", { \"__dropdown-option\": true, class: [\n `${clsPrefix}-dropdown-option-body__suffix`,\n siblingHasSubmenu &&\n `${clsPrefix}-dropdown-option-body__suffix--has-submenu`\n ] }, this.hasSubmenu ? (h(NIcon, null, {\n default: () => h(ChevronRightIcon, null)\n })) : null)\n ]),\n this.hasSubmenu ? (h(VBinder, null, {\n default: () => [\n h(VTarget, null, {\n default: () => (h(\"div\", { class: `${clsPrefix}-dropdown-offset-container` },\n h(VFollower, { show: this.mergedShowSubmenu, placement: this.placement, teleportDisabled: true }, {\n default: () => {\n return (h(\"div\", { class: `${clsPrefix}-dropdown-menu-wrapper` }, animated ? (h(Transition, { onBeforeEnter: this.handleSubmenuBeforeEnter, onAfterEnter: this.handleSubmenuAfterEnter, name: \"fade-in-scale-up-transition\", appear: true }, {\n default: () => submenuVNode\n })) : (submenuVNode)));\n }\n })))\n })\n ]\n })) : null));\n }\n});\n","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DropdownDivider',\n props: {\n clsPrefix: {\n type: String,\n required: true\n }\n },\n render() {\n return h(\"div\", { class: `${this.clsPrefix}-dropdown-divider` });\n }\n});\n","import { defineComponent, h, inject } from 'vue';\nimport { render } from '../../_utils';\nimport { dropdownInjectionKey } from './Dropdown';\nimport { dropdownMenuInjectionKey } from './DropdownMenu';\nexport default defineComponent({\n name: 'DropdownGroupHeader',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup(props) {\n const { showIconRef, hasSubmenuRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dropdownMenuInjectionKey);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { renderLabelRef } = inject(dropdownInjectionKey);\n return {\n showIcon: showIconRef,\n hasSubmenu: hasSubmenuRef,\n renderLabel: renderLabelRef\n };\n },\n render() {\n var _a;\n const { clsPrefix, hasSubmenu, showIcon, renderLabel } = this;\n const { rawNode } = this.tmNode;\n return (h(\"div\", { class: `${clsPrefix}-dropdown-option` },\n h(\"div\", { class: `${clsPrefix}-dropdown-option-body ${clsPrefix}-dropdown-option-body--group` },\n h(\"div\", { \"__dropdown-option\": true, class: [\n `${clsPrefix}-dropdown-option-body__prefix`,\n showIcon && `${clsPrefix}-dropdown-option-body__prefix--show-icon`\n ] }, render(rawNode.icon)),\n h(\"div\", { class: `${clsPrefix}-dropdown-option-body__label`, \"__dropdown-option\": true }, renderLabel\n ? renderLabel(rawNode)\n : render((_a = rawNode.label) !== null && _a !== void 0 ? _a : rawNode.title)),\n h(\"div\", { class: [\n `${clsPrefix}-dropdown-option-body__suffix`,\n hasSubmenu &&\n `${clsPrefix}-dropdown-option-body__suffix--has-submenu`\n ], \"__dropdown-option\": true }))));\n }\n});\n","import { defineComponent, Fragment, h } from 'vue';\nimport { warn } from '../../_utils';\nimport NDropdownOption from './DropdownOption';\nimport NDropdownDivider from './DropdownDivider';\nimport NDropdownGroupHeader from './DropdownGroupHeader';\nimport { isDividerNode, isGroupNode } from './utils';\nexport default defineComponent({\n name: 'NDropdownGroup',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n },\n parentKey: {\n type: [String, Number],\n default: null\n }\n },\n render() {\n const { tmNode, parentKey, clsPrefix } = this;\n const { children } = tmNode;\n return (h(Fragment, null,\n h(NDropdownGroupHeader, { clsPrefix: clsPrefix, tmNode: tmNode, key: tmNode.key }), children === null || children === void 0 ? void 0 :\n children.map((child) => {\n if (isDividerNode(child.rawNode)) {\n return h(NDropdownDivider, {\n clsPrefix,\n key: child.key\n });\n }\n if (isGroupNode(child.rawNode)) {\n warn('dropdown', '`group` node is not allowed to be put in `group` node.');\n return null;\n }\n return (h(NDropdownOption, { clsPrefix: clsPrefix, tmNode: child, parentKey: parentKey, key: child.key }));\n })));\n }\n});\n","import { computed, defineComponent, h, inject, provide } from 'vue';\nimport { renderArrow } from '../../popover/src/PopoverBody';\nimport NDropdownOption from './DropdownOption';\nimport NDropdownDivider from './DropdownDivider';\nimport NDropdownGroup from './DropdownGroup';\nimport { isSubmenuNode, isGroupNode, isDividerNode } from './utils';\nimport { dropdownInjectionKey } from './Dropdown';\nexport const dropdownMenuInjectionKey = Symbol('dropdownMenu');\nexport default defineComponent({\n name: 'DropdownMenu',\n props: {\n showArrow: Boolean,\n arrowStyle: [String, Object],\n clsPrefix: {\n type: String,\n required: true\n },\n tmNodes: {\n type: Array,\n default: () => []\n },\n parentKey: {\n type: [String, Number],\n default: null\n }\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const { renderIconRef } = inject(dropdownInjectionKey);\n provide(dropdownMenuInjectionKey, {\n showIconRef: computed(() => {\n const renderIcon = renderIconRef.value;\n return props.tmNodes.some((tmNode) => {\n const { rawNode } = tmNode;\n if (isGroupNode(rawNode)) {\n return rawNode.children.some((rawChild) => renderIcon ? renderIcon(rawChild) : rawChild.icon);\n }\n return renderIcon ? renderIcon(rawNode) : rawNode.icon;\n });\n }),\n hasSubmenuRef: computed(() => {\n return props.tmNodes.some((tmNode) => {\n const { rawNode } = tmNode;\n if (isGroupNode(rawNode)) {\n return rawNode.children.some((rawChild) => isSubmenuNode(rawChild));\n }\n return isSubmenuNode(rawNode);\n });\n })\n });\n },\n render() {\n const { parentKey, clsPrefix } = this;\n return (h(\"div\", { class: `${clsPrefix}-dropdown-menu` },\n this.tmNodes.map((tmNode) => {\n if (isDividerNode(tmNode.rawNode)) {\n return h(NDropdownDivider, { clsPrefix: clsPrefix, key: tmNode.key });\n }\n if (isGroupNode(tmNode.rawNode)) {\n return (h(NDropdownGroup, { clsPrefix: clsPrefix, tmNode: tmNode, parentKey: parentKey, key: tmNode.key }));\n }\n return (h(NDropdownOption, { clsPrefix: clsPrefix, tmNode: tmNode, parentKey: parentKey, key: tmNode.key, props: tmNode.rawNode.props }));\n }),\n this.showArrow\n ? renderArrow({\n clsPrefix,\n arrowStyle: this.arrowStyle\n })\n : null));\n }\n});\n","import { c, cB, cM, cE, cNotM } from '../../../_utils/cssr';\nimport fadeInScaleUpTransition from '../../../_styles/transitions/fade-in-scale-up.cssr'; // vars:\n// --bezier\n// --font-size\n// --padding\n// --border-radius\n// --option-height\n// --option-prefix-width\n// --option-icon-prefix-width\n// --option-suffix-width\n// --option-icon-suffix-width\n// --color\n// --option-color-hover\n// --option-color-active\n// --divider-color\n// --option-text-color\n// --option-text-color-hover\n// --option-text-color-active\n// --option-text-color-child-active\n// --prefix-color\n// --suffix-color\n// --option-icon-size\n// --option-opacity-disabled\n// shared with popover\n// --box-shadow\n\nexport default cB('dropdown-menu', `\n transform-origin: inherit;\n padding: var(--padding);\n background-color: var(--color);\n border-radius: var(--border-radius);\n box-shadow: var(--box-shadow);\n transition:\n background-color .3s var(--bezier),\n box-shadow .3s var(--bezier);\n`, [fadeInScaleUpTransition(), cB('dropdown-option', `\n position: relative;\n `, [c('a', `\n text-decoration: none;\n color: inherit;\n `, [c('&::before', `\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `)]), cB('dropdown-option-body', `\n display: flex;\n cursor: pointer;\n height: var(--option-height);\n line-height: var(--option-height);\n font-size: var(--font-size);\n color: var(--option-text-color);\n transition:\n background-color .3s var(--bezier),\n color .3s var(--bezier);\n `, [cM('pending', {\n color: 'var(--option-text-color-hover)'\n}, [cNotM('disabled', {\n backgroundColor: 'var(--option-color-hover)'\n}), cE('prefix, suffix', {\n color: 'var(--option-text-color-hover)'\n})]), cM('active', {\n color: 'var(--option-text-color-active)',\n backgroundColor: 'var(--option-color-active)'\n}, [cE('prefix, suffix', {\n color: 'var(--option-text-color-active)'\n})]), cM('disabled', {\n cursor: 'not-allowed',\n opacity: 'var(--option-opacity-disabled)'\n}), cM('child-active', {\n color: 'var(--option-text-color-child-active)'\n}, [cE('prefix, suffix', {\n color: 'var(--option-text-color-child-active)'\n})]), cM('group', {\n fontSize: 'calc(var(--font-size) - 1px)',\n color: 'var(--group-header-text-color)'\n}, [cE('prefix', {\n width: 'calc(var(--option-prefix-width) / 2)'\n}, [cM('show-icon', {\n width: 'calc(var(--option-icon-prefix-width) / 2)'\n})])]), cE('prefix', `\n width: var(--option-prefix-width);\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--prefix-color);\n transition: color .3s var(--bezier);\n `, [cM('show-icon', {\n width: 'var(--option-icon-prefix-width)'\n}), cB('icon', {\n fontSize: 'var(--option-icon-size)'\n})]), cE('label', {\n whiteSpace: 'nowrap',\n flex: 1\n}), cE('suffix', `\n box-sizing: border-box;\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n min-width: var(--option-suffix-width);\n padding: 0 8px;\n transition: color .3s var(--bezier);\n color: var(--suffix-color);\n `, [cM('has-submenu', {\n width: 'var(--option-icon-suffix-width)'\n}), cB('icon', {\n fontSize: 'var(--option-icon-size)'\n})]), cB('dropdown-menu', {\n pointerEvents: 'all'\n})]), cB('dropdown-offset-container', `\n pointer-events: none;\n position: absolute;\n left: 0;\n right: 0;\n top: -4px;\n bottom: -4px;\n `)]), cB('dropdown-divider', `\n transition: background-color .3s var(--bezier);\n background-color: var(--divider-color);\n height: 1px;\n margin: 4px 0;\n `), cB('dropdown-menu-wrapper', `\n transform-origin: inherit;\n width: fit-content;\n `)]);","import { defineComponent, h, computed, ref, toRef, watch, provide, mergeProps } from 'vue';\nimport { createTreeMate } from 'treemate';\nimport { useMergedState, useKeyboard, useMemo } from 'vooks';\nimport { popoverBaseProps } from '../../popover/src/Popover';\nimport { useConfig, useTheme } from '../../_mixins';\nimport { NPopover } from '../../popover';\nimport { keep, call, createKey, createRefSetter } from '../../_utils';\nimport { dropdownLight } from '../styles';\nimport NDropdownMenu from './DropdownMenu';\nimport style from './styles/index.cssr';\nconst treemateOptions = {\n getKey(node) {\n return node.key;\n },\n getDisabled(node) {\n return node.disabled === true;\n },\n getIgnored(node) {\n return node.type === 'divider';\n }\n};\nexport const dropdownInjectionKey = Symbol('dropdown');\nconst dropdownBaseProps = {\n animated: {\n type: Boolean,\n default: true\n },\n keyboard: {\n type: Boolean,\n default: true\n },\n size: {\n type: String,\n default: 'medium'\n },\n inverted: Boolean,\n placement: {\n type: String,\n default: 'bottom'\n },\n onSelect: [Function, Array],\n options: {\n type: Array,\n default: () => []\n },\n showArrow: Boolean,\n // for menu, not documented\n value: [String, Number],\n renderLabel: Function,\n renderIcon: Function\n};\nconst popoverPropKeys = Object.keys(popoverBaseProps);\nconst dropdownProps = Object.assign(Object.assign(Object.assign({}, popoverBaseProps), dropdownBaseProps), useTheme.props);\nexport default defineComponent({\n name: 'Dropdown',\n inheritAttrs: false,\n props: dropdownProps,\n setup(props) {\n const uncontrolledShowRef = ref(false);\n const mergedShowRef = useMergedState(toRef(props, 'show'), uncontrolledShowRef);\n const treemateRef = computed(() => {\n return createTreeMate(props.options, treemateOptions);\n });\n const tmNodesRef = computed(() => {\n return treemateRef.value.treeNodes;\n });\n const hoverKeyRef = ref(null);\n const keyboardKeyRef = ref(null);\n const lastToggledSubmenuKeyRef = ref(null);\n const pendingKeyRef = computed(() => {\n var _a, _b, _c;\n return ((_c = (_b = (_a = hoverKeyRef.value) !== null && _a !== void 0 ? _a : keyboardKeyRef.value) !== null && _b !== void 0 ? _b : lastToggledSubmenuKeyRef.value) !== null && _c !== void 0 ? _c : null);\n });\n const pendingKeyPathRef = computed(() => treemateRef.value.getPath(pendingKeyRef.value).keyPath);\n const activeKeyPathRef = computed(() => treemateRef.value.getPath(props.value).keyPath);\n const keyboardEnabledRef = useMemo(() => {\n return props.keyboard && mergedShowRef.value;\n });\n useKeyboard({\n keydown: {\n ArrowUp: {\n prevent: true,\n handler: handleKeyDownUp\n },\n ArrowRight: {\n prevent: true,\n handler: handleKeyDownRight\n },\n ArrowDown: {\n prevent: true,\n handler: handleKeyDownDown\n },\n ArrowLeft: {\n prevent: true,\n handler: handleKeyDownLeft\n },\n Escape: handleKeyDownEsc\n },\n keyup: {\n Enter: handleKeyUpEnter\n }\n }, keyboardEnabledRef);\n const { mergedClsPrefixRef } = useConfig(props);\n const themeRef = useTheme('Dropdown', 'Dropdown', style, dropdownLight, props, mergedClsPrefixRef);\n provide(dropdownInjectionKey, {\n renderLabelRef: toRef(props, 'renderLabel'),\n renderIconRef: toRef(props, 'renderIcon'),\n hoverKeyRef: hoverKeyRef,\n keyboardKeyRef: keyboardKeyRef,\n lastToggledSubmenuKeyRef: lastToggledSubmenuKeyRef,\n pendingKeyPathRef: pendingKeyPathRef,\n activeKeyPathRef: activeKeyPathRef,\n animatedRef: toRef(props, 'animated'),\n mergedShowRef: mergedShowRef,\n doSelect,\n doUpdateShow\n });\n // watch\n watch(mergedShowRef, (value) => {\n if (!value)\n clearPendingState();\n });\n // methods\n function doSelect(key, node) {\n const { onSelect } = props;\n if (onSelect)\n call(onSelect, key, node);\n }\n function doUpdateShow(value) {\n const { 'onUpdate:show': onUpdateShow } = props;\n if (onUpdateShow)\n call(onUpdateShow, value);\n uncontrolledShowRef.value = value;\n }\n function clearPendingState() {\n hoverKeyRef.value = null;\n keyboardKeyRef.value = null;\n lastToggledSubmenuKeyRef.value = null;\n }\n function handleKeyDownEsc() {\n doUpdateShow(false);\n }\n function handleKeyDownLeft() {\n handleKeyDown('left');\n }\n function handleKeyDownRight() {\n handleKeyDown('right');\n }\n function handleKeyDownUp() {\n handleKeyDown('up');\n }\n function handleKeyDownDown() {\n handleKeyDown('down');\n }\n function handleKeyUpEnter() {\n const pendingNode = getPendingNode();\n if (pendingNode === null || pendingNode === void 0 ? void 0 : pendingNode.isLeaf) {\n doSelect(pendingNode.key, pendingNode.rawNode);\n doUpdateShow(false);\n }\n }\n function getPendingNode() {\n var _a;\n const { value: treeMate } = treemateRef;\n const { value: pendingKey } = pendingKeyRef;\n if (!treeMate || pendingKey === null)\n return null;\n return (_a = treeMate.getNode(pendingKey)) !== null && _a !== void 0 ? _a : null;\n }\n function handleKeyDown(direction) {\n const { value: pendingKey } = pendingKeyRef;\n const { value: { getFirstAvailableNode } } = treemateRef;\n let nextKeyboardKey = null;\n if (pendingKey === null) {\n const firstNode = getFirstAvailableNode();\n if (firstNode !== null) {\n nextKeyboardKey = firstNode.key;\n }\n }\n else {\n const currentNode = getPendingNode();\n if (currentNode) {\n let nextNode;\n switch (direction) {\n case 'down':\n nextNode = currentNode.getNext();\n break;\n case 'up':\n nextNode = currentNode.getPrev();\n break;\n case 'right':\n nextNode = currentNode.getChild();\n break;\n case 'left':\n nextNode = currentNode.getParent();\n break;\n }\n if (nextNode)\n nextKeyboardKey = nextNode.key;\n }\n }\n if (nextKeyboardKey !== null) {\n hoverKeyRef.value = null;\n keyboardKeyRef.value = nextKeyboardKey;\n }\n }\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n mergedTheme: themeRef,\n // data\n tmNodes: tmNodesRef,\n // show\n mergedShow: mergedShowRef,\n // methods\n doUpdateShow,\n cssVars: computed(() => {\n const { size, inverted } = props;\n const { common: { cubicBezierEaseInOut }, self } = themeRef.value;\n const { padding, dividerColor, borderRadius, optionOpacityDisabled, [createKey('optionIconSuffixWidth', size)]: optionIconSuffixWidth, [createKey('optionSuffixWidth', size)]: optionSuffixWidth, [createKey('optionIconPrefixWidth', size)]: optionIconPrefixWidth, [createKey('optionPrefixWidth', size)]: optionPrefixWidth, [createKey('fontSize', size)]: fontSize, [createKey('optionHeight', size)]: optionHeight, [createKey('optionIconSize', size)]: optionIconSize } = self;\n const vars = {\n '--bezier': cubicBezierEaseInOut,\n '--font-size': fontSize,\n '--padding': padding,\n '--border-radius': borderRadius,\n '--option-height': optionHeight,\n '--option-prefix-width': optionPrefixWidth,\n '--option-icon-prefix-width': optionIconPrefixWidth,\n '--option-suffix-width': optionSuffixWidth,\n '--option-icon-suffix-width': optionIconSuffixWidth,\n '--option-icon-size': optionIconSize,\n '--divider-color': dividerColor,\n '--option-opacity-disabled': optionOpacityDisabled\n };\n // writing like this is the fastest method\n if (inverted) {\n vars['--color'] = self.colorInverted;\n vars['--option-color-hover'] = self.optionColorHoverInverted;\n vars['--option-color-active'] = self.optionColorActiveInverted;\n vars['--option-text-color'] = self.optionTextColorInverted;\n vars['--option-text-color-hover'] = self.optionTextColorHoverInverted;\n vars['--option-text-color-active'] =\n self.optionTextColorActiveInverted;\n vars['--option-text-color-child-active'] =\n self.optionTextColorChildActiveInverted;\n vars['--prefix-color'] = self.prefixColorInverted;\n vars['--suffix-color'] = self.suffixColorInverted;\n vars['--group-header-text-color'] = self.groupHeaderTextColorInverted;\n }\n else {\n vars['--color'] = self.color;\n vars['--option-color-hover'] = self.optionColorHover;\n vars['--option-color-active'] = self.optionColorActive;\n vars['--option-text-color'] = self.optionTextColor;\n vars['--option-text-color-hover'] = self.optionTextColorHover;\n vars['--option-text-color-active'] = self.optionTextColorActive;\n vars['--option-text-color-child-active'] =\n self.optionTextColorChildActive;\n vars['--prefix-color'] = self.prefixColor;\n vars['--suffix-color'] = self.suffixColor;\n vars['--group-header-text-color'] = self.groupHeaderTextColor;\n }\n return vars;\n })\n };\n },\n render() {\n const renderPopoverBody = (className, ref, style, onMouseenter, onMouseleave) => {\n const { mergedClsPrefix } = this;\n const dropdownProps = {\n ref: createRefSetter(ref),\n class: [\n className,\n `${mergedClsPrefix}-dropdown`,\n this.showArrow && `${mergedClsPrefix}-popover--show-arrow`\n ],\n clsPrefix: mergedClsPrefix,\n tmNodes: this.tmNodes,\n style: [style, this.cssVars],\n showArrow: this.showArrow,\n arrowStyle: this.arrowStyle,\n onMouseenter,\n onMouseleave\n };\n return h(NDropdownMenu, mergeProps(this.$attrs, dropdownProps));\n };\n const { mergedTheme } = this;\n const popoverProps = {\n show: this.mergedShow,\n theme: mergedTheme.peers.Popover,\n themeOverrides: mergedTheme.peerOverrides.Popover,\n internalRenderBody: renderPopoverBody,\n onUpdateShow: this.doUpdateShow\n };\n return (h(NPopover, Object.assign({}, keep(this.$props, popoverPropKeys), popoverProps), {\n trigger: this.$slots.default,\n _: 1\n }));\n }\n});\n","import { CssRender } from 'css-render';\nconst { c } = CssRender();\nexport { c };\n","module.exports = __webpack_public_path__ + \"img/logo.c85d3d45.png\";","const oppositionPositions = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n};\nconst oppositeAligns = {\n start: 'end',\n center: 'center',\n end: 'start'\n};\nconst propToCompare = {\n top: 'height',\n bottom: 'height',\n left: 'width',\n right: 'width'\n};\nconst transformOrigins = {\n 'bottom-start': 'top left',\n bottom: 'top center',\n 'bottom-end': 'top right',\n 'top-start': 'bottom left',\n top: 'bottom center',\n 'top-end': 'bottom right',\n 'right-start': 'top left',\n right: 'center left',\n 'right-end': 'bottom left',\n 'left-start': 'top right',\n left: 'center right',\n 'left-end': 'bottom right'\n};\nconst overlapTransformOrigin = {\n 'bottom-start': 'bottom left',\n bottom: 'bottom center',\n 'bottom-end': 'bottom right',\n 'top-start': 'top left',\n top: 'top center',\n 'top-end': 'top right',\n 'right-start': 'top right',\n right: 'center right',\n 'right-end': 'bottom right',\n 'left-start': 'top left',\n left: 'center left',\n 'left-end': 'bottom left'\n};\nconst oppositeAlignCssPositionProps = {\n 'bottom-start': 'right',\n 'bottom-end': 'left',\n 'top-start': 'right',\n 'top-end': 'left',\n 'right-start': 'bottom',\n 'right-end': 'top',\n 'left-start': 'bottom',\n 'left-end': 'top'\n};\nexport function getProperPlacementOfFollower(placement, targetRect, followerRect, flip, overlap) {\n if (!flip || overlap) {\n return placement;\n }\n const [position, align] = placement.split('-');\n let properAlign = align !== null && align !== void 0 ? align : 'center';\n if (align !== 'center') {\n const oppositeAlignCssPositionProp = oppositeAlignCssPositionProps[placement];\n const currentAlignCssPositionProp = oppositionPositions[oppositeAlignCssPositionProp];\n const oppositeAlignCssSizeProp = propToCompare[oppositeAlignCssPositionProp];\n // if follower rect is larger than target rect in align direction\n // [ target ]\n // [ follower ]\n // [ follower ] <---->\n if (followerRect[oppositeAlignCssSizeProp] > targetRect[oppositeAlignCssSizeProp]) {\n // [ target ]---|\n // [ follower | ]\n if (\n // overflow screen\n (targetRect[oppositeAlignCssPositionProp] + targetRect[oppositeAlignCssSizeProp] <= followerRect[oppositeAlignCssSizeProp]) &&\n // opposite align has larger space\n (targetRect[oppositeAlignCssPositionProp] < targetRect[currentAlignCssPositionProp])) {\n properAlign = oppositeAligns[align];\n }\n }\n // if follower rect is smaller than target rect in align direction\n // [ target ]\n // [ follower ] <---->\n if (followerRect[oppositeAlignCssSizeProp] < targetRect[oppositeAlignCssSizeProp]) {\n if (targetRect[currentAlignCssPositionProp] < 0 &&\n // opposite align has larger space\n targetRect[oppositeAlignCssPositionProp] > targetRect[currentAlignCssPositionProp]) {\n properAlign = oppositeAligns[align];\n }\n }\n }\n let properPosition = position;\n if (\n // space is not enough\n !(targetRect[position] >= followerRect[propToCompare[position]]) &&\n // opposite position's space is larger\n targetRect[oppositionPositions[position]] >= followerRect[propToCompare[position]]) {\n properPosition = oppositionPositions[position];\n }\n return properAlign !== 'center' ? `${properPosition}-${properAlign}` : properPosition;\n}\nexport function getProperTransformOrigin(placement, overlap) {\n if (overlap)\n return overlapTransformOrigin[placement];\n return transformOrigins[placement];\n}\n// ------------\n// | offset |\n// | |\n// | [target] |\n// | |\n// ------------\nexport function getOffset(placement, offsetRect, targetRect, overlap) {\n if (overlap) {\n switch (placement) {\n case 'bottom-start':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: 'translateY(-100%)'\n };\n case 'bottom-end':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: 'translateX(-100%) translateY(-100%)'\n };\n case 'top-start':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: ''\n };\n case 'top-end':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: 'translateX(-100%)'\n };\n case 'right-start':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: 'translateX(-100%)'\n };\n case 'right-end':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: 'translateX(-100%) translateY(-100%)'\n };\n case 'left-start':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: ''\n };\n case 'left-end':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: 'translateY(-100%)'\n };\n case 'top':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width / 2}px`,\n transform: 'translateX(-50%)'\n };\n case 'right':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height / 2}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: 'translateX(-100%) translateY(-50%)'\n };\n case 'left':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height / 2}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: 'translateY(-50%)'\n };\n case 'bottom':\n default:\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width / 2}px`,\n transform: 'translateX(-50%) translateY(-100%)'\n };\n }\n }\n switch (placement) {\n case 'bottom-start':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: ''\n };\n case 'bottom-end':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: 'translateX(-100%)'\n };\n case 'top-start':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: 'translateY(-100%)'\n };\n case 'top-end':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: 'translateX(-100%) translateY(-100%)'\n };\n case 'right-start':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: ''\n };\n case 'right-end':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: 'translateY(-100%)'\n };\n case 'left-start':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: 'translateX(-100%)'\n };\n case 'left-end':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: 'translateX(-100%) translateY(-100%)'\n };\n case 'top':\n return {\n top: `${targetRect.top - offsetRect.top}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width / 2}px`,\n transform: 'translateY(-100%) translateX(-50%)'\n };\n case 'right':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height / 2}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width}px`,\n transform: 'translateY(-50%)'\n };\n case 'left':\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height / 2}px`,\n left: `${targetRect.left - offsetRect.left}px`,\n transform: 'translateY(-50%) translateX(-100%)'\n };\n case 'bottom':\n default:\n return {\n top: `${targetRect.top - offsetRect.top + targetRect.height}px`,\n left: `${targetRect.left - offsetRect.left + targetRect.width / 2}px`,\n transform: 'translateX(-50%)'\n };\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, defineComponent, inject, nextTick, watch, toRef, ref, onMounted, onBeforeUnmount, withDirectives } from 'vue';\nimport { zindexable } from 'vdirs';\nimport { useMemo, useIsMounted, onFontsReady } from 'vooks';\nimport { useSsrAdapter } from '@css-render/vue3-ssr';\nimport { c } from '../../shared';\nimport LazyTeleport from '../../lazy-teleport/src/index';\nimport { getProperPlacementOfFollower, getProperTransformOrigin, getOffset } from './get-placement-style';\nimport { getPointRect, getRect } from './utils';\nconst style = c([\n c('.v-binder-follower-container', {\n position: 'absolute',\n left: '0',\n right: '0',\n top: '0',\n height: '0',\n pointerEvents: 'none',\n zIndex: 'auto'\n }),\n c('.v-binder-follower-content', {\n position: 'absolute',\n zIndex: 'auto'\n }, [\n c('> *', {\n pointerEvents: 'all'\n })\n ])\n]);\nexport default defineComponent({\n name: 'Follower',\n inheritAttrs: false,\n props: {\n show: Boolean,\n enabled: {\n type: Boolean,\n default: undefined\n },\n placement: {\n type: String,\n default: 'bottom'\n },\n syncTrigger: {\n type: Array,\n default: ['resize', 'scroll']\n },\n to: [String, Object],\n flip: {\n type: Boolean,\n default: true\n },\n x: Number,\n y: Number,\n width: String,\n minWidth: String,\n containerClass: String,\n teleportDisabled: Boolean,\n zindexable: {\n type: Boolean,\n default: true\n },\n zIndex: Number,\n overlap: Boolean\n },\n setup(props) {\n const VBinder = inject('VBinder');\n const mergedEnabledRef = useMemo(() => {\n return props.enabled !== undefined ? props.enabled : props.show;\n });\n const followerRef = ref(null);\n const offsetContainerRef = ref(null);\n const ensureListeners = () => {\n const { syncTrigger } = props;\n if (syncTrigger.includes('scroll')) {\n VBinder.addScrollListener(syncPosition);\n }\n if (syncTrigger.includes('resize')) {\n VBinder.addResizeListener(syncPosition);\n }\n };\n const removeListeners = () => {\n VBinder.removeScrollListener(syncPosition);\n VBinder.removeResizeListener(syncPosition);\n };\n onMounted(() => {\n if (mergedEnabledRef.value) {\n syncPosition();\n ensureListeners();\n }\n });\n const ssrAdapter = useSsrAdapter();\n style.mount({\n id: 'vueuc/binder',\n head: true,\n ssr: ssrAdapter\n });\n onBeforeUnmount(() => {\n removeListeners();\n });\n onFontsReady(() => {\n if (mergedEnabledRef.value) {\n syncPosition();\n }\n });\n const syncPosition = () => {\n if (!mergedEnabledRef.value) {\n return;\n }\n const follower = followerRef.value;\n // sometimes watched props change before its dom is ready\n // for example: show=false, x=undefined, y=undefined\n // show=true, x=0, y=0\n // will cause error\n // I may optimize the watch start point later\n if (follower === null)\n return;\n const target = VBinder.targetRef;\n const { x, y, overlap } = props;\n const targetRect = x !== undefined && y !== undefined\n ? getPointRect(x, y)\n : getRect(target);\n const { width, minWidth, placement, flip } = props;\n follower.setAttribute('v-placement', placement);\n if (overlap) {\n follower.setAttribute('v-overlap', '');\n }\n else {\n follower.removeAttribute('v-overlap');\n }\n const { style } = follower;\n if (width === 'target') {\n style.width = `${targetRect.width}px`;\n }\n else if (width !== undefined) {\n style.width = width;\n }\n else {\n style.width = '';\n }\n if (minWidth === 'target') {\n style.minWidth = `${targetRect.width}px`;\n }\n else if (minWidth !== undefined) {\n style.minWidth = minWidth;\n }\n else {\n style.minWidth = '';\n }\n const followerRect = getRect(follower);\n const offsetContainerRect = getRect(offsetContainerRef.value);\n const properPlacement = getProperPlacementOfFollower(placement, targetRect, followerRect, flip, overlap);\n const properTransformOrigin = getProperTransformOrigin(properPlacement, overlap);\n const { left, top, transform } = getOffset(properPlacement, offsetContainerRect, targetRect, overlap);\n // we assume that the content size doesn't change after flip,\n // nor we need to make sync logic more complex\n follower.setAttribute('v-placement', properPlacement);\n follower.style.transform = `translateX(${left}) translateY(${top}) ${transform}`;\n follower.style.transformOrigin = properTransformOrigin;\n };\n watch(mergedEnabledRef, (value) => {\n if (value) {\n ensureListeners();\n syncOnNextTick();\n }\n else {\n removeListeners();\n }\n });\n const syncOnNextTick = () => {\n nextTick()\n .then(syncPosition)\n .catch((e) => console.error(e));\n };\n ['placement', 'x', 'y', 'flip', 'width', 'overlap', 'minWidth'].forEach((prop) => {\n watch(toRef(props, prop), syncPosition);\n });\n ['teleportDisabled'].forEach((prop) => {\n watch(toRef(props, prop), syncOnNextTick);\n });\n watch(toRef(props, 'syncTrigger'), (value) => {\n if (!value.includes('resize')) {\n VBinder.removeResizeListener(syncPosition);\n }\n else {\n VBinder.addResizeListener(syncPosition);\n }\n if (!value.includes('scroll')) {\n VBinder.removeScrollListener(syncPosition);\n }\n else {\n VBinder.addScrollListener(syncPosition);\n }\n });\n const isMountedRef = useIsMounted();\n const mergedToRef = useMemo(() => {\n const { to } = props;\n if (to !== undefined)\n return to;\n if (isMountedRef.value) {\n // TODO: find proper container\n return undefined;\n }\n return undefined;\n });\n return {\n VBinder,\n mergedEnabled: mergedEnabledRef,\n offsetContainerRef,\n followerRef,\n mergedTo: mergedToRef,\n syncPosition\n };\n },\n render() {\n return h(LazyTeleport, {\n show: this.show,\n to: this.mergedTo,\n disabled: this.teleportDisabled\n }, {\n default: () => {\n const vNode = h('div', {\n class: ['v-binder-follower-container', this.containerClass],\n ref: 'offsetContainerRef'\n }, [\n h('div', {\n class: 'v-binder-follower-content',\n ref: 'followerRef'\n }, this.$slots)\n ]);\n if (this.zindexable) {\n return withDirectives(vNode, [\n [\n zindexable,\n {\n enabled: this.mergedEnabled,\n zIndex: this.zIndex\n }\n ]\n ]);\n }\n return vNode;\n }\n });\n }\n});\n","import { useMemo } from 'vooks';\nimport { inject } from 'vue';\nimport { modalBodyInjectionKey } from '../../modal/src/interface';\nimport { drawerBodyInjectionKey } from '../../drawer/src/interface';\nimport { popoverBodyInjectionKey } from '../../popover/src/interface';\nimport { internalSelectionMenuBodyInjectionKey } from '../../_internal/select-menu/src/interface';\nconst teleportDisabled = '__disabled__';\nfunction useAdjustedTo(props) {\n const modal = inject(modalBodyInjectionKey, null);\n const drawer = inject(drawerBodyInjectionKey, null);\n const popover = inject(popoverBodyInjectionKey, null);\n const selectMenu = inject(internalSelectionMenuBodyInjectionKey, null);\n return useMemo(() => {\n var _a;\n const { to } = props;\n if (to !== undefined) {\n if (to === false)\n return teleportDisabled;\n if (to === true)\n return 'body';\n return to;\n }\n if (modal === null || modal === void 0 ? void 0 : modal.value) {\n return (_a = modal.value.$el) !== null && _a !== void 0 ? _a : modal.value;\n }\n if (drawer === null || drawer === void 0 ? void 0 : drawer.value)\n return drawer.value;\n if (popover === null || popover === void 0 ? void 0 : popover.value)\n return popover.value;\n if (selectMenu === null || selectMenu === void 0 ? void 0 : selectMenu.value)\n return selectMenu.value;\n return to !== null && to !== void 0 ? to : 'body';\n });\n}\n// teleport disabled key\nuseAdjustedTo.tdkey = teleportDisabled;\nuseAdjustedTo.propTo = {\n type: [String, Object, Boolean],\n default: undefined\n};\nexport { useAdjustedTo };\n","import { on, off } from 'evtd';\nconst ctxKey = '@@mmoContext';\nconst mousemoveoutside = {\n mounted(el, { value }) {\n el[ctxKey] = {\n handler: undefined\n };\n if (typeof value === 'function') {\n el[ctxKey].handler = value;\n on('mousemoveoutside', el, value);\n }\n },\n updated(el, { value }) {\n const ctx = el[ctxKey];\n if (typeof value === 'function') {\n if (ctx.handler) {\n if (ctx.handler !== value) {\n off('mousemoveoutside', el, ctx.handler);\n ctx.handler = value;\n on('mousemoveoutside', el, value);\n }\n }\n else {\n el[ctxKey].handler = value;\n on('mousemoveoutside', el, value);\n }\n }\n else {\n if (ctx.handler) {\n off('mousemoveoutside', el, ctx.handler);\n ctx.handler = undefined;\n }\n }\n },\n unmounted(el) {\n const { handler } = el[ctxKey];\n if (handler) {\n off('mousemoveoutside', el, handler);\n }\n el[ctxKey].handler = undefined;\n }\n};\nexport default mousemoveoutside;\n","import { c, cB, cM, cNotM, cE, cCB } from '../../../_utils/cssr';\nconst oppositePlacement = {\n top: 'bottom',\n bottom: 'top',\n left: 'right',\n right: 'left'\n}; // vars:\n// --bezier\n// --bezier-ease-in\n// --bezier-ease-out\n// --font-size\n// --text-color\n// --color\n// --border-radius\n// --arrow-height\n// --arrow-offset\n// --arrow-offset-vertical\n// --padding\n// --space\n// --space-arrow\n// --divider-color\n\nexport default c([cB('popover', `\n transition:\n box-shadow .3s var(--bezier),\n background-color .3s var(--bezier),\n color .3s var(--bezier);\n transform-origin: inherit;\n position: relative;\n font-size: var(--font-size);\n color: var(--text-color);\n box-shadow: var(--box-shadow);\n `, [// body transition\nc('&.popover-transition-enter-from, &.popover-transition-leave-to', `\n opacity: 0;\n transform: scale(.85);\n `), c('&.popover-transition-enter-to, &.popover-transition-leave-from', `\n transform: scale(1);\n opacity: 1;\n `), c('&.popover-transition-enter-active', `\n transition:\n opacity .15s var(--bezier-ease-out),\n transform .15s var(--bezier-ease-out);\n `), c('&.popover-transition-leave-active', `\n transition:\n opacity .15s var(--bezier-ease-in),\n transform .15s var(--bezier-ease-in);\n `), cNotM('raw', `\n background-color: var(--color);\n border-radius: var(--border-radius);\n var(--padding);\n `, [cNotM('show-header', 'padding: var(--padding);')]), cE('header', `\n padding: var(--padding);\n border-bottom: 1px solid var(--divider-color);\n transition: border-color .3s var(--bezier);\n `), cE('content', `\n padding: var(--padding);\n `), cB('popover-arrow-wrapper', `\n position: absolute;\n overflow: hidden;\n pointer-events: none;\n `, [cB('popover-arrow', `\n transition: background-color .3s var(--bezier);\n position: absolute;\n display: block;\n width: calc(var(--arrow-height) * 1.414);\n height: calc(var(--arrow-height) * 1.414);\n box-shadow: 0 0 8px 0 rgba(0, 0, 0, .12);\n transform: rotate(45deg);\n background-color: var(--color);\n pointer-events: all;\n `)])]), placementStyle('top-start', `\n top: calc(-0.707 * var(--arrow-height));\n left: var(--arrow-offset);\n `), placementStyle('top', `\n top: calc(-0.707 * var(--arrow-height));\n transform: translateX(calc(-0.707 * var(--arrow-height))) rotate(45deg);\n left: 50%;\n `), placementStyle('top-end', `\n top: calc(-0.707 * var(--arrow-height));\n right: var(--arrow-offset);\n `), placementStyle('bottom-start', `\n bottom: calc(-0.707 * var(--arrow-height));\n left: var(--arrow-offset);\n `), placementStyle('bottom', `\n bottom: calc(-0.707 * var(--arrow-height));\n transform: translateX(calc(-0.707 * var(--arrow-height))) rotate(45deg);\n left: 50%;\n `), placementStyle('bottom-end', `\n bottom: calc(-0.707 * var(--arrow-height));\n right: var(--arrow-offset);\n `), placementStyle('left-start', `\n left: calc(-0.707 * var(--arrow-height));\n top: var(--arrow-offset-vertical);\n `), placementStyle('left', `\n left: calc(-0.707 * var(--arrow-height));\n transform: translateY(calc(-0.707 * var(--arrow-height))) rotate(45deg);\n top: 50%;\n `), placementStyle('left-end', `\n left: calc(-0.707 * var(--arrow-height));\n bottom: var(--arrow-offset-vertical);\n `), placementStyle('right-start', `\n right: calc(-0.707 * var(--arrow-height));\n top: var(--arrow-offset-vertical);\n `), placementStyle('right', `\n right: calc(-0.707 * var(--arrow-height));\n transform: translateY(calc(-0.707 * var(--arrow-height))) rotate(45deg);\n top: 50%;\n `), placementStyle('right-end', `\n right: calc(-0.707 * var(--arrow-height));\n bottom: var(--arrow-offset-vertical);\n `)]);\n\nfunction placementStyle(placement, arrowStyleLiteral) {\n const position = placement.split('-')[0];\n const sizeStyle = ['top', 'bottom'].includes(position) ? 'height: var(--space-arrow);' : 'width: var(--space-arrow);';\n return c(`[v-placement=\"${placement}\"] >`, [cB('popover', `\n margin-${oppositePlacement[position]}: var(--space);\n `, [cM('show-arrow', `\n margin-${oppositePlacement[position]}: var(--space-arrow);\n `), cM('overlap', `\n margin: 0;\n `), cCB('popover-arrow-wrapper', `\n right: 0;\n left: 0;\n top: 0;\n bottom: 0;\n ${position}: 100%;\n ${oppositePlacement[position]}: auto;\n ${sizeStyle}\n `, [cB('popover-arrow', arrowStyleLiteral)])])]);\n}","import { h, vShow, withDirectives, Transition, ref, defineComponent, computed, mergeProps, inject, onBeforeUnmount, watch, toRef, provide, renderSlot, Fragment } from 'vue';\nimport { VFollower } from 'vueuc';\nimport { clickoutside, mousemoveoutside } from 'vdirs';\nimport { useTheme, useConfig } from '../../_mixins';\nimport { formatLength, useAdjustedTo } from '../../_utils';\nimport { popoverLight } from '../styles';\nimport style from './styles/index.cssr';\nimport { popoverBodyInjectionKey } from './interface';\nimport { drawerBodyInjectionKey } from '../../drawer/src/interface';\nimport { modalBodyInjectionKey } from '../../modal/src/interface';\nexport const popoverBodyProps = Object.assign(Object.assign({}, useTheme.props), { to: useAdjustedTo.propTo, show: Boolean, trigger: String, showArrow: Boolean, delay: Number, duration: Number, raw: Boolean, arrowStyle: [String, Object], displayDirective: String, x: Number, y: Number, filp: Boolean, overlap: Boolean, placement: String, width: [Number, String], \n // private\n animated: Boolean, onClickoutside: Function, \n /** @deprecated */\n minWidth: Number, maxWidth: Number });\nexport const renderArrow = ({ arrowStyle, clsPrefix }) => {\n return (h(\"div\", { key: \"__popover-arrow__\", class: `${clsPrefix}-popover-arrow-wrapper` },\n h(\"div\", { class: `${clsPrefix}-popover-arrow`, style: arrowStyle })));\n};\nexport default defineComponent({\n name: 'PopoverBody',\n inheritAttrs: false,\n props: popoverBodyProps,\n setup(props, { slots, attrs }) {\n const { namespaceRef, mergedClsPrefixRef } = useConfig(props);\n const themeRef = useTheme('Popover', 'Popover', style, popoverLight, props, mergedClsPrefixRef);\n const followerRef = ref(null);\n const NPopover = inject('NPopover');\n const bodyRef = ref(null);\n const followerEnabledRef = ref(props.show);\n const directivesRef = computed(() => {\n const { trigger, onClickoutside } = props;\n const directives = [];\n const { positionManuallyRef: { value: positionManually } } = NPopover;\n if (!positionManually) {\n if (trigger === 'click' && !onClickoutside) {\n directives.push([clickoutside, handleClickOutside]);\n }\n if (trigger === 'hover') {\n directives.push([mousemoveoutside, handleMouseMoveOutside]);\n }\n }\n if (onClickoutside) {\n directives.push([clickoutside, handleClickOutside]);\n }\n if (props.displayDirective === 'show') {\n directives.push([vShow, props.show]);\n }\n return directives;\n });\n const styleRef = computed(() => {\n return [\n {\n width: props.width === 'trigger' ? '' : formatLength(props.width),\n maxWidth: formatLength(props.maxWidth),\n minWidth: formatLength(props.minWidth)\n },\n cssVarsRef.value\n ];\n });\n const cssVarsRef = computed(() => {\n const { common: { cubicBezierEaseInOut, cubicBezierEaseIn, cubicBezierEaseOut }, self: { space, spaceArrow, padding, fontSize, textColor, dividerColor, color, boxShadow, borderRadius, arrowHeight, arrowOffset, arrowOffsetVertical } } = themeRef.value;\n return {\n '--box-shadow': boxShadow,\n '--bezier': cubicBezierEaseInOut,\n '--bezier-ease-in': cubicBezierEaseIn,\n '--bezier-ease-out': cubicBezierEaseOut,\n '--font-size': fontSize,\n '--text-color': textColor,\n '--color': color,\n '--divider-color': dividerColor,\n '--border-radius': borderRadius,\n '--arrow-height': arrowHeight,\n '--arrow-offset': arrowOffset,\n '--arrow-offset-vertical': arrowOffsetVertical,\n '--padding': padding,\n '--space': space,\n '--space-arrow': spaceArrow\n };\n });\n NPopover.setBodyInstance({\n syncPosition\n });\n onBeforeUnmount(() => {\n NPopover.setBodyInstance(null);\n });\n watch(toRef(props, 'show'), (value) => {\n // If no animation, no transition component will be applied to the\n // component. So we need to trigger follower manaully.\n if (props.animated)\n return;\n if (value) {\n followerEnabledRef.value = true;\n }\n else {\n followerEnabledRef.value = false;\n }\n });\n function syncPosition() {\n var _a;\n // eslint-disable-next-line no-unused-expressions\n (_a = followerRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition();\n }\n function handleMouseEnter(e) {\n if (props.trigger === 'hover') {\n NPopover.handleMouseEnter(e);\n }\n }\n function handleMouseLeave(e) {\n if (props.trigger === 'hover') {\n NPopover.handleMouseLeave(e);\n }\n }\n function handleMouseMoveOutside(e) {\n if (props.trigger === 'hover' &&\n !getTriggerElement().contains(e.target)) {\n NPopover.handleMouseMoveOutside(e);\n }\n }\n function handleClickOutside(e) {\n if ((props.trigger === 'click' &&\n !getTriggerElement().contains(e.target)) ||\n props.onClickoutside) {\n NPopover.handleClickOutside(e);\n }\n }\n function getTriggerElement() {\n return NPopover.getTriggerElement();\n }\n provide(popoverBodyInjectionKey, bodyRef);\n provide(drawerBodyInjectionKey, null);\n provide(modalBodyInjectionKey, null);\n function renderContentNode() {\n let contentNode;\n const { internalRenderBodyRef: { value: renderBody } } = NPopover;\n const { value: mergedClsPrefix } = mergedClsPrefixRef;\n if (!renderBody) {\n const { value: extraClass } = NPopover.extraClassRef;\n contentNode = h('div', mergeProps({\n class: [\n `${mergedClsPrefix}-popover`,\n extraClass.map((v) => `${mergedClsPrefix}-${v}`),\n {\n [`${mergedClsPrefix}-popover--overlap`]: props.overlap,\n [`${mergedClsPrefix}-popover--show-arrow`]: props.showArrow,\n [`${mergedClsPrefix}-popover--show-header`]: !!slots.header,\n [`${mergedClsPrefix}-popover--raw`]: props.raw\n }\n ],\n ref: bodyRef,\n style: styleRef.value,\n onMouseenter: handleMouseEnter,\n onMouseleave: handleMouseLeave\n }, attrs), [\n slots.header ? (h(Fragment, null,\n h(\"div\", { class: `${mergedClsPrefix}-popover__header` }, slots.header()),\n h(\"div\", { class: `${mergedClsPrefix}-popover__content` }, slots))) : (renderSlot(slots, 'default')),\n props.showArrow\n ? renderArrow({\n arrowStyle: props.arrowStyle,\n clsPrefix: mergedClsPrefix\n })\n : null\n ]);\n }\n else {\n contentNode = renderBody(\n // The popover class and overlap class must exists, they will be used\n // to place the body & transition animation.\n // Shadow class exists for reuse box-shadow.\n [\n `${mergedClsPrefix}-popover`,\n props.overlap && `${mergedClsPrefix}-popover--overlap`\n ], bodyRef, styleRef.value, handleMouseEnter, handleMouseLeave);\n }\n return props.displayDirective === 'show' || props.show\n ? withDirectives(contentNode, directivesRef.value)\n : null;\n }\n return {\n namespace: namespaceRef,\n NPopover,\n followerRef,\n adjustedTo: useAdjustedTo(props),\n followerEnabled: followerEnabledRef,\n renderContentNode\n };\n },\n render() {\n return h(VFollower, {\n show: this.show,\n enabled: this.followerEnabled,\n to: this.adjustedTo,\n x: this.x,\n y: this.y,\n placement: this.placement,\n containerClass: this.namespace,\n ref: 'followerRef',\n overlap: this.overlap,\n width: this.width === 'trigger' ? 'target' : undefined,\n teleportDisabled: this.adjustedTo === useAdjustedTo.tdkey\n }, {\n default: () => {\n return this.animated\n ? h(Transition, {\n name: 'popover-transition',\n appear: this.NPopover.isMountedRef.value,\n // Don't use watch to enable follower, since the transition may\n // make position sync timing very subtle and buggy.\n onEnter: () => {\n this.followerEnabled = true;\n },\n onAfterLeave: () => {\n this.followerEnabled = false;\n }\n }, {\n default: this.renderContentNode\n })\n : this.renderContentNode();\n }\n });\n }\n});\n"],"sourceRoot":""}