neko-ui 2.14.13 → 2.14.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/dropdown/index.d.ts +1 -0
- package/es/popover/index.d.ts +3 -0
- package/es/popover/index.js +2 -2
- package/lib/dropdown/index.d.ts +1 -0
- package/lib/popover/index.d.ts +3 -0
- package/lib/popover/index.js +2 -2
- package/package.json +2 -2
- package/umd/index.js +4 -4
- package/umd/site.webmanifest +1 -1
package/es/dropdown/index.d.ts
CHANGED
package/es/popover/index.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ export interface PopoverProps {
|
|
|
36
36
|
*/
|
|
37
37
|
size?: BasicConfig['size'];
|
|
38
38
|
children?: JSXElement;
|
|
39
|
+
/** content 为 encodeURIComponent 字符串 */
|
|
40
|
+
encodeUri?: boolean;
|
|
39
41
|
}
|
|
40
42
|
export declare enum TriggerOption {
|
|
41
43
|
/** 鼠标移入 */
|
|
@@ -85,5 +87,6 @@ export declare const defaultProps: {
|
|
|
85
87
|
arrow: undefined;
|
|
86
88
|
placement: undefined;
|
|
87
89
|
dropdownMatchSelectWidth: undefined;
|
|
90
|
+
encodeUri: undefined;
|
|
88
91
|
};
|
|
89
92
|
export default Popover;
|
package/es/popover/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}import{template as _$template}from"solid-js/web";import{addEventListener as _$addEventListener}from"solid-js/web";import{memo as _$memo}from"solid-js/web";import{insert as _$insert}from"solid-js/web";import{use as _$use}from"solid-js/web";import{spread as _$spread}from"solid-js/web";import{mergeProps as _$mergeProps}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _tmpl$=/*#__PURE__*/_$template(`<style>`),_tmpl$2=/*#__PURE__*/_$template(`<style> `),_tmpl$3=/*#__PURE__*/_$template(`<span>`),_tmpl$4=/*#__PURE__*/_$template(`<div>`);function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.defineProperty(r,n,c)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}import{createEffect,createMemo,createSignal,mergeProps,onCleanup,onMount,Show,splitProps}from"solid-js";import{Portal}from"solid-js/web";import{isElementInside,isEqual,isFunction,passiveSupported}from"@moneko/common";import{css,cx}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import Empty from"../empty";import theme,{inline}from"../theme";import{popoverCss,portalCss}from"./style";export var TriggerOption=/*#__PURE__*/function(TriggerOption){/** 鼠标移入 */TriggerOption["hover"]="hover";/** 点击 */TriggerOption["click"]="click";/** 右键 */TriggerOption["contextMenu"]="contextMenu";/** 无 */TriggerOption["none"]="none";return TriggerOption}({});export var Placement=/*#__PURE__*/function(Placement){/** 左下 */Placement["bottomLeft"]="bottomLeft";/** 下 */Placement["bottom"]="bottom";/** 右下 */Placement["bottomRight"]="bottomRight";/** 左上 */Placement["topLeft"]="topLeft";/** 上 */Placement["top"]="top";/** 右上 */Placement["topRight"]="topRight";/** 左 */Placement["left"]="left";/** 右 */Placement["right"]="right";return Placement}({});function Popover(props){var isDark=theme.isDark,baseStyle=theme.baseStyle;var mp=mergeProps({trigger:"hover"},props);var _splitProps=splitProps(mp,["class","css","popupClass","popupCss","size","trigger","open","disabled","onOpenChange","dropdownMatchSelectWidth","destroyInactive","arrow","placement","getPopupContainer","children","content"]),_splitProps2=_slicedToArray(_splitProps,1),local=_splitProps2[0];var ref;var childRef;var closeTimer;var _createSignal=createSignal(null),_createSignal2=_slicedToArray(_createSignal,2),open=_createSignal2[0],setOpen=_createSignal2[1];var _createSignal3=createSignal({}),_createSignal4=_slicedToArray(_createSignal3,2),posi=_createSignal4[0],setPosi=_createSignal4[1];var _createSignal5=createSignal(false),_createSignal6=_slicedToArray(_createSignal5,2),up=_createSignal6[0],setUp=_createSignal6[1];var _createSignal7=createSignal(""),_createSignal8=_slicedToArray(_createSignal7,2),width=_createSignal8[0],setWidth=_createSignal8[1];createEffect(function(){if(local.open!==void 0){setOpen(local.open)}});function openChange(next){if(!local.disabled){if(local.onOpenChange){local.onOpenChange(next)}if(local.open===void 0){setOpen(next)}}}function exit(){if(open()===false){setOpen(null);openChange(null)}}createEffect(function(){if(open()&&local.dropdownMatchSelectWidth&&childRef){setWidth(".portal {width: ".concat(childRef.offsetWidth,"px;}"))}});function close(e){clearTimeout(closeTimer);closeTimer=setTimeout(function(){clearTimeout(closeTimer);if(e.target&&e.target.getAttribute("handle-closed")==="false"){return}var isContains=isElementInside(e.target,ref);if(open()&&!isContains||isContains&&e.type!=="mousedown"){openChange(false)}},local.trigger==="hover"?300:0)}var portalTimer;var showPortal=function showPortal(e){clearTimeout(portalTimer);portalTimer=setTimeout(function(){clearTimeout(portalTimer);if(!ref||!childRef||!e&&local.trigger==="contextMenu"){return}if((e===null||e===void 0?void 0:e.type)==="scroll"&&local.trigger==="contextMenu"){openChange(false);return}var elRect=childRef.getBoundingClientRect();var portalRect=ref.getBoundingClientRect();var offsetX=portalRect.width/2-elRect.width/2;var margin=window.innerHeight-elRect.bottom;var _placement=local.placement;var _isBottom=!(_placement!==null&&_placement!==void 0&&_placement.startsWith("top"))&&margin>ref.offsetHeight*0.8&&margin>elRect.top||(_placement===null||_placement===void 0?void 0:_placement.startsWith("bottom"));var arrowHeight=local.arrow?8:4;var _posi={};switch(local.placement){case"bottomLeft":case"left":case"topLeft":_posi.left=elRect.left;_posi["--x"]=-portalRect.width/2+16;break;case"bottomRight":case"right":case"topRight":_posi.left=elRect.right-portalRect.width;_posi["--x"]=portalRect.width/2-16;break;case"bottom":case"top":default:_posi.left=Math.abs(offsetX>elRect.left?elRect.left:elRect.left-offsetX);_posi["--x"]=-(_posi.left-elRect.left+offsetX);break}if(_isBottom){_posi.top=elRect.bottom+arrowHeight}else{_posi.bottom=window.innerHeight-elRect.top+arrowHeight}setPosi(function(prev){return isEqual(prev,_posi)?prev:_posi});setUp(function(prev){return prev===!_isBottom?prev:!_isBottom})},32)};function handleOpen(e){clearTimeout(closeTimer);e.stopPropagation();if(local.trigger==="contextMenu"&&e.type==="contextmenu"){e.preventDefault();setPosi(function(prev){return _objectSpread(_objectSpread({},prev),{},_defineProperty({left:e.clientX,top:e.clientY},"--x",-((ref===null||ref===void 0?void 0:ref.getBoundingClientRect().width)||0)/2+16))})}openChange(true)}var container=createMemo(function(){if(isFunction(local.getPopupContainer)){return local.getPopupContainer(childRef)}return document.body});var childrenProps=createMemo(function(){var _props={};var openEvent={click:"on:mousedown",hover:"on:mouseenter",contextMenu:"on:contextmenu",none:void 0};var closeEvent={hover:"on:mouseleave",click:void 0,contextMenu:void 0,none:void 0};var openFn=openEvent[local.trigger];var closeFn=closeEvent[local.trigger];Object.assign(_props,openFn&&_defineProperty({},openFn,handleOpen),closeFn&&_defineProperty({},closeFn,close));return _props});var portalStyle=createMemo(function(){var p=posi();return".portal {".concat(Object.keys(p).map(function(k){return"".concat(k,":").concat(p[k],"px;")}).join(""),"z-index: 99999;}")});var portalCls=createMemo(function(){return cx("portal",local.arrow&&"arrow","".concat(open()?"in":"out","-").concat(up()?"up":"down"),local.size,local.popupClass)});var hostStyle=createMemo(function(){return":host {--popover-bg: ".concat(isDark()?"#1f1f1f":"var(--component-bg)",";--popover-shadow-color: rgb(0 0 0 / 5%);position: absolute;}")});createEffect(function(){if(open()){showPortal();window.addEventListener("scroll",showPortal,{passive:passiveSupported})}onCleanup(function(){window.removeEventListener("scroll",showPortal,false)})});onMount(function(){if(local.trigger!=="none"){document.documentElement.addEventListener("mousedown",close,false)}});onCleanup(function(){clearTimeout(closeTimer);document.documentElement.removeEventListener("mousedown",close,false)});return[function(){var _el$=_tmpl$();_el$.textContent=popoverCss;return _el$}(),_$createComponent(Show,{get when(){return local.css},get children(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;_$effect(function(){return _el$3.data=css(local.css)});return _el$2}}),function(){var _el$4=_tmpl$3();var _ref$=childRef;typeof _ref$==="function"?_$use(_ref$,_el$4):childRef=_el$4;_$spread(_el$4,_$mergeProps(_defineAccessor("get",{},"class",function(){return cx("popover",local.size,local["class"])}),childrenProps),false,true);_$insert(_el$4,function(){return local.children});return _el$4}(),_$createComponent(Show,{get when(){return open()!==null||!local.destroyInactive},get children(){return _$createComponent(Portal,{useShadow:true,get mount(){return container()},get children(){return[function(){var _el$5=_tmpl$2(),_el$6=_el$5.firstChild;_$effect(function(){return _el$6.data=baseStyle()});return _el$5}(),function(){var _el$7=_tmpl$();_el$7.textContent=portalCss;return _el$7}(),function(){var _el$8=_tmpl$2(),_el$9=_el$8.firstChild;_$effect(function(){return _el$9.data=hostStyle()});return _el$8}(),function(){var _el$0=_tmpl$2(),_el$1=_el$0.firstChild;_$effect(function(){return _el$1.data=portalStyle()});return _el$0}(),function(){var _el$10=_tmpl$2(),_el$11=_el$10.firstChild;_$effect(function(){return _el$11.data=width()});return _el$10}(),_$createComponent(Show,{get when(){return local.popupCss},get children(){var _el$12=_tmpl$2(),_el$13=_el$12.firstChild;_$effect(function(){return _el$13.data=css(local.popupCss)});return _el$12}}),function(){var _el$14=_tmpl$4();_$addEventListener(_el$14,"animationend",exit);var _ref$2=ref;typeof _ref$2==="function"?_$use(_ref$2,_el$14):ref=_el$14;_$spread(_el$14,_$mergeProps(_defineAccessor("get",{},"class",function(){return portalCls()}),childrenProps),false,true);_$insert(_el$14,_$createComponent(Show,{get when(){return!!local.content},get fallback(){return _$createComponent(Empty,{})},get children(){return _$createComponent(Show,{get when(){return typeof local.content==="string"},get fallback(){return _$memo(function(){return local.content})},get children(){var _el$15=_tmpl$4();_$effect(function(){return _el$15.innerHTML=local.content});return _el$15}})}}));return _el$14}()]}})}})]}export var defaultProps={"class":void 0,css:void 0,content:void 0,getPopupContainer:void 0,trigger:void 0,open:void 0,onOpenChange:void 0,popupClass:void 0,popupCss:void 0,destroyInactive:true,disabled:void 0,arrow:void 0,placement:void 0,dropdownMatchSelectWidth:void 0};Popover.registry=function(){customElement("n-popover",defaultProps,function(_,opt){var baseStyle=theme.baseStyle;var el=opt.element;var props=mergeProps({onOpenChange:function onOpenChange(next){el.dispatchEvent(new CustomEvent("openchange",{detail:next}))},children:_toConsumableArray(el.childNodes.values())},_);createEffect(function(){clearAttribute(el,["content","popupCss","css"])});return[function(){var _el$16=_tmpl$();_el$16.textContent=inline;return _el$16}(),function(){var _el$17=_tmpl$2(),_el$18=_el$17.firstChild;_$effect(function(){return _el$18.data=baseStyle()});return _el$17}(),_$createComponent(Popover,props)]})};export default Popover;
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJjcmVhdGVNZW1vIiwiY3JlYXRlU2lnbmFsIiwibWVyZ2VQcm9wcyIsIm9uQ2xlYW51cCIsIm9uTW91bnQiLCJTaG93Iiwic3BsaXRQcm9wcyIsIlBvcnRhbCIsImlzRWxlbWVudEluc2lkZSIsImlzRXF1YWwiLCJpc0Z1bmN0aW9uIiwicGFzc2l2ZVN1cHBvcnRlZCIsImNzcyIsImN4IiwiY3VzdG9tRWxlbWVudCIsImNsZWFyQXR0cmlidXRlIiwiRW1wdHkiLCJ0aGVtZSIsImlubGluZSIsInBvcG92ZXJDc3MiLCJwb3J0YWxDc3MiLCJUcmlnZ2VyT3B0aW9uIiwiUGxhY2VtZW50IiwiUG9wb3ZlciIsInByb3BzIiwiaXNEYXJrIiwiYmFzZVN0eWxlIiwibXAiLCJ0cmlnZ2VyIiwiX3NwbGl0UHJvcHMiLCJfc3BsaXRQcm9wczIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsIiwicmVmIiwiY2hpbGRSZWYiLCJjbG9zZVRpbWVyIiwiX2NyZWF0ZVNpZ25hbCIsIl9jcmVhdGVTaWduYWwyIiwib3BlbiIsInNldE9wZW4iLCJfY3JlYXRlU2lnbmFsMyIsIl9jcmVhdGVTaWduYWw0IiwicG9zaSIsInNldFBvc2kiLCJfY3JlYXRlU2lnbmFsNSIsIl9jcmVhdGVTaWduYWw2IiwidXAiLCJzZXRVcCIsIl9jcmVhdGVTaWduYWw3IiwiX2NyZWF0ZVNpZ25hbDgiLCJ3aWR0aCIsInNldFdpZHRoIiwib3BlbkNoYW5nZSIsIm5leHQiLCJkaXNhYmxlZCIsIm9uT3BlbkNoYW5nZSIsImV4aXQiLCJkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgiLCJjb25jYXQiLCJvZmZzZXRXaWR0aCIsImNsb3NlIiwiZSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJ0YXJnZXQiLCJnZXRBdHRyaWJ1dGUiLCJpc0NvbnRhaW5zIiwidHlwZSIsInBvcnRhbFRpbWVyIiwic2hvd1BvcnRhbCIsImVsUmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBvcnRhbFJlY3QiLCJvZmZzZXRYIiwibWFyZ2luIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJib3R0b20iLCJfcGxhY2VtZW50IiwicGxhY2VtZW50IiwiX2lzQm90dG9tIiwic3RhcnRzV2l0aCIsIm9mZnNldEhlaWdodCIsInRvcCIsImFycm93SGVpZ2h0IiwiYXJyb3ciLCJfcG9zaSIsImxlZnQiLCJyaWdodCIsIk1hdGgiLCJhYnMiLCJwcmV2IiwiaGFuZGxlT3BlbiIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImNsaWVudFgiLCJjbGllbnRZIiwiY29udGFpbmVyIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImJvZHkiLCJjaGlsZHJlblByb3BzIiwiX3Byb3BzIiwib3BlbkV2ZW50IiwiY2xpY2siLCJob3ZlciIsImNvbnRleHRNZW51Iiwibm9uZSIsImNsb3NlRXZlbnQiLCJvcGVuRm4iLCJjbG9zZUZuIiwiT2JqZWN0IiwiYXNzaWduIiwicG9ydGFsU3R5bGUiLCJwIiwia2V5cyIsIm1hcCIsImsiLCJqb2luIiwicG9ydGFsQ2xzIiwic2l6ZSIsInBvcHVwQ2xhc3MiLCJob3N0U3R5bGUiLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkb2N1bWVudEVsZW1lbnQiLCJfZWwkIiwiX3RtcGwkIiwidGV4dENvbnRlbnQiLCJfJGNyZWF0ZUNvbXBvbmVudCIsIndoZW4iLCJjaGlsZHJlbiIsIl9lbCQyIiwiX3RtcGwkMiIsIl9lbCQzIiwiZmlyc3RDaGlsZCIsIl8kZWZmZWN0IiwiZGF0YSIsIl9lbCQ0IiwiX3RtcGwkMyIsIl9yZWYkIiwiXyR1c2UiLCJfJHNwcmVhZCIsIl8kbWVyZ2VQcm9wcyIsIl9kZWZpbmVBY2Nlc3NvciIsIl8kaW5zZXJ0IiwiZGVzdHJveUluYWN0aXZlIiwidXNlU2hhZG93IiwibW91bnQiLCJfZWwkNSIsIl9lbCQ2IiwiX2VsJDciLCJfZWwkOCIsIl9lbCQ5IiwiX2VsJDAiLCJfZWwkMSIsIl9lbCQxMCIsIl9lbCQxMSIsInBvcHVwQ3NzIiwiX2VsJDEyIiwiX2VsJDEzIiwiX2VsJDE0IiwiX3RtcGwkNCIsIl8kYWRkRXZlbnRMaXN0ZW5lciIsIl9yZWYkMiIsImNvbnRlbnQiLCJmYWxsYmFjayIsIl8kbWVtbyIsIl9lbCQxNSIsImlubmVySFRNTCIsImRlZmF1bHRQcm9wcyIsInJlZ2lzdHJ5IiwiXyIsIm9wdCIsImVsIiwiZWxlbWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsIl90b0NvbnN1bWFibGVBcnJheSIsImNoaWxkTm9kZXMiLCJ2YWx1ZXMiLCJfZWwkMTYiLCJfZWwkMTciLCJfZWwkMTgiXSwic291cmNlcyI6WyJjb21wb25lbnRzL3BvcG92ZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUVmZmVjdCxcbiAgY3JlYXRlTWVtbyxcbiAgY3JlYXRlU2lnbmFsLFxuICBtZXJnZVByb3BzLFxuICBvbkNsZWFudXAsXG4gIG9uTW91bnQsXG4gIFNob3csXG4gIHNwbGl0UHJvcHMsXG59IGZyb20gJ3NvbGlkLWpzJztcbmltcG9ydCB7IFBvcnRhbCB9IGZyb20gJ3NvbGlkLWpzL3dlYic7XG5pbXBvcnQgeyBpc0VsZW1lbnRJbnNpZGUsIGlzRXF1YWwsIGlzRnVuY3Rpb24sIHBhc3NpdmVTdXBwb3J0ZWQgfSBmcm9tICdAbW9uZWtvL2NvbW1vbic7XG5pbXBvcnQgeyBjc3MsIGN4IH0gZnJvbSAnQG1vbmVrby9jc3MnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ3NvbGlkLWVsZW1lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IEJhc2ljQ29uZmlnLCBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUsIHR5cGUgSlNYRWxlbWVudCB9IGZyb20gJy4uL2Jhc2ljLWNvbmZpZyc7XG5pbXBvcnQgRW1wdHkgZnJvbSAnLi4vZW1wdHknO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgcG9wb3ZlckNzcywgcG9ydGFsQ3NzIH0gZnJvbSAnLi9zdHlsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3ZlclByb3BzIHtcbiAgLyoqIOiHquWumuS5ieexu+WQjSAqL1xuICBjbGFzcz86IHN0cmluZztcbiAgLyoqIOiHquWumuS5ieagt+W8j+ihqCAqL1xuICBjc3M/OiBzdHJpbmc7XG4gIC8qKiDlhoXlrrkgKi9cbiAgY29udGVudD86IEpTWEVsZW1lbnQgfCAoKCkgPT4gSlNYRWxlbWVudCk7XG4gIC8qKiDmjILovb3liLDmjIflrprnmoTlhYPntKDvvIzlgLzkuLrkuIDkuKrov5Tlm57lr7nlupQgRE9NIOWFg+e0oCDpu5jorqQgZG9jdW1lbnQuYm9keSAqL1xuICBnZXRQb3B1cENvbnRhaW5lcj86IChub2RlPzogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiBIVE1MRWxlbWVudDtcbiAgLyoqIOinpuWPkeihjOS4ulxuICAgKiBAZGVmYXVsdCAnaG92ZXInXG4gICAqL1xuICB0cmlnZ2VyPzoga2V5b2YgdHlwZW9mIFRyaWdnZXJPcHRpb247XG4gIC8qKiDmiZPlvIDlhoXlrrnmsJTms6EgKi9cbiAgb3Blbj86IGJvb2xlYW4gfCBudWxsO1xuICAvKiog5YaF5a655omT5byA5YWz6Zet5pe255qE5Zue6LCD5pa55rOVICovXG4gIG9uT3BlbkNoYW5nZT86IChvcGVuOiBib29sZWFuIHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIOawlOazoeeahOiHquWumuS5ieexu+WQjSAqL1xuICBwb3B1cENsYXNzPzogc3RyaW5nO1xuICAvKiog5rCU5rOh55qE6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIHBvcHVwQ3NzPzogc3RyaW5nO1xuICAvKiog5YWz6Zet5ZCO5piv5ZCm6ZSA5q+BICAqL1xuICBkZXN0cm95SW5hY3RpdmU/OiBib29sZWFuO1xuICAvKiog5LiN5Y+v55So54q25oCBICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiDmt7vliqDkuIDkuKrnrq3lpLTmmL7npLogICovXG4gIGFycm93PzogYm9vbGVhbjtcbiAgLyoqIOaMh+WumuawlOazoeaYvuekuueahOaWueWQkSAqL1xuICBwbGFjZW1lbnQ/OiBrZXlvZiB0eXBlb2YgUGxhY2VtZW50O1xuICAvKiog5rCU5rOh5a695bqm5LiO6Kem5Y+RZG9t5LiA6Ie0ICAqL1xuICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg/OiBib29sZWFuO1xuICAvKiog5bC65a+4XG4gICAqIEBkZWZhdWx0ICdub3JtYWwnXG4gICAqL1xuICBzaXplPzogQmFzaWNDb25maWdbJ3NpemUnXTtcbiAgY2hpbGRyZW4/OiBKU1hFbGVtZW50O1xufVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyT3B0aW9uIHtcbiAgLyoqIOm8oOagh+enu+WFpSAqL1xuICBob3ZlciA9ICdob3ZlcicsXG4gIC8qKiDngrnlh7sgKi9cbiAgY2xpY2sgPSAnY2xpY2snLFxuICAvKiog5Y+z6ZSuICovXG4gIGNvbnRleHRNZW51ID0gJ2NvbnRleHRNZW51JyxcbiAgLyoqIOaXoCAqL1xuICBub25lID0gJ25vbmUnLFxufVxuXG5leHBvcnQgZW51bSBQbGFjZW1lbnQge1xuICAvKiog5bem5LiLICovXG4gIGJvdHRvbUxlZnQgPSAnYm90dG9tTGVmdCcsXG4gIC8qKiDkuIsgKi9cbiAgYm90dG9tID0gJ2JvdHRvbScsXG4gIC8qKiDlj7PkuIsgKi9cbiAgYm90dG9tUmlnaHQgPSAnYm90dG9tUmlnaHQnLFxuICAvKiog5bem5LiKICovXG4gIHRvcExlZnQgPSAndG9wTGVmdCcsXG4gIC8qKiDkuIogKi9cbiAgdG9wID0gJ3RvcCcsXG4gIC8qKiDlj7PkuIogKi9cbiAgdG9wUmlnaHQgPSAndG9wUmlnaHQnLFxuICAvKiog5bemICovXG4gIGxlZnQgPSAnbGVmdCcsXG4gIC8qKiDlj7MgKi9cbiAgcmlnaHQgPSAncmlnaHQnLFxufVxuXG5pbnRlcmZhY2UgUG9zaSB7XG4gIGxlZnQ/OiBudW1iZXI7XG4gIHRvcD86IG51bWJlcjtcbiAgcmlnaHQ/OiBudW1iZXI7XG4gIGJvdHRvbT86IG51bWJlcjtcbiAgJy0teCc/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBFdmVudE1hcCB7XG4gIGNsaWNrPzogc3RyaW5nO1xuICBob3Zlcj86IHN0cmluZztcbiAgY29udGV4dE1lbnU/OiBzdHJpbmc7XG4gIG5vbmU/OiBuZXZlcjtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gUG9wb3Zlcihwcm9wczogUG9wb3ZlclByb3BzKSB7XG4gIGNvbnN0IHsgaXNEYXJrLCBiYXNlU3R5bGUgfSA9IHRoZW1lO1xuICBjb25zdCBtcCA9IG1lcmdlUHJvcHMoXG4gICAge1xuICAgICAgdHJpZ2dlcjogJ2hvdmVyJyxcbiAgICB9LFxuICAgIHByb3BzLFxuICApO1xuICBjb25zdCBbbG9jYWxdID0gc3BsaXRQcm9wcyhtcCwgW1xuICAgICdjbGFzcycsXG4gICAgJ2NzcycsXG4gICAgJ3BvcHVwQ2xhc3MnLFxuICAgICdwb3B1cENzcycsXG4gICAgJ3NpemUnLFxuICAgICd0cmlnZ2VyJyxcbiAgICAnb3BlbicsXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAnb25PcGVuQ2hhbmdlJyxcbiAgICAnZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoJyxcbiAgICAnZGVzdHJveUluYWN0aXZlJyxcbiAgICAnYXJyb3cnLFxuICAgICdwbGFjZW1lbnQnLFxuICAgICdnZXRQb3B1cENvbnRhaW5lcicsXG4gICAgJ2NoaWxkcmVuJyxcbiAgICAnY29udGVudCcsXG4gIF0pO1xuICBsZXQgcmVmOiBIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGNoaWxkUmVmOiBIVE1MU3BhbkVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGxldCBjbG9zZVRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IGNyZWF0ZVNpZ25hbDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb3NpLCBzZXRQb3NpXSA9IGNyZWF0ZVNpZ25hbDxQb3NpPih7fSk7XG4gIGNvbnN0IFt1cCwgc2V0VXBdID0gY3JlYXRlU2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3dpZHRoLCBzZXRXaWR0aF0gPSBjcmVhdGVTaWduYWwoJycpO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvY2FsLm9wZW4gIT09IHZvaWQgMCkge1xuICAgICAgc2V0T3Blbihsb2NhbC5vcGVuKTtcbiAgICB9XG4gIH0pO1xuICBmdW5jdGlvbiBvcGVuQ2hhbmdlKG5leHQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgaWYgKCFsb2NhbC5kaXNhYmxlZCkge1xuICAgICAgaWYgKGxvY2FsLm9uT3BlbkNoYW5nZSkge1xuICAgICAgICBsb2NhbC5vbk9wZW5DaGFuZ2UobmV4dCk7XG4gICAgICB9XG4gICAgICBpZiAobG9jYWwub3BlbiA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHNldE9wZW4obmV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGV4aXQoKSB7XG4gICAgaWYgKG9wZW4oKSA9PT0gZmFsc2UpIHtcbiAgICAgIHNldE9wZW4obnVsbCk7XG4gICAgICBvcGVuQ2hhbmdlKG51bGwpO1xuICAgIH1cbiAgfVxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKCkgJiYgbG9jYWwuZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoICYmIGNoaWxkUmVmKSB7XG4gICAgICBzZXRXaWR0aChgLnBvcnRhbCB7d2lkdGg6ICR7Y2hpbGRSZWYub2Zmc2V0V2lkdGh9cHg7fWApO1xuICAgIH1cbiAgfSk7XG5cbiAgZnVuY3Rpb24gY2xvc2UoZTogTW91c2VFdmVudCB8IEV2ZW50KSB7XG4gICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIpO1xuICAgIGNsb3NlVGltZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgICAgIGlmIChlLnRhcmdldCAmJiAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnaGFuZGxlLWNsb3NlZCcpID09PSAnZmFsc2UnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQ29udGFpbnMgPSBpc0VsZW1lbnRJbnNpZGUoZS50YXJnZXQgYXMgRWxlbWVudCwgcmVmKTtcblxuICAgICAgICBpZiAoKG9wZW4oKSAmJiAhaXNDb250YWlucykgfHwgKGlzQ29udGFpbnMgJiYgZS50eXBlICE9PSAnbW91c2Vkb3duJykpIHtcbiAgICAgICAgICBvcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGxvY2FsLnRyaWdnZXIgPT09ICdob3ZlcicgPyAzMDAgOiAwLFxuICAgICk7XG4gIH1cbiAgbGV0IHBvcnRhbFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IHNob3dQb3J0YWwgPSBmdW5jdGlvbiAoZT86IEV2ZW50KTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHBvcnRhbFRpbWVyKTtcbiAgICBwb3J0YWxUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHBvcnRhbFRpbWVyKTtcbiAgICAgIGlmICghcmVmIHx8ICFjaGlsZFJlZiB8fCAoIWUgJiYgbG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51JykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGU/LnR5cGUgPT09ICdzY3JvbGwnICYmIGxvY2FsLnRyaWdnZXIgPT09ICdjb250ZXh0TWVudScpIHtcbiAgICAgICAgb3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVsUmVjdCA9IGNoaWxkUmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHJlZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IG9mZnNldFggPSBwb3J0YWxSZWN0LndpZHRoIC8gMiAtIGVsUmVjdC53aWR0aCAvIDI7XG4gICAgICBjb25zdCBtYXJnaW4gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBlbFJlY3QuYm90dG9tO1xuICAgICAgY29uc3QgX3BsYWNlbWVudCA9IGxvY2FsLnBsYWNlbWVudDtcblxuICAgICAgY29uc3QgX2lzQm90dG9tID1cbiAgICAgICAgKCFfcGxhY2VtZW50Py5zdGFydHNXaXRoKCd0b3AnKSAmJlxuICAgICAgICAgIG1hcmdpbiA+IHJlZi5vZmZzZXRIZWlnaHQgKiAwLjggJiZcbiAgICAgICAgICBtYXJnaW4gPiBlbFJlY3QudG9wKSB8fFxuICAgICAgICBfcGxhY2VtZW50Py5zdGFydHNXaXRoKCdib3R0b20nKTtcbiAgICAgIGNvbnN0IGFycm93SGVpZ2h0ID0gbG9jYWwuYXJyb3cgPyA4IDogNDtcbiAgICAgIGNvbnN0IF9wb3NpOiBQb3NpID0ge307XG5cbiAgICAgIHN3aXRjaCAobG9jYWwucGxhY2VtZW50KSB7XG4gICAgICAgIGNhc2UgJ2JvdHRvbUxlZnQnOlxuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgY2FzZSAndG9wTGVmdCc6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IGVsUmVjdC5sZWZ0O1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IC1wb3J0YWxSZWN0LndpZHRoIC8gMiArIDE2O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdib3R0b21SaWdodCc6XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgY2FzZSAndG9wUmlnaHQnOlxuICAgICAgICAgIF9wb3NpLmxlZnQgPSBlbFJlY3QucmlnaHQgLSBwb3J0YWxSZWN0LndpZHRoO1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IHBvcnRhbFJlY3Qud2lkdGggLyAyIC0gMTY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IE1hdGguYWJzKG9mZnNldFggPiBlbFJlY3QubGVmdCA/IGVsUmVjdC5sZWZ0IDogZWxSZWN0LmxlZnQgLSBvZmZzZXRYKTtcbiAgICAgICAgICBfcG9zaVsnLS14J10gPSAtKF9wb3NpLmxlZnQgLSBlbFJlY3QubGVmdCArIG9mZnNldFgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKF9pc0JvdHRvbSkge1xuICAgICAgICBfcG9zaS50b3AgPSBlbFJlY3QuYm90dG9tICsgYXJyb3dIZWlnaHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfcG9zaS5ib3R0b20gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBlbFJlY3QudG9wICsgYXJyb3dIZWlnaHQ7XG4gICAgICB9XG4gICAgICBzZXRQb3NpKChwcmV2KSA9PiB7XG4gICAgICAgIHJldHVybiBpc0VxdWFsKHByZXYsIF9wb3NpKSA/IHByZXYgOiBfcG9zaTtcbiAgICAgIH0pO1xuICAgICAgc2V0VXAoKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIHByZXYgPT09ICFfaXNCb3R0b20gPyBwcmV2IDogIV9pc0JvdHRvbTtcbiAgICAgIH0pO1xuICAgIH0sIDMyKTtcbiAgfTtcblxuICBmdW5jdGlvbiBoYW5kbGVPcGVuKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAobG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51JyAmJiBlLnR5cGUgPT09ICdjb250ZXh0bWVudScpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHNldFBvc2koKHByZXYpID0+ICh7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGxlZnQ6IGUuY2xpZW50WCxcbiAgICAgICAgdG9wOiBlLmNsaWVudFksXG4gICAgICAgIFsnLS14J106IC0ocmVmPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCB8fCAwKSAvIDIgKyAxNixcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgb3BlbkNoYW5nZSh0cnVlKTtcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc0Z1bmN0aW9uKGxvY2FsLmdldFBvcHVwQ29udGFpbmVyKSkge1xuICAgICAgcmV0dXJuIGxvY2FsLmdldFBvcHVwQ29udGFpbmVyKGNoaWxkUmVmKTtcbiAgICB9XG4gICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gIH0pO1xuICBjb25zdCBjaGlsZHJlblByb3BzID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgX3Byb3BzOiBQYXJ0aWFsPFJlY29yZDxrZXlvZiBFdmVudE1hcCwgdm9pZD4+ID0ge307XG5cbiAgICBjb25zdCBvcGVuRXZlbnQ6IEV2ZW50TWFwID0ge1xuICAgICAgY2xpY2s6ICdvbjptb3VzZWRvd24nLFxuICAgICAgaG92ZXI6ICdvbjptb3VzZWVudGVyJyxcbiAgICAgIGNvbnRleHRNZW51OiAnb246Y29udGV4dG1lbnUnLFxuICAgICAgbm9uZTogdm9pZCAwLFxuICAgIH07XG4gICAgY29uc3QgY2xvc2VFdmVudDogRXZlbnRNYXAgPSB7XG4gICAgICBob3ZlcjogJ29uOm1vdXNlbGVhdmUnLFxuICAgICAgY2xpY2s6IHZvaWQgMCxcbiAgICAgIGNvbnRleHRNZW51OiB2b2lkIDAsXG4gICAgICBub25lOiB2b2lkIDAsXG4gICAgfTtcblxuICAgIGNvbnN0IG9wZW5GbiA9IG9wZW5FdmVudFtsb2NhbC50cmlnZ2VyXTtcbiAgICBjb25zdCBjbG9zZUZuID0gY2xvc2VFdmVudFtsb2NhbC50cmlnZ2VyXTtcblxuICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICBfcHJvcHMsXG4gICAgICBvcGVuRm4gJiYge1xuICAgICAgICBbb3BlbkZuXTogaGFuZGxlT3BlbixcbiAgICAgIH0sXG4gICAgICBjbG9zZUZuICYmIHtcbiAgICAgICAgW2Nsb3NlRm5dOiBjbG9zZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBfcHJvcHM7XG4gIH0pO1xuXG4gIGNvbnN0IHBvcnRhbFN0eWxlID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcCA9IHBvc2koKTtcblxuICAgIHJldHVybiBgLnBvcnRhbCB7JHtPYmplY3Qua2V5cyhwKVxuICAgICAgLm1hcCgoaykgPT4gYCR7a306JHtwW2sgYXMga2V5b2YgUG9zaV19cHg7YClcbiAgICAgIC5qb2luKCcnKX16LWluZGV4OiA5OTk5OTt9YDtcbiAgfSk7XG4gIGNvbnN0IHBvcnRhbENscyA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBjeChcbiAgICAgICdwb3J0YWwnLFxuICAgICAgbG9jYWwuYXJyb3cgJiYgJ2Fycm93JyxcbiAgICAgIGAke29wZW4oKSA/ICdpbicgOiAnb3V0J30tJHt1cCgpID8gJ3VwJyA6ICdkb3duJ31gLFxuICAgICAgbG9jYWwuc2l6ZSxcbiAgICAgIGxvY2FsLnBvcHVwQ2xhc3MsXG4gICAgKTtcbiAgfSk7XG4gIGNvbnN0IGhvc3RTdHlsZSA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBgOmhvc3Qgey0tcG9wb3Zlci1iZzogJHtcbiAgICAgIGlzRGFyaygpID8gJyMxZjFmMWYnIDogJ3ZhcigtLWNvbXBvbmVudC1iZyknXG4gICAgfTstLXBvcG92ZXItc2hhZG93LWNvbG9yOiByZ2IoMCAwIDAgLyA1JSk7cG9zaXRpb246IGFic29sdXRlO31gO1xuICB9KTtcblxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKCkpIHtcbiAgICAgIHNob3dQb3J0YWwoKTtcblxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNob3dQb3J0YWwsIHtcbiAgICAgICAgcGFzc2l2ZTogcGFzc2l2ZVN1cHBvcnRlZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNob3dQb3J0YWwsIGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG4gIG9uTW91bnQoKCkgPT4ge1xuICAgIGlmIChsb2NhbC50cmlnZ2VyICE9PSAnbm9uZScpIHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBjbG9zZSwgZmFsc2UpO1xuICAgIH1cbiAgfSk7XG4gIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIpO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBjbG9zZSwgZmFsc2UpO1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcG92ZXJDc3N9IC8+XG4gICAgICA8U2hvdyB3aGVuPXtsb2NhbC5jc3N9PlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Nzcyhsb2NhbC5jc3MpfSAvPlxuICAgICAgPC9TaG93PlxuICAgICAgPHNwYW4gcmVmPXtjaGlsZFJlZn0gY2xhc3M9e2N4KCdwb3BvdmVyJywgbG9jYWwuc2l6ZSwgbG9jYWwuY2xhc3MpfSB7Li4uY2hpbGRyZW5Qcm9wcygpfT5cbiAgICAgICAge2xvY2FsLmNoaWxkcmVufVxuICAgICAgPC9zcGFuPlxuICAgICAgPFNob3cgd2hlbj17b3BlbigpICE9PSBudWxsIHx8ICFsb2NhbC5kZXN0cm95SW5hY3RpdmV9PlxuICAgICAgICA8UG9ydGFsIHVzZVNoYWRvdyBtb3VudD17Y29udGFpbmVyKCl9PlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtwb3J0YWxDc3N9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtob3N0U3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcnRhbFN0eWxlKCl9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXt3aWR0aCgpfSAvPlxuICAgICAgICAgIDxTaG93IHdoZW49e2xvY2FsLnBvcHVwQ3NzfT5cbiAgICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKGxvY2FsLnBvcHVwQ3NzKX0gLz5cbiAgICAgICAgICA8L1Nob3c+XG4gICAgICAgICAgPGRpdiByZWY9e3JlZn0gb246YW5pbWF0aW9uZW5kPXtleGl0fSBjbGFzcz17cG9ydGFsQ2xzKCl9IHsuLi5jaGlsZHJlblByb3BzKCl9PlxuICAgICAgICAgICAgPFNob3cgd2hlbj17ISFsb2NhbC5jb250ZW50fSBmYWxsYmFjaz17PEVtcHR5IC8+fT5cbiAgICAgICAgICAgICAgPFNob3cgd2hlbj17dHlwZW9mIGxvY2FsLmNvbnRlbnQgPT09ICdzdHJpbmcnfSBmYWxsYmFjaz17PD57bG9jYWwuY29udGVudH08Lz59PlxuICAgICAgICAgICAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc29saWQvbm8taW5uZXJodG1sICovfVxuICAgICAgICAgICAgICAgIDxkaXYgaW5uZXJIVE1MPXtsb2NhbC5jb250ZW50IGFzIHN0cmluZ30gLz5cbiAgICAgICAgICAgICAgPC9TaG93PlxuICAgICAgICAgICAgPC9TaG93PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1BvcnRhbD5cbiAgICAgIDwvU2hvdz5cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgUG9wb3ZlckVsZW1lbnQgPSBDdXN0b21FbGVtZW50PFBvcG92ZXJQcm9wcywgJ29uT3BlbkNoYW5nZSc+O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBjbGFzczogdm9pZCAwLFxuICBjc3M6IHZvaWQgMCxcbiAgY29udGVudDogdm9pZCAwLFxuICBnZXRQb3B1cENvbnRhaW5lcjogdm9pZCAwLFxuICB0cmlnZ2VyOiB2b2lkIDAsXG4gIG9wZW46IHZvaWQgMCxcbiAgb25PcGVuQ2hhbmdlOiB2b2lkIDAsXG4gIHBvcHVwQ2xhc3M6IHZvaWQgMCxcbiAgcG9wdXBDc3M6IHZvaWQgMCxcbiAgZGVzdHJveUluYWN0aXZlOiB0cnVlLFxuICBkaXNhYmxlZDogdm9pZCAwLFxuICBhcnJvdzogdm9pZCAwLFxuICBwbGFjZW1lbnQ6IHZvaWQgMCxcbiAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoOiB2b2lkIDAsXG59O1xuUG9wb3Zlci5yZWdpc3RyeSA9ICgpID0+IHtcbiAgY3VzdG9tRWxlbWVudDxQb3BvdmVyUHJvcHM+KCduLXBvcG92ZXInLCBkZWZhdWx0UHJvcHMsIChfLCBvcHQpID0+IHtcbiAgICBjb25zdCB7IGJhc2VTdHlsZSB9ID0gdGhlbWU7XG4gICAgY29uc3QgZWwgPSBvcHQuZWxlbWVudDtcbiAgICBjb25zdCBwcm9wcyA9IG1lcmdlUHJvcHMoXG4gICAgICB7XG4gICAgICAgIG9uT3BlbkNoYW5nZShuZXh0OiBib29sZWFuIHwgbnVsbCkge1xuICAgICAgICAgIGVsLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ29wZW5jaGFuZ2UnLCB7XG4gICAgICAgICAgICAgIGRldGFpbDogbmV4dCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgIGNoaWxkcmVuOiBbLi4uZWwuY2hpbGROb2Rlcy52YWx1ZXMoKV0sXG4gICAgICB9LFxuICAgICAgXyxcbiAgICApO1xuXG4gICAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgIGNsZWFyQXR0cmlidXRlKGVsLCBbJ2NvbnRlbnQnLCAncG9wdXBDc3MnLCAnY3NzJ10pO1xuICAgIH0pO1xuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2lubGluZX0gLz5cbiAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtiYXNlU3R5bGUoKX0gLz5cbiAgICAgICAgPFBvcG92ZXIgey4uLnByb3BzfSAvPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfSk7XG59O1xuZXhwb3J0IGRlZmF1bHQgUG9wb3ZlcjtcbiJdLCJtYXBwaW5ncyI6ImkxSEFBQSxPQUNFQSxZQUFZLENBQ1pDLFVBQVUsQ0FDVkMsWUFBWSxDQUNaQyxVQUFVLENBQ1ZDLFNBQVMsQ0FDVEMsT0FBTyxDQUNQQyxJQUFJLENBQ0pDLFVBQVUsS0FDTCxVQUFVLENBQ2pCLE9BQVNDLE1BQU0sS0FBUSxjQUFjLENBQ3JDLE9BQVNDLGVBQWUsQ0FBRUMsT0FBTyxDQUFFQyxVQUFVLENBQUVDLGdCQUFnQixLQUFRLGdCQUFnQixDQUN2RixPQUFTQyxHQUFHLENBQUVDLEVBQUUsS0FBUSxhQUFhLENBQ3JDLE9BQVNDLGFBQWEsS0FBUSxlQUFlLENBRzdDLE9BQVNDLGNBQWMsS0FBeUIsaUJBQWlCLENBQ2pFLE1BQU8sQ0FBQUMsS0FBSyxLQUFNLFVBQVUsQ0FDNUIsTUFBTyxDQUFBQyxLQUFLLEVBQUlDLE1BQU0sS0FBUSxVQUFVLENBRXhDLE9BQVNDLFVBQVUsQ0FBRUMsU0FBUyxLQUFRLFNBQVMsQ0F3Qy9DLFVBQVksQ0FBQUMsYUFBYSx1QkFBYkEsYUFBYSxFQUN2QixXQURVQSxhQUFhLGtCQUd2QixTQUhVQSxhQUFhLGtCQUt2QixTQUxVQSxhQUFhLDhCQU92QixRQVBVQSxhQUFhLHNCQUFiLENBQUFBLGFBQWEsTUFXekIsVUFBWSxDQUFBQyxTQUFTLHVCQUFUQSxTQUFTLEVBQ25CLFNBRFVBLFNBQVMsNEJBR25CLFFBSFVBLFNBQVMsb0JBS25CLFNBTFVBLFNBQVMsOEJBT25CLFNBUFVBLFNBQVMs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
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}import{template as _$template}from"solid-js/web";import{addEventListener as _$addEventListener}from"solid-js/web";import{memo as _$memo}from"solid-js/web";import{insert as _$insert}from"solid-js/web";import{use as _$use}from"solid-js/web";import{spread as _$spread}from"solid-js/web";import{mergeProps as _$mergeProps}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _tmpl$=/*#__PURE__*/_$template(`<style>`),_tmpl$2=/*#__PURE__*/_$template(`<style> `),_tmpl$3=/*#__PURE__*/_$template(`<span>`),_tmpl$4=/*#__PURE__*/_$template(`<div>`);function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.defineProperty(r,n,c)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}import{createEffect,createMemo,createSignal,mergeProps,onCleanup,onMount,Show,splitProps}from"solid-js";import{Portal}from"solid-js/web";import{isElementInside,isEqual,isFunction,passiveSupported}from"@moneko/common";import{css,cx}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import Empty from"../empty";import theme,{inline}from"../theme";import{popoverCss,portalCss}from"./style";export var TriggerOption=/*#__PURE__*/function(TriggerOption){/** 鼠标移入 */TriggerOption["hover"]="hover";/** 点击 */TriggerOption["click"]="click";/** 右键 */TriggerOption["contextMenu"]="contextMenu";/** 无 */TriggerOption["none"]="none";return TriggerOption}({});export var Placement=/*#__PURE__*/function(Placement){/** 左下 */Placement["bottomLeft"]="bottomLeft";/** 下 */Placement["bottom"]="bottom";/** 右下 */Placement["bottomRight"]="bottomRight";/** 左上 */Placement["topLeft"]="topLeft";/** 上 */Placement["top"]="top";/** 右上 */Placement["topRight"]="topRight";/** 左 */Placement["left"]="left";/** 右 */Placement["right"]="right";return Placement}({});function Popover(props){var isDark=theme.isDark,baseStyle=theme.baseStyle;var mp=mergeProps({trigger:"hover"},props);var _splitProps=splitProps(mp,["class","css","popupClass","popupCss","size","trigger","open","disabled","onOpenChange","dropdownMatchSelectWidth","destroyInactive","arrow","placement","getPopupContainer","children","content","encodeUri"]),_splitProps2=_slicedToArray(_splitProps,1),local=_splitProps2[0];var ref;var childRef;var closeTimer;var _createSignal=createSignal(null),_createSignal2=_slicedToArray(_createSignal,2),open=_createSignal2[0],setOpen=_createSignal2[1];var _createSignal3=createSignal({}),_createSignal4=_slicedToArray(_createSignal3,2),posi=_createSignal4[0],setPosi=_createSignal4[1];var _createSignal5=createSignal(false),_createSignal6=_slicedToArray(_createSignal5,2),up=_createSignal6[0],setUp=_createSignal6[1];var _createSignal7=createSignal(""),_createSignal8=_slicedToArray(_createSignal7,2),width=_createSignal8[0],setWidth=_createSignal8[1];createEffect(function(){if(local.open!==void 0){setOpen(local.open)}});function openChange(next){if(!local.disabled){if(local.onOpenChange){local.onOpenChange(next)}if(local.open===void 0){setOpen(next)}}}function exit(){if(open()===false){setOpen(null);openChange(null)}}createEffect(function(){if(open()&&local.dropdownMatchSelectWidth&&childRef){setWidth(".portal {width: ".concat(childRef.offsetWidth,"px;}"))}});function close(e){clearTimeout(closeTimer);closeTimer=setTimeout(function(){clearTimeout(closeTimer);if(e.target&&e.target.getAttribute("handle-closed")==="false"){return}var isContains=isElementInside(e.target,ref);if(open()&&!isContains||isContains&&e.type!=="mousedown"){openChange(false)}},local.trigger==="hover"?300:0)}var portalTimer;var showPortal=function showPortal(e){clearTimeout(portalTimer);portalTimer=setTimeout(function(){clearTimeout(portalTimer);if(!ref||!childRef||!e&&local.trigger==="contextMenu"){return}if((e===null||e===void 0?void 0:e.type)==="scroll"&&local.trigger==="contextMenu"){openChange(false);return}var elRect=childRef.getBoundingClientRect();var portalRect=ref.getBoundingClientRect();var offsetX=portalRect.width/2-elRect.width/2;var margin=window.innerHeight-elRect.bottom;var _placement=local.placement;var _isBottom=!(_placement!==null&&_placement!==void 0&&_placement.startsWith("top"))&&margin>ref.offsetHeight*0.8&&margin>elRect.top||(_placement===null||_placement===void 0?void 0:_placement.startsWith("bottom"));var arrowHeight=local.arrow?8:4;var _posi={};switch(local.placement){case"bottomLeft":case"left":case"topLeft":_posi.left=elRect.left;_posi["--x"]=-portalRect.width/2+16;break;case"bottomRight":case"right":case"topRight":_posi.left=elRect.right-portalRect.width;_posi["--x"]=portalRect.width/2-16;break;case"bottom":case"top":default:_posi.left=Math.abs(offsetX>elRect.left?elRect.left:elRect.left-offsetX);_posi["--x"]=-(_posi.left-elRect.left+offsetX);break}if(_isBottom){_posi.top=elRect.bottom+arrowHeight}else{_posi.bottom=window.innerHeight-elRect.top+arrowHeight}setPosi(function(prev){return isEqual(prev,_posi)?prev:_posi});setUp(function(prev){return prev===!_isBottom?prev:!_isBottom})},32)};function handleOpen(e){clearTimeout(closeTimer);e.stopPropagation();if(local.trigger==="contextMenu"&&e.type==="contextmenu"){e.preventDefault();setPosi(function(prev){return _objectSpread(_objectSpread({},prev),{},_defineProperty({left:e.clientX,top:e.clientY},"--x",-((ref===null||ref===void 0?void 0:ref.getBoundingClientRect().width)||0)/2+16))})}openChange(true)}var container=createMemo(function(){if(isFunction(local.getPopupContainer)){return local.getPopupContainer(childRef)}return document.body});var childrenProps=createMemo(function(){var _props={};var openEvent={click:"on:mousedown",hover:"on:mouseenter",contextMenu:"on:contextmenu",none:void 0};var closeEvent={hover:"on:mouseleave",click:void 0,contextMenu:void 0,none:void 0};var openFn=openEvent[local.trigger];var closeFn=closeEvent[local.trigger];Object.assign(_props,openFn&&_defineProperty({},openFn,handleOpen),closeFn&&_defineProperty({},closeFn,close));return _props});var portalStyle=createMemo(function(){var p=posi();return".portal {".concat(Object.keys(p).map(function(k){return"".concat(k,":").concat(p[k],"px;")}).join(""),"z-index: 99999;}")});var portalCls=createMemo(function(){return cx("portal",local.arrow&&"arrow","".concat(open()?"in":"out","-").concat(up()?"up":"down"),local.size,local.popupClass)});var hostStyle=createMemo(function(){return":host {--popover-bg: ".concat(isDark()?"#1f1f1f":"var(--component-bg)",";--popover-shadow-color: rgb(0 0 0 / 5%);position: absolute;}")});createEffect(function(){if(open()){showPortal();window.addEventListener("scroll",showPortal,{passive:passiveSupported})}onCleanup(function(){window.removeEventListener("scroll",showPortal,false)})});onMount(function(){if(local.trigger!=="none"){document.documentElement.addEventListener("mousedown",close,false)}});onCleanup(function(){clearTimeout(closeTimer);document.documentElement.removeEventListener("mousedown",close,false)});return[function(){var _el$=_tmpl$();_el$.textContent=popoverCss;return _el$}(),_$createComponent(Show,{get when(){return local.css},get children(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;_$effect(function(){return _el$3.data=css(local.css)});return _el$2}}),function(){var _el$4=_tmpl$3();var _ref$=childRef;typeof _ref$==="function"?_$use(_ref$,_el$4):childRef=_el$4;_$spread(_el$4,_$mergeProps(_defineAccessor("get",{},"class",function(){return cx("popover",local.size,local["class"])}),childrenProps),false,true);_$insert(_el$4,function(){return local.children});return _el$4}(),_$createComponent(Show,{get when(){return open()!==null||!local.destroyInactive},get children(){return _$createComponent(Portal,{useShadow:true,get mount(){return container()},get children(){return[function(){var _el$5=_tmpl$2(),_el$6=_el$5.firstChild;_$effect(function(){return _el$6.data=baseStyle()});return _el$5}(),function(){var _el$7=_tmpl$();_el$7.textContent=portalCss;return _el$7}(),function(){var _el$8=_tmpl$2(),_el$9=_el$8.firstChild;_$effect(function(){return _el$9.data=hostStyle()});return _el$8}(),function(){var _el$0=_tmpl$2(),_el$1=_el$0.firstChild;_$effect(function(){return _el$1.data=portalStyle()});return _el$0}(),function(){var _el$10=_tmpl$2(),_el$11=_el$10.firstChild;_$effect(function(){return _el$11.data=width()});return _el$10}(),_$createComponent(Show,{get when(){return local.popupCss},get children(){var _el$12=_tmpl$2(),_el$13=_el$12.firstChild;_$effect(function(){return _el$13.data=css(local.popupCss)});return _el$12}}),function(){var _el$14=_tmpl$4();_$addEventListener(_el$14,"animationend",exit);var _ref$2=ref;typeof _ref$2==="function"?_$use(_ref$2,_el$14):ref=_el$14;_$spread(_el$14,_$mergeProps(_defineAccessor("get",{},"class",function(){return portalCls()}),childrenProps),false,true);_$insert(_el$14,_$createComponent(Show,{get when(){return!!local.content},get fallback(){return _$createComponent(Empty,{})},get children(){return _$createComponent(Show,{get when(){return typeof local.content==="string"},get fallback(){return _$memo(function(){return local.content})},get children(){var _el$15=_tmpl$4();_$effect(function(){return _el$15.innerHTML=local.encodeUri?decodeURIComponent(local.content):local.content});return _el$15}})}}));return _el$14}()]}})}})]}export var defaultProps={"class":void 0,css:void 0,content:void 0,getPopupContainer:void 0,trigger:void 0,open:void 0,onOpenChange:void 0,popupClass:void 0,popupCss:void 0,destroyInactive:true,disabled:void 0,arrow:void 0,placement:void 0,dropdownMatchSelectWidth:void 0,encodeUri:void 0};Popover.registry=function(){customElement("n-popover",defaultProps,function(_,opt){var baseStyle=theme.baseStyle;var el=opt.element;var props=mergeProps({onOpenChange:function onOpenChange(next){el.dispatchEvent(new CustomEvent("openchange",{detail:next}))},children:_toConsumableArray(el.childNodes.values())},_);createEffect(function(){clearAttribute(el,["content","popupCss","css"])});return[function(){var _el$16=_tmpl$();_el$16.textContent=inline;return _el$16}(),function(){var _el$17=_tmpl$2(),_el$18=_el$17.firstChild;_$effect(function(){return _el$18.data=baseStyle()});return _el$17}(),_$createComponent(Popover,props)]})};export default Popover;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJjcmVhdGVNZW1vIiwiY3JlYXRlU2lnbmFsIiwibWVyZ2VQcm9wcyIsIm9uQ2xlYW51cCIsIm9uTW91bnQiLCJTaG93Iiwic3BsaXRQcm9wcyIsIlBvcnRhbCIsImlzRWxlbWVudEluc2lkZSIsImlzRXF1YWwiLCJpc0Z1bmN0aW9uIiwicGFzc2l2ZVN1cHBvcnRlZCIsImNzcyIsImN4IiwiY3VzdG9tRWxlbWVudCIsImNsZWFyQXR0cmlidXRlIiwiRW1wdHkiLCJ0aGVtZSIsImlubGluZSIsInBvcG92ZXJDc3MiLCJwb3J0YWxDc3MiLCJUcmlnZ2VyT3B0aW9uIiwiUGxhY2VtZW50IiwiUG9wb3ZlciIsInByb3BzIiwiaXNEYXJrIiwiYmFzZVN0eWxlIiwibXAiLCJ0cmlnZ2VyIiwiX3NwbGl0UHJvcHMiLCJfc3BsaXRQcm9wczIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsIiwicmVmIiwiY2hpbGRSZWYiLCJjbG9zZVRpbWVyIiwiX2NyZWF0ZVNpZ25hbCIsIl9jcmVhdGVTaWduYWwyIiwib3BlbiIsInNldE9wZW4iLCJfY3JlYXRlU2lnbmFsMyIsIl9jcmVhdGVTaWduYWw0IiwicG9zaSIsInNldFBvc2kiLCJfY3JlYXRlU2lnbmFsNSIsIl9jcmVhdGVTaWduYWw2IiwidXAiLCJzZXRVcCIsIl9jcmVhdGVTaWduYWw3IiwiX2NyZWF0ZVNpZ25hbDgiLCJ3aWR0aCIsInNldFdpZHRoIiwib3BlbkNoYW5nZSIsIm5leHQiLCJkaXNhYmxlZCIsIm9uT3BlbkNoYW5nZSIsImV4aXQiLCJkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgiLCJjb25jYXQiLCJvZmZzZXRXaWR0aCIsImNsb3NlIiwiZSIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJ0YXJnZXQiLCJnZXRBdHRyaWJ1dGUiLCJpc0NvbnRhaW5zIiwidHlwZSIsInBvcnRhbFRpbWVyIiwic2hvd1BvcnRhbCIsImVsUmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBvcnRhbFJlY3QiLCJvZmZzZXRYIiwibWFyZ2luIiwid2luZG93IiwiaW5uZXJIZWlnaHQiLCJib3R0b20iLCJfcGxhY2VtZW50IiwicGxhY2VtZW50IiwiX2lzQm90dG9tIiwic3RhcnRzV2l0aCIsIm9mZnNldEhlaWdodCIsInRvcCIsImFycm93SGVpZ2h0IiwiYXJyb3ciLCJfcG9zaSIsImxlZnQiLCJyaWdodCIsIk1hdGgiLCJhYnMiLCJwcmV2IiwiaGFuZGxlT3BlbiIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiX29iamVjdFNwcmVhZCIsIl9kZWZpbmVQcm9wZXJ0eSIsImNsaWVudFgiLCJjbGllbnRZIiwiY29udGFpbmVyIiwiZ2V0UG9wdXBDb250YWluZXIiLCJkb2N1bWVudCIsImJvZHkiLCJjaGlsZHJlblByb3BzIiwiX3Byb3BzIiwib3BlbkV2ZW50IiwiY2xpY2siLCJob3ZlciIsImNvbnRleHRNZW51Iiwibm9uZSIsImNsb3NlRXZlbnQiLCJvcGVuRm4iLCJjbG9zZUZuIiwiT2JqZWN0IiwiYXNzaWduIiwicG9ydGFsU3R5bGUiLCJwIiwia2V5cyIsIm1hcCIsImsiLCJqb2luIiwicG9ydGFsQ2xzIiwic2l6ZSIsInBvcHVwQ2xhc3MiLCJob3N0U3R5bGUiLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkb2N1bWVudEVsZW1lbnQiLCJfZWwkIiwiX3RtcGwkIiwidGV4dENvbnRlbnQiLCJfJGNyZWF0ZUNvbXBvbmVudCIsIndoZW4iLCJjaGlsZHJlbiIsIl9lbCQyIiwiX3RtcGwkMiIsIl9lbCQzIiwiZmlyc3RDaGlsZCIsIl8kZWZmZWN0IiwiZGF0YSIsIl9lbCQ0IiwiX3RtcGwkMyIsIl9yZWYkIiwiXyR1c2UiLCJfJHNwcmVhZCIsIl8kbWVyZ2VQcm9wcyIsIl9kZWZpbmVBY2Nlc3NvciIsIl8kaW5zZXJ0IiwiZGVzdHJveUluYWN0aXZlIiwidXNlU2hhZG93IiwibW91bnQiLCJfZWwkNSIsIl9lbCQ2IiwiX2VsJDciLCJfZWwkOCIsIl9lbCQ5IiwiX2VsJDAiLCJfZWwkMSIsIl9lbCQxMCIsIl9lbCQxMSIsInBvcHVwQ3NzIiwiX2VsJDEyIiwiX2VsJDEzIiwiX2VsJDE0IiwiX3RtcGwkNCIsIl8kYWRkRXZlbnRMaXN0ZW5lciIsIl9yZWYkMiIsImNvbnRlbnQiLCJmYWxsYmFjayIsIl8kbWVtbyIsIl9lbCQxNSIsImlubmVySFRNTCIsImVuY29kZVVyaSIsImRlY29kZVVSSUNvbXBvbmVudCIsImRlZmF1bHRQcm9wcyIsInJlZ2lzdHJ5IiwiXyIsIm9wdCIsImVsIiwiZWxlbWVudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsIl90b0NvbnN1bWFibGVBcnJheSIsImNoaWxkTm9kZXMiLCJ2YWx1ZXMiLCJfZWwkMTYiLCJfZWwkMTciLCJfZWwkMTgiXSwic291cmNlcyI6WyJjb21wb25lbnRzL3BvcG92ZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUVmZmVjdCxcbiAgY3JlYXRlTWVtbyxcbiAgY3JlYXRlU2lnbmFsLFxuICBtZXJnZVByb3BzLFxuICBvbkNsZWFudXAsXG4gIG9uTW91bnQsXG4gIFNob3csXG4gIHNwbGl0UHJvcHMsXG59IGZyb20gJ3NvbGlkLWpzJztcbmltcG9ydCB7IFBvcnRhbCB9IGZyb20gJ3NvbGlkLWpzL3dlYic7XG5pbXBvcnQgeyBpc0VsZW1lbnRJbnNpZGUsIGlzRXF1YWwsIGlzRnVuY3Rpb24sIHBhc3NpdmVTdXBwb3J0ZWQgfSBmcm9tICdAbW9uZWtvL2NvbW1vbic7XG5pbXBvcnQgeyBjc3MsIGN4IH0gZnJvbSAnQG1vbmVrby9jc3MnO1xuaW1wb3J0IHsgY3VzdG9tRWxlbWVudCB9IGZyb20gJ3NvbGlkLWVsZW1lbnQnO1xuXG5pbXBvcnQgdHlwZSB7IEJhc2ljQ29uZmlnLCBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUsIHR5cGUgSlNYRWxlbWVudCB9IGZyb20gJy4uL2Jhc2ljLWNvbmZpZyc7XG5pbXBvcnQgRW1wdHkgZnJvbSAnLi4vZW1wdHknO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgcG9wb3ZlckNzcywgcG9ydGFsQ3NzIH0gZnJvbSAnLi9zdHlsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9wb3ZlclByb3BzIHtcbiAgLyoqIOiHquWumuS5ieexu+WQjSAqL1xuICBjbGFzcz86IHN0cmluZztcbiAgLyoqIOiHquWumuS5ieagt+W8j+ihqCAqL1xuICBjc3M/OiBzdHJpbmc7XG4gIC8qKiDlhoXlrrkgKi9cbiAgY29udGVudD86IEpTWEVsZW1lbnQgfCAoKCkgPT4gSlNYRWxlbWVudCk7XG4gIC8qKiDmjILovb3liLDmjIflrprnmoTlhYPntKDvvIzlgLzkuLrkuIDkuKrov5Tlm57lr7nlupQgRE9NIOWFg+e0oCDpu5jorqQgZG9jdW1lbnQuYm9keSAqL1xuICBnZXRQb3B1cENvbnRhaW5lcj86IChub2RlPzogSFRNTEVsZW1lbnQgfCBudWxsKSA9PiBIVE1MRWxlbWVudDtcbiAgLyoqIOinpuWPkeihjOS4ulxuICAgKiBAZGVmYXVsdCAnaG92ZXInXG4gICAqL1xuICB0cmlnZ2VyPzoga2V5b2YgdHlwZW9mIFRyaWdnZXJPcHRpb247XG4gIC8qKiDmiZPlvIDlhoXlrrnmsJTms6EgKi9cbiAgb3Blbj86IGJvb2xlYW4gfCBudWxsO1xuICAvKiog5YaF5a655omT5byA5YWz6Zet5pe255qE5Zue6LCD5pa55rOVICovXG4gIG9uT3BlbkNoYW5nZT86IChvcGVuOiBib29sZWFuIHwgbnVsbCkgPT4gdm9pZDtcbiAgLyoqIOawlOazoeeahOiHquWumuS5ieexu+WQjSAqL1xuICBwb3B1cENsYXNzPzogc3RyaW5nO1xuICAvKiog5rCU5rOh55qE6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIHBvcHVwQ3NzPzogc3RyaW5nO1xuICAvKiog5YWz6Zet5ZCO5piv5ZCm6ZSA5q+BICAqL1xuICBkZXN0cm95SW5hY3RpdmU/OiBib29sZWFuO1xuICAvKiog5LiN5Y+v55So54q25oCBICAqL1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIC8qKiDmt7vliqDkuIDkuKrnrq3lpLTmmL7npLogICovXG4gIGFycm93PzogYm9vbGVhbjtcbiAgLyoqIOaMh+WumuawlOazoeaYvuekuueahOaWueWQkSAqL1xuICBwbGFjZW1lbnQ/OiBrZXlvZiB0eXBlb2YgUGxhY2VtZW50O1xuICAvKiog5rCU5rOh5a695bqm5LiO6Kem5Y+RZG9t5LiA6Ie0ICAqL1xuICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg/OiBib29sZWFuO1xuICAvKiog5bC65a+4XG4gICAqIEBkZWZhdWx0ICdub3JtYWwnXG4gICAqL1xuICBzaXplPzogQmFzaWNDb25maWdbJ3NpemUnXTtcbiAgY2hpbGRyZW4/OiBKU1hFbGVtZW50O1xuICAvKiogY29udGVudCDkuLogZW5jb2RlVVJJQ29tcG9uZW50IOWtl+espuS4siAqL1xuICBlbmNvZGVVcmk/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZW51bSBUcmlnZ2VyT3B0aW9uIHtcbiAgLyoqIOm8oOagh+enu+WFpSAqL1xuICBob3ZlciA9ICdob3ZlcicsXG4gIC8qKiDngrnlh7sgKi9cbiAgY2xpY2sgPSAnY2xpY2snLFxuICAvKiog5Y+z6ZSuICovXG4gIGNvbnRleHRNZW51ID0gJ2NvbnRleHRNZW51JyxcbiAgLyoqIOaXoCAqL1xuICBub25lID0gJ25vbmUnLFxufVxuXG5leHBvcnQgZW51bSBQbGFjZW1lbnQge1xuICAvKiog5bem5LiLICovXG4gIGJvdHRvbUxlZnQgPSAnYm90dG9tTGVmdCcsXG4gIC8qKiDkuIsgKi9cbiAgYm90dG9tID0gJ2JvdHRvbScsXG4gIC8qKiDlj7PkuIsgKi9cbiAgYm90dG9tUmlnaHQgPSAnYm90dG9tUmlnaHQnLFxuICAvKiog5bem5LiKICovXG4gIHRvcExlZnQgPSAndG9wTGVmdCcsXG4gIC8qKiDkuIogKi9cbiAgdG9wID0gJ3RvcCcsXG4gIC8qKiDlj7PkuIogKi9cbiAgdG9wUmlnaHQgPSAndG9wUmlnaHQnLFxuICAvKiog5bemICovXG4gIGxlZnQgPSAnbGVmdCcsXG4gIC8qKiDlj7MgKi9cbiAgcmlnaHQgPSAncmlnaHQnLFxufVxuXG5pbnRlcmZhY2UgUG9zaSB7XG4gIGxlZnQ/OiBudW1iZXI7XG4gIHRvcD86IG51bWJlcjtcbiAgcmlnaHQ/OiBudW1iZXI7XG4gIGJvdHRvbT86IG51bWJlcjtcbiAgJy0teCc/OiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBFdmVudE1hcCB7XG4gIGNsaWNrPzogc3RyaW5nO1xuICBob3Zlcj86IHN0cmluZztcbiAgY29udGV4dE1lbnU/OiBzdHJpbmc7XG4gIG5vbmU/OiBuZXZlcjtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gUG9wb3Zlcihwcm9wczogUG9wb3ZlclByb3BzKSB7XG4gIGNvbnN0IHsgaXNEYXJrLCBiYXNlU3R5bGUgfSA9IHRoZW1lO1xuICBjb25zdCBtcCA9IG1lcmdlUHJvcHMoXG4gICAge1xuICAgICAgdHJpZ2dlcjogJ2hvdmVyJyxcbiAgICB9LFxuICAgIHByb3BzLFxuICApO1xuICBjb25zdCBbbG9jYWxdID0gc3BsaXRQcm9wcyhtcCwgW1xuICAgICdjbGFzcycsXG4gICAgJ2NzcycsXG4gICAgJ3BvcHVwQ2xhc3MnLFxuICAgICdwb3B1cENzcycsXG4gICAgJ3NpemUnLFxuICAgICd0cmlnZ2VyJyxcbiAgICAnb3BlbicsXG4gICAgJ2Rpc2FibGVkJyxcbiAgICAnb25PcGVuQ2hhbmdlJyxcbiAgICAnZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoJyxcbiAgICAnZGVzdHJveUluYWN0aXZlJyxcbiAgICAnYXJyb3cnLFxuICAgICdwbGFjZW1lbnQnLFxuICAgICdnZXRQb3B1cENvbnRhaW5lcicsXG4gICAgJ2NoaWxkcmVuJyxcbiAgICAnY29udGVudCcsXG4gICAgJ2VuY29kZVVyaScsXG4gIF0pO1xuICBsZXQgcmVmOiBIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGNoaWxkUmVmOiBIVE1MU3BhbkVsZW1lbnQgfCB1bmRlZmluZWQ7XG4gIGxldCBjbG9zZVRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IFtvcGVuLCBzZXRPcGVuXSA9IGNyZWF0ZVNpZ25hbDxib29sZWFuIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtwb3NpLCBzZXRQb3NpXSA9IGNyZWF0ZVNpZ25hbDxQb3NpPih7fSk7XG4gIGNvbnN0IFt1cCwgc2V0VXBdID0gY3JlYXRlU2lnbmFsPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgW3dpZHRoLCBzZXRXaWR0aF0gPSBjcmVhdGVTaWduYWwoJycpO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvY2FsLm9wZW4gIT09IHZvaWQgMCkge1xuICAgICAgc2V0T3Blbihsb2NhbC5vcGVuKTtcbiAgICB9XG4gIH0pO1xuICBmdW5jdGlvbiBvcGVuQ2hhbmdlKG5leHQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgaWYgKCFsb2NhbC5kaXNhYmxlZCkge1xuICAgICAgaWYgKGxvY2FsLm9uT3BlbkNoYW5nZSkge1xuICAgICAgICBsb2NhbC5vbk9wZW5DaGFuZ2UobmV4dCk7XG4gICAgICB9XG4gICAgICBpZiAobG9jYWwub3BlbiA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHNldE9wZW4obmV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGV4aXQoKSB7XG4gICAgaWYgKG9wZW4oKSA9PT0gZmFsc2UpIHtcbiAgICAgIHNldE9wZW4obnVsbCk7XG4gICAgICBvcGVuQ2hhbmdlKG51bGwpO1xuICAgIH1cbiAgfVxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKCkgJiYgbG9jYWwuZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoICYmIGNoaWxkUmVmKSB7XG4gICAgICBzZXRXaWR0aChgLnBvcnRhbCB7d2lkdGg6ICR7Y2hpbGRSZWYub2Zmc2V0V2lkdGh9cHg7fWApO1xuICAgIH1cbiAgfSk7XG5cbiAgZnVuY3Rpb24gY2xvc2UoZTogTW91c2VFdmVudCB8IEV2ZW50KSB7XG4gICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIpO1xuICAgIGNsb3NlVGltZXIgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgICAgIGlmIChlLnRhcmdldCAmJiAoZS50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLmdldEF0dHJpYnV0ZSgnaGFuZGxlLWNsb3NlZCcpID09PSAnZmFsc2UnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzQ29udGFpbnMgPSBpc0VsZW1lbnRJbnNpZGUoZS50YXJnZXQgYXMgRWxlbWVudCwgcmVmKTtcblxuICAgICAgICBpZiAoKG9wZW4oKSAmJiAhaXNDb250YWlucykgfHwgKGlzQ29udGFpbnMgJiYgZS50eXBlICE9PSAnbW91c2Vkb3duJykpIHtcbiAgICAgICAgICBvcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGxvY2FsLnRyaWdnZXIgPT09ICdob3ZlcicgPyAzMDAgOiAwLFxuICAgICk7XG4gIH1cbiAgbGV0IHBvcnRhbFRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IHNob3dQb3J0YWwgPSBmdW5jdGlvbiAoZT86IEV2ZW50KTogdm9pZCB7XG4gICAgY2xlYXJUaW1lb3V0KHBvcnRhbFRpbWVyKTtcbiAgICBwb3J0YWxUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHBvcnRhbFRpbWVyKTtcbiAgICAgIGlmICghcmVmIHx8ICFjaGlsZFJlZiB8fCAoIWUgJiYgbG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51JykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKGU/LnR5cGUgPT09ICdzY3JvbGwnICYmIGxvY2FsLnRyaWdnZXIgPT09ICdjb250ZXh0TWVudScpIHtcbiAgICAgICAgb3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVsUmVjdCA9IGNoaWxkUmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3QgcG9ydGFsUmVjdCA9IHJlZi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgIGNvbnN0IG9mZnNldFggPSBwb3J0YWxSZWN0LndpZHRoIC8gMiAtIGVsUmVjdC53aWR0aCAvIDI7XG4gICAgICBjb25zdCBtYXJnaW4gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBlbFJlY3QuYm90dG9tO1xuICAgICAgY29uc3QgX3BsYWNlbWVudCA9IGxvY2FsLnBsYWNlbWVudDtcblxuICAgICAgY29uc3QgX2lzQm90dG9tID1cbiAgICAgICAgKCFfcGxhY2VtZW50Py5zdGFydHNXaXRoKCd0b3AnKSAmJlxuICAgICAgICAgIG1hcmdpbiA+IHJlZi5vZmZzZXRIZWlnaHQgKiAwLjggJiZcbiAgICAgICAgICBtYXJnaW4gPiBlbFJlY3QudG9wKSB8fFxuICAgICAgICBfcGxhY2VtZW50Py5zdGFydHNXaXRoKCdib3R0b20nKTtcbiAgICAgIGNvbnN0IGFycm93SGVpZ2h0ID0gbG9jYWwuYXJyb3cgPyA4IDogNDtcbiAgICAgIGNvbnN0IF9wb3NpOiBQb3NpID0ge307XG5cbiAgICAgIHN3aXRjaCAobG9jYWwucGxhY2VtZW50KSB7XG4gICAgICAgIGNhc2UgJ2JvdHRvbUxlZnQnOlxuICAgICAgICBjYXNlICdsZWZ0JzpcbiAgICAgICAgY2FzZSAndG9wTGVmdCc6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IGVsUmVjdC5sZWZ0O1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IC1wb3J0YWxSZWN0LndpZHRoIC8gMiArIDE2O1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdib3R0b21SaWdodCc6XG4gICAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgICAgY2FzZSAndG9wUmlnaHQnOlxuICAgICAgICAgIF9wb3NpLmxlZnQgPSBlbFJlY3QucmlnaHQgLSBwb3J0YWxSZWN0LndpZHRoO1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IHBvcnRhbFJlY3Qud2lkdGggLyAyIC0gMTY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGNhc2UgJ3RvcCc6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IE1hdGguYWJzKG9mZnNldFggPiBlbFJlY3QubGVmdCA/IGVsUmVjdC5sZWZ0IDogZWxSZWN0LmxlZnQgLSBvZmZzZXRYKTtcbiAgICAgICAgICBfcG9zaVsnLS14J10gPSAtKF9wb3NpLmxlZnQgLSBlbFJlY3QubGVmdCArIG9mZnNldFgpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgaWYgKF9pc0JvdHRvbSkge1xuICAgICAgICBfcG9zaS50b3AgPSBlbFJlY3QuYm90dG9tICsgYXJyb3dIZWlnaHQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBfcG9zaS5ib3R0b20gPSB3aW5kb3cuaW5uZXJIZWlnaHQgLSBlbFJlY3QudG9wICsgYXJyb3dIZWlnaHQ7XG4gICAgICB9XG4gICAgICBzZXRQb3NpKChwcmV2KSA9PiB7XG4gICAgICAgIHJldHVybiBpc0VxdWFsKHByZXYsIF9wb3NpKSA/IHByZXYgOiBfcG9zaTtcbiAgICAgIH0pO1xuICAgICAgc2V0VXAoKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIHByZXYgPT09ICFfaXNCb3R0b20gPyBwcmV2IDogIV9pc0JvdHRvbTtcbiAgICAgIH0pO1xuICAgIH0sIDMyKTtcbiAgfTtcblxuICBmdW5jdGlvbiBoYW5kbGVPcGVuKGU6IE1vdXNlRXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAobG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51JyAmJiBlLnR5cGUgPT09ICdjb250ZXh0bWVudScpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHNldFBvc2koKHByZXYpID0+ICh7XG4gICAgICAgIC4uLnByZXYsXG4gICAgICAgIGxlZnQ6IGUuY2xpZW50WCxcbiAgICAgICAgdG9wOiBlLmNsaWVudFksXG4gICAgICAgIFsnLS14J106IC0ocmVmPy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCB8fCAwKSAvIDIgKyAxNixcbiAgICAgIH0pKTtcbiAgICB9XG4gICAgb3BlbkNoYW5nZSh0cnVlKTtcbiAgfVxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpc0Z1bmN0aW9uKGxvY2FsLmdldFBvcHVwQ29udGFpbmVyKSkge1xuICAgICAgcmV0dXJuIGxvY2FsLmdldFBvcHVwQ29udGFpbmVyKGNoaWxkUmVmKTtcbiAgICB9XG4gICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gIH0pO1xuICBjb25zdCBjaGlsZHJlblByb3BzID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgX3Byb3BzOiBQYXJ0aWFsPFJlY29yZDxrZXlvZiBFdmVudE1hcCwgdm9pZD4+ID0ge307XG5cbiAgICBjb25zdCBvcGVuRXZlbnQ6IEV2ZW50TWFwID0ge1xuICAgICAgY2xpY2s6ICdvbjptb3VzZWRvd24nLFxuICAgICAgaG92ZXI6ICdvbjptb3VzZWVudGVyJyxcbiAgICAgIGNvbnRleHRNZW51OiAnb246Y29udGV4dG1lbnUnLFxuICAgICAgbm9uZTogdm9pZCAwLFxuICAgIH07XG4gICAgY29uc3QgY2xvc2VFdmVudDogRXZlbnRNYXAgPSB7XG4gICAgICBob3ZlcjogJ29uOm1vdXNlbGVhdmUnLFxuICAgICAgY2xpY2s6IHZvaWQgMCxcbiAgICAgIGNvbnRleHRNZW51OiB2b2lkIDAsXG4gICAgICBub25lOiB2b2lkIDAsXG4gICAgfTtcblxuICAgIGNvbnN0IG9wZW5GbiA9IG9wZW5FdmVudFtsb2NhbC50cmlnZ2VyXTtcbiAgICBjb25zdCBjbG9zZUZuID0gY2xvc2VFdmVudFtsb2NhbC50cmlnZ2VyXTtcblxuICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICBfcHJvcHMsXG4gICAgICBvcGVuRm4gJiYge1xuICAgICAgICBbb3BlbkZuXTogaGFuZGxlT3BlbixcbiAgICAgIH0sXG4gICAgICBjbG9zZUZuICYmIHtcbiAgICAgICAgW2Nsb3NlRm5dOiBjbG9zZSxcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIHJldHVybiBfcHJvcHM7XG4gIH0pO1xuXG4gIGNvbnN0IHBvcnRhbFN0eWxlID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgcCA9IHBvc2koKTtcblxuICAgIHJldHVybiBgLnBvcnRhbCB7JHtPYmplY3Qua2V5cyhwKVxuICAgICAgLm1hcCgoaykgPT4gYCR7a306JHtwW2sgYXMga2V5b2YgUG9zaV19cHg7YClcbiAgICAgIC5qb2luKCcnKX16LWluZGV4OiA5OTk5OTt9YDtcbiAgfSk7XG4gIGNvbnN0IHBvcnRhbENscyA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBjeChcbiAgICAgICdwb3J0YWwnLFxuICAgICAgbG9jYWwuYXJyb3cgJiYgJ2Fycm93JyxcbiAgICAgIGAke29wZW4oKSA/ICdpbicgOiAnb3V0J30tJHt1cCgpID8gJ3VwJyA6ICdkb3duJ31gLFxuICAgICAgbG9jYWwuc2l6ZSxcbiAgICAgIGxvY2FsLnBvcHVwQ2xhc3MsXG4gICAgKTtcbiAgfSk7XG4gIGNvbnN0IGhvc3RTdHlsZSA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBgOmhvc3Qgey0tcG9wb3Zlci1iZzogJHtcbiAgICAgIGlzRGFyaygpID8gJyMxZjFmMWYnIDogJ3ZhcigtLWNvbXBvbmVudC1iZyknXG4gICAgfTstLXBvcG92ZXItc2hhZG93LWNvbG9yOiByZ2IoMCAwIDAgLyA1JSk7cG9zaXRpb246IGFic29sdXRlO31gO1xuICB9KTtcblxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvcGVuKCkpIHtcbiAgICAgIHNob3dQb3J0YWwoKTtcblxuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNob3dQb3J0YWwsIHtcbiAgICAgICAgcGFzc2l2ZTogcGFzc2l2ZVN1cHBvcnRlZCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBvbkNsZWFudXAoKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHNob3dQb3J0YWwsIGZhbHNlKTtcbiAgICB9KTtcbiAgfSk7XG4gIG9uTW91bnQoKCkgPT4ge1xuICAgIGlmIChsb2NhbC50cmlnZ2VyICE9PSAnbm9uZScpIHtcbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBjbG9zZSwgZmFsc2UpO1xuICAgIH1cbiAgfSk7XG4gIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXIpO1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBjbG9zZSwgZmFsc2UpO1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcG92ZXJDc3N9IC8+XG4gICAgICA8U2hvdyB3aGVuPXtsb2NhbC5jc3N9PlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Nzcyhsb2NhbC5jc3MpfSAvPlxuICAgICAgPC9TaG93PlxuICAgICAgPHNwYW4gcmVmPXtjaGlsZFJlZn0gY2xhc3M9e2N4KCdwb3BvdmVyJywgbG9jYWwuc2l6ZSwgbG9jYWwuY2xhc3MpfSB7Li4uY2hpbGRyZW5Qcm9wcygpfT5cbiAgICAgICAge2xvY2FsLmNoaWxkcmVufVxuICAgICAgPC9zcGFuPlxuICAgICAgPFNob3cgd2hlbj17b3BlbigpICE9PSBudWxsIHx8ICFsb2NhbC5kZXN0cm95SW5hY3RpdmV9PlxuICAgICAgICA8UG9ydGFsIHVzZVNoYWRvdyBtb3VudD17Y29udGFpbmVyKCl9PlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtwb3J0YWxDc3N9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtob3N0U3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcnRhbFN0eWxlKCl9IC8+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXt3aWR0aCgpfSAvPlxuICAgICAgICAgIDxTaG93IHdoZW49e2xvY2FsLnBvcHVwQ3NzfT5cbiAgICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKGxvY2FsLnBvcHVwQ3NzKX0gLz5cbiAgICAgICAgICA8L1Nob3c+XG4gICAgICAgICAgPGRpdiByZWY9e3JlZn0gb246YW5pbWF0aW9uZW5kPXtleGl0fSBjbGFzcz17cG9ydGFsQ2xzKCl9IHsuLi5jaGlsZHJlblByb3BzKCl9PlxuICAgICAgICAgICAgPFNob3cgd2hlbj17ISFsb2NhbC5jb250ZW50fSBmYWxsYmFjaz17PEVtcHR5IC8+fT5cbiAgICAgICAgICAgICAgPFNob3cgd2hlbj17dHlwZW9mIGxvY2FsLmNvbnRlbnQgPT09ICdzdHJpbmcnfSBmYWxsYmFjaz17PD57bG9jYWwuY29udGVudH08Lz59PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb2xpZC9uby1pbm5lcmh0bWxcbiAgICAgICAgICAgICAgICAgIGlubmVySFRNTD17XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsLmVuY29kZVVyaVxuICAgICAgICAgICAgICAgICAgICAgID8gZGVjb2RlVVJJQ29tcG9uZW50KGxvY2FsLmNvbnRlbnQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICAgICAgICAgIDogKGxvY2FsLmNvbnRlbnQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9Qb3J0YWw+XG4gICAgICA8L1Nob3c+XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIFBvcG92ZXJFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxQb3BvdmVyUHJvcHMsICdvbk9wZW5DaGFuZ2UnPjtcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3M6IHZvaWQgMCxcbiAgY3NzOiB2b2lkIDAsXG4gIGNvbnRlbnQ6IHZvaWQgMCxcbiAgZ2V0UG9wdXBDb250YWluZXI6IHZvaWQgMCxcbiAgdHJpZ2dlcjogdm9pZCAwLFxuICBvcGVuOiB2b2lkIDAsXG4gIG9uT3BlbkNoYW5nZTogdm9pZCAwLFxuICBwb3B1cENsYXNzOiB2b2lkIDAsXG4gIHBvcHVwQ3NzOiB2b2lkIDAsXG4gIGRlc3Ryb3lJbmFjdGl2ZTogdHJ1ZSxcbiAgZGlzYWJsZWQ6IHZvaWQgMCxcbiAgYXJyb3c6IHZvaWQgMCxcbiAgcGxhY2VtZW50OiB2b2lkIDAsXG4gIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aDogdm9pZCAwLFxuICBlbmNvZGVVcmk6IHZvaWQgMCxcbn07XG5Qb3BvdmVyLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PFBvcG92ZXJQcm9wcz4oJ24tcG9wb3ZlcicsIGRlZmF1bHRQcm9wcywgKF8sIG9wdCkgPT4ge1xuICAgIGNvbnN0IHsgYmFzZVN0eWxlIH0gPSB0aGVtZTtcbiAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuICAgIGNvbnN0IHByb3BzID0gbWVyZ2VQcm9wcyhcbiAgICAgIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKG5leHQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnb3BlbmNoYW5nZScsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiBuZXh0LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFsuLi5lbC5jaGlsZE5vZGVzLnZhbHVlcygpXSxcbiAgICAgIH0sXG4gICAgICBfLFxuICAgICk7XG5cbiAgICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsnY29udGVudCcsICdwb3B1cENzcycsICdjc3MnXSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17aW5saW5lfSAvPlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Jhc2VTdHlsZSgpfSAvPlxuICAgICAgICA8UG9wb3ZlciB7Li4ucHJvcHN9IC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9KTtcbn07XG5leHBvcnQgZGVmYXVsdCBQb3BvdmVyO1xuIl0sIm1hcHBpbmdzIjoiaTFIQUFBLE9BQ0VBLFlBQVksQ0FDWkMsVUFBVSxDQUNWQyxZQUFZLENBQ1pDLFVBQVUsQ0FDVkMsU0FBUyxDQUNUQyxPQUFPLENBQ1BDLElBQUksQ0FDSkMsVUFBVSxLQUNMLFVBQVUsQ0FDakIsT0FBU0MsTUFBTSxLQUFRLGNBQWMsQ0FDckMsT0FBU0MsZUFBZSxDQUFFQyxPQUFPLENBQUVDLFVBQVUsQ0FBRUMsZ0JBQWdCLEtBQVEsZ0JBQWdCLENBQ3ZGLE9BQVNDLEdBQUcsQ0FBRUMsRUFBRSxLQUFRLGFBQWEsQ0FDckMsT0FBU0MsYUFBYSxLQUFRLGVBQWUsQ0FHN0MsT0FBU0MsY0FBYyxLQUF5QixpQkFBaUIsQ0FDakUs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
|
package/lib/dropdown/index.d.ts
CHANGED
package/lib/popover/index.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ export interface PopoverProps {
|
|
|
36
36
|
*/
|
|
37
37
|
size?: BasicConfig['size'];
|
|
38
38
|
children?: JSXElement;
|
|
39
|
+
/** content 为 encodeURIComponent 字符串 */
|
|
40
|
+
encodeUri?: boolean;
|
|
39
41
|
}
|
|
40
42
|
export declare enum TriggerOption {
|
|
41
43
|
/** 鼠标移入 */
|
|
@@ -85,5 +87,6 @@ export declare const defaultProps: {
|
|
|
85
87
|
arrow: undefined;
|
|
86
88
|
placement: undefined;
|
|
87
89
|
dropdownMatchSelectWidth: undefined;
|
|
90
|
+
encodeUri: undefined;
|
|
88
91
|
};
|
|
89
92
|
export default Popover;
|
package/lib/popover/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(exports,"__esModule",{value:true});exports.defaultProps=exports["default"]=exports.TriggerOption=exports.Placement=void 0;var _web=require("solid-js/web");var _solidJs=require("solid-js");var _common=require("@moneko/common");var _css=require("@moneko/css");var _solidElement=require("solid-element");var _basicConfig=require("../basic-config");var _empty=_interopRequireDefault(require("../empty"));var _theme=_interopRequireWildcard(require("../theme"));var _style=require("./style");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f)}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f})(e,t)}function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _tmpl$=/*#__PURE__*/(0,_web.template)(`<style>`),_tmpl$2=/*#__PURE__*/(0,_web.template)(`<style> `),_tmpl$3=/*#__PURE__*/(0,_web.template)(`<span>`),_tmpl$4=/*#__PURE__*/(0,_web.template)(`<div>`);function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.defineProperty(r,n,c)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}var TriggerOption=exports.TriggerOption=/*#__PURE__*/function(TriggerOption){/** 鼠标移入 */TriggerOption["hover"]="hover";/** 点击 */TriggerOption["click"]="click";/** 右键 */TriggerOption["contextMenu"]="contextMenu";/** 无 */TriggerOption["none"]="none";return TriggerOption}({});var Placement=exports.Placement=/*#__PURE__*/function(Placement){/** 左下 */Placement["bottomLeft"]="bottomLeft";/** 下 */Placement["bottom"]="bottom";/** 右下 */Placement["bottomRight"]="bottomRight";/** 左上 */Placement["topLeft"]="topLeft";/** 上 */Placement["top"]="top";/** 右上 */Placement["topRight"]="topRight";/** 左 */Placement["left"]="left";/** 右 */Placement["right"]="right";return Placement}({});function Popover(props){var isDark=_theme["default"].isDark,baseStyle=_theme["default"].baseStyle;var mp=(0,_solidJs.mergeProps)({trigger:"hover"},props);var _splitProps=(0,_solidJs.splitProps)(mp,["class","css","popupClass","popupCss","size","trigger","open","disabled","onOpenChange","dropdownMatchSelectWidth","destroyInactive","arrow","placement","getPopupContainer","children","content"]),_splitProps2=_slicedToArray(_splitProps,1),local=_splitProps2[0];var ref;var childRef;var closeTimer;var _createSignal=(0,_solidJs.createSignal)(null),_createSignal2=_slicedToArray(_createSignal,2),open=_createSignal2[0],setOpen=_createSignal2[1];var _createSignal3=(0,_solidJs.createSignal)({}),_createSignal4=_slicedToArray(_createSignal3,2),posi=_createSignal4[0],setPosi=_createSignal4[1];var _createSignal5=(0,_solidJs.createSignal)(false),_createSignal6=_slicedToArray(_createSignal5,2),up=_createSignal6[0],setUp=_createSignal6[1];var _createSignal7=(0,_solidJs.createSignal)(""),_createSignal8=_slicedToArray(_createSignal7,2),width=_createSignal8[0],setWidth=_createSignal8[1];(0,_solidJs.createEffect)(function(){if(local.open!==void 0){setOpen(local.open)}});function openChange(next){if(!local.disabled){if(local.onOpenChange){local.onOpenChange(next)}if(local.open===void 0){setOpen(next)}}}function exit(){if(open()===false){setOpen(null);openChange(null)}}(0,_solidJs.createEffect)(function(){if(open()&&local.dropdownMatchSelectWidth&&childRef){setWidth(".portal {width: ".concat(childRef.offsetWidth,"px;}"))}});function close(e){clearTimeout(closeTimer);closeTimer=setTimeout(function(){clearTimeout(closeTimer);if(e.target&&e.target.getAttribute("handle-closed")==="false"){return}var isContains=(0,_common.isElementInside)(e.target,ref);if(open()&&!isContains||isContains&&e.type!=="mousedown"){openChange(false)}},local.trigger==="hover"?300:0)}var portalTimer;var showPortal=function showPortal(e){clearTimeout(portalTimer);portalTimer=setTimeout(function(){clearTimeout(portalTimer);if(!ref||!childRef||!e&&local.trigger==="contextMenu"){return}if((e===null||e===void 0?void 0:e.type)==="scroll"&&local.trigger==="contextMenu"){openChange(false);return}var elRect=childRef.getBoundingClientRect();var portalRect=ref.getBoundingClientRect();var offsetX=portalRect.width/2-elRect.width/2;var margin=window.innerHeight-elRect.bottom;var _placement=local.placement;var _isBottom=!(_placement!==null&&_placement!==void 0&&_placement.startsWith("top"))&&margin>ref.offsetHeight*0.8&&margin>elRect.top||(_placement===null||_placement===void 0?void 0:_placement.startsWith("bottom"));var arrowHeight=local.arrow?8:4;var _posi={};switch(local.placement){case"bottomLeft":case"left":case"topLeft":_posi.left=elRect.left;_posi["--x"]=-portalRect.width/2+16;break;case"bottomRight":case"right":case"topRight":_posi.left=elRect.right-portalRect.width;_posi["--x"]=portalRect.width/2-16;break;case"bottom":case"top":default:_posi.left=Math.abs(offsetX>elRect.left?elRect.left:elRect.left-offsetX);_posi["--x"]=-(_posi.left-elRect.left+offsetX);break}if(_isBottom){_posi.top=elRect.bottom+arrowHeight}else{_posi.bottom=window.innerHeight-elRect.top+arrowHeight}setPosi(function(prev){return(0,_common.isEqual)(prev,_posi)?prev:_posi});setUp(function(prev){return prev===!_isBottom?prev:!_isBottom})},32)};function handleOpen(e){clearTimeout(closeTimer);e.stopPropagation();if(local.trigger==="contextMenu"&&e.type==="contextmenu"){e.preventDefault();setPosi(function(prev){return _objectSpread(_objectSpread({},prev),{},_defineProperty({left:e.clientX,top:e.clientY},"--x",-((ref===null||ref===void 0?void 0:ref.getBoundingClientRect().width)||0)/2+16))})}openChange(true)}var container=(0,_solidJs.createMemo)(function(){if((0,_common.isFunction)(local.getPopupContainer)){return local.getPopupContainer(childRef)}return document.body});var childrenProps=(0,_solidJs.createMemo)(function(){var _props={};var openEvent={click:"on:mousedown",hover:"on:mouseenter",contextMenu:"on:contextmenu",none:void 0};var closeEvent={hover:"on:mouseleave",click:void 0,contextMenu:void 0,none:void 0};var openFn=openEvent[local.trigger];var closeFn=closeEvent[local.trigger];Object.assign(_props,openFn&&_defineProperty({},openFn,handleOpen),closeFn&&_defineProperty({},closeFn,close));return _props});var portalStyle=(0,_solidJs.createMemo)(function(){var p=posi();return".portal {".concat(Object.keys(p).map(function(k){return"".concat(k,":").concat(p[k],"px;")}).join(""),"z-index: 99999;}")});var portalCls=(0,_solidJs.createMemo)(function(){return(0,_css.cx)("portal",local.arrow&&"arrow","".concat(open()?"in":"out","-").concat(up()?"up":"down"),local.size,local.popupClass)});var hostStyle=(0,_solidJs.createMemo)(function(){return":host {--popover-bg: ".concat(isDark()?"#1f1f1f":"var(--component-bg)",";--popover-shadow-color: rgb(0 0 0 / 5%);position: absolute;}")});(0,_solidJs.createEffect)(function(){if(open()){showPortal();window.addEventListener("scroll",showPortal,{passive:_common.passiveSupported})}(0,_solidJs.onCleanup)(function(){window.removeEventListener("scroll",showPortal,false)})});(0,_solidJs.onMount)(function(){if(local.trigger!=="none"){document.documentElement.addEventListener("mousedown",close,false)}});(0,_solidJs.onCleanup)(function(){clearTimeout(closeTimer);document.documentElement.removeEventListener("mousedown",close,false)});return[function(){var _el$=_tmpl$();_el$.textContent=_style.popoverCss;return _el$}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return local.css},get children(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;(0,_web.effect)(function(){return _el$3.data=(0,_css.css)(local.css)});return _el$2}}),function(){var _el$4=_tmpl$3();var _ref$=childRef;typeof _ref$==="function"?(0,_web.use)(_ref$,_el$4):childRef=_el$4;(0,_web.spread)(_el$4,(0,_web.mergeProps)(_defineAccessor("get",{},"class",function(){return(0,_css.cx)("popover",local.size,local["class"])}),childrenProps),false,true);(0,_web.insert)(_el$4,function(){return local.children});return _el$4}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return open()!==null||!local.destroyInactive},get children(){return(0,_web.createComponent)(_web.Portal,{useShadow:true,get mount(){return container()},get children(){return[function(){var _el$5=_tmpl$2(),_el$6=_el$5.firstChild;(0,_web.effect)(function(){return _el$6.data=baseStyle()});return _el$5}(),function(){var _el$7=_tmpl$();_el$7.textContent=_style.portalCss;return _el$7}(),function(){var _el$8=_tmpl$2(),_el$9=_el$8.firstChild;(0,_web.effect)(function(){return _el$9.data=hostStyle()});return _el$8}(),function(){var _el$0=_tmpl$2(),_el$1=_el$0.firstChild;(0,_web.effect)(function(){return _el$1.data=portalStyle()});return _el$0}(),function(){var _el$10=_tmpl$2(),_el$11=_el$10.firstChild;(0,_web.effect)(function(){return _el$11.data=width()});return _el$10}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return local.popupCss},get children(){var _el$12=_tmpl$2(),_el$13=_el$12.firstChild;(0,_web.effect)(function(){return _el$13.data=(0,_css.css)(local.popupCss)});return _el$12}}),function(){var _el$14=_tmpl$4();(0,_web.addEventListener)(_el$14,"animationend",exit);var _ref$2=ref;typeof _ref$2==="function"?(0,_web.use)(_ref$2,_el$14):ref=_el$14;(0,_web.spread)(_el$14,(0,_web.mergeProps)(_defineAccessor("get",{},"class",function(){return portalCls()}),childrenProps),false,true);(0,_web.insert)(_el$14,(0,_web.createComponent)(_solidJs.Show,{get when(){return!!local.content},get fallback(){return(0,_web.createComponent)(_empty["default"],{})},get children(){return(0,_web.createComponent)(_solidJs.Show,{get when(){return typeof local.content==="string"},get fallback(){return(0,_web.memo)(function(){return local.content})},get children(){var _el$15=_tmpl$4();(0,_web.effect)(function(){return _el$15.innerHTML=local.content});return _el$15}})}}));return _el$14}()]}})}})]}var defaultProps=exports.defaultProps={"class":void 0,css:void 0,content:void 0,getPopupContainer:void 0,trigger:void 0,open:void 0,onOpenChange:void 0,popupClass:void 0,popupCss:void 0,destroyInactive:true,disabled:void 0,arrow:void 0,placement:void 0,dropdownMatchSelectWidth:void 0};Popover.registry=function(){(0,_solidElement.customElement)("n-popover",defaultProps,function(_,opt){var baseStyle=_theme["default"].baseStyle;var el=opt.element;var props=(0,_solidJs.mergeProps)({onOpenChange:function onOpenChange(next){el.dispatchEvent(new CustomEvent("openchange",{detail:next}))},children:_toConsumableArray(el.childNodes.values())},_);(0,_solidJs.createEffect)(function(){(0,_basicConfig.clearAttribute)(el,["content","popupCss","css"])});return[function(){var _el$16=_tmpl$();_el$16.textContent=_theme.inline;return _el$16}(),function(){var _el$17=_tmpl$2(),_el$18=_el$17.firstChild;(0,_web.effect)(function(){return _el$18.data=baseStyle()});return _el$17}(),(0,_web.createComponent)(Popover,props)]})};var _default=exports["default"]=Popover;
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2ViIiwicmVxdWlyZSIsIl9zb2xpZEpzIiwiX2NvbW1vbiIsIl9jc3MiLCJfc29saWRFbGVtZW50IiwiX2Jhc2ljQ29uZmlnIiwiX2VtcHR5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl90aGVtZSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3N0eWxlIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfdG1wbCQiLCJ0ZW1wbGF0ZSIsIl90bXBsJDIiLCJfdG1wbCQzIiwiX3RtcGwkNCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9kZWZpbmVBY2Nlc3NvciIsImMiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsIndyaXRhYmxlIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJhIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsIiwidSIsIm5leHQiLCJkb25lIiwiVHJpZ2dlck9wdGlvbiIsImV4cG9ydHMiLCJQbGFjZW1lbnQiLCJQb3BvdmVyIiwicHJvcHMiLCJpc0RhcmsiLCJ0aGVtZSIsImJhc2VTdHlsZSIsIm1wIiwibWVyZ2VQcm9wcyIsInRyaWdnZXIiLCJfc3BsaXRQcm9wcyIsInNwbGl0UHJvcHMiLCJfc3BsaXRQcm9wczIiLCJsb2NhbCIsInJlZiIsImNoaWxkUmVmIiwiY2xvc2VUaW1lciIsIl9jcmVhdGVTaWduYWwiLCJjcmVhdGVTaWduYWwiLCJfY3JlYXRlU2lnbmFsMiIsIm9wZW4iLCJzZXRPcGVuIiwiX2NyZWF0ZVNpZ25hbDMiLCJfY3JlYXRlU2lnbmFsNCIsInBvc2kiLCJzZXRQb3NpIiwiX2NyZWF0ZVNpZ25hbDUiLCJfY3JlYXRlU2lnbmFsNiIsInVwIiwic2V0VXAiLCJfY3JlYXRlU2lnbmFsNyIsIl9jcmVhdGVTaWduYWw4Iiwid2lkdGgiLCJzZXRXaWR0aCIsImNyZWF0ZUVmZmVjdCIsIm9wZW5DaGFuZ2UiLCJkaXNhYmxlZCIsIm9uT3BlbkNoYW5nZSIsImV4aXQiLCJkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgiLCJjb25jYXQiLCJvZmZzZXRXaWR0aCIsImNsb3NlIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsInRhcmdldCIsImdldEF0dHJpYnV0ZSIsImlzQ29udGFpbnMiLCJpc0VsZW1lbnRJbnNpZGUiLCJ0eXBlIiwicG9ydGFsVGltZXIiLCJzaG93UG9ydGFsIiwiZWxSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicG9ydGFsUmVjdCIsIm9mZnNldFgiLCJtYXJnaW4iLCJ3aW5kb3ciLCJpbm5lckhlaWdodCIsImJvdHRvbSIsIl9wbGFjZW1lbnQiLCJwbGFjZW1lbnQiLCJfaXNCb3R0b20iLCJzdGFydHNXaXRoIiwib2Zmc2V0SGVpZ2h0IiwidG9wIiwiYXJyb3dIZWlnaHQiLCJhcnJvdyIsIl9wb3NpIiwibGVmdCIsInJpZ2h0IiwiTWF0aCIsImFicyIsInByZXYiLCJpc0VxdWFsIiwiaGFuZGxlT3BlbiIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiY2xpZW50WCIsImNsaWVudFkiLCJjb250YWluZXIiLCJjcmVhdGVNZW1vIiwiaXNGdW5jdGlvbiIsImdldFBvcHVwQ29udGFpbmVyIiwiZG9jdW1lbnQiLCJib2R5IiwiY2hpbGRyZW5Qcm9wcyIsIl9wcm9wcyIsIm9wZW5FdmVudCIsImNsaWNrIiwiaG92ZXIiLCJjb250ZXh0TWVudSIsIm5vbmUiLCJjbG9zZUV2ZW50Iiwib3BlbkZuIiwiY2xvc2VGbiIsImFzc2lnbiIsInBvcnRhbFN0eWxlIiwicCIsIm1hcCIsImsiLCJqb2luIiwicG9ydGFsQ2xzIiwiY3giLCJzaXplIiwicG9wdXBDbGFzcyIsImhvc3RTdHlsZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicGFzc2l2ZVN1cHBvcnRlZCIsIm9uQ2xlYW51cCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbk1vdW50IiwiZG9jdW1lbnRFbGVtZW50IiwiX2VsJCIsInRleHRDb250ZW50IiwicG9wb3ZlckNzcyIsImNyZWF0ZUNvbXBvbmVudCIsIlNob3ciLCJ3aGVuIiwiY3NzIiwiY2hpbGRyZW4iLCJfZWwkMiIsIl9lbCQzIiwiZmlyc3RDaGlsZCIsImVmZmVjdCIsImRhdGEiLCJfZWwkNCIsIl9yZWYkIiwidXNlIiwic3ByZWFkIiwiaW5zZXJ0IiwiZGVzdHJveUluYWN0aXZlIiwiUG9ydGFsIiwidXNlU2hhZG93IiwibW91bnQiLCJfZWwkNSIsIl9lbCQ2IiwiX2VsJDciLCJwb3J0YWxDc3MiLCJfZWwkOCIsIl9lbCQ5IiwiX2VsJDAiLCJfZWwkMSIsIl9lbCQxMCIsIl9lbCQxMSIsInBvcHVwQ3NzIiwiX2VsJDEyIiwiX2VsJDEzIiwiX2VsJDE0IiwiX3JlZiQyIiwiY29udGVudCIsImZhbGxiYWNrIiwibWVtbyIsIl9lbCQxNSIsImlubmVySFRNTCIsImRlZmF1bHRQcm9wcyIsInJlZ2lzdHJ5IiwiY3VzdG9tRWxlbWVudCIsIl8iLCJvcHQiLCJlbCIsImVsZW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJjaGlsZE5vZGVzIiwidmFsdWVzIiwiY2xlYXJBdHRyaWJ1dGUiLCJfZWwkMTYiLCJpbmxpbmUiLCJfZWwkMTciLCJfZWwkMTgiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcG9wb3Zlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlRWZmZWN0LFxuICBjcmVhdGVNZW1vLFxuICBjcmVhdGVTaWduYWwsXG4gIG1lcmdlUHJvcHMsXG4gIG9uQ2xlYW51cCxcbiAgb25Nb3VudCxcbiAgU2hvdyxcbiAgc3BsaXRQcm9wcyxcbn0gZnJvbSAnc29saWQtanMnO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSAnc29saWQtanMvd2ViJztcbmltcG9ydCB7IGlzRWxlbWVudEluc2lkZSwgaXNFcXVhbCwgaXNGdW5jdGlvbiwgcGFzc2l2ZVN1cHBvcnRlZCB9IGZyb20gJ0Btb25la28vY29tbW9uJztcbmltcG9ydCB7IGNzcywgY3ggfSBmcm9tICdAbW9uZWtvL2Nzcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnc29saWQtZWxlbWVudCc7XG5cbmltcG9ydCB0eXBlIHsgQmFzaWNDb25maWcsIEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBjbGVhckF0dHJpYnV0ZSwgdHlwZSBKU1hFbGVtZW50IH0gZnJvbSAnLi4vYmFzaWMtY29uZmlnJztcbmltcG9ydCBFbXB0eSBmcm9tICcuLi9lbXB0eSc7XG5pbXBvcnQgdGhlbWUsIHsgaW5saW5lIH0gZnJvbSAnLi4vdGhlbWUnO1xuXG5pbXBvcnQgeyBwb3BvdmVyQ3NzLCBwb3J0YWxDc3MgfSBmcm9tICcuL3N0eWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyUHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ57G75ZCNICovXG4gIGNsYXNzPzogc3RyaW5nO1xuICAvKiog6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIGNzcz86IHN0cmluZztcbiAgLyoqIOWGheWuuSAqL1xuICBjb250ZW50PzogSlNYRWxlbWVudCB8ICgoKSA9PiBKU1hFbGVtZW50KTtcbiAgLyoqIOaMgui9veWIsOaMh+WumueahOWFg+e0oO+8jOWAvOS4uuS4gOS4qui/lOWbnuWvueW6lCBET00g5YWD57SgIOm7mOiupCBkb2N1bWVudC5ib2R5ICovXG4gIGdldFBvcHVwQ29udGFpbmVyPzogKG5vZGU/OiBIVE1MRWxlbWVudCB8IG51bGwpID0+IEhUTUxFbGVtZW50O1xuICAvKiog6Kem5Y+R6KGM5Li6XG4gICAqIEBkZWZhdWx0ICdob3ZlcidcbiAgICovXG4gIHRyaWdnZXI/OiBrZXlvZiB0eXBlb2YgVHJpZ2dlck9wdGlvbjtcbiAgLyoqIOaJk+W8gOWGheWuueawlOazoSAqL1xuICBvcGVuPzogYm9vbGVhbiB8IG51bGw7XG4gIC8qKiDlhoXlrrnmiZPlvIDlhbPpl63ml7bnmoTlm57osIPmlrnms5UgKi9cbiAgb25PcGVuQ2hhbmdlPzogKG9wZW46IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkO1xuICAvKiog5rCU5rOh55qE6Ieq5a6a5LmJ57G75ZCNICovXG4gIHBvcHVwQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiDmsJTms6HnmoToh6rlrprkuYnmoLflvI/ooaggKi9cbiAgcG9wdXBDc3M/OiBzdHJpbmc7XG4gIC8qKiDlhbPpl63lkI7mmK/lkKbplIDmr4EgICovXG4gIGRlc3Ryb3lJbmFjdGl2ZT86IGJvb2xlYW47XG4gIC8qKiDkuI3lj6/nlKjnirbmgIEgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIOa3u+WKoOS4gOS4queureWktOaYvuekuiAgKi9cbiAgYXJyb3c/OiBib29sZWFuO1xuICAvKiog5oyH5a6a5rCU5rOh5pi+56S655qE5pa55ZCRICovXG4gIHBsYWNlbWVudD86IGtleW9mIHR5cGVvZiBQbGFjZW1lbnQ7XG4gIC8qKiDmsJTms6Hlrr3luqbkuI7op6blj5Fkb23kuIDoh7QgICovXG4gIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD86IGJvb2xlYW47XG4gIC8qKiDlsLrlr7hcbiAgICogQGRlZmF1bHQgJ25vcm1hbCdcbiAgICovXG4gIHNpemU/OiBCYXNpY0NvbmZpZ1snc2l6ZSddO1xuICBjaGlsZHJlbj86IEpTWEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBlbnVtIFRyaWdnZXJPcHRpb24ge1xuICAvKiog6byg5qCH56e75YWlICovXG4gIGhvdmVyID0gJ2hvdmVyJyxcbiAgLyoqIOeCueWHuyAqL1xuICBjbGljayA9ICdjbGljaycsXG4gIC8qKiDlj7PplK4gKi9cbiAgY29udGV4dE1lbnUgPSAnY29udGV4dE1lbnUnLFxuICAvKiog5pegICovXG4gIG5vbmUgPSAnbm9uZScsXG59XG5cbmV4cG9ydCBlbnVtIFBsYWNlbWVudCB7XG4gIC8qKiDlt6bkuIsgKi9cbiAgYm90dG9tTGVmdCA9ICdib3R0b21MZWZ0JyxcbiAgLyoqIOS4iyAqL1xuICBib3R0b20gPSAnYm90dG9tJyxcbiAgLyoqIOWPs+S4iyAqL1xuICBib3R0b21SaWdodCA9ICdib3R0b21SaWdodCcsXG4gIC8qKiDlt6bkuIogKi9cbiAgdG9wTGVmdCA9ICd0b3BMZWZ0JyxcbiAgLyoqIOS4iiAqL1xuICB0b3AgPSAndG9wJyxcbiAgLyoqIOWPs+S4iiAqL1xuICB0b3BSaWdodCA9ICd0b3BSaWdodCcsXG4gIC8qKiDlt6YgKi9cbiAgbGVmdCA9ICdsZWZ0JyxcbiAgLyoqIOWPsyAqL1xuICByaWdodCA9ICdyaWdodCcsXG59XG5cbmludGVyZmFjZSBQb3NpIHtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xuICByaWdodD86IG51bWJlcjtcbiAgYm90dG9tPzogbnVtYmVyO1xuICAnLS14Jz86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEV2ZW50TWFwIHtcbiAgY2xpY2s/OiBzdHJpbmc7XG4gIGhvdmVyPzogc3RyaW5nO1xuICBjb250ZXh0TWVudT86IHN0cmluZztcbiAgbm9uZT86IG5ldmVyO1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBQb3BvdmVyKHByb3BzOiBQb3BvdmVyUHJvcHMpIHtcbiAgY29uc3QgeyBpc0RhcmssIGJhc2VTdHlsZSB9ID0gdGhlbWU7XG4gIGNvbnN0IG1wID0gbWVyZ2VQcm9wcyhcbiAgICB7XG4gICAgICB0cmlnZ2VyOiAnaG92ZXInLFxuICAgIH0sXG4gICAgcHJvcHMsXG4gICk7XG4gIGNvbnN0IFtsb2NhbF0gPSBzcGxpdFByb3BzKG1wLCBbXG4gICAgJ2NsYXNzJyxcbiAgICAnY3NzJyxcbiAgICAncG9wdXBDbGFzcycsXG4gICAgJ3BvcHVwQ3NzJyxcbiAgICAnc2l6ZScsXG4gICAgJ3RyaWdnZXInLFxuICAgICdvcGVuJyxcbiAgICAnZGlzYWJsZWQnLFxuICAgICdvbk9wZW5DaGFuZ2UnLFxuICAgICdkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgnLFxuICAgICdkZXN0cm95SW5hY3RpdmUnLFxuICAgICdhcnJvdycsXG4gICAgJ3BsYWNlbWVudCcsXG4gICAgJ2dldFBvcHVwQ29udGFpbmVyJyxcbiAgICAnY2hpbGRyZW4nLFxuICAgICdjb250ZW50JyxcbiAgXSk7XG4gIGxldCByZWY6IEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBsZXQgY2hpbGRSZWY6IEhUTUxTcGFuRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGNsb3NlVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gY3JlYXRlU2lnbmFsPGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3Bvc2ksIHNldFBvc2ldID0gY3JlYXRlU2lnbmFsPFBvc2k+KHt9KTtcbiAgY29uc3QgW3VwLCBzZXRVcF0gPSBjcmVhdGVTaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbd2lkdGgsIHNldFdpZHRoXSA9IGNyZWF0ZVNpZ25hbCgnJyk7XG5cbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9jYWwub3BlbiAhPT0gdm9pZCAwKSB7XG4gICAgICBzZXRPcGVuKGxvY2FsLm9wZW4pO1xuICAgIH1cbiAgfSk7XG4gIGZ1bmN0aW9uIG9wZW5DaGFuZ2UobmV4dDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICBpZiAoIWxvY2FsLmRpc2FibGVkKSB7XG4gICAgICBpZiAobG9jYWwub25PcGVuQ2hhbmdlKSB7XG4gICAgICAgIGxvY2FsLm9uT3BlbkNoYW5nZShuZXh0KTtcbiAgICAgIH1cbiAgICAgIGlmIChsb2NhbC5vcGVuID09PSB2b2lkIDApIHtcbiAgICAgICAgc2V0T3BlbihuZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gZXhpdCgpIHtcbiAgICBpZiAob3BlbigpID09PSBmYWxzZSkge1xuICAgICAgc2V0T3BlbihudWxsKTtcbiAgICAgIG9wZW5DaGFuZ2UobnVsbCk7XG4gICAgfVxuICB9XG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4oKSAmJiBsb2NhbC5kcm9wZG93bk1hdGNoU2VsZWN0V2lkdGggJiYgY2hpbGRSZWYpIHtcbiAgICAgIHNldFdpZHRoKGAucG9ydGFsIHt3aWR0aDogJHtjaGlsZFJlZi5vZmZzZXRXaWR0aH1weDt9YCk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBjbG9zZShlOiBNb3VzZUV2ZW50IHwgRXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgY2xvc2VUaW1lciA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dChjbG9zZVRpbWVyKTtcbiAgICAgICAgaWYgKGUudGFyZ2V0ICYmIChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCdoYW5kbGUtY2xvc2VkJykgPT09ICdmYWxzZScpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNDb250YWlucyA9IGlzRWxlbWVudEluc2lkZShlLnRhcmdldCBhcyBFbGVtZW50LCByZWYpO1xuXG4gICAgICAgIGlmICgob3BlbigpICYmICFpc0NvbnRhaW5zKSB8fCAoaXNDb250YWlucyAmJiBlLnR5cGUgIT09ICdtb3VzZWRvd24nKSkge1xuICAgICAgICAgIG9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbG9jYWwudHJpZ2dlciA9PT0gJ2hvdmVyJyA/IDMwMCA6IDAsXG4gICAgKTtcbiAgfVxuICBsZXQgcG9ydGFsVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgc2hvd1BvcnRhbCA9IGZ1bmN0aW9uIChlPzogRXZlbnQpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQocG9ydGFsVGltZXIpO1xuICAgIHBvcnRhbFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQocG9ydGFsVGltZXIpO1xuICAgICAgaWYgKCFyZWYgfHwgIWNoaWxkUmVmIHx8ICghZSAmJiBsb2NhbC50cmlnZ2VyID09PSAnY29udGV4dE1lbnUnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoZT8udHlwZSA9PT0gJ3Njcm9sbCcgJiYgbG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51Jykge1xuICAgICAgICBvcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZWxSZWN0ID0gY2hpbGRSZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBwb3J0YWxSZWN0ID0gcmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3Qgb2Zmc2V0WCA9IHBvcnRhbFJlY3Qud2lkdGggLyAyIC0gZWxSZWN0LndpZHRoIC8gMjtcbiAgICAgIGNvbnN0IG1hcmdpbiA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGVsUmVjdC5ib3R0b207XG4gICAgICBjb25zdCBfcGxhY2VtZW50ID0gbG9jYWwucGxhY2VtZW50O1xuXG4gICAgICBjb25zdCBfaXNCb3R0b20gPVxuICAgICAgICAoIV9wbGFjZW1lbnQ/LnN0YXJ0c1dpdGgoJ3RvcCcpICYmXG4gICAgICAgICAgbWFyZ2luID4gcmVmLm9mZnNldEhlaWdodCAqIDAuOCAmJlxuICAgICAgICAgIG1hcmdpbiA+IGVsUmVjdC50b3ApIHx8XG4gICAgICAgIF9wbGFjZW1lbnQ/LnN0YXJ0c1dpdGgoJ2JvdHRvbScpO1xuICAgICAgY29uc3QgYXJyb3dIZWlnaHQgPSBsb2NhbC5hcnJvdyA/IDggOiA0O1xuICAgICAgY29uc3QgX3Bvc2k6IFBvc2kgPSB7fTtcblxuICAgICAgc3dpdGNoIChsb2NhbC5wbGFjZW1lbnQpIHtcbiAgICAgICAgY2FzZSAnYm90dG9tTGVmdCc6XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBjYXNlICd0b3BMZWZ0JzpcbiAgICAgICAgICBfcG9zaS5sZWZ0ID0gZWxSZWN0LmxlZnQ7XG4gICAgICAgICAgX3Bvc2lbJy0teCddID0gLXBvcnRhbFJlY3Qud2lkdGggLyAyICsgMTY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbVJpZ2h0JzpcbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBjYXNlICd0b3BSaWdodCc6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IGVsUmVjdC5yaWdodCAtIHBvcnRhbFJlY3Qud2lkdGg7XG4gICAgICAgICAgX3Bvc2lbJy0teCddID0gcG9ydGFsUmVjdC53aWR0aCAvIDIgLSAxNjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBfcG9zaS5sZWZ0ID0gTWF0aC5hYnMob2Zmc2V0WCA+IGVsUmVjdC5sZWZ0ID8gZWxSZWN0LmxlZnQgOiBlbFJlY3QubGVmdCAtIG9mZnNldFgpO1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IC0oX3Bvc2kubGVmdCAtIGVsUmVjdC5sZWZ0ICsgb2Zmc2V0WCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoX2lzQm90dG9tKSB7XG4gICAgICAgIF9wb3NpLnRvcCA9IGVsUmVjdC5ib3R0b20gKyBhcnJvd0hlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF9wb3NpLmJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGVsUmVjdC50b3AgKyBhcnJvd0hlaWdodDtcbiAgICAgIH1cbiAgICAgIHNldFBvc2koKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIGlzRXF1YWwocHJldiwgX3Bvc2kpID8gcHJldiA6IF9wb3NpO1xuICAgICAgfSk7XG4gICAgICBzZXRVcCgocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gcHJldiA9PT0gIV9pc0JvdHRvbSA/IHByZXYgOiAhX2lzQm90dG9tO1xuICAgICAgfSk7XG4gICAgfSwgMzIpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGhhbmRsZU9wZW4oZTogTW91c2VFdmVudCkge1xuICAgIGNsZWFyVGltZW91dChjbG9zZVRpbWVyKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmIChsb2NhbC50cmlnZ2VyID09PSAnY29udGV4dE1lbnUnICYmIGUudHlwZSA9PT0gJ2NvbnRleHRtZW51Jykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgc2V0UG9zaSgocHJldikgPT4gKHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgbGVmdDogZS5jbGllbnRYLFxuICAgICAgICB0b3A6IGUuY2xpZW50WSxcbiAgICAgICAgWyctLXgnXTogLShyZWY/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIHx8IDApIC8gMiArIDE2LFxuICAgICAgfSkpO1xuICAgIH1cbiAgICBvcGVuQ2hhbmdlKHRydWUpO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzRnVuY3Rpb24obG9jYWwuZ2V0UG9wdXBDb250YWluZXIpKSB7XG4gICAgICByZXR1cm4gbG9jYWwuZ2V0UG9wdXBDb250YWluZXIoY2hpbGRSZWYpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcbiAgfSk7XG4gIGNvbnN0IGNoaWxkcmVuUHJvcHMgPSBjcmVhdGVNZW1vKCgpID0+IHtcbiAgICBjb25zdCBfcHJvcHM6IFBhcnRpYWw8UmVjb3JkPGtleW9mIEV2ZW50TWFwLCB2b2lkPj4gPSB7fTtcblxuICAgIGNvbnN0IG9wZW5FdmVudDogRXZlbnRNYXAgPSB7XG4gICAgICBjbGljazogJ29uOm1vdXNlZG93bicsXG4gICAgICBob3ZlcjogJ29uOm1vdXNlZW50ZXInLFxuICAgICAgY29udGV4dE1lbnU6ICdvbjpjb250ZXh0bWVudScsXG4gICAgICBub25lOiB2b2lkIDAsXG4gICAgfTtcbiAgICBjb25zdCBjbG9zZUV2ZW50OiBFdmVudE1hcCA9IHtcbiAgICAgIGhvdmVyOiAnb246bW91c2VsZWF2ZScsXG4gICAgICBjbGljazogdm9pZCAwLFxuICAgICAgY29udGV4dE1lbnU6IHZvaWQgMCxcbiAgICAgIG5vbmU6IHZvaWQgMCxcbiAgICB9O1xuXG4gICAgY29uc3Qgb3BlbkZuID0gb3BlbkV2ZW50W2xvY2FsLnRyaWdnZXJdO1xuICAgIGNvbnN0IGNsb3NlRm4gPSBjbG9zZUV2ZW50W2xvY2FsLnRyaWdnZXJdO1xuXG4gICAgT2JqZWN0LmFzc2lnbihcbiAgICAgIF9wcm9wcyxcbiAgICAgIG9wZW5GbiAmJiB7XG4gICAgICAgIFtvcGVuRm5dOiBoYW5kbGVPcGVuLFxuICAgICAgfSxcbiAgICAgIGNsb3NlRm4gJiYge1xuICAgICAgICBbY2xvc2VGbl06IGNsb3NlLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIF9wcm9wcztcbiAgfSk7XG5cbiAgY29uc3QgcG9ydGFsU3R5bGUgPSBjcmVhdGVNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwID0gcG9zaSgpO1xuXG4gICAgcmV0dXJuIGAucG9ydGFsIHske09iamVjdC5rZXlzKHApXG4gICAgICAubWFwKChrKSA9PiBgJHtrfToke3BbayBhcyBrZXlvZiBQb3NpXX1weDtgKVxuICAgICAgLmpvaW4oJycpfXotaW5kZXg6IDk5OTk5O31gO1xuICB9KTtcbiAgY29uc3QgcG9ydGFsQ2xzID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGN4KFxuICAgICAgJ3BvcnRhbCcsXG4gICAgICBsb2NhbC5hcnJvdyAmJiAnYXJyb3cnLFxuICAgICAgYCR7b3BlbigpID8gJ2luJyA6ICdvdXQnfS0ke3VwKCkgPyAndXAnIDogJ2Rvd24nfWAsXG4gICAgICBsb2NhbC5zaXplLFxuICAgICAgbG9jYWwucG9wdXBDbGFzcyxcbiAgICApO1xuICB9KTtcbiAgY29uc3QgaG9zdFN0eWxlID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGA6aG9zdCB7LS1wb3BvdmVyLWJnOiAke1xuICAgICAgaXNEYXJrKCkgPyAnIzFmMWYxZicgOiAndmFyKC0tY29tcG9uZW50LWJnKSdcbiAgICB9Oy0tcG9wb3Zlci1zaGFkb3ctY29sb3I6IHJnYigwIDAgMCAvIDUlKTtwb3NpdGlvbjogYWJzb2x1dGU7fWA7XG4gIH0pO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4oKSkge1xuICAgICAgc2hvd1BvcnRhbCgpO1xuXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2hvd1BvcnRhbCwge1xuICAgICAgICBwYXNzaXZlOiBwYXNzaXZlU3VwcG9ydGVkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2hvd1BvcnRhbCwgZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcbiAgb25Nb3VudCgoKSA9PiB7XG4gICAgaWYgKGxvY2FsLnRyaWdnZXIgIT09ICdub25lJykge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGNsb3NlLCBmYWxzZSk7XG4gICAgfVxuICB9KTtcbiAgb25DbGVhbnVwKCgpID0+IHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGNsb3NlLCBmYWxzZSk7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17cG9wb3ZlckNzc30gLz5cbiAgICAgIDxTaG93IHdoZW49e2xvY2FsLmNzc30+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKGxvY2FsLmNzcyl9IC8+XG4gICAgICA8L1Nob3c+XG4gICAgICA8c3BhbiByZWY9e2NoaWxkUmVmfSBjbGFzcz17Y3goJ3BvcG92ZXInLCBsb2NhbC5zaXplLCBsb2NhbC5jbGFzcyl9IHsuLi5jaGlsZHJlblByb3BzKCl9PlxuICAgICAgICB7bG9jYWwuY2hpbGRyZW59XG4gICAgICA8L3NwYW4+XG4gICAgICA8U2hvdyB3aGVuPXtvcGVuKCkgIT09IG51bGwgfHwgIWxvY2FsLmRlc3Ryb3lJbmFjdGl2ZX0+XG4gICAgICAgIDxQb3J0YWwgdXNlU2hhZG93IG1vdW50PXtjb250YWluZXIoKX0+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtiYXNlU3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcnRhbENzc30gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2hvc3RTdHlsZSgpfSAvPlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17cG9ydGFsU3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3dpZHRoKCl9IC8+XG4gICAgICAgICAgPFNob3cgd2hlbj17bG9jYWwucG9wdXBDc3N9PlxuICAgICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtjc3MobG9jYWwucG9wdXBDc3MpfSAvPlxuICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICA8ZGl2IHJlZj17cmVmfSBvbjphbmltYXRpb25lbmQ9e2V4aXR9IGNsYXNzPXtwb3J0YWxDbHMoKX0gey4uLmNoaWxkcmVuUHJvcHMoKX0+XG4gICAgICAgICAgICA8U2hvdyB3aGVuPXshIWxvY2FsLmNvbnRlbnR9IGZhbGxiYWNrPXs8RW1wdHkgLz59PlxuICAgICAgICAgICAgICA8U2hvdyB3aGVuPXt0eXBlb2YgbG9jYWwuY29udGVudCA9PT0gJ3N0cmluZyd9IGZhbGxiYWNrPXs8Pntsb2NhbC5jb250ZW50fTwvPn0+XG4gICAgICAgICAgICAgICAgey8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb2xpZC9uby1pbm5lcmh0bWwgKi99XG4gICAgICAgICAgICAgICAgPGRpdiBpbm5lckhUTUw9e2xvY2FsLmNvbnRlbnQgYXMgc3RyaW5nfSAvPlxuICAgICAgICAgICAgICA8L1Nob3c+XG4gICAgICAgICAgICA8L1Nob3c+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvUG9ydGFsPlxuICAgICAgPC9TaG93PlxuICAgIDwvPlxuICApO1xufVxuXG5leHBvcnQgdHlwZSBQb3BvdmVyRWxlbWVudCA9IEN1c3RvbUVsZW1lbnQ8UG9wb3ZlclByb3BzLCAnb25PcGVuQ2hhbmdlJz47XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UHJvcHMgPSB7XG4gIGNsYXNzOiB2b2lkIDAsXG4gIGNzczogdm9pZCAwLFxuICBjb250ZW50OiB2b2lkIDAsXG4gIGdldFBvcHVwQ29udGFpbmVyOiB2b2lkIDAsXG4gIHRyaWdnZXI6IHZvaWQgMCxcbiAgb3Blbjogdm9pZCAwLFxuICBvbk9wZW5DaGFuZ2U6IHZvaWQgMCxcbiAgcG9wdXBDbGFzczogdm9pZCAwLFxuICBwb3B1cENzczogdm9pZCAwLFxuICBkZXN0cm95SW5hY3RpdmU6IHRydWUsXG4gIGRpc2FibGVkOiB2b2lkIDAsXG4gIGFycm93OiB2b2lkIDAsXG4gIHBsYWNlbWVudDogdm9pZCAwLFxuICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg6IHZvaWQgMCxcbn07XG5Qb3BvdmVyLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PFBvcG92ZXJQcm9wcz4oJ24tcG9wb3ZlcicsIGRlZmF1bHRQcm9wcywgKF8sIG9wdCkgPT4ge1xuICAgIGNvbnN0IHsgYmFzZVN0eWxlIH0gPSB0aGVtZTtcbiAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuICAgIGNvbnN0IHByb3BzID0gbWVyZ2VQcm9wcyhcbiAgICAgIHtcbiAgICAgICAgb25PcGVuQ2hhbmdlKG5leHQ6IGJvb2xlYW4gfCBudWxsKSB7XG4gICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnb3BlbmNoYW5nZScsIHtcbiAgICAgICAgICAgICAgZGV0YWlsOiBuZXh0LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKTtcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFsuLi5lbC5jaGlsZE5vZGVzLnZhbHVlcygpXSxcbiAgICAgIH0sXG4gICAgICBfLFxuICAgICk7XG5cbiAgICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsnY29udGVudCcsICdwb3B1cENzcycsICdjc3MnXSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17aW5saW5lfSAvPlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Jhc2VTdHlsZSgpfSAvPlxuICAgICAgICA8UG9wb3ZlciB7Li4ucHJvcHN9IC8+XG4gICAgICA8Lz5cbiAgICApO1xuICB9KTtcbn07XG5leHBvcnQgZGVmYXVsdCBQb3BvdmVyO1xuIl0sIm1hcHBpbmdzIjoiK2FBVUEsSUFBQUEsSUFBQSxDQUFBQyxPQUFBLGlCQVZBLElBQUFDLFFBQUEsQ0FBQUQsT0FBQSxhQVdBLElBQUFFLE9BQUEsQ0FBQUYsT0FBQSxtQkFDQSxJQUFBRyxJQUFBLENBQUFILE9BQUEsZ0JBQ0EsSUFBQUksYUFBQSxDQUFBSixPQUFBLGtCQUdBLElBQUFLLFlBQUEsQ0FBQUwsT0FBQSxvQkFDQSxJQUFBTSxNQUFBLENBQUFDLHNCQUFBLENBQUFQLE9BQUEsY0FDQSxJQUFBUSxNQUFBLENBQUFDLHVCQUFBLENBQUFULE9BQUEsY0FFQSxJQUFBVSxNQUFBLENBQUFWLE9BQUEsWUFBZ0QsU0FBQVMsd0JBQUFFLENBQUEsQ0FBQUMsQ0FBQSx3QkFBQUMsT0FBQSxLQUFBQyxDQUFBLEtBQUFELE9BQUEsQ0FBQUUsQ0FBQSxLQUFBRixPQUFBLFFBQUFKLHVCQUFBLFVBQUFBLHdCQUFBRSxDQUFBLENBQUFDLENBQUEsTUFBQUEsQ0FBQSxFQUFBRCxDQUFBLEVBQUFBLENBQUEsQ0FBQUssVUFBQSxRQUFBTCxDQUFBLEtBQUFNLENBQUEsQ0FBQUMsQ0FBQSxDQUFBQyxDQUFBLEVBQUFDLFNBQUEsZ0JBQUFULENBQUEsWUFBQUEsQ0FBQSxZQUFBVSxPQUFBLENBQUFWLENBQUEsc0JBQUFBLENBQUEsUUFBQVEsQ0FBQSxJQUFBRixDQUFBLENBQUFMLENBQUEsQ0FBQUcsQ0FBQSxDQUFBRCxDQUFBLEtBQUFHLENBQUEsQ0FBQUssR0FBQSxDQUFBWCxDQUFBLFNBQUFNLENBQUEsQ0FBQU0sR0FBQSxDQUFBWixDQUFBLEVBQUFNLENBQUEsQ0FB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
|
|
1
|
+
"use strict";function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(exports,"__esModule",{value:true});exports.defaultProps=exports["default"]=exports.TriggerOption=exports.Placement=void 0;var _web=require("solid-js/web");var _solidJs=require("solid-js");var _common=require("@moneko/common");var _css=require("@moneko/css");var _solidElement=require("solid-element");var _basicConfig=require("../basic-config");var _empty=_interopRequireDefault(require("../empty"));var _theme=_interopRequireWildcard(require("../theme"));var _style=require("./style");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,"default":e};if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f)}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f})(e,t)}function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}var _tmpl$=/*#__PURE__*/(0,_web.template)(`<style>`),_tmpl$2=/*#__PURE__*/(0,_web.template)(`<style> `),_tmpl$3=/*#__PURE__*/(0,_web.template)(`<span>`),_tmpl$4=/*#__PURE__*/(0,_web.template)(`<div>`);function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r)}function _defineAccessor(e,r,n,t){var c={configurable:!0,enumerable:!0};return c[e]=t,Object.defineProperty(r,n,c)}function ownKeys(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);r&&(o=o.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),t.push.apply(t,o)}return t}function _objectSpread(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?ownKeys(Object(t),!0).forEach(function(r){_defineProperty(e,r,t[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))})}return e}function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+""}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function _slicedToArray(r,e){return _arrayWithHoles(r)||_iterableToArrayLimit(r,e)||_unsupportedIterableToArray(r,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,l){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var e,n,i,u,a=[],f=!0,o=!1;try{if(i=(t=t.call(r)).next,0===l){if(Object(t)!==t)return;f=!1}else for(;!(f=(e=i.call(t)).done)&&(a.push(e.value),a.length!==l);f=!0);}catch(r){o=!0,n=r}finally{try{if(!f&&null!=t["return"]&&(u=t["return"](),Object(u)!==u))return}finally{if(o)throw n}}return a}}function _arrayWithHoles(r){if(Array.isArray(r))return r}var TriggerOption=exports.TriggerOption=/*#__PURE__*/function(TriggerOption){/** 鼠标移入 */TriggerOption["hover"]="hover";/** 点击 */TriggerOption["click"]="click";/** 右键 */TriggerOption["contextMenu"]="contextMenu";/** 无 */TriggerOption["none"]="none";return TriggerOption}({});var Placement=exports.Placement=/*#__PURE__*/function(Placement){/** 左下 */Placement["bottomLeft"]="bottomLeft";/** 下 */Placement["bottom"]="bottom";/** 右下 */Placement["bottomRight"]="bottomRight";/** 左上 */Placement["topLeft"]="topLeft";/** 上 */Placement["top"]="top";/** 右上 */Placement["topRight"]="topRight";/** 左 */Placement["left"]="left";/** 右 */Placement["right"]="right";return Placement}({});function Popover(props){var isDark=_theme["default"].isDark,baseStyle=_theme["default"].baseStyle;var mp=(0,_solidJs.mergeProps)({trigger:"hover"},props);var _splitProps=(0,_solidJs.splitProps)(mp,["class","css","popupClass","popupCss","size","trigger","open","disabled","onOpenChange","dropdownMatchSelectWidth","destroyInactive","arrow","placement","getPopupContainer","children","content","encodeUri"]),_splitProps2=_slicedToArray(_splitProps,1),local=_splitProps2[0];var ref;var childRef;var closeTimer;var _createSignal=(0,_solidJs.createSignal)(null),_createSignal2=_slicedToArray(_createSignal,2),open=_createSignal2[0],setOpen=_createSignal2[1];var _createSignal3=(0,_solidJs.createSignal)({}),_createSignal4=_slicedToArray(_createSignal3,2),posi=_createSignal4[0],setPosi=_createSignal4[1];var _createSignal5=(0,_solidJs.createSignal)(false),_createSignal6=_slicedToArray(_createSignal5,2),up=_createSignal6[0],setUp=_createSignal6[1];var _createSignal7=(0,_solidJs.createSignal)(""),_createSignal8=_slicedToArray(_createSignal7,2),width=_createSignal8[0],setWidth=_createSignal8[1];(0,_solidJs.createEffect)(function(){if(local.open!==void 0){setOpen(local.open)}});function openChange(next){if(!local.disabled){if(local.onOpenChange){local.onOpenChange(next)}if(local.open===void 0){setOpen(next)}}}function exit(){if(open()===false){setOpen(null);openChange(null)}}(0,_solidJs.createEffect)(function(){if(open()&&local.dropdownMatchSelectWidth&&childRef){setWidth(".portal {width: ".concat(childRef.offsetWidth,"px;}"))}});function close(e){clearTimeout(closeTimer);closeTimer=setTimeout(function(){clearTimeout(closeTimer);if(e.target&&e.target.getAttribute("handle-closed")==="false"){return}var isContains=(0,_common.isElementInside)(e.target,ref);if(open()&&!isContains||isContains&&e.type!=="mousedown"){openChange(false)}},local.trigger==="hover"?300:0)}var portalTimer;var showPortal=function showPortal(e){clearTimeout(portalTimer);portalTimer=setTimeout(function(){clearTimeout(portalTimer);if(!ref||!childRef||!e&&local.trigger==="contextMenu"){return}if((e===null||e===void 0?void 0:e.type)==="scroll"&&local.trigger==="contextMenu"){openChange(false);return}var elRect=childRef.getBoundingClientRect();var portalRect=ref.getBoundingClientRect();var offsetX=portalRect.width/2-elRect.width/2;var margin=window.innerHeight-elRect.bottom;var _placement=local.placement;var _isBottom=!(_placement!==null&&_placement!==void 0&&_placement.startsWith("top"))&&margin>ref.offsetHeight*0.8&&margin>elRect.top||(_placement===null||_placement===void 0?void 0:_placement.startsWith("bottom"));var arrowHeight=local.arrow?8:4;var _posi={};switch(local.placement){case"bottomLeft":case"left":case"topLeft":_posi.left=elRect.left;_posi["--x"]=-portalRect.width/2+16;break;case"bottomRight":case"right":case"topRight":_posi.left=elRect.right-portalRect.width;_posi["--x"]=portalRect.width/2-16;break;case"bottom":case"top":default:_posi.left=Math.abs(offsetX>elRect.left?elRect.left:elRect.left-offsetX);_posi["--x"]=-(_posi.left-elRect.left+offsetX);break}if(_isBottom){_posi.top=elRect.bottom+arrowHeight}else{_posi.bottom=window.innerHeight-elRect.top+arrowHeight}setPosi(function(prev){return(0,_common.isEqual)(prev,_posi)?prev:_posi});setUp(function(prev){return prev===!_isBottom?prev:!_isBottom})},32)};function handleOpen(e){clearTimeout(closeTimer);e.stopPropagation();if(local.trigger==="contextMenu"&&e.type==="contextmenu"){e.preventDefault();setPosi(function(prev){return _objectSpread(_objectSpread({},prev),{},_defineProperty({left:e.clientX,top:e.clientY},"--x",-((ref===null||ref===void 0?void 0:ref.getBoundingClientRect().width)||0)/2+16))})}openChange(true)}var container=(0,_solidJs.createMemo)(function(){if((0,_common.isFunction)(local.getPopupContainer)){return local.getPopupContainer(childRef)}return document.body});var childrenProps=(0,_solidJs.createMemo)(function(){var _props={};var openEvent={click:"on:mousedown",hover:"on:mouseenter",contextMenu:"on:contextmenu",none:void 0};var closeEvent={hover:"on:mouseleave",click:void 0,contextMenu:void 0,none:void 0};var openFn=openEvent[local.trigger];var closeFn=closeEvent[local.trigger];Object.assign(_props,openFn&&_defineProperty({},openFn,handleOpen),closeFn&&_defineProperty({},closeFn,close));return _props});var portalStyle=(0,_solidJs.createMemo)(function(){var p=posi();return".portal {".concat(Object.keys(p).map(function(k){return"".concat(k,":").concat(p[k],"px;")}).join(""),"z-index: 99999;}")});var portalCls=(0,_solidJs.createMemo)(function(){return(0,_css.cx)("portal",local.arrow&&"arrow","".concat(open()?"in":"out","-").concat(up()?"up":"down"),local.size,local.popupClass)});var hostStyle=(0,_solidJs.createMemo)(function(){return":host {--popover-bg: ".concat(isDark()?"#1f1f1f":"var(--component-bg)",";--popover-shadow-color: rgb(0 0 0 / 5%);position: absolute;}")});(0,_solidJs.createEffect)(function(){if(open()){showPortal();window.addEventListener("scroll",showPortal,{passive:_common.passiveSupported})}(0,_solidJs.onCleanup)(function(){window.removeEventListener("scroll",showPortal,false)})});(0,_solidJs.onMount)(function(){if(local.trigger!=="none"){document.documentElement.addEventListener("mousedown",close,false)}});(0,_solidJs.onCleanup)(function(){clearTimeout(closeTimer);document.documentElement.removeEventListener("mousedown",close,false)});return[function(){var _el$=_tmpl$();_el$.textContent=_style.popoverCss;return _el$}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return local.css},get children(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;(0,_web.effect)(function(){return _el$3.data=(0,_css.css)(local.css)});return _el$2}}),function(){var _el$4=_tmpl$3();var _ref$=childRef;typeof _ref$==="function"?(0,_web.use)(_ref$,_el$4):childRef=_el$4;(0,_web.spread)(_el$4,(0,_web.mergeProps)(_defineAccessor("get",{},"class",function(){return(0,_css.cx)("popover",local.size,local["class"])}),childrenProps),false,true);(0,_web.insert)(_el$4,function(){return local.children});return _el$4}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return open()!==null||!local.destroyInactive},get children(){return(0,_web.createComponent)(_web.Portal,{useShadow:true,get mount(){return container()},get children(){return[function(){var _el$5=_tmpl$2(),_el$6=_el$5.firstChild;(0,_web.effect)(function(){return _el$6.data=baseStyle()});return _el$5}(),function(){var _el$7=_tmpl$();_el$7.textContent=_style.portalCss;return _el$7}(),function(){var _el$8=_tmpl$2(),_el$9=_el$8.firstChild;(0,_web.effect)(function(){return _el$9.data=hostStyle()});return _el$8}(),function(){var _el$0=_tmpl$2(),_el$1=_el$0.firstChild;(0,_web.effect)(function(){return _el$1.data=portalStyle()});return _el$0}(),function(){var _el$10=_tmpl$2(),_el$11=_el$10.firstChild;(0,_web.effect)(function(){return _el$11.data=width()});return _el$10}(),(0,_web.createComponent)(_solidJs.Show,{get when(){return local.popupCss},get children(){var _el$12=_tmpl$2(),_el$13=_el$12.firstChild;(0,_web.effect)(function(){return _el$13.data=(0,_css.css)(local.popupCss)});return _el$12}}),function(){var _el$14=_tmpl$4();(0,_web.addEventListener)(_el$14,"animationend",exit);var _ref$2=ref;typeof _ref$2==="function"?(0,_web.use)(_ref$2,_el$14):ref=_el$14;(0,_web.spread)(_el$14,(0,_web.mergeProps)(_defineAccessor("get",{},"class",function(){return portalCls()}),childrenProps),false,true);(0,_web.insert)(_el$14,(0,_web.createComponent)(_solidJs.Show,{get when(){return!!local.content},get fallback(){return(0,_web.createComponent)(_empty["default"],{})},get children(){return(0,_web.createComponent)(_solidJs.Show,{get when(){return typeof local.content==="string"},get fallback(){return(0,_web.memo)(function(){return local.content})},get children(){var _el$15=_tmpl$4();(0,_web.effect)(function(){return _el$15.innerHTML=local.encodeUri?decodeURIComponent(local.content):local.content});return _el$15}})}}));return _el$14}()]}})}})]}var defaultProps=exports.defaultProps={"class":void 0,css:void 0,content:void 0,getPopupContainer:void 0,trigger:void 0,open:void 0,onOpenChange:void 0,popupClass:void 0,popupCss:void 0,destroyInactive:true,disabled:void 0,arrow:void 0,placement:void 0,dropdownMatchSelectWidth:void 0,encodeUri:void 0};Popover.registry=function(){(0,_solidElement.customElement)("n-popover",defaultProps,function(_,opt){var baseStyle=_theme["default"].baseStyle;var el=opt.element;var props=(0,_solidJs.mergeProps)({onOpenChange:function onOpenChange(next){el.dispatchEvent(new CustomEvent("openchange",{detail:next}))},children:_toConsumableArray(el.childNodes.values())},_);(0,_solidJs.createEffect)(function(){(0,_basicConfig.clearAttribute)(el,["content","popupCss","css"])});return[function(){var _el$16=_tmpl$();_el$16.textContent=_theme.inline;return _el$16}(),function(){var _el$17=_tmpl$2(),_el$18=_el$17.firstChild;(0,_web.effect)(function(){return _el$18.data=baseStyle()});return _el$17}(),(0,_web.createComponent)(Popover,props)]})};var _default=exports["default"]=Popover;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfd2ViIiwicmVxdWlyZSIsIl9zb2xpZEpzIiwiX2NvbW1vbiIsIl9jc3MiLCJfc29saWRFbGVtZW50IiwiX2Jhc2ljQ29uZmlnIiwiX2VtcHR5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl90aGVtZSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX3N0eWxlIiwiZSIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJfX2VzTW9kdWxlIiwibyIsImkiLCJmIiwiX19wcm90b19fIiwiX3R5cGVvZiIsImhhcyIsImdldCIsInNldCIsIl90IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJfdG1wbCQiLCJ0ZW1wbGF0ZSIsIl90bXBsJDIiLCJfdG1wbCQzIiwiX3RtcGwkNCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9hcnJheVdpdGhvdXRIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbm9uSXRlcmFibGVTcHJlYWQiLCJUeXBlRXJyb3IiLCJTeW1ib2wiLCJpdGVyYXRvciIsIkFycmF5IiwiZnJvbSIsImlzQXJyYXkiLCJfYXJyYXlMaWtlVG9BcnJheSIsIl9kZWZpbmVBY2Nlc3NvciIsImMiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwib3duS2V5cyIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJwdXNoIiwiYXBwbHkiLCJfb2JqZWN0U3ByZWFkIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiZm9yRWFjaCIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX3RvUHJvcGVydHlLZXkiLCJ2YWx1ZSIsIndyaXRhYmxlIiwiX3RvUHJpbWl0aXZlIiwidG9QcmltaXRpdmUiLCJTdHJpbmciLCJOdW1iZXIiLCJfc2xpY2VkVG9BcnJheSIsIl9hcnJheVdpdGhIb2xlcyIsIl9pdGVyYWJsZVRvQXJyYXlMaW1pdCIsIl9ub25JdGVyYWJsZVJlc3QiLCJhIiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsInRlc3QiLCJsIiwidSIsIm5leHQiLCJkb25lIiwiVHJpZ2dlck9wdGlvbiIsImV4cG9ydHMiLCJQbGFjZW1lbnQiLCJQb3BvdmVyIiwicHJvcHMiLCJpc0RhcmsiLCJ0aGVtZSIsImJhc2VTdHlsZSIsIm1wIiwibWVyZ2VQcm9wcyIsInRyaWdnZXIiLCJfc3BsaXRQcm9wcyIsInNwbGl0UHJvcHMiLCJfc3BsaXRQcm9wczIiLCJsb2NhbCIsInJlZiIsImNoaWxkUmVmIiwiY2xvc2VUaW1lciIsIl9jcmVhdGVTaWduYWwiLCJjcmVhdGVTaWduYWwiLCJfY3JlYXRlU2lnbmFsMiIsIm9wZW4iLCJzZXRPcGVuIiwiX2NyZWF0ZVNpZ25hbDMiLCJfY3JlYXRlU2lnbmFsNCIsInBvc2kiLCJzZXRQb3NpIiwiX2NyZWF0ZVNpZ25hbDUiLCJfY3JlYXRlU2lnbmFsNiIsInVwIiwic2V0VXAiLCJfY3JlYXRlU2lnbmFsNyIsIl9jcmVhdGVTaWduYWw4Iiwid2lkdGgiLCJzZXRXaWR0aCIsImNyZWF0ZUVmZmVjdCIsIm9wZW5DaGFuZ2UiLCJkaXNhYmxlZCIsIm9uT3BlbkNoYW5nZSIsImV4aXQiLCJkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgiLCJjb25jYXQiLCJvZmZzZXRXaWR0aCIsImNsb3NlIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsInRhcmdldCIsImdldEF0dHJpYnV0ZSIsImlzQ29udGFpbnMiLCJpc0VsZW1lbnRJbnNpZGUiLCJ0eXBlIiwicG9ydGFsVGltZXIiLCJzaG93UG9ydGFsIiwiZWxSZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwicG9ydGFsUmVjdCIsIm9mZnNldFgiLCJtYXJnaW4iLCJ3aW5kb3ciLCJpbm5lckhlaWdodCIsImJvdHRvbSIsIl9wbGFjZW1lbnQiLCJwbGFjZW1lbnQiLCJfaXNCb3R0b20iLCJzdGFydHNXaXRoIiwib2Zmc2V0SGVpZ2h0IiwidG9wIiwiYXJyb3dIZWlnaHQiLCJhcnJvdyIsIl9wb3NpIiwibGVmdCIsInJpZ2h0IiwiTWF0aCIsImFicyIsInByZXYiLCJpc0VxdWFsIiwiaGFuZGxlT3BlbiIsInN0b3BQcm9wYWdhdGlvbiIsInByZXZlbnREZWZhdWx0IiwiY2xpZW50WCIsImNsaWVudFkiLCJjb250YWluZXIiLCJjcmVhdGVNZW1vIiwiaXNGdW5jdGlvbiIsImdldFBvcHVwQ29udGFpbmVyIiwiZG9jdW1lbnQiLCJib2R5IiwiY2hpbGRyZW5Qcm9wcyIsIl9wcm9wcyIsIm9wZW5FdmVudCIsImNsaWNrIiwiaG92ZXIiLCJjb250ZXh0TWVudSIsIm5vbmUiLCJjbG9zZUV2ZW50Iiwib3BlbkZuIiwiY2xvc2VGbiIsImFzc2lnbiIsInBvcnRhbFN0eWxlIiwicCIsIm1hcCIsImsiLCJqb2luIiwicG9ydGFsQ2xzIiwiY3giLCJzaXplIiwicG9wdXBDbGFzcyIsImhvc3RTdHlsZSIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicGFzc2l2ZVN1cHBvcnRlZCIsIm9uQ2xlYW51cCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJvbk1vdW50IiwiZG9jdW1lbnRFbGVtZW50IiwiX2VsJCIsInRleHRDb250ZW50IiwicG9wb3ZlckNzcyIsImNyZWF0ZUNvbXBvbmVudCIsIlNob3ciLCJ3aGVuIiwiY3NzIiwiY2hpbGRyZW4iLCJfZWwkMiIsIl9lbCQzIiwiZmlyc3RDaGlsZCIsImVmZmVjdCIsImRhdGEiLCJfZWwkNCIsIl9yZWYkIiwidXNlIiwic3ByZWFkIiwiaW5zZXJ0IiwiZGVzdHJveUluYWN0aXZlIiwiUG9ydGFsIiwidXNlU2hhZG93IiwibW91bnQiLCJfZWwkNSIsIl9lbCQ2IiwiX2VsJDciLCJwb3J0YWxDc3MiLCJfZWwkOCIsIl9lbCQ5IiwiX2VsJDAiLCJfZWwkMSIsIl9lbCQxMCIsIl9lbCQxMSIsInBvcHVwQ3NzIiwiX2VsJDEyIiwiX2VsJDEzIiwiX2VsJDE0IiwiX3JlZiQyIiwiY29udGVudCIsImZhbGxiYWNrIiwibWVtbyIsIl9lbCQxNSIsImlubmVySFRNTCIsImVuY29kZVVyaSIsImRlY29kZVVSSUNvbXBvbmVudCIsImRlZmF1bHRQcm9wcyIsInJlZ2lzdHJ5IiwiY3VzdG9tRWxlbWVudCIsIl8iLCJvcHQiLCJlbCIsImVsZW1lbnQiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJjaGlsZE5vZGVzIiwidmFsdWVzIiwiY2xlYXJBdHRyaWJ1dGUiLCJfZWwkMTYiLCJpbmxpbmUiLCJfZWwkMTciLCJfZWwkMTgiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvcG9wb3Zlci9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlRWZmZWN0LFxuICBjcmVhdGVNZW1vLFxuICBjcmVhdGVTaWduYWwsXG4gIG1lcmdlUHJvcHMsXG4gIG9uQ2xlYW51cCxcbiAgb25Nb3VudCxcbiAgU2hvdyxcbiAgc3BsaXRQcm9wcyxcbn0gZnJvbSAnc29saWQtanMnO1xuaW1wb3J0IHsgUG9ydGFsIH0gZnJvbSAnc29saWQtanMvd2ViJztcbmltcG9ydCB7IGlzRWxlbWVudEluc2lkZSwgaXNFcXVhbCwgaXNGdW5jdGlvbiwgcGFzc2l2ZVN1cHBvcnRlZCB9IGZyb20gJ0Btb25la28vY29tbW9uJztcbmltcG9ydCB7IGNzcywgY3ggfSBmcm9tICdAbW9uZWtvL2Nzcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnc29saWQtZWxlbWVudCc7XG5cbmltcG9ydCB0eXBlIHsgQmFzaWNDb25maWcsIEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLic7XG5pbXBvcnQgeyBjbGVhckF0dHJpYnV0ZSwgdHlwZSBKU1hFbGVtZW50IH0gZnJvbSAnLi4vYmFzaWMtY29uZmlnJztcbmltcG9ydCBFbXB0eSBmcm9tICcuLi9lbXB0eSc7XG5pbXBvcnQgdGhlbWUsIHsgaW5saW5lIH0gZnJvbSAnLi4vdGhlbWUnO1xuXG5pbXBvcnQgeyBwb3BvdmVyQ3NzLCBwb3J0YWxDc3MgfSBmcm9tICcuL3N0eWxlJztcblxuZXhwb3J0IGludGVyZmFjZSBQb3BvdmVyUHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ57G75ZCNICovXG4gIGNsYXNzPzogc3RyaW5nO1xuICAvKiog6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIGNzcz86IHN0cmluZztcbiAgLyoqIOWGheWuuSAqL1xuICBjb250ZW50PzogSlNYRWxlbWVudCB8ICgoKSA9PiBKU1hFbGVtZW50KTtcbiAgLyoqIOaMgui9veWIsOaMh+WumueahOWFg+e0oO+8jOWAvOS4uuS4gOS4qui/lOWbnuWvueW6lCBET00g5YWD57SgIOm7mOiupCBkb2N1bWVudC5ib2R5ICovXG4gIGdldFBvcHVwQ29udGFpbmVyPzogKG5vZGU/OiBIVE1MRWxlbWVudCB8IG51bGwpID0+IEhUTUxFbGVtZW50O1xuICAvKiog6Kem5Y+R6KGM5Li6XG4gICAqIEBkZWZhdWx0ICdob3ZlcidcbiAgICovXG4gIHRyaWdnZXI/OiBrZXlvZiB0eXBlb2YgVHJpZ2dlck9wdGlvbjtcbiAgLyoqIOaJk+W8gOWGheWuueawlOazoSAqL1xuICBvcGVuPzogYm9vbGVhbiB8IG51bGw7XG4gIC8qKiDlhoXlrrnmiZPlvIDlhbPpl63ml7bnmoTlm57osIPmlrnms5UgKi9cbiAgb25PcGVuQ2hhbmdlPzogKG9wZW46IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkO1xuICAvKiog5rCU5rOh55qE6Ieq5a6a5LmJ57G75ZCNICovXG4gIHBvcHVwQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiDmsJTms6HnmoToh6rlrprkuYnmoLflvI/ooaggKi9cbiAgcG9wdXBDc3M/OiBzdHJpbmc7XG4gIC8qKiDlhbPpl63lkI7mmK/lkKbplIDmr4EgICovXG4gIGRlc3Ryb3lJbmFjdGl2ZT86IGJvb2xlYW47XG4gIC8qKiDkuI3lj6/nlKjnirbmgIEgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqIOa3u+WKoOS4gOS4queureWktOaYvuekuiAgKi9cbiAgYXJyb3c/OiBib29sZWFuO1xuICAvKiog5oyH5a6a5rCU5rOh5pi+56S655qE5pa55ZCRICovXG4gIHBsYWNlbWVudD86IGtleW9mIHR5cGVvZiBQbGFjZW1lbnQ7XG4gIC8qKiDmsJTms6Hlrr3luqbkuI7op6blj5Fkb23kuIDoh7QgICovXG4gIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aD86IGJvb2xlYW47XG4gIC8qKiDlsLrlr7hcbiAgICogQGRlZmF1bHQgJ25vcm1hbCdcbiAgICovXG4gIHNpemU/OiBCYXNpY0NvbmZpZ1snc2l6ZSddO1xuICBjaGlsZHJlbj86IEpTWEVsZW1lbnQ7XG4gIC8qKiBjb250ZW50IOS4uiBlbmNvZGVVUklDb21wb25lbnQg5a2X56ym5LiyICovXG4gIGVuY29kZVVyaT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBlbnVtIFRyaWdnZXJPcHRpb24ge1xuICAvKiog6byg5qCH56e75YWlICovXG4gIGhvdmVyID0gJ2hvdmVyJyxcbiAgLyoqIOeCueWHuyAqL1xuICBjbGljayA9ICdjbGljaycsXG4gIC8qKiDlj7PplK4gKi9cbiAgY29udGV4dE1lbnUgPSAnY29udGV4dE1lbnUnLFxuICAvKiog5pegICovXG4gIG5vbmUgPSAnbm9uZScsXG59XG5cbmV4cG9ydCBlbnVtIFBsYWNlbWVudCB7XG4gIC8qKiDlt6bkuIsgKi9cbiAgYm90dG9tTGVmdCA9ICdib3R0b21MZWZ0JyxcbiAgLyoqIOS4iyAqL1xuICBib3R0b20gPSAnYm90dG9tJyxcbiAgLyoqIOWPs+S4iyAqL1xuICBib3R0b21SaWdodCA9ICdib3R0b21SaWdodCcsXG4gIC8qKiDlt6bkuIogKi9cbiAgdG9wTGVmdCA9ICd0b3BMZWZ0JyxcbiAgLyoqIOS4iiAqL1xuICB0b3AgPSAndG9wJyxcbiAgLyoqIOWPs+S4iiAqL1xuICB0b3BSaWdodCA9ICd0b3BSaWdodCcsXG4gIC8qKiDlt6YgKi9cbiAgbGVmdCA9ICdsZWZ0JyxcbiAgLyoqIOWPsyAqL1xuICByaWdodCA9ICdyaWdodCcsXG59XG5cbmludGVyZmFjZSBQb3NpIHtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xuICByaWdodD86IG51bWJlcjtcbiAgYm90dG9tPzogbnVtYmVyO1xuICAnLS14Jz86IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIEV2ZW50TWFwIHtcbiAgY2xpY2s/OiBzdHJpbmc7XG4gIGhvdmVyPzogc3RyaW5nO1xuICBjb250ZXh0TWVudT86IHN0cmluZztcbiAgbm9uZT86IG5ldmVyO1xuICBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBQb3BvdmVyKHByb3BzOiBQb3BvdmVyUHJvcHMpIHtcbiAgY29uc3QgeyBpc0RhcmssIGJhc2VTdHlsZSB9ID0gdGhlbWU7XG4gIGNvbnN0IG1wID0gbWVyZ2VQcm9wcyhcbiAgICB7XG4gICAgICB0cmlnZ2VyOiAnaG92ZXInLFxuICAgIH0sXG4gICAgcHJvcHMsXG4gICk7XG4gIGNvbnN0IFtsb2NhbF0gPSBzcGxpdFByb3BzKG1wLCBbXG4gICAgJ2NsYXNzJyxcbiAgICAnY3NzJyxcbiAgICAncG9wdXBDbGFzcycsXG4gICAgJ3BvcHVwQ3NzJyxcbiAgICAnc2l6ZScsXG4gICAgJ3RyaWdnZXInLFxuICAgICdvcGVuJyxcbiAgICAnZGlzYWJsZWQnLFxuICAgICdvbk9wZW5DaGFuZ2UnLFxuICAgICdkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGgnLFxuICAgICdkZXN0cm95SW5hY3RpdmUnLFxuICAgICdhcnJvdycsXG4gICAgJ3BsYWNlbWVudCcsXG4gICAgJ2dldFBvcHVwQ29udGFpbmVyJyxcbiAgICAnY2hpbGRyZW4nLFxuICAgICdjb250ZW50JyxcbiAgICAnZW5jb2RlVXJpJyxcbiAgXSk7XG4gIGxldCByZWY6IEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkO1xuICBsZXQgY2hpbGRSZWY6IEhUTUxTcGFuRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IGNsb3NlVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gY3JlYXRlU2lnbmFsPGJvb2xlYW4gfCBudWxsPihudWxsKTtcbiAgY29uc3QgW3Bvc2ksIHNldFBvc2ldID0gY3JlYXRlU2lnbmFsPFBvc2k+KHt9KTtcbiAgY29uc3QgW3VwLCBzZXRVcF0gPSBjcmVhdGVTaWduYWw8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCBbd2lkdGgsIHNldFdpZHRoXSA9IGNyZWF0ZVNpZ25hbCgnJyk7XG5cbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9jYWwub3BlbiAhPT0gdm9pZCAwKSB7XG4gICAgICBzZXRPcGVuKGxvY2FsLm9wZW4pO1xuICAgIH1cbiAgfSk7XG4gIGZ1bmN0aW9uIG9wZW5DaGFuZ2UobmV4dDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICBpZiAoIWxvY2FsLmRpc2FibGVkKSB7XG4gICAgICBpZiAobG9jYWwub25PcGVuQ2hhbmdlKSB7XG4gICAgICAgIGxvY2FsLm9uT3BlbkNoYW5nZShuZXh0KTtcbiAgICAgIH1cbiAgICAgIGlmIChsb2NhbC5vcGVuID09PSB2b2lkIDApIHtcbiAgICAgICAgc2V0T3BlbihuZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gZXhpdCgpIHtcbiAgICBpZiAob3BlbigpID09PSBmYWxzZSkge1xuICAgICAgc2V0T3BlbihudWxsKTtcbiAgICAgIG9wZW5DaGFuZ2UobnVsbCk7XG4gICAgfVxuICB9XG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4oKSAmJiBsb2NhbC5kcm9wZG93bk1hdGNoU2VsZWN0V2lkdGggJiYgY2hpbGRSZWYpIHtcbiAgICAgIHNldFdpZHRoKGAucG9ydGFsIHt3aWR0aDogJHtjaGlsZFJlZi5vZmZzZXRXaWR0aH1weDt9YCk7XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBjbG9zZShlOiBNb3VzZUV2ZW50IHwgRXZlbnQpIHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgY2xvc2VUaW1lciA9IHNldFRpbWVvdXQoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dChjbG9zZVRpbWVyKTtcbiAgICAgICAgaWYgKGUudGFyZ2V0ICYmIChlLnRhcmdldCBhcyBIVE1MRWxlbWVudCkuZ2V0QXR0cmlidXRlKCdoYW5kbGUtY2xvc2VkJykgPT09ICdmYWxzZScpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNDb250YWlucyA9IGlzRWxlbWVudEluc2lkZShlLnRhcmdldCBhcyBFbGVtZW50LCByZWYpO1xuXG4gICAgICAgIGlmICgob3BlbigpICYmICFpc0NvbnRhaW5zKSB8fCAoaXNDb250YWlucyAmJiBlLnR5cGUgIT09ICdtb3VzZWRvd24nKSkge1xuICAgICAgICAgIG9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgbG9jYWwudHJpZ2dlciA9PT0gJ2hvdmVyJyA/IDMwMCA6IDAsXG4gICAgKTtcbiAgfVxuICBsZXQgcG9ydGFsVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcbiAgY29uc3Qgc2hvd1BvcnRhbCA9IGZ1bmN0aW9uIChlPzogRXZlbnQpOiB2b2lkIHtcbiAgICBjbGVhclRpbWVvdXQocG9ydGFsVGltZXIpO1xuICAgIHBvcnRhbFRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQocG9ydGFsVGltZXIpO1xuICAgICAgaWYgKCFyZWYgfHwgIWNoaWxkUmVmIHx8ICghZSAmJiBsb2NhbC50cmlnZ2VyID09PSAnY29udGV4dE1lbnUnKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoZT8udHlwZSA9PT0gJ3Njcm9sbCcgJiYgbG9jYWwudHJpZ2dlciA9PT0gJ2NvbnRleHRNZW51Jykge1xuICAgICAgICBvcGVuQ2hhbmdlKGZhbHNlKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgY29uc3QgZWxSZWN0ID0gY2hpbGRSZWYuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBjb25zdCBwb3J0YWxSZWN0ID0gcmVmLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgICAgY29uc3Qgb2Zmc2V0WCA9IHBvcnRhbFJlY3Qud2lkdGggLyAyIC0gZWxSZWN0LndpZHRoIC8gMjtcbiAgICAgIGNvbnN0IG1hcmdpbiA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGVsUmVjdC5ib3R0b207XG4gICAgICBjb25zdCBfcGxhY2VtZW50ID0gbG9jYWwucGxhY2VtZW50O1xuXG4gICAgICBjb25zdCBfaXNCb3R0b20gPVxuICAgICAgICAoIV9wbGFjZW1lbnQ/LnN0YXJ0c1dpdGgoJ3RvcCcpICYmXG4gICAgICAgICAgbWFyZ2luID4gcmVmLm9mZnNldEhlaWdodCAqIDAuOCAmJlxuICAgICAgICAgIG1hcmdpbiA+IGVsUmVjdC50b3ApIHx8XG4gICAgICAgIF9wbGFjZW1lbnQ/LnN0YXJ0c1dpdGgoJ2JvdHRvbScpO1xuICAgICAgY29uc3QgYXJyb3dIZWlnaHQgPSBsb2NhbC5hcnJvdyA/IDggOiA0O1xuICAgICAgY29uc3QgX3Bvc2k6IFBvc2kgPSB7fTtcblxuICAgICAgc3dpdGNoIChsb2NhbC5wbGFjZW1lbnQpIHtcbiAgICAgICAgY2FzZSAnYm90dG9tTGVmdCc6XG4gICAgICAgIGNhc2UgJ2xlZnQnOlxuICAgICAgICBjYXNlICd0b3BMZWZ0JzpcbiAgICAgICAgICBfcG9zaS5sZWZ0ID0gZWxSZWN0LmxlZnQ7XG4gICAgICAgICAgX3Bvc2lbJy0teCddID0gLXBvcnRhbFJlY3Qud2lkdGggLyAyICsgMTY7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2JvdHRvbVJpZ2h0JzpcbiAgICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBjYXNlICd0b3BSaWdodCc6XG4gICAgICAgICAgX3Bvc2kubGVmdCA9IGVsUmVjdC5yaWdodCAtIHBvcnRhbFJlY3Qud2lkdGg7XG4gICAgICAgICAgX3Bvc2lbJy0teCddID0gcG9ydGFsUmVjdC53aWR0aCAvIDIgLSAxNjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYm90dG9tJzpcbiAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBfcG9zaS5sZWZ0ID0gTWF0aC5hYnMob2Zmc2V0WCA+IGVsUmVjdC5sZWZ0ID8gZWxSZWN0LmxlZnQgOiBlbFJlY3QubGVmdCAtIG9mZnNldFgpO1xuICAgICAgICAgIF9wb3NpWyctLXgnXSA9IC0oX3Bvc2kubGVmdCAtIGVsUmVjdC5sZWZ0ICsgb2Zmc2V0WCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoX2lzQm90dG9tKSB7XG4gICAgICAgIF9wb3NpLnRvcCA9IGVsUmVjdC5ib3R0b20gKyBhcnJvd0hlaWdodDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIF9wb3NpLmJvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIGVsUmVjdC50b3AgKyBhcnJvd0hlaWdodDtcbiAgICAgIH1cbiAgICAgIHNldFBvc2koKHByZXYpID0+IHtcbiAgICAgICAgcmV0dXJuIGlzRXF1YWwocHJldiwgX3Bvc2kpID8gcHJldiA6IF9wb3NpO1xuICAgICAgfSk7XG4gICAgICBzZXRVcCgocHJldikgPT4ge1xuICAgICAgICByZXR1cm4gcHJldiA9PT0gIV9pc0JvdHRvbSA/IHByZXYgOiAhX2lzQm90dG9tO1xuICAgICAgfSk7XG4gICAgfSwgMzIpO1xuICB9O1xuXG4gIGZ1bmN0aW9uIGhhbmRsZU9wZW4oZTogTW91c2VFdmVudCkge1xuICAgIGNsZWFyVGltZW91dChjbG9zZVRpbWVyKTtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGlmIChsb2NhbC50cmlnZ2VyID09PSAnY29udGV4dE1lbnUnICYmIGUudHlwZSA9PT0gJ2NvbnRleHRtZW51Jykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgc2V0UG9zaSgocHJldikgPT4gKHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgbGVmdDogZS5jbGllbnRYLFxuICAgICAgICB0b3A6IGUuY2xpZW50WSxcbiAgICAgICAgWyctLXgnXTogLShyZWY/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoIHx8IDApIC8gMiArIDE2LFxuICAgICAgfSkpO1xuICAgIH1cbiAgICBvcGVuQ2hhbmdlKHRydWUpO1xuICB9XG5cbiAgY29uc3QgY29udGFpbmVyID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgaWYgKGlzRnVuY3Rpb24obG9jYWwuZ2V0UG9wdXBDb250YWluZXIpKSB7XG4gICAgICByZXR1cm4gbG9jYWwuZ2V0UG9wdXBDb250YWluZXIoY2hpbGRSZWYpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcbiAgfSk7XG4gIGNvbnN0IGNoaWxkcmVuUHJvcHMgPSBjcmVhdGVNZW1vKCgpID0+IHtcbiAgICBjb25zdCBfcHJvcHM6IFBhcnRpYWw8UmVjb3JkPGtleW9mIEV2ZW50TWFwLCB2b2lkPj4gPSB7fTtcblxuICAgIGNvbnN0IG9wZW5FdmVudDogRXZlbnRNYXAgPSB7XG4gICAgICBjbGljazogJ29uOm1vdXNlZG93bicsXG4gICAgICBob3ZlcjogJ29uOm1vdXNlZW50ZXInLFxuICAgICAgY29udGV4dE1lbnU6ICdvbjpjb250ZXh0bWVudScsXG4gICAgICBub25lOiB2b2lkIDAsXG4gICAgfTtcbiAgICBjb25zdCBjbG9zZUV2ZW50OiBFdmVudE1hcCA9IHtcbiAgICAgIGhvdmVyOiAnb246bW91c2VsZWF2ZScsXG4gICAgICBjbGljazogdm9pZCAwLFxuICAgICAgY29udGV4dE1lbnU6IHZvaWQgMCxcbiAgICAgIG5vbmU6IHZvaWQgMCxcbiAgICB9O1xuXG4gICAgY29uc3Qgb3BlbkZuID0gb3BlbkV2ZW50W2xvY2FsLnRyaWdnZXJdO1xuICAgIGNvbnN0IGNsb3NlRm4gPSBjbG9zZUV2ZW50W2xvY2FsLnRyaWdnZXJdO1xuXG4gICAgT2JqZWN0LmFzc2lnbihcbiAgICAgIF9wcm9wcyxcbiAgICAgIG9wZW5GbiAmJiB7XG4gICAgICAgIFtvcGVuRm5dOiBoYW5kbGVPcGVuLFxuICAgICAgfSxcbiAgICAgIGNsb3NlRm4gJiYge1xuICAgICAgICBbY2xvc2VGbl06IGNsb3NlLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgcmV0dXJuIF9wcm9wcztcbiAgfSk7XG5cbiAgY29uc3QgcG9ydGFsU3R5bGUgPSBjcmVhdGVNZW1vKCgpID0+IHtcbiAgICBjb25zdCBwID0gcG9zaSgpO1xuXG4gICAgcmV0dXJuIGAucG9ydGFsIHske09iamVjdC5rZXlzKHApXG4gICAgICAubWFwKChrKSA9PiBgJHtrfToke3BbayBhcyBrZXlvZiBQb3NpXX1weDtgKVxuICAgICAgLmpvaW4oJycpfXotaW5kZXg6IDk5OTk5O31gO1xuICB9KTtcbiAgY29uc3QgcG9ydGFsQ2xzID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGN4KFxuICAgICAgJ3BvcnRhbCcsXG4gICAgICBsb2NhbC5hcnJvdyAmJiAnYXJyb3cnLFxuICAgICAgYCR7b3BlbigpID8gJ2luJyA6ICdvdXQnfS0ke3VwKCkgPyAndXAnIDogJ2Rvd24nfWAsXG4gICAgICBsb2NhbC5zaXplLFxuICAgICAgbG9jYWwucG9wdXBDbGFzcyxcbiAgICApO1xuICB9KTtcbiAgY29uc3QgaG9zdFN0eWxlID0gY3JlYXRlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGA6aG9zdCB7LS1wb3BvdmVyLWJnOiAke1xuICAgICAgaXNEYXJrKCkgPyAnIzFmMWYxZicgOiAndmFyKC0tY29tcG9uZW50LWJnKSdcbiAgICB9Oy0tcG9wb3Zlci1zaGFkb3ctY29sb3I6IHJnYigwIDAgMCAvIDUlKTtwb3NpdGlvbjogYWJzb2x1dGU7fWA7XG4gIH0pO1xuXG4gIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9wZW4oKSkge1xuICAgICAgc2hvd1BvcnRhbCgpO1xuXG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2hvd1BvcnRhbCwge1xuICAgICAgICBwYXNzaXZlOiBwYXNzaXZlU3VwcG9ydGVkLFxuICAgICAgfSk7XG4gICAgfVxuICAgIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgc2hvd1BvcnRhbCwgZmFsc2UpO1xuICAgIH0pO1xuICB9KTtcbiAgb25Nb3VudCgoKSA9PiB7XG4gICAgaWYgKGxvY2FsLnRyaWdnZXIgIT09ICdub25lJykge1xuICAgICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGNsb3NlLCBmYWxzZSk7XG4gICAgfVxuICB9KTtcbiAgb25DbGVhbnVwKCgpID0+IHtcbiAgICBjbGVhclRpbWVvdXQoY2xvc2VUaW1lcik7XG4gICAgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGNsb3NlLCBmYWxzZSk7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17cG9wb3ZlckNzc30gLz5cbiAgICAgIDxTaG93IHdoZW49e2xvY2FsLmNzc30+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKGxvY2FsLmNzcyl9IC8+XG4gICAgICA8L1Nob3c+XG4gICAgICA8c3BhbiByZWY9e2NoaWxkUmVmfSBjbGFzcz17Y3goJ3BvcG92ZXInLCBsb2NhbC5zaXplLCBsb2NhbC5jbGFzcyl9IHsuLi5jaGlsZHJlblByb3BzKCl9PlxuICAgICAgICB7bG9jYWwuY2hpbGRyZW59XG4gICAgICA8L3NwYW4+XG4gICAgICA8U2hvdyB3aGVuPXtvcGVuKCkgIT09IG51bGwgfHwgIWxvY2FsLmRlc3Ryb3lJbmFjdGl2ZX0+XG4gICAgICAgIDxQb3J0YWwgdXNlU2hhZG93IG1vdW50PXtjb250YWluZXIoKX0+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtiYXNlU3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3BvcnRhbENzc30gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2hvc3RTdHlsZSgpfSAvPlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17cG9ydGFsU3R5bGUoKX0gLz5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3dpZHRoKCl9IC8+XG4gICAgICAgICAgPFNob3cgd2hlbj17bG9jYWwucG9wdXBDc3N9PlxuICAgICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtjc3MobG9jYWwucG9wdXBDc3MpfSAvPlxuICAgICAgICAgIDwvU2hvdz5cbiAgICAgICAgICA8ZGl2IHJlZj17cmVmfSBvbjphbmltYXRpb25lbmQ9e2V4aXR9IGNsYXNzPXtwb3J0YWxDbHMoKX0gey4uLmNoaWxkcmVuUHJvcHMoKX0+XG4gICAgICAgICAgICA8U2hvdyB3aGVuPXshIWxvY2FsLmNvbnRlbnR9IGZhbGxiYWNrPXs8RW1wdHkgLz59PlxuICAgICAgICAgICAgICA8U2hvdyB3aGVuPXt0eXBlb2YgbG9jYWwuY29udGVudCA9PT0gJ3N0cmluZyd9IGZhbGxiYWNrPXs8Pntsb2NhbC5jb250ZW50fTwvPn0+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbGlkL25vLWlubmVyaHRtbFxuICAgICAgICAgICAgICAgICAgaW5uZXJIVE1MPXtcbiAgICAgICAgICAgICAgICAgICAgbG9jYWwuZW5jb2RlVXJpXG4gICAgICAgICAgICAgICAgICAgICAgPyBkZWNvZGVVUklDb21wb25lbnQobG9jYWwuY29udGVudCBhcyBzdHJpbmcpXG4gICAgICAgICAgICAgICAgICAgICAgOiAobG9jYWwuY29udGVudCBhcyBzdHJpbmcpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9TaG93PlxuICAgICAgICAgICAgPC9TaG93PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1BvcnRhbD5cbiAgICAgIDwvU2hvdz5cbiAgICA8Lz5cbiAgKTtcbn1cblxuZXhwb3J0IHR5cGUgUG9wb3ZlckVsZW1lbnQgPSBDdXN0b21FbGVtZW50PFBvcG92ZXJQcm9wcywgJ29uT3BlbkNoYW5nZSc+O1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFByb3BzID0ge1xuICBjbGFzczogdm9pZCAwLFxuICBjc3M6IHZvaWQgMCxcbiAgY29udGVudDogdm9pZCAwLFxuICBnZXRQb3B1cENvbnRhaW5lcjogdm9pZCAwLFxuICB0cmlnZ2VyOiB2b2lkIDAsXG4gIG9wZW46IHZvaWQgMCxcbiAgb25PcGVuQ2hhbmdlOiB2b2lkIDAsXG4gIHBvcHVwQ2xhc3M6IHZvaWQgMCxcbiAgcG9wdXBDc3M6IHZvaWQgMCxcbiAgZGVzdHJveUluYWN0aXZlOiB0cnVlLFxuICBkaXNhYmxlZDogdm9pZCAwLFxuICBhcnJvdzogdm9pZCAwLFxuICBwbGFjZW1lbnQ6IHZvaWQgMCxcbiAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoOiB2b2lkIDAsXG4gIGVuY29kZVVyaTogdm9pZCAwLFxufTtcblBvcG92ZXIucmVnaXN0cnkgPSAoKSA9PiB7XG4gIGN1c3RvbUVsZW1lbnQ8UG9wb3ZlclByb3BzPignbi1wb3BvdmVyJywgZGVmYXVsdFByb3BzLCAoXywgb3B0KSA9PiB7XG4gICAgY29uc3QgeyBiYXNlU3R5bGUgfSA9IHRoZW1lO1xuICAgIGNvbnN0IGVsID0gb3B0LmVsZW1lbnQ7XG4gICAgY29uc3QgcHJvcHMgPSBtZXJnZVByb3BzKFxuICAgICAge1xuICAgICAgICBvbk9wZW5DaGFuZ2UobmV4dDogYm9vbGVhbiB8IG51bGwpIHtcbiAgICAgICAgICBlbC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdvcGVuY2hhbmdlJywge1xuICAgICAgICAgICAgICBkZXRhaWw6IG5leHQsXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogWy4uLmVsLmNoaWxkTm9kZXMudmFsdWVzKCldLFxuICAgICAgfSxcbiAgICAgIF8sXG4gICAgKTtcblxuICAgIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjbGVhckF0dHJpYnV0ZShlbCwgWydjb250ZW50JywgJ3BvcHVwQ3NzJywgJ2NzcyddKTtcbiAgICB9KTtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtpbmxpbmV9IC8+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICAgIDxQb3BvdmVyIHsuLi5wcm9wc30gLz5cbiAgICAgIDwvPlxuICAgICk7XG4gIH0pO1xufTtcbmV4cG9ydCBkZWZhdWx0IFBvcG92ZXI7XG4iXSwibWFwcGluZ3MiOiIrYUFVQSxJQUFBQSxJQUFBLENBQUFDLE9BQUEsaUJBVkEsSUFBQUMsUUFBQSxDQUFBRCxPQUFBLGFBV0EsSUFBQUUsT0FBQSxDQUFBRixPQUFBLG1CQUNBLElBQUFHLElBQUEsQ0FBQUgsT0FBQSxnQkFDQSxJQUFBSSxhQUFBLENBQUFKLE9BQUEsa0JBR0EsSUFBQUssWUFBQSxDQUFBTCxPQUFBLG9CQUNBLElBQUFNLE1BQUEsQ0FBQUMsc0JBQUEsQ0FBQVAsT0FBQSxjQUNBLElBQUFRLE1BQUEsQ0FBQUMsdUJBQUEsQ0FBQVQsT0FBQSxjQUVBLElBQUFVLE1BQUEsQ0FBQVYsT0FBQSxZQUFnRCxTQUFBUyx3QkFBQUUsQ0FBQSxDQUFBQyxDQUFBLHdCQUFBQyxPQUFBLEtBQUFDLENBQUEsS0FBQUQsT0FBQSxDQUFBRSxDQUFBLEtBQUFGLE9B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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neko-ui",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.14",
|
|
4
4
|
"description": "WebComponents UI Libraries",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"ui libraries"
|
|
66
66
|
],
|
|
67
67
|
"devDependencies": {
|
|
68
|
-
"@moneko/core": "4.7.
|
|
68
|
+
"@moneko/core": "4.7.2",
|
|
69
69
|
"@moneko/solid": "2.0.3",
|
|
70
70
|
"n-code-live": "2.1.1",
|
|
71
71
|
"n-katex": "1.0.9"
|