neko-ui 2.14.13 → 2.14.15

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.
@@ -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.13",
3
+ "version": "2.14.15",
4
4
  "description": "WebComponents UI Libraries",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",
@@ -19,7 +19,8 @@
19
19
  "pin": "mo pin",
20
20
  "build": "mo build library solid",
21
21
  "changelog": "mo changelog CHANGELOG.md && git add CHANGELOG.md",
22
- "lint:commit": "pure-lint mode=commit && npm run changelog",
22
+ "lint:commit": "pure-lint mode=commit",
23
+ "postlint:commit": "npm run changelog",
23
24
  "lint:ci": "pure-lint mode=ci",
24
25
  "lint": "mo eslint [components,site] --fix",
25
26
  "postlint": "mo stylelint [components,site] --fix",
@@ -27,6 +28,7 @@
27
28
  "prepare": "mo githooks pre-commit=\"npm run lint:commit\" commit-msg=\"commit-lint\"",
28
29
  "start": "mo start library solid",
29
30
  "test": "jest --coverage --watchAll",
31
+ "coverage": "jest --coverage",
30
32
  "preview": "mo server port=8080 root_dir=./docs"
31
33
  },
32
34
  "author": {
@@ -65,10 +67,16 @@
65
67
  "ui libraries"
66
68
  ],
67
69
  "devDependencies": {
68
- "@moneko/core": "4.7.0",
70
+ "@moneko/core": "4.7.8",
69
71
  "@moneko/solid": "2.0.3",
72
+ "@solidjs/testing-library": "0.8.10",
73
+ "@testing-library/jest-dom": "6.9.1",
74
+ "@types/jest": "30.0.0",
75
+ "jest": "30.2.0",
76
+ "jest-environment-jsdom": "30.2.0",
70
77
  "n-code-live": "2.1.1",
71
- "n-katex": "1.0.9"
78
+ "n-katex": "1.0.9",
79
+ "shadow-dom-testing-library": "1.13.1"
72
80
  },
73
81
  "dependencies": {
74
82
  "@moneko/common": "1.12.1",