neko-ui 2.14.15 → 2.14.16-beta.0
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/AGENTS.md +6 -5
- package/es/carousel/index.js +2 -2
- package/es/code/index.js +2 -2
- package/es/collapse/index.js +2 -2
- package/es/highlight-text/index.js +2 -2
- package/es/md/index.js +2 -2
- package/es/spin/index.js +2 -2
- package/lib/carousel/index.js +2 -2
- package/lib/code/index.js +2 -2
- package/lib/collapse/index.js +2 -2
- package/lib/highlight-text/index.js +2 -2
- package/lib/md/index.js +2 -2
- package/lib/spin/index.js +2 -2
- package/package.json +3 -4
- package/umd/index.js +106 -104
- package/umd/site.webmanifest +1 -1
package/AGENTS.md
CHANGED
|
@@ -13,15 +13,15 @@ See `package.json` `scripts` for the full list. The most important:
|
|
|
13
13
|
| Command | Purpose |
|
|
14
14
|
|---------|---------|
|
|
15
15
|
| `pnpm start` | Dev server (docs site) on https://localhost:3000 |
|
|
16
|
-
| `pnpm
|
|
17
|
-
| `
|
|
18
|
-
| `pnpm
|
|
19
|
-
| `pnpm
|
|
16
|
+
| `pnpm lint` | ESLint + Stylelint (runs `postlint` automatically) |
|
|
17
|
+
| `pnpm coverage` | Run tests with coverage (do NOT use `pnpm test` — it adds `--watchAll`) |
|
|
18
|
+
| `pnpm build` | Build library (es/, lib/, docs/) |
|
|
19
|
+
| `pnpm build config=umd` | Build UMD bundle |
|
|
20
20
|
|
|
21
21
|
### Gotchas
|
|
22
22
|
|
|
23
23
|
- **pnpm version**: CI uses pnpm v9. pnpm v10 blocks postinstall scripts for `@swc/core` and others, breaking the test toolchain. The update script pins pnpm v9 globally.
|
|
24
|
-
- **Jest preset**: The `@moneko/solid` jest-preset.js is ESM and relies on
|
|
24
|
+
- **Jest preset**: The `jest.config.mjs` uses `preset: '@moneko/solid'`. The `@moneko/solid` jest-preset.js is ESM and relies on SWC WASM plugins.
|
|
25
25
|
- **Jest 30**: Uses `toHaveBeenCalled()` not `toBeCalled()` (removed in Jest 30).
|
|
26
26
|
- **testPathIgnorePatterns**: The patterns `/components/code/` and `/components/md/` are intentionally excluded from tests. Use specific paths, not substrings (e.g. `code` would also match `qrcode`).
|
|
27
27
|
- **Dev server HTTPS**: `pnpm start` launches an HTTPS dev server with a self-signed certificate. Browsers will show a certificate warning.
|
|
@@ -29,3 +29,4 @@ See `package.json` `scripts` for the full list. The most important:
|
|
|
29
29
|
- **Pre-commit hooks**: The `prepare` script installs git hooks. Commits run `lint:commit` which includes ESLint, Stylelint, and changelog generation. Always lint before committing. Some pre-existing test files have lint errors that may block commits; use `--no-verify` if blocked by errors outside your changes.
|
|
30
30
|
- **V8 coverage and worker.ts**: The `worker()` function body (lines 24-80 in `md/worker.ts`) is `.toString()`'d into a Blob URL and never executed as JavaScript from the module. V8 coverage cannot attribute eval'd blob content back to the original source file, so these lines will always show as uncovered.
|
|
31
31
|
- **Component css-prop coverage**: Many components have a `<Show when={props.css}>` conditional style block. Rendering with a `css` prop covers that function. The `back-top` component additionally requires scroll state (`show() !== null`) for its outer `<Show>` to render.
|
|
32
|
+
- **customElement children prop**: `component-register@0.8.8` makes `Element.children` a native read-only getter. Components MUST NOT declare `children` in the `customElement` default props. Instead, extract children from `el.children` in the registry callback and pass them as JSX children. Use `splitProps(_, ['children'])` to strip any residual `children` from the reactive props object. Do NOT use c8 ignore comments; do NOT add `component-register` as a direct dependency (it comes through `solid-element`).
|
package/es/carousel/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{template as _$template}from"solid-js/web";import{setAttribute as _$setAttribute}from"solid-js/web";import{className as _$className}from"solid-js/web";import{getOwner as _$getOwner}from"solid-js/web";import{addEventListener as _$addEventListener}from"solid-js/web";import{insert as _$insert}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(`<section class=header>`),_tmpl$4=/*#__PURE__*/_$template(`<div class=dots>`),_tmpl$5=/*#__PURE__*/_$template(`<section><section class=list><div class=item></div><div class=item></div><div class=item></div></section><slot name=header></slot><div class=prev></div><div class=next>`),_tmpl$6=/*#__PURE__*/_$template(`<i class=dot>`);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 _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,Index,mergeProps,onCleanup,Show}from"solid-js";import{isFunction}from"@moneko/common";import{css,cx}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import theme,{block}from"../theme";import{style}from"./style";function Carousel(_props){var baseStyle=theme.baseStyle;var props=mergeProps({autoplay:-1,children:[]},_props);var _createSignal=createSignal(0),_createSignal2=_slicedToArray(_createSignal,2),left=_createSignal2[0],setLeft=_createSignal2[1];var _createSignal3=createSignal(1),_createSignal4=_slicedToArray(_createSignal3,2),right=_createSignal4[0],setRight=_createSignal4[1];var _createSignal5=createSignal(0),_createSignal6=_slicedToArray(_createSignal5,2),offset=_createSignal6[0],setOffset=_createSignal6[1];var _createSignal7=createSignal(0),_createSignal8=_slicedToArray(_createSignal7,2),direction=_createSignal8[0],setDirection=_createSignal8[1];var playTimer;function onOffsetChange(){var _dir=direction();if(_dir===-1){setOffset(left())}else if(_dir===1){setOffset(right())}setDirection(0);if(isFunction(props.onChange)){props.onChange(offset())}}function handlePrev(){setDirection(-1)}function handleNext(){setDirection(1)}function handleDot(idx,e){e.stopPropagation();var _offset=offset();var _current=Math.floor(_offset/20)*20+idx;if(_current>_offset){setDirection(1);setRight(_current)}else if(_current<_offset){setDirection(-1);setLeft(_current)}}function getPrevNext(idx,arr){var _prev=idx-1,_next=idx+1;if(_prev<0){_prev=arr.length-1}if(_next>arr.length-1){_next=0}return[_prev,_next]}var list=createMemo(function(){return _toConsumableArray(props.children)});var dotLen=createMemo(function(){return Array(list().length>20?20:list().length).fill(null)});createEffect(function(){if(props.offset!==void 0){setOffset(Number(props.offset))}});createEffect(function(){var _getPrevNext=getPrevNext(offset(),list()),_getPrevNext2=_slicedToArray(_getPrevNext,2),_prev=_getPrevNext2[0],_next=_getPrevNext2[1];setLeft(_prev);setRight(_next)});createEffect(function(){clearInterval(playTimer);var autoplay=Number(props.autoplay);if(autoplay>0){playTimer=setInterval(function(){if(autoplay<1){clearInterval(playTimer)}handleNext()},autoplay)}});onCleanup(function(){clearInterval(playTimer)});var header=createMemo(function(){return isFunction(props.header)?props.header(offset()):props.header});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;_$effect(function(){return _el$2.data=baseStyle()});return _el$}(),function(){var _el$3=_tmpl$2();_el$3.textContent=style;return _el$3}(),_$createComponent(Show,{get when(){return props.css},get children(){var _el$4=_tmpl$(),_el$5=_el$4.firstChild;_$effect(function(){return _el$5.data=css(props.css)});return _el$4}}),function(){var _el$6=_tmpl$5(),_el$7=_el$6.firstChild,_el$8=_el$7.firstChild,_el$9=_el$8.nextSibling,_el$0=_el$9.nextSibling,_el$1=_el$7.nextSibling,_el$11=_el$1.nextSibling,_el$12=_el$11.nextSibling;_$insert(_el$8,function(){return list()[left()]});_$addEventListener(_el$9,"animationend",onOffsetChange);_$insert(_el$9,function(){return list()[offset()]});_$insert(_el$0,function(){return list()[right()]});_el$1._$owner=_$getOwner();_$insert(_el$6,_$createComponent(Show,{get when(){return header()},get children(){var _el$10=_tmpl$3();_$insert(_el$10,header);return _el$10}}),_el$11);_$addEventListener(_el$11,"click",handlePrev);_$addEventListener(_el$12,"click",handleNext);_$insert(_el$6,_$createComponent(Show,{get when(){return props.dots},get children(){var _el$13=_tmpl$4();_$insert(_el$13,_$createComponent(Index,{get each(){return dotLen()},children:function children(_,idx){return function(){var _el$14=_tmpl$6();_$addEventListener(_el$14,"click",handleDot.bind(null,idx));_$effect(function(){return _el$14.classList.toggle("active",!!(idx===offset()%20+direction()))});return _el$14}()}}));return _el$13}}),null);_$effect(function(_p$){var _v$=cx("carousel",props["class"]),_v$2=direction();_v$!==_p$.e&&_$className(_el$6,_p$.e=_v$);_v$2!==_p$.t&&_$setAttribute(_el$7,"data-dir",_p$.t=_v$2);return _p$},{e:undefined,t:undefined});return _el$6}()]}Carousel.registry=function(){customElement("n-carousel",{
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJjcmVhdGVNZW1vIiwiY3JlYXRlU2lnbmFsIiwiSW5kZXgiLCJtZXJnZVByb3BzIiwib25DbGVhbnVwIiwiU2hvdyIsImlzRnVuY3Rpb24iLCJjc3MiLCJjeCIsImN1c3RvbUVsZW1lbnQiLCJjbGVhckF0dHJpYnV0ZSIsInRoZW1lIiwiYmxvY2siLCJzdHlsZSIsIkNhcm91c2VsIiwiX3Byb3BzIiwiYmFzZVN0eWxlIiwicHJvcHMiLCJhdXRvcGxheSIsImNoaWxkcmVuIiwiX2NyZWF0ZVNpZ25hbCIsIl9jcmVhdGVTaWduYWwyIiwiX3NsaWNlZFRvQXJyYXkiLCJsZWZ0Iiwic2V0TGVmdCIsIl9jcmVhdGVTaWduYWwzIiwiX2NyZWF0ZVNpZ25hbDQiLCJyaWdodCIsInNldFJpZ2h0IiwiX2NyZWF0ZVNpZ25hbDUiLCJfY3JlYXRlU2lnbmFsNiIsIm9mZnNldCIsInNldE9mZnNldCIsIl9jcmVhdGVTaWduYWw3IiwiX2NyZWF0ZVNpZ25hbDgiLCJkaXJlY3Rpb24iLCJzZXREaXJlY3Rpb24iLCJwbGF5VGltZXIiLCJvbk9mZnNldENoYW5nZSIsIl9kaXIiLCJvbkNoYW5nZSIsImhhbmRsZVByZXYiLCJoYW5kbGVOZXh0IiwiaGFuZGxlRG90IiwiaWR4IiwiZSIsInN0b3BQcm9wYWdhdGlvbiIsIl9vZmZzZXQiLCJfY3VycmVudCIsIk1hdGgiLCJmbG9vciIsImdldFByZXZOZXh0IiwiYXJyIiwiX3ByZXYiLCJfbmV4dCIsImxlbmd0aCIsImxpc3QiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJkb3RMZW4iLCJBcnJheSIsImZpbGwiLCJOdW1iZXIiLCJfZ2V0UHJldk5leHQiLCJfZ2V0UHJldk5leHQyIiwiY2xlYXJJbnRlcnZhbCIsInNldEludGVydmFsIiwiaGVhZGVyIiwiX2VsJCIsIl90bXBsJCIsIl9lbCQyIiwiZmlyc3RDaGlsZCIsIl8kZWZmZWN0IiwiZGF0YSIsIl9lbCQzIiwiX3RtcGwkMiIsInRleHRDb250ZW50IiwiXyRjcmVhdGVDb21wb25lbnQiLCJ3aGVuIiwiX2VsJDQiLCJfZWwkNSIsIl9lbCQ2IiwiX3RtcGwkNSIsIl9lbCQ3IiwiX2VsJDgiLCJfZWwkOSIsIm5leHRTaWJsaW5nIiwiX2VsJDAiLCJfZWwkMSIsIl9lbCQxMSIsIl9lbCQxMiIsIl8kaW5zZXJ0IiwiXyRhZGRFdmVudExpc3RlbmVyIiwiXyRvd25lciIsIl8kZ2V0T3duZXIiLCJfZWwkMTAiLCJfdG1wbCQzIiwiZG90cyIsIl9lbCQxMyIsIl90bXBsJDQiLCJlYWNoIiwiXyIsIl9lbCQxNCIsIl90bXBsJDYiLCJiaW5kIiwiY2xhc3NMaXN0IiwidG9nZ2xlIiwiX3AkIiwiX3YkIiwiX3YkMiIsIl8kY2xhc3NOYW1lIiwidCIsIl8kc2V0QXR0cmlidXRlIiwidW5kZWZpbmVkIiwicmVnaXN0cnkiLCJvcHQiLCJlbCIsImVsZW1lbnQiLCJrZXkiLCJkaXNwYXRjaEV2ZW50IiwiQ3VzdG9tRXZlbnQiLCJkZXRhaWwiLCJyZXBsYWNlQ2hpbGRyZW4iLCJfZWwkMTUiXSwic291cmNlcyI6WyJjb21wb25lbnRzL2Nhcm91c2VsL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVFZmZlY3QsXG4gIGNyZWF0ZU1lbW8sXG4gIGNyZWF0ZVNpZ25hbCxcbiAgSW5kZXgsXG4gIG1lcmdlUHJvcHMsXG4gIG9uQ2xlYW51cCxcbiAgU2hvdyxcbn0gZnJvbSAnc29saWQtanMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJ0Btb25la28vY29tbW9uJztcbmltcG9ydCB7IGNzcywgY3ggfSBmcm9tICdAbW9uZWtvL2Nzcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnc29saWQtZWxlbWVudCc7XG5cbmltcG9ydCB0eXBlIHsgQ3VzdG9tRWxlbWVudCB9IGZyb20gJy4uJztcbmltcG9ydCB7IGNsZWFyQXR0cmlidXRlLCB0eXBlIEpTWEVsZW1lbnQgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lLCB7IGJsb2NrIH0gZnJvbSAnLi4vdGhlbWUnO1xuXG5pbXBvcnQgeyBzdHlsZSB9IGZyb20gJy4vc3R5bGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENhcm91c2VsUHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ57G75ZCNICovXG4gIGNsYXNzPzogc3RyaW5nO1xuICAvKiog6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIGNzcz86IHN0cmluZztcbiAgLyoqIOi9ruaSreeahOWGheWuuSAqL1xuICBjaGlsZHJlbj86IEpTWEVsZW1lbnRbXTtcbiAgLyoqIOW9k+WJjeWGheWuueeahOS9jee9rlxuICAgKiBAZGVmYXVsdCAwXG4gICAqL1xuICBvZmZzZXQ/OiBudW1iZXI7XG4gIC8qKiDlvIDlkK/mjIfnpLrlmaggKi9cbiAgZG90cz86IGJvb2xlYW47XG4gIC8qKiDorr7nva7oh6rliqjmkq3mlL7ml7bplb8sIOS4jeiuvue9ruaXtuS4jeiHquWKqOaSreaUviAqL1xuICBhdXRvcGxheT86IG51bWJlcjtcbiAgLyoqIOiHquWumuS5ieWktOmDqCAqL1xuICBoZWFkZXI/OiAoY3VycmVudDogbnVtYmVyKSA9PiBKU1hFbGVtZW50O1xuICAvKiog5YiH5o2i5pi+56S655qE5L2N572u5pe255qE5Zue6LCD5pa55rOVICovXG4gIG9uQ2hhbmdlPzogKGU6IG51bWJlcikgPT4gdm9pZDtcbn1cbmV4cG9ydCB0eXBlIENhcm91c2VsRWxlbWVudCA9IEN1c3RvbUVsZW1lbnQ8Q2Fyb3VzZWxQcm9wcz47XG5cbmZ1bmN0aW9uIENhcm91c2VsKF9wcm9wczogQ2Fyb3VzZWxQcm9wcykge1xuICBjb25zdCB7IGJhc2VTdHlsZSB9ID0gdGhlbWU7XG4gIGNvbnN0IHByb3BzID0gbWVyZ2VQcm9wcyh7IGF1dG9wbGF5OiAtMSwgY2hpbGRyZW46IFtdIH0sIF9wcm9wcyk7XG4gIGNvbnN0IFtsZWZ0LCBzZXRMZWZ0XSA9IGNyZWF0ZVNpZ25hbCgwKTtcbiAgY29uc3QgW3JpZ2h0LCBzZXRSaWdodF0gPSBjcmVhdGVTaWduYWwoMSk7XG4gIGNvbnN0IFtvZmZzZXQsIHNldE9mZnNldF0gPSBjcmVhdGVTaWduYWwoMCk7XG4gIGNvbnN0IFtkaXJlY3Rpb24sIHNldERpcmVjdGlvbl0gPSBjcmVhdGVTaWduYWw8MSB8IC0xIHwgMD4oMCk7XG4gIGxldCBwbGF5VGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IHVuZGVmaW5lZDtcblxuICBmdW5jdGlvbiBvbk9mZnNldENoYW5nZSgpIHtcbiAgICBjb25zdCBfZGlyID0gZGlyZWN0aW9uKCk7XG5cbiAgICBpZiAoX2RpciA9PT0gLTEpIHtcbiAgICAgIHNldE9mZnNldChsZWZ0KCkpO1xuICAgIH0gZWxzZSBpZiAoX2RpciA9PT0gMSkge1xuICAgICAgc2V0T2Zmc2V0KHJpZ2h0KCkpO1xuICAgIH1cbiAgICBzZXREaXJlY3Rpb24oMCk7XG4gICAgaWYgKGlzRnVuY3Rpb24ocHJvcHMub25DaGFuZ2UpKSB7XG4gICAgICBwcm9wcy5vbkNoYW5nZShvZmZzZXQoKSk7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGhhbmRsZVByZXYoKSB7XG4gICAgc2V0RGlyZWN0aW9uKC0xKTtcbiAgfVxuICBmdW5jdGlvbiBoYW5kbGVOZXh0KCkge1xuICAgIHNldERpcmVjdGlvbigxKTtcbiAgfVxuICBmdW5jdGlvbiBoYW5kbGVEb3QoaWR4OiBudW1iZXIsIGU6IEV2ZW50KSB7XG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBjb25zdCBfb2Zmc2V0ID0gb2Zmc2V0KCk7XG4gICAgY29uc3QgX2N1cnJlbnQgPSBNYXRoLmZsb29yKF9vZmZzZXQgLyAyMCkgKiAyMCArIGlkeDtcblxuICAgIGlmIChfY3VycmVudCA+IF9vZmZzZXQpIHtcbiAgICAgIHNldERpcmVjdGlvbigxKTtcbiAgICAgIHNldFJpZ2h0KF9jdXJyZW50KTtcbiAgICB9IGVsc2UgaWYgKF9jdXJyZW50IDwgX29mZnNldCkge1xuICAgICAgc2V0RGlyZWN0aW9uKC0xKTtcbiAgICAgIHNldExlZnQoX2N1cnJlbnQpO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBnZXRQcmV2TmV4dChpZHg6IG51bWJlciwgYXJyOiBKU1hFbGVtZW50W10pIHtcbiAgICBsZXQgX3ByZXYgPSBpZHggLSAxLFxuICAgICAgX25leHQgPSBpZHggKyAxO1xuXG4gICAgaWYgKF9wcmV2IDwgMCkge1xuICAgICAgX3ByZXYgPSBhcnIubGVuZ3RoIC0gMTtcbiAgICB9XG4gICAgaWYgKF9uZXh0ID4gYXJyLmxlbmd0aCAtIDEpIHtcbiAgICAgIF9uZXh0ID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIFtfcHJldiwgX25leHRdO1xuICB9XG4gIGNvbnN0IGxpc3QgPSBjcmVhdGVNZW1vKCgpID0+IFsuLi5wcm9wcy5jaGlsZHJlbl0pO1xuICBjb25zdCBkb3RMZW4gPSBjcmVhdGVNZW1vKCgpID0+IEFycmF5KGxpc3QoKS5sZW5ndGggPiAyMCA/IDIwIDogbGlzdCgpLmxlbmd0aCkuZmlsbChudWxsKSk7XG5cbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJvcHMub2Zmc2V0ICE9PSB2b2lkIDApIHtcbiAgICAgIHNldE9mZnNldChOdW1iZXIocHJvcHMub2Zmc2V0KSk7XG4gICAgfVxuICB9KTtcbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBbX3ByZXYsIF9uZXh0XSA9IGdldFByZXZOZXh0KG9mZnNldCgpLCBsaXN0KCkpO1xuXG4gICAgc2V0TGVmdChfcHJldik7XG4gICAgc2V0UmlnaHQoX25leHQpO1xuICB9KTtcbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBjbGVhckludGVydmFsKHBsYXlUaW1lcik7XG4gICAgY29uc3QgYXV0b3BsYXkgPSBOdW1iZXIocHJvcHMuYXV0b3BsYXkpO1xuXG4gICAgaWYgKGF1dG9wbGF5ID4gMCkge1xuICAgICAgcGxheVRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICBpZiAoYXV0b3BsYXkgPCAxKSB7XG4gICAgICAgICAgY2xlYXJJbnRlcnZhbChwbGF5VGltZXIpO1xuICAgICAgICB9XG4gICAgICAgIGhhbmRsZU5leHQoKTtcbiAgICAgIH0sIGF1dG9wbGF5KTtcbiAgICB9XG4gIH0pO1xuXG4gIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgY2xlYXJJbnRlcnZhbChwbGF5VGltZXIpO1xuICB9KTtcbiAgY29uc3QgaGVhZGVyID0gY3JlYXRlTWVtbygoKSA9PlxuICAgIGlzRnVuY3Rpb24ocHJvcHMuaGVhZGVyKSA/IHByb3BzLmhlYWRlcihvZmZzZXQoKSkgOiBwcm9wcy5oZWFkZXIsXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtiYXNlU3R5bGUoKX0gLz5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17c3R5bGV9IC8+XG4gICAgICA8U2hvdyB3aGVuPXtwcm9wcy5jc3N9PlxuICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Nzcyhwcm9wcy5jc3MpfSAvPlxuICAgICAgPC9TaG93PlxuICAgICAgPHNlY3Rpb24gY2xhc3M9e2N4KCdjYXJvdXNlbCcsIHByb3BzLmNsYXNzKX0+XG4gICAgICAgIDxzZWN0aW9uIGNsYXNzPVwibGlzdFwiIGRhdGEtZGlyPXtkaXJlY3Rpb24oKX0+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIj57bGlzdCgpW2xlZnQoKV19PC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiBvbjphbmltYXRpb25lbmQ9e29uT2Zmc2V0Q2hhbmdlfT5cbiAgICAgICAgICAgIHtsaXN0KClbb2Zmc2V0KCldfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtXCI+e2xpc3QoKVtyaWdodCgpXX08L2Rpdj5cbiAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8c2xvdCBuYW1lPVwiaGVhZGVyXCIgLz5cbiAgICAgICAgPFNob3cgd2hlbj17aGVhZGVyKCl9PlxuICAgICAgICAgIDxzZWN0aW9uIGNsYXNzPVwiaGVhZGVyXCI+e2hlYWRlcigpfTwvc2VjdGlvbj5cbiAgICAgICAgPC9TaG93PlxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJldlwiIG9uOmNsaWNrPXtoYW5kbGVQcmV2fSAvPlxuICAgICAgICA8ZGl2IGNsYXNzPVwibmV4dFwiIG9uOmNsaWNrPXtoYW5kbGVOZXh0fSAvPlxuICAgICAgICA8U2hvdyB3aGVuPXtwcm9wcy5kb3RzfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG90c1wiPlxuICAgICAgICAgICAgPEluZGV4IGVhY2g9e2RvdExlbigpfT5cbiAgICAgICAgICAgICAgeyhfLCBpZHgpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPGlcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJkb3RcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc0xpc3Q9e3tcbiAgICAgICAgICAgICAgICAgICAgICBhY3RpdmU6IGlkeCA9PT0gKG9mZnNldCgpICUgMjApICsgZGlyZWN0aW9uKCksXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIG9uOmNsaWNrPXtoYW5kbGVEb3QuYmluZChudWxsLCBpZHgpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9JbmRleD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9TaG93PlxuICAgICAgPC9zZWN0aW9uPlxuICAgIDwvPlxuICApO1xufVxuXG5DYXJvdXNlbC5yZWdpc3RyeSA9ICgpID0+IHtcbiAgY3VzdG9tRWxlbWVudDxDYXJvdXNlbFByb3BzPihcbiAgICAnbi1jYXJvdXNlbCcsXG4gICAge1xuICAgICAgY2hpbGRyZW46IHZvaWQgMCxcbiAgICAgIGF1dG9wbGF5OiB2b2lkIDAsXG4gICAgICBjbGFzczogdm9pZCAwLFxuICAgICAgY3NzOiB2b2lkIDAsXG4gICAgICBvZmZzZXQ6IHZvaWQgMCxcbiAgICAgIGRvdHM6IHZvaWQgMCxcbiAgICAgIGhlYWRlcjogdm9pZCAwLFxuICAgICAgb25DaGFuZ2U6IHZvaWQgMCxcbiAgICB9LFxuICAgIChfLCBvcHQpID0+IHtcbiAgICAgIGNvbnN0IGVsID0gb3B0LmVsZW1lbnQ7XG4gICAgICBjb25zdCBwcm9wcyA9IG1lcmdlUHJvcHMoXG4gICAgICAgIHtcbiAgICAgICAgICBvbkNoYW5nZShrZXk6IG51bWJlcikge1xuICAgICAgICAgICAgZWwub2Zmc2V0ID0ga2V5O1xuICAgICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdjaGFuZ2UnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiBrZXksXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBfLFxuICAgICAgKTtcblxuICAgICAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsnY3NzJ10pO1xuICAgICAgICBlbC5yZXBsYWNlQ2hpbGRyZW4oKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Jsb2NrfSAvPlxuICAgICAgICAgIDxDYXJvdXNlbCB7Li4ucHJvcHN9IC8+XG4gICAgICAgIDwvPlxuICAgICAgKTtcbiAgICB9LFxuICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IENhcm91c2VsO1xuIl0sIm1hcHBpbmdzIjoibW1GQUFBLE9BQ0VBLFlBQVksQ0FDWkMsVUFBVSxDQUNWQyxZQUFZLENBQ1pDLEtBQUssQ0FDTEMsVUFBVSxDQUNWQyxTQUFTLENBQ1RDLElBQUksS0FDQyxVQUFVLENBQ2pCLE9BQVNDLFVBQVUsS0FBUSxnQkFBZ0IsQ0FDM0MsT0FBU0MsR0FBRyxDQUFFQyxFQUFF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
|
|
1
|
+
import{template as _$template}from"solid-js/web";import{mergeProps as _$mergeProps}from"solid-js/web";import{setAttribute as _$setAttribute}from"solid-js/web";import{className as _$className}from"solid-js/web";import{getOwner as _$getOwner}from"solid-js/web";import{addEventListener as _$addEventListener}from"solid-js/web";import{insert as _$insert}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(`<section class=header>`),_tmpl$4=/*#__PURE__*/_$template(`<div class=dots>`),_tmpl$5=/*#__PURE__*/_$template(`<section><section class=list><div class=item></div><div class=item></div><div class=item></div></section><slot name=header></slot><div class=prev></div><div class=next>`),_tmpl$6=/*#__PURE__*/_$template(`<i class=dot>`);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 _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,Index,mergeProps,onCleanup,Show,splitProps}from"solid-js";import{isFunction}from"@moneko/common";import{css,cx}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import theme,{block}from"../theme";import{style}from"./style";function Carousel(_props){var baseStyle=theme.baseStyle;var props=mergeProps({autoplay:-1,children:[]},_props);var _createSignal=createSignal(0),_createSignal2=_slicedToArray(_createSignal,2),left=_createSignal2[0],setLeft=_createSignal2[1];var _createSignal3=createSignal(1),_createSignal4=_slicedToArray(_createSignal3,2),right=_createSignal4[0],setRight=_createSignal4[1];var _createSignal5=createSignal(0),_createSignal6=_slicedToArray(_createSignal5,2),offset=_createSignal6[0],setOffset=_createSignal6[1];var _createSignal7=createSignal(0),_createSignal8=_slicedToArray(_createSignal7,2),direction=_createSignal8[0],setDirection=_createSignal8[1];var playTimer;function onOffsetChange(){var _dir=direction();if(_dir===-1){setOffset(left())}else if(_dir===1){setOffset(right())}setDirection(0);if(isFunction(props.onChange)){props.onChange(offset())}}function handlePrev(){setDirection(-1)}function handleNext(){setDirection(1)}function handleDot(idx,e){e.stopPropagation();var _offset=offset();var _current=Math.floor(_offset/20)*20+idx;if(_current>_offset){setDirection(1);setRight(_current)}else if(_current<_offset){setDirection(-1);setLeft(_current)}}function getPrevNext(idx,arr){var _prev=idx-1,_next=idx+1;if(_prev<0){_prev=arr.length-1}if(_next>arr.length-1){_next=0}return[_prev,_next]}var list=createMemo(function(){return _toConsumableArray(props.children)});var dotLen=createMemo(function(){return Array(list().length>20?20:list().length).fill(null)});createEffect(function(){if(props.offset!==void 0){setOffset(Number(props.offset))}});createEffect(function(){var _getPrevNext=getPrevNext(offset(),list()),_getPrevNext2=_slicedToArray(_getPrevNext,2),_prev=_getPrevNext2[0],_next=_getPrevNext2[1];setLeft(_prev);setRight(_next)});createEffect(function(){clearInterval(playTimer);var autoplay=Number(props.autoplay);if(autoplay>0){playTimer=setInterval(function(){if(autoplay<1){clearInterval(playTimer)}handleNext()},autoplay)}});onCleanup(function(){clearInterval(playTimer)});var header=createMemo(function(){return isFunction(props.header)?props.header(offset()):props.header});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;_$effect(function(){return _el$2.data=baseStyle()});return _el$}(),function(){var _el$3=_tmpl$2();_el$3.textContent=style;return _el$3}(),_$createComponent(Show,{get when(){return props.css},get children(){var _el$4=_tmpl$(),_el$5=_el$4.firstChild;_$effect(function(){return _el$5.data=css(props.css)});return _el$4}}),function(){var _el$6=_tmpl$5(),_el$7=_el$6.firstChild,_el$8=_el$7.firstChild,_el$9=_el$8.nextSibling,_el$0=_el$9.nextSibling,_el$1=_el$7.nextSibling,_el$11=_el$1.nextSibling,_el$12=_el$11.nextSibling;_$insert(_el$8,function(){return list()[left()]});_$addEventListener(_el$9,"animationend",onOffsetChange);_$insert(_el$9,function(){return list()[offset()]});_$insert(_el$0,function(){return list()[right()]});_el$1._$owner=_$getOwner();_$insert(_el$6,_$createComponent(Show,{get when(){return header()},get children(){var _el$10=_tmpl$3();_$insert(_el$10,header);return _el$10}}),_el$11);_$addEventListener(_el$11,"click",handlePrev);_$addEventListener(_el$12,"click",handleNext);_$insert(_el$6,_$createComponent(Show,{get when(){return props.dots},get children(){var _el$13=_tmpl$4();_$insert(_el$13,_$createComponent(Index,{get each(){return dotLen()},children:function children(_,idx){return function(){var _el$14=_tmpl$6();_$addEventListener(_el$14,"click",handleDot.bind(null,idx));_$effect(function(){return _el$14.classList.toggle("active",!!(idx===offset()%20+direction()))});return _el$14}()}}));return _el$13}}),null);_$effect(function(_p$){var _v$=cx("carousel",props["class"]),_v$2=direction();_v$!==_p$.e&&_$className(_el$6,_p$.e=_v$);_v$2!==_p$.t&&_$setAttribute(_el$7,"data-dir",_p$.t=_v$2);return _p$},{e:undefined,t:undefined});return _el$6}()]}Carousel.registry=function(){customElement("n-carousel",{autoplay:void 0,"class":void 0,css:void 0,offset:void 0,dots:void 0,header:void 0,onChange:void 0},function(_,opt){var el=opt.element;var nodes=_toConsumableArray(el.children);var _splitProps=splitProps(_,["children"]),_splitProps2=_slicedToArray(_splitProps,2),restProps=_splitProps2[1];var props=mergeProps({onChange:function onChange(key){el.offset=key;el.dispatchEvent(new CustomEvent("change",{detail:key}))}},restProps);createEffect(function(){clearAttribute(el,["css"]);el.replaceChildren()});return[function(){var _el$15=_tmpl$2();_el$15.textContent=block;return _el$15}(),_$createComponent(Carousel,_$mergeProps(props,{children:nodes}))]})};export default Carousel;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJjcmVhdGVNZW1vIiwiY3JlYXRlU2lnbmFsIiwiSW5kZXgiLCJtZXJnZVByb3BzIiwib25DbGVhbnVwIiwiU2hvdyIsInNwbGl0UHJvcHMiLCJpc0Z1bmN0aW9uIiwiY3NzIiwiY3giLCJjdXN0b21FbGVtZW50IiwiY2xlYXJBdHRyaWJ1dGUiLCJ0aGVtZSIsImJsb2NrIiwic3R5bGUiLCJDYXJvdXNlbCIsIl9wcm9wcyIsImJhc2VTdHlsZSIsInByb3BzIiwiYXV0b3BsYXkiLCJjaGlsZHJlbiIsIl9jcmVhdGVTaWduYWwiLCJfY3JlYXRlU2lnbmFsMiIsIl9zbGljZWRUb0FycmF5IiwibGVmdCIsInNldExlZnQiLCJfY3JlYXRlU2lnbmFsMyIsIl9jcmVhdGVTaWduYWw0IiwicmlnaHQiLCJzZXRSaWdodCIsIl9jcmVhdGVTaWduYWw1IiwiX2NyZWF0ZVNpZ25hbDYiLCJvZmZzZXQiLCJzZXRPZmZzZXQiLCJfY3JlYXRlU2lnbmFsNyIsIl9jcmVhdGVTaWduYWw4IiwiZGlyZWN0aW9uIiwic2V0RGlyZWN0aW9uIiwicGxheVRpbWVyIiwib25PZmZzZXRDaGFuZ2UiLCJfZGlyIiwib25DaGFuZ2UiLCJoYW5kbGVQcmV2IiwiaGFuZGxlTmV4dCIsImhhbmRsZURvdCIsImlkeCIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJfb2Zmc2V0IiwiX2N1cnJlbnQiLCJNYXRoIiwiZmxvb3IiLCJnZXRQcmV2TmV4dCIsImFyciIsIl9wcmV2IiwiX25leHQiLCJsZW5ndGgiLCJsaXN0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZG90TGVuIiwiQXJyYXkiLCJmaWxsIiwiTnVtYmVyIiwiX2dldFByZXZOZXh0IiwiX2dldFByZXZOZXh0MiIsImNsZWFySW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsImhlYWRlciIsIl9lbCQiLCJfdG1wbCQiLCJfZWwkMiIsImZpcnN0Q2hpbGQiLCJfJGVmZmVjdCIsImRhdGEiLCJfZWwkMyIsIl90bXBsJDIiLCJ0ZXh0Q29udGVudCIsIl8kY3JlYXRlQ29tcG9uZW50Iiwid2hlbiIsIl9lbCQ0IiwiX2VsJDUiLCJfZWwkNiIsIl90bXBsJDUiLCJfZWwkNyIsIl9lbCQ4IiwiX2VsJDkiLCJuZXh0U2libGluZyIsIl9lbCQwIiwiX2VsJDEiLCJfZWwkMTEiLCJfZWwkMTIiLCJfJGluc2VydCIsIl8kYWRkRXZlbnRMaXN0ZW5lciIsIl8kb3duZXIiLCJfJGdldE93bmVyIiwiX2VsJDEwIiwiX3RtcGwkMyIsImRvdHMiLCJfZWwkMTMiLCJfdG1wbCQ0IiwiZWFjaCIsIl8iLCJfZWwkMTQiLCJfdG1wbCQ2IiwiYmluZCIsImNsYXNzTGlzdCIsInRvZ2dsZSIsIl9wJCIsIl92JCIsIl92JDIiLCJfJGNsYXNzTmFtZSIsInQiLCJfJHNldEF0dHJpYnV0ZSIsInVuZGVmaW5lZCIsInJlZ2lzdHJ5Iiwib3B0IiwiZWwiLCJlbGVtZW50Iiwibm9kZXMiLCJfc3BsaXRQcm9wcyIsIl9zcGxpdFByb3BzMiIsInJlc3RQcm9wcyIsImtleSIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsInJlcGxhY2VDaGlsZHJlbiIsIl9lbCQxNSIsIl8kbWVyZ2VQcm9wcyJdLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvY2Fyb3VzZWwvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUVmZmVjdCxcbiAgY3JlYXRlTWVtbyxcbiAgY3JlYXRlU2lnbmFsLFxuICBJbmRleCxcbiAgbWVyZ2VQcm9wcyxcbiAgb25DbGVhbnVwLFxuICBTaG93LFxuICBzcGxpdFByb3BzLFxufSBmcm9tICdzb2xpZC1qcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnQG1vbmVrby9jb21tb24nO1xuaW1wb3J0IHsgY3NzLCBjeCB9IGZyb20gJ0Btb25la28vY3NzJztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHR5cGUgeyBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUsIHR5cGUgSlNYRWxlbWVudCB9IGZyb20gJy4uL2Jhc2ljLWNvbmZpZyc7XG5pbXBvcnQgdGhlbWUsIHsgYmxvY2sgfSBmcm9tICcuLi90aGVtZSc7XG5cbmltcG9ydCB7IHN0eWxlIH0gZnJvbSAnLi9zdHlsZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2Fyb3VzZWxQcm9wcyB7XG4gIC8qKiDoh6rlrprkuYnnsbvlkI0gKi9cbiAgY2xhc3M/OiBzdHJpbmc7XG4gIC8qKiDoh6rlrprkuYnmoLflvI/ooaggKi9cbiAgY3NzPzogc3RyaW5nO1xuICAvKiog6L2u5pKt55qE5YaF5a65ICovXG4gIGNoaWxkcmVuPzogSlNYRWxlbWVudFtdO1xuICAvKiog5b2T5YmN5YaF5a6555qE5L2N572uXG4gICAqIEBkZWZhdWx0IDBcbiAgICovXG4gIG9mZnNldD86IG51bWJlcjtcbiAgLyoqIOW8gOWQr+aMh+ekuuWZqCAqL1xuICBkb3RzPzogYm9vbGVhbjtcbiAgLyoqIOiuvue9ruiHquWKqOaSreaUvuaXtumVvywg5LiN6K6+572u5pe25LiN6Ieq5Yqo5pKt5pS+ICovXG4gIGF1dG9wbGF5PzogbnVtYmVyO1xuICAvKiog6Ieq5a6a5LmJ5aS06YOoICovXG4gIGhlYWRlcj86IChjdXJyZW50OiBudW1iZXIpID0+IEpTWEVsZW1lbnQ7XG4gIC8qKiDliIfmjaLmmL7npLrnmoTkvY3nva7ml7bnmoTlm57osIPmlrnms5UgKi9cbiAgb25DaGFuZ2U/OiAoZTogbnVtYmVyKSA9PiB2b2lkO1xufVxuZXhwb3J0IHR5cGUgQ2Fyb3VzZWxFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxDYXJvdXNlbFByb3BzPjtcblxuZnVuY3Rpb24gQ2Fyb3VzZWwoX3Byb3BzOiBDYXJvdXNlbFByb3BzKSB7XG4gIGNvbnN0IHsgYmFzZVN0eWxlIH0gPSB0aGVtZTtcbiAgY29uc3QgcHJvcHMgPSBtZXJnZVByb3BzKHsgYXV0b3BsYXk6IC0xLCBjaGlsZHJlbjogW10gfSwgX3Byb3BzKTtcbiAgY29uc3QgW2xlZnQsIHNldExlZnRdID0gY3JlYXRlU2lnbmFsKDApO1xuICBjb25zdCBbcmlnaHQsIHNldFJpZ2h0XSA9IGNyZWF0ZVNpZ25hbCgxKTtcbiAgY29uc3QgW29mZnNldCwgc2V0T2Zmc2V0XSA9IGNyZWF0ZVNpZ25hbCgwKTtcbiAgY29uc3QgW2RpcmVjdGlvbiwgc2V0RGlyZWN0aW9uXSA9IGNyZWF0ZVNpZ25hbDwxIHwgLTEgfCAwPigwKTtcbiAgbGV0IHBsYXlUaW1lcjogUmV0dXJuVHlwZTx0eXBlb2Ygc2V0SW50ZXJ2YWw+IHwgdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIG9uT2Zmc2V0Q2hhbmdlKCkge1xuICAgIGNvbnN0IF9kaXIgPSBkaXJlY3Rpb24oKTtcblxuICAgIGlmIChfZGlyID09PSAtMSkge1xuICAgICAgc2V0T2Zmc2V0KGxlZnQoKSk7XG4gICAgfSBlbHNlIGlmIChfZGlyID09PSAxKSB7XG4gICAgICBzZXRPZmZzZXQocmlnaHQoKSk7XG4gICAgfVxuICAgIHNldERpcmVjdGlvbigwKTtcbiAgICBpZiAoaXNGdW5jdGlvbihwcm9wcy5vbkNoYW5nZSkpIHtcbiAgICAgIHByb3BzLm9uQ2hhbmdlKG9mZnNldCgpKTtcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlUHJldigpIHtcbiAgICBzZXREaXJlY3Rpb24oLTEpO1xuICB9XG4gIGZ1bmN0aW9uIGhhbmRsZU5leHQoKSB7XG4gICAgc2V0RGlyZWN0aW9uKDEpO1xuICB9XG4gIGZ1bmN0aW9uIGhhbmRsZURvdChpZHg6IG51bWJlciwgZTogRXZlbnQpIHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNvbnN0IF9vZmZzZXQgPSBvZmZzZXQoKTtcbiAgICBjb25zdCBfY3VycmVudCA9IE1hdGguZmxvb3IoX29mZnNldCAvIDIwKSAqIDIwICsgaWR4O1xuXG4gICAgaWYgKF9jdXJyZW50ID4gX29mZnNldCkge1xuICAgICAgc2V0RGlyZWN0aW9uKDEpO1xuICAgICAgc2V0UmlnaHQoX2N1cnJlbnQpO1xuICAgIH0gZWxzZSBpZiAoX2N1cnJlbnQgPCBfb2Zmc2V0KSB7XG4gICAgICBzZXREaXJlY3Rpb24oLTEpO1xuICAgICAgc2V0TGVmdChfY3VycmVudCk7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGdldFByZXZOZXh0KGlkeDogbnVtYmVyLCBhcnI6IEpTWEVsZW1lbnRbXSkge1xuICAgIGxldCBfcHJldiA9IGlkeCAtIDEsXG4gICAgICBfbmV4dCA9IGlkeCArIDE7XG5cbiAgICBpZiAoX3ByZXYgPCAwKSB7XG4gICAgICBfcHJldiA9IGFyci5sZW5ndGggLSAxO1xuICAgIH1cbiAgICBpZiAoX25leHQgPiBhcnIubGVuZ3RoIC0gMSkge1xuICAgICAgX25leHQgPSAwO1xuICAgIH1cbiAgICByZXR1cm4gW19wcmV2LCBfbmV4dF07XG4gIH1cbiAgY29uc3QgbGlzdCA9IGNyZWF0ZU1lbW8oKCkgPT4gWy4uLnByb3BzLmNoaWxkcmVuXSk7XG4gIGNvbnN0IGRvdExlbiA9IGNyZWF0ZU1lbW8oKCkgPT4gQXJyYXkobGlzdCgpLmxlbmd0aCA+IDIwID8gMjAgOiBsaXN0KCkubGVuZ3RoKS5maWxsKG51bGwpKTtcblxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChwcm9wcy5vZmZzZXQgIT09IHZvaWQgMCkge1xuICAgICAgc2V0T2Zmc2V0KE51bWJlcihwcm9wcy5vZmZzZXQpKTtcbiAgICB9XG4gIH0pO1xuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IFtfcHJldiwgX25leHRdID0gZ2V0UHJldk5leHQob2Zmc2V0KCksIGxpc3QoKSk7XG5cbiAgICBzZXRMZWZ0KF9wcmV2KTtcbiAgICBzZXRSaWdodChfbmV4dCk7XG4gIH0pO1xuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIGNsZWFySW50ZXJ2YWwocGxheVRpbWVyKTtcbiAgICBjb25zdCBhdXRvcGxheSA9IE51bWJlcihwcm9wcy5hdXRvcGxheSk7XG5cbiAgICBpZiAoYXV0b3BsYXkgPiAwKSB7XG4gICAgICBwbGF5VGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgIGlmIChhdXRvcGxheSA8IDEpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKHBsYXlUaW1lcik7XG4gICAgICAgIH1cbiAgICAgICAgaGFuZGxlTmV4dCgpO1xuICAgICAgfSwgYXV0b3BsYXkpO1xuICAgIH1cbiAgfSk7XG5cbiAgb25DbGVhbnVwKCgpID0+IHtcbiAgICBjbGVhckludGVydmFsKHBsYXlUaW1lcik7XG4gIH0pO1xuICBjb25zdCBoZWFkZXIgPSBjcmVhdGVNZW1vKCgpID0+XG4gICAgaXNGdW5jdGlvbihwcm9wcy5oZWFkZXIpID8gcHJvcHMuaGVhZGVyKG9mZnNldCgpKSA6IHByb3BzLmhlYWRlcixcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Jhc2VTdHlsZSgpfSAvPlxuICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtzdHlsZX0gLz5cbiAgICAgIDxTaG93IHdoZW49e3Byb3BzLmNzc30+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKHByb3BzLmNzcyl9IC8+XG4gICAgICA8L1Nob3c+XG4gICAgICA8c2VjdGlvbiBjbGFzcz17Y3goJ2Nhcm91c2VsJywgcHJvcHMuY2xhc3MpfT5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJsaXN0XCIgZGF0YS1kaXI9e2RpcmVjdGlvbigpfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiPntsaXN0KClbbGVmdCgpXX08L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiIG9uOmFuaW1hdGlvbmVuZD17b25PZmZzZXRDaGFuZ2V9PlxuICAgICAgICAgICAge2xpc3QoKVtvZmZzZXQoKV19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIj57bGlzdCgpW3JpZ2h0KCldfTwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDxzbG90IG5hbWU9XCJoZWFkZXJcIiAvPlxuICAgICAgICA8U2hvdyB3aGVuPXtoZWFkZXIoKX0+XG4gICAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJoZWFkZXJcIj57aGVhZGVyKCl9PC9zZWN0aW9uPlxuICAgICAgICA8L1Nob3c+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmV2XCIgb246Y2xpY2s9e2hhbmRsZVByZXZ9IC8+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJuZXh0XCIgb246Y2xpY2s9e2hhbmRsZU5leHR9IC8+XG4gICAgICAgIDxTaG93IHdoZW49e3Byb3BzLmRvdHN9PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkb3RzXCI+XG4gICAgICAgICAgICA8SW5kZXggZWFjaD17ZG90TGVuKCl9PlxuICAgICAgICAgICAgICB7KF8sIGlkeCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8aVxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRvdFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzTGlzdD17e1xuICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZTogaWR4ID09PSAob2Zmc2V0KCkgJSAyMCkgKyBkaXJlY3Rpb24oKSxcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgb246Y2xpY2s9e2hhbmRsZURvdC5iaW5kKG51bGwsIGlkeCl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA8L0luZGV4PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L1Nob3c+XG4gICAgICA8L3NlY3Rpb24+XG4gICAgPC8+XG4gICk7XG59XG5cbkNhcm91c2VsLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PENhcm91c2VsUHJvcHM+KFxuICAgICduLWNhcm91c2VsJyxcbiAgICB7XG4gICAgICBhdXRvcGxheTogdm9pZCAwLFxuICAgICAgY2xhc3M6IHZvaWQgMCxcbiAgICAgIGNzczogdm9pZCAwLFxuICAgICAgb2Zmc2V0OiB2b2lkIDAsXG4gICAgICBkb3RzOiB2b2lkIDAsXG4gICAgICBoZWFkZXI6IHZvaWQgMCxcbiAgICAgIG9uQ2hhbmdlOiB2b2lkIDAsXG4gICAgfSxcbiAgICAoXywgb3B0KSA9PiB7XG4gICAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuICAgICAgY29uc3Qgbm9kZXMgPSBbLi4uZWwuY2hpbGRyZW5dO1xuICAgICAgY29uc3QgWywgcmVzdFByb3BzXSA9IHNwbGl0UHJvcHMoXywgWydjaGlsZHJlbiddKTtcbiAgICAgIGNvbnN0IHByb3BzID0gbWVyZ2VQcm9wcyhcbiAgICAgICAge1xuICAgICAgICAgIG9uQ2hhbmdlKGtleTogbnVtYmVyKSB7XG4gICAgICAgICAgICBlbC5vZmZzZXQgPSBrZXk7XG4gICAgICAgICAgICBlbC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2NoYW5nZScsIHtcbiAgICAgICAgICAgICAgICBkZXRhaWw6IGtleSxcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlc3RQcm9wcyxcbiAgICAgICk7XG5cbiAgICAgIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNsZWFyQXR0cmlidXRlKGVsLCBbJ2NzcyddKTtcbiAgICAgICAgZWwucmVwbGFjZUNoaWxkcmVuKCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtibG9ja30gLz5cbiAgICAgICAgICA8Q2Fyb3VzZWwgey4uLnByb3BzfT57bm9kZXN9PC9DYXJvdXNlbD5cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH0sXG4gICk7XG59O1xuZXhw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
|
package/es/code/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import{template as _$template}from"solid-js/web";import{classList as _$classList}from"solid-js/web";import{addEventListener as _$addEventListener}from"solid-js/web";import{use as _$use}from"solid-js/web";import{setAttribute as _$setAttribute}from"solid-js/web";import{insert as _$insert}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(`<div class=toolbar part=code-toolbar>`),_tmpl$4=/*#__PURE__*/_$template(`<pre part=code-block><code part=code-content>`);function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var e,t,r="function"==typeof Symbol?Symbol:{},n=r.iterator||"@@iterator",o=r.toStringTag||"@@toStringTag";function i(r,n,o,i){var c=n&&n.prototype instanceof Generator?n:Generator,u=Object.create(c.prototype);return _regeneratorDefine2(u,"_invoke",function(r,n,o){var i,c,u,f=0,p=o||[],y=!1,G={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function d(t,r){return i=t,c=0,u=e,G.n=r,a}};function d(r,n){for(c=r,u=n,t=0;!y&&f&&!o&&t<p.length;t++){var o,i=p[t],d=G.p,l=i[2];r>3?(o=l===n)&&(u=i[(c=i[4])?5:(c=3,3)],i[4]=i[5]=e):i[0]<=d&&((o=r<2&&d<i[1])?(c=0,G.v=n,G.n=i[1]):d<l&&(o=r<3||i[0]>n||n>l)&&(i[4]=r,i[5]=n,G.n=l,c=0))}if(o||r>1)return a;throw y=!0,n}return function(o,p,l){if(f>1)throw TypeError("Generator is already running");for(y&&1===p&&d(p,l),c=p,u=l;(t=c<2?e:u)||!y;){i||(c?c<3?(c>1&&(G.n=-1),d(c,u)):G.n=u:G.v=u);try{if(f=2,i){if(c||(o="next"),t=i[o]){if(!(t=t.call(i,u)))throw TypeError("iterator result is not an object");if(!t.done)return t;u=t.value,c<2&&(c=0)}else 1===c&&(t=i["return"])&&t.call(i),c<2&&(u=TypeError("The iterator does not provide a '"+o+"' method"),c=1);i=e}else if((t=(y=G.n<0)?u:r.call(n,G))!==a)break}catch(t){i=e,c=1,u=t}finally{f=1}}return{value:t,done:y}}}(r,o,i),!0),u}var a={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}t=Object.getPrototypeOf;var c=[][n]?t(t([][n]())):(_regeneratorDefine2(t={},n,function(){return this}),t),u=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(c);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,GeneratorFunctionPrototype):(e.__proto__=GeneratorFunctionPrototype,_regeneratorDefine2(e,o,"GeneratorFunction")),e.prototype=Object.create(u),e}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine2(u,"constructor",GeneratorFunctionPrototype),_regeneratorDefine2(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine2(GeneratorFunctionPrototype,o,"GeneratorFunction"),_regeneratorDefine2(u),_regeneratorDefine2(u,o,"Generator"),_regeneratorDefine2(u,n,function(){return this}),_regeneratorDefine2(u,"toString",function(){return"[object Generator]"}),(_regenerator=function _regenerator(){return{w:i,m:f}})()}function _regeneratorDefine2(e,r,n,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function _regeneratorDefine(e,r,n,t){function o(r,n){_regeneratorDefine2(e,r,function(e){return this._invoke(r,n,e)})}r?i?i(e,r,{value:n,enumerable:!t,configurable:!t,writable:!t}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,r,n,t)}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 _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]}},e:function e(r){throw r},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,u=!1;return{s:function s(){t=t.call(r)},n:function n(){var r=t.next();return a=r.done,r},e:function e(r){u=!0,o=r},f:function f(){try{a||null==t["return"]||t["return"]()}finally{if(u)throw o}}}}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)}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}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,createResource,createSignal,createUniqueId,mergeProps,onCleanup,Show,untrack}from"solid-js";import{isFunction,setClipboard}from"@moneko/common";import{css}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import theme from"../theme";import{CopyIcon}from"./copy-icon";import{darkCss,lightCss,style}from"./style";function Code(props){var isDark=theme.isDark;var codeEl;var timer;var decoded=/%[0-9A-Fa-f]{2}/;var id=createUniqueId();var _createSignal=createSignal(""),_createSignal2=_slicedToArray(_createSignal,2),code=_createSignal2[0],setCode=_createSignal2[1];var _createSignal3=createSignal(),_createSignal4=_slicedToArray(_createSignal3,2),highlightCss=_createSignal4[0],setHighlightCss=_createSignal4[1];function fetchPrism(){return _fetchPrism.apply(this,arguments)}function _fetchPrism(){_fetchPrism=_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(){return _regenerator().w(function(_context){while(1)switch(_context.n){case 0:if(window.Prism){_context.n=2;break}_context.n=1;return import("../prism");case 1:return _context.a(2,_context.v["default"]);case 2:window.Prism.disableWorkerMessageHandler=true;window.Prism.manual=true;return _context.a(2,window.Prism)}},_callee)}));return _fetchPrism.apply(this,arguments)}var _createResource=createResource("prism",fetchPrism),_createResource2=_slicedToArray(_createResource,1),prismJS=_createResource2[0];var title=createMemo(function(){var _props$language;return props.title||((_props$language=props.language)===null||_props$language===void 0?void 0:_props$language.split(" ").pop())});var tokenCss=createMemo(function(){if(props.theme){return props.theme==="dark"?darkCss:lightCss}return isDark()?darkCss:lightCss});createEffect(function(){var _next=props.code||"";if(decoded.test(_next)){_next=decodeURIComponent(_next)}if(codeEl){codeEl.normalize();if(_next!==codeEl.textContent){setCode(_next)}}});function copy(){setClipboard(untrack(code),codeEl)}var change=function change(e){e.target.normalize();var next=e.target.textContent;syntax(props.language,next,true);if(isFunction(props.onChange)){props.onChange(next)}};function updateRang(key,token,range,selection){var highlight=CSS.highlights.get(key);if(highlight){highlight.add(range)}else{CSS.highlights.set(key,new Highlight().add(range))}if(selection[key]===void 0){selection[key]="::highlight(".concat(key,"){color:var(--").concat(token,");background-color:var(--").concat(token,"-bg);text-decoration:var(--").concat(token,"-text-decoration);text-shadow:var(--").concat(token,"-text-shadow);-webkit-text-stroke-width:var(--").concat(token,"-stroke-width);-webkit-text-stroke-color:var(--").concat(token,"-stroke-color);}")}}function highlighter(el,tokenize,selection){var start=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var pos=start;if(Array.isArray(tokenize)){for(var i=0,len=tokenize.length;i<len;i++){var token=tokenize[i];if(_typeof(token)!=="object"){pos+=token.length;continue}pos=highlighter(el,token,selection,pos)}return pos}if(_typeof(tokenize)==="object"&&tokenize.type){if(el.firstChild){var _tokenize$alias;var _token=((_tokenize$alias=tokenize.alias)!==null&&_tokenize$alias!==void 0?_tokenize$alias:tokenize.type).toString();var key=id+_token;var range=new Range;if(["deleted","inserted"].includes(_token)){// diff
|
|
2
|
-
range.setStart(el.firstChild,pos+2)}else{range.setStart(el.firstChild,pos)}if(Array.isArray(tokenize.content)){pos=highlighter(el,tokenize.content,selection,pos)}else if(typeof tokenize.content==="string"){pos+=tokenize.content.length}range.setEnd(el.firstChild,pos);updateRang(key,_token,range,selection)}}return pos}function syntax(){var language=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"markup";var value=arguments.length>1?arguments[1]:undefined;var clear=arguments.length>2?arguments[2]:undefined;var prevCss=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};if(timer){clearTimeout(timer);timer=void 0}var Prism=prismJS();if(!value||!Prism)return;timer=setTimeout(function(){clearTimeout(timer);if(CSS.highlights){if(clear){CSS.highlights.forEach(function(highlight,key){if(key.startsWith(id)){highlight.clear()}})}var grammars=language.split(" "),grammar=Prism.languages[grammars[0]];if(grammar&&codeEl){highlighter(codeEl,Prism.tokenize(value,grammar),prevCss)}if(grammars.length>1||grammars[0]==="git"){syntax(grammars[1],value,false,prevCss)}else{setHighlightCss(Object.values(prevCss).join(""))}}else{throw Error("\u4E0D\u652F\u6301 CSS Highlights")}timer=void 0},0)}createEffect(function(){syntax(props.language,code(),true)});onCleanup(function(){if(CSS.highlights){var _iterator=_createForOfIteratorHelper(CSS.highlights.keys()),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var key=_step.value;if(key.startsWith(id)){CSS.highlights["delete"](key)}}}catch(err){_iterator.e(err)}finally{_iterator.f()}}});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;_$effect(function(){return _el$2.data=tokenCss()});return _el$}(),_$createComponent(Show,{get when(){return highlightCss()},get children(){var _el$3=_tmpl$(),_el$4=_el$3.firstChild;_$effect(function(){return _el$4.data=highlightCss()});return _el$3}}),function(){var _el$5=_tmpl$2();_el$5.textContent=style;return _el$5}(),_$createComponent(Show,{get when(){return props.css},get children(){var _el$6=_tmpl$(),_el$7=_el$6.firstChild;_$effect(function(){return _el$7.data=css(props.css)});return _el$6}}),function(){var _el$8=_tmpl$4(),_el$0=_el$8.firstChild;_$insert(_el$8,_$createComponent(Show,{get when(){return props.toolbar},get children(){var _el$9=_tmpl$3();_$insert(_el$9,_$createComponent(CopyIcon,{"class":"toolbar-copy",onClick:copy}));_$effect(function(){return _$setAttribute(_el$9,"data-language",title())});return _el$9}}),_el$0);_$addEventListener(_el$0,"input",change);var _ref$=codeEl;typeof _ref$==="function"?_$use(_ref$,_el$0):codeEl=_el$0;_$setAttribute(_el$0,"spellcheck",false);_$insert(_el$0,code);_$effect(function(_p$){var _v$=_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"language-".concat(props.language),!!props.language),"not-toolbar",!props.toolbar),props["class"],!props.edit),"classic",props.classic!==false),_v$2=props.edit;_p$.e=_$classList(_el$8,_v$,_p$.e);_v$2!==_p$.t&&_$setAttribute(_el$0,"contenteditable",_p$.t=_v$2);return _p$},{e:undefined,t:undefined});return _el$8}()]}Code.registry=function(){customElement("n-code",{"class":void 0,code:void 0,language:void 0,
|
|
3
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9kZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbiIsIkYiLCJzIiwibmV4dCIsImNvbnN0cnVjdG9yIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwicHVzaCIsImNyZWF0ZUVmZmVjdCIsImNyZWF0ZU1lbW8iLCJjcmVhdGVSZXNvdXJjZSIsImNyZWF0ZVNpZ25hbCIsImNyZWF0ZVVuaXF1ZUlkIiwibWVyZ2VQcm9wcyIsIm9uQ2xlYW51cCIsIlNob3ciLCJ1bnRyYWNrIiwiaXNGdW5jdGlvbiIsInNldENsaXBib2FyZCIsImNzcyIsImN1c3RvbUVsZW1lbnQiLCJjbGVhckF0dHJpYnV0ZSIsInRoZW1lIiwiQ29weUljb24iLCJkYXJrQ3NzIiwibGlnaHRDc3MiLCJzdHlsZSIsIkNvZGUiLCJwcm9wcyIsImlzRGFyayIsImNvZGVFbCIsInRpbWVyIiwiZGVjb2RlZCIsImlkIiwiX2NyZWF0ZVNpZ25hbCIsIl9jcmVhdGVTaWduYWwyIiwiY29kZSIsInNldENvZGUiLCJfY3JlYXRlU2lnbmFsMyIsIl9jcmVhdGVTaWduYWw0IiwiaGlnaGxpZ2h0Q3NzIiwic2V0SGlnaGxpZ2h0Q3NzIiwiZmV0Y2hQcmlzbSIsIl9mZXRjaFByaXNtIiwiX2NhbGxlZSIsIl9jb250ZXh0Iiwid2luZG93IiwiUHJpc20iLCJkaXNhYmxlV29ya2VyTWVzc2FnZUhhbmRsZXIiLCJtYW51YWwiLCJfY3JlYXRlUmVzb3VyY2UiLCJfY3JlYXRlUmVzb3VyY2UyIiwicHJpc21KUyIsInRpdGxlIiwiX3Byb3BzJGxhbmd1YWdlIiwibGFuZ3VhZ2UiLCJzcGxpdCIsInBvcCIsInRva2VuQ3NzIiwiZGVjb2RlVVJJQ29tcG9uZW50Iiwibm9ybWFsaXplIiwidGV4dENvbnRlbnQiLCJjb3B5IiwiY2hhbmdlIiwidGFyZ2V0Iiwic3ludGF4Iiwib25DaGFuZ2UiLCJ1cGRhdGVSYW5nIiwia2V5IiwidG9rZW4iLCJyYW5nZSIsInNlbGVjdGlvbiIsImhpZ2hsaWdodCIsIkNTUyIsImhpZ2hsaWdodHMiLCJnZXQiLCJhZGQiLCJzZXQiLCJIaWdobGlnaHQiLCJjb25jYXQiLCJoaWdobGlnaHRlciIsImVsIiwidG9rZW5pemUiLCJzdGFydCIsInVuZGVmaW5lZCIsInBvcyIsImxlbiIsInR5cGUiLCJmaXJzdENoaWxkIiwiX3Rva2VuaXplJGFsaWFzIiwiYWxpYXMiLCJSYW5nZSIsImluY2x1ZGVzIiwic2V0U3RhcnQiLCJjb250ZW50Iiwic2V0RW5kIiwiY2xlYXIiLCJwcmV2Q3NzIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImZvckVhY2giLCJzdGFydHNXaXRoIiwiZ3JhbW1hcnMiLCJncmFtbWFyIiwibGFuZ3VhZ2VzIiwidmFsdWVzIiwiam9pbiIsIkVycm9yIiwiX2l0ZXJhdG9yIiwia2V5cyIsIl9zdGVwIiwiZXJyIiwiX2VsJCIsIl90bXBsJCIsIl9lbCQyIiwiXyRlZmZlY3QiLCJkYXRhIiwiXyRjcmVhdGVDb21wb25lbnQiLCJ3aGVuIiwiY2hpbGRyZW4iLCJfZWwkMyIsIl9lbCQ0IiwiX2VsJDUiLCJfdG1wbCQyIiwiX2VsJDYiLCJfZWwkNyIsIl9lbCQ4IiwiX3RtcGwkNCIsIl9lbCQwIiwiXyRpbnNlcnQiLCJ0b29sYmFyIiwiX2VsJDkiLCJfdG1wbCQzIiwib25DbGljayIsIl8kc2V0QXR0cmlidXRlIiwiXyRhZGRFdmVudExpc3RlbmVyIiwiX3JlZiQiLCJfJHVzZSIsIl9wJCIsIl92JCIsImVkaXQiLCJjbGFzc2ljIiwiX3YkMiIsIl8kY2xhc3NMaXN0IiwicmVnaXN0cnkiLCJfIiwib3B0IiwiYmFzZVN0eWxlIiwiZWxlbWVudCIsInZhbCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsInJlcGxhY2VDaGlsZHJlbiIsIl9lbCQxIiwiX2VsJDEwIl0sInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVFZmZlY3QsXG4gIGNyZWF0ZU1lbW8sXG4gIGNyZWF0ZVJlc291cmNlLFxuICBjcmVhdGVTaWduYWwsXG4gIGNyZWF0ZVVuaXF1ZUlkLFxuICB0eXBlIEpTWCxcbiAgbWVyZ2VQcm9wcyxcbiAgb25DbGVhbnVwLFxuICBTaG93LFxuICB1bnRyYWNrLFxufSBmcm9tICdzb2xpZC1qcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBzZXRDbGlwYm9hcmQgfSBmcm9tICdAbW9uZWtvL2NvbW1vbic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAbW9uZWtvL2Nzcyc7XG5pbXBvcnQgdHlwZSB7IFRva2VuU3RyZWFtIH0gZnJvbSAncHJpc21qcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnc29saWQtZWxlbWVudCc7XG5cbmltcG9ydCB0eXBlIHsgQ3VzdG9tRWxlbWVudCB9IGZyb20gJy4uJztcbmltcG9ydCB7IGNsZWFyQXR0cmlidXRlLCB0eXBlIEpTWEVsZW1lbnQgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lIGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgQ29weUljb24gfSBmcm9tICcuL2NvcHktaWNvbic7XG5pbXBvcnQgeyBkYXJrQ3NzLCBsaWdodENzcywgc3R5bGUgfSBmcm9tICcuL3N0eWxlJztcblxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VCYXNlID1cbiAgfCAnYmFzaCdcbiAgfCAnc2hlbGwnXG4gIHwgJ3NoJ1xuICB8ICdjbGlrZSdcbiAgfCAnY3NzJ1xuICB8ICdkb2NrZXInXG4gIHwgJ2RvY2tlcmZpbGUnXG4gIHwgJ2dpdCdcbiAgfCAnamF2YXNjcmlwdCdcbiAgfCAnanMnXG4gIHwgJ2pzb24nXG4gIHwgJ3dlYm1hbmlmZXN0J1xuICB8ICdqc3gnXG4gIHwgJ3RzeCdcbiAgfCAnbGVzcydcbiAgfCAnaHRtbCdcbiAgfCAnbWF0aG1sJ1xuICB8ICdzdmcnXG4gIHwgJ3htbCdcbiAgfCAnc3NtbCdcbiAgfCAnYXRvbSdcbiAgfCAncnNzJ1xuICB8ICdyZWdleCdcbiAgfCAncnVzdCdcbiAgfCAnc3FsJ1xuICB8ICdzd2lmdCdcbiAgfCAndG9tbCdcbiAgfCAndHlwZXNjcmlwdCdcbiAgfCAndHMnXG4gIHwgJ3lhbWwnXG4gIHwgJ3ltbCdcbiAgfCAnbWF0bGFiJztcblxudHlwZSBFeGNsdWRlTGFuZ3VhZ2U8VCBleHRlbmRzIExhbmd1YWdlQmFzZSwgVSBleHRlbmRzIExhbmd1YWdlQmFzZT4gPSBUIGV4dGVuZHMgVSA/IG5ldmVyIDogVDtcblxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2UgPVxuICB8IExhbmd1YWdlQmFzZVxuICB8IHtcbiAgICAgIFtUIGluIExhbmd1YWdlQmFzZV06IGAke1R9ICR7RXhjbHVkZUxhbmd1YWdlPExhbmd1YWdlQmFzZSwgVD59YDtcbiAgICB9W0xhbmd1YWdlQmFzZV07XG5leHBvcnQgaW50ZXJmYWNlIENvZGVQcm9wcyB7XG4gIC8qKiDoh6rlrprkuYnnsbvlkI0gKi9cbiAgY2xhc3M/OiBzdHJpbmc7XG4gIC8qKiDoh6rlrprkuYnmoLflvI/ooaggKi9cbiAgY3NzPzogc3RyaW5nO1xuICAvKiog5YaF5a65ICovXG4gIGNvZGU/OiBzdHJpbmc7XG4gIC8qKiDor63oqIDvvIjmlK/mjIHlpJrnp43or63oqIDphY3nva7vvJrlpoIgYGh0bWwgY3NzIGphdmFzY3JpcHRg77yJXG4gICAqIEBkZWZhdWx0ICdtYXJrdXAnXG4gICAqL1xuICBsYW5ndWFnZT86IExhbmd1YWdlO1xuICAvKiog5pSv5oyB57yW6L6RICovXG4gIGVkaXQ/OiBib29sZWFuO1xuICAvKiog5byA5ZCv5Luj56CB5Z2X5bel5YW35p2hICovXG4gIHRvb2xiYXI/OiBib29sZWFuO1xuICAvKiog5bel5YW35p2h5LiK5pi+56S655qE5paH5a2XICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiog57yW6L6R5L+u5pS55pe255qE5Zue6LCDICovXG4gIG9uQ2hhbmdlPyhjb2RlOiBzdHJpbmcpOiB2b2lkO1xuICBjaGlsZHJlbj86IEpTWEVsZW1lbnQ7XG4gIC8qKiDkuLvpopjpo47moLxcbiAgICogQHNpbmNlIDIuMTQuMTFcbiAgICovXG4gIHRoZW1lPzogJ2xpZ2h0JyB8ICdkYXJrJztcbiAgLyoqIOe7j+WFuOmjjuagvFxuICAgKiBAc2luY2UgMi4xNC4xMVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBjbGFzc2ljPzogYm9vbGVhbjtcbn1cbmV4cG9ydCB0eXBlIENvZGVFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxDb2RlUHJvcHM+O1xuXG5mdW5jdGlvbiBDb2RlKHByb3BzOiBDb2RlUHJvcHMpIHtcbiAgY29uc3QgeyBpc0RhcmsgfSA9IHRoZW1lO1xuICBsZXQgY29kZUVsOiBIVE1MUHJlRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IHRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGRlY29kZWQgPSAvJVswLTlBLUZhLWZdezJ9LztcbiAgY29uc3QgaWQgPSBjcmVhdGVVbmlxdWVJZCgpO1xuICBjb25zdCBbY29kZSwgc2V0Q29kZV0gPSBjcmVhdGVTaWduYWw8c3RyaW5nPignJyk7XG4gIGNvbnN0IFtoaWdobGlnaHRDc3MsIHNldEhpZ2hsaWdodENzc10gPSBjcmVhdGVTaWduYWw8c3RyaW5nPigpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGZldGNoUHJpc20oKSB7XG4gICAgaWYgKCF3aW5kb3cuUHJpc20pIHtcbiAgICAgIHJldHVybiAoYXdhaXQgaW1wb3J0KCcuLi9wcmlzbScpKS5kZWZhdWx0IGFzIHVua25vd24gYXMgV2luZG93WydQcmlzbSddO1xuICAgIH1cbiAgICB3aW5kb3cuUHJpc20uZGlzYWJsZVdvcmtlck1lc3NhZ2VIYW5kbGVyID0gdHJ1ZTtcbiAgICB3aW5kb3cuUHJpc20ubWFudWFsID0gdHJ1ZTtcbiAgICByZXR1cm4gd2luZG93LlByaXNtO1xuICB9XG4gIGNvbnN0IFtwcmlzbUpTXSA9IGNyZWF0ZVJlc291cmNlKCdwcmlzbScsIGZldGNoUHJpc20pO1xuICBjb25zdCB0aXRsZSA9IGNyZWF0ZU1lbW8oKCkgPT4gcHJvcHMudGl0bGUgfHwgcHJvcHMubGFuZ3VhZ2U/LnNwbGl0KCcgJykucG9wKCkpO1xuICBjb25zdCB0b2tlbkNzcyA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIGlmIChwcm9wcy50aGVtZSkge1xuICAgICAgcmV0dXJuIHByb3BzLnRoZW1lID09PSAnZGFyaycgPyBkYXJrQ3NzIDogbGlnaHRDc3M7XG4gICAgfVxuICAgIHJldHVybiBpc0RhcmsoKSA/IGRhcmtDc3MgOiBsaWdodENzcztcbiAgfSk7XG5cbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgX25leHQgPSBwcm9wcy5jb2RlIHx8ICcnO1xuXG4gICAgaWYgKGRlY29kZWQudGVzdChfbmV4dCkpIHtcbiAgICAgIF9uZXh0ID0gZGVjb2RlVVJJQ29tcG9uZW50KF9uZXh0KTtcbiAgICB9XG4gICAgaWYgKGNvZGVFbCkge1xuICAgICAgY29kZUVsLm5vcm1hbGl6ZSgpO1xuICAgICAgaWYgKF9uZXh0ICE9PSBjb2RlRWwudGV4dENvbnRlbnQpIHtcbiAgICAgICAgc2V0Q29kZShfbmV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBjb3B5KCkge1xuICAgIHNldENsaXBib2FyZCh1bnRyYWNrKGNvZGUpLCBjb2RlRWwpO1xuICB9XG4gIGNvbnN0IGNoYW5nZTogSlNYLklucHV0RXZlbnRIYW5kbGVyVW5pb248SFRNTEVsZW1lbnQsIElucHV0RXZlbnQ+ID0gZnVuY3Rpb24gKGUpIHtcbiAgICBlLnRhcmdldC5ub3JtYWxpemUoKTtcbiAgICBjb25zdCBuZXh0ID0gZS50YXJnZXQudGV4dENvbnRlbnQ7XG5cbiAgICBzeW50YXgocHJvcHMubGFuZ3VhZ2UsIG5leHQsIHRydWUpO1xuICAgIGlmIChpc0Z1bmN0aW9uKHByb3BzLm9uQ2hhbmdlKSkge1xuICAgICAgcHJvcHMub25DaGFuZ2UobmV4dCk7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZVJhbmcoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICByYW5nZTogQWJzdHJhY3RSYW5nZSxcbiAgICBzZWxlY3Rpb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICkge1xuICAgIGNvbnN0IGhpZ2hsaWdodCA9IENTUy5oaWdobGlnaHRzLmdldChrZXkpO1xuXG4gICAgaWYgKGhpZ2hsaWdodCkge1xuICAgICAgaGlnaGxpZ2h0LmFkZChyYW5nZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIENTUy5oaWdobGlnaHRzLnNldChrZXksIG5ldyBIaWdobGlnaHQoKS5hZGQocmFuZ2UpKTtcbiAgICB9XG4gICAgaWYgKHNlbGVjdGlvbltrZXldID09PSB2b2lkIDApIHtcbiAgICAgIHNlbGVjdGlvbltrZXldID1cbiAgICAgICAgYDo6aGlnaGxpZ2h0KCR7a2V5fSl7Y29sb3I6dmFyKC0tJHt0b2tlbn0pO2JhY2tncm91bmQtY29sb3I6dmFyKC0tJHt0b2tlbn0tYmcpO3RleHQtZGVjb3JhdGlvbjp2YXIoLS0ke3Rva2VufS10ZXh0LWRlY29yYXRpb24pO3RleHQtc2hhZG93OnZhcigtLSR7dG9rZW59LXRleHQtc2hhZG93KTstd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOnZhcigtLSR7dG9rZW59LXN0cm9rZS13aWR0aCk7LXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjp2YXIoLS0ke3Rva2VufS1zdHJva2UtY29sb3IpO31gO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBoaWdobGlnaHRlcihcbiAgICBlbDogSFRNTFByZUVsZW1lbnQsXG4gICAgdG9rZW5pemU6IFRva2VuU3RyZWFtLFxuICAgIHNlbGVjdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBzdGFydCA9IDAsXG4gICkge1xuICAgIGxldCBwb3MgPSBzdGFydDtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRva2VuaXplKSkge1xuICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHRva2VuaXplLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdG9rZW5pemVbaV07XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0b2tlbiAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBwb3MgKz0gdG9rZW4ubGVuZ3RoO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHBvcyA9IGhpZ2hsaWdodGVyKGVsLCB0b2tlbiwgc2VsZWN0aW9uLCBwb3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBvcztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0b2tlbml6ZSA9PT0gJ29iamVjdCcgJiYgdG9rZW5pemUudHlwZSkge1xuICAgICAgaWYgKGVsLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSAodG9rZW5pemUuYWxpYXMgPz8gdG9rZW5pemUudHlwZSkudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3Qga2V5ID0gaWQgKyB0b2tlbjtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgUmFuZ2UoKTtcblxuICAgICAgICBpZiAoWydkZWxldGVkJywgJ2luc2VydGVkJ10uaW5jbHVkZXModG9rZW4pKSB7XG4gICAgICAgICAgLy8gZGlmZlxuICAgICAgICAgIHJhbmdlLnNldFN0YXJ0KGVsLmZpcnN0Q2hpbGQsIHBvcyArIDIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJhbmdlLnNldFN0YXJ0KGVsLmZpcnN0Q2hpbGQsIHBvcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodG9rZW5pemUuY29udGVudCkpIHtcbiAgICAgICAgICBwb3MgPSBoaWdobGlnaHRlcihlbCwgdG9rZW5pemUuY29udGVudCwgc2VsZWN0aW9uLCBwb3MpO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0b2tlbml6ZS5jb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHBvcyArPSB0b2tlbml6ZS5jb250ZW50Lmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICByYW5nZS5zZXRFbmQoZWwuZmlyc3RDaGlsZCwgcG9zKTtcbiAgICAgICAgdXBkYXRlUmFuZyhrZXksIHRva2VuLCByYW5nZSwgc2VsZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcG9zO1xuICB9XG4gIGZ1bmN0aW9uIHN5bnRheChcbiAgICBsYW5ndWFnZTogTGFuZ3VhZ2UgPSAnbWFya3VwJyBhcyBMYW5ndWFnZSxcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICBjbGVhcj86IGJvb2xlYW4sXG4gICAgcHJldkNzcyA9IHt9LFxuICApIHtcbiAgICBpZiAodGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICB0aW1lciA9IHZvaWQgMDtcbiAgICB9XG4gICAgY29uc3QgUHJpc20gPSBwcmlzbUpTKCk7XG5cbiAgICBpZiAoIXZhbHVlIHx8ICFQcmlzbSkgcmV0dXJuO1xuICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgaWYgKENTUy5oaWdobGlnaHRzKSB7XG4gICAgICAgIGlmIChjbGVhcikge1xuICAgICAgICAgIENTUy5oaWdobGlnaHRzLmZvckVhY2goKGhpZ2hsaWdodCwga2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoaWQpKSB7XG4gICAgICAgICAgICAgIGhpZ2hsaWdodC5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGdyYW1tYXJzID0gbGFuZ3VhZ2Uuc3BsaXQoJyAnKSBhcyBMYW5ndWFnZVtdLFxuICAgICAgICAgIGdyYW1tYXIgPSBQcmlzbS5sYW5ndWFnZXNbZ3JhbW1hcnNbMF1dO1xuXG4gICAgICAgIGlmIChncmFtbWFyICYmIGNvZGVFbCkge1xuICAgICAgICAgIGhpZ2hsaWdodGVyKGNvZGVFbCwgUHJpc20udG9rZW5pemUodmFsdWUsIGdyYW1tYXIpLCBwcmV2Q3NzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZ3JhbW1hcnMubGVuZ3RoID4gMSB8fCBncmFtbWFyc1swXSA9PT0gJ2dpdCcpIHtcbiAgICAgICAgICBzeW50YXgoZ3JhbW1hcnNbMV0sIHZhbHVlLCBmYWxzZSwgcHJldkNzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0SGlnaGxpZ2h0Q3NzKE9iamVjdC52YWx1ZXMocHJldkNzcykuam9pbignJykpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBFcnJvcign5LiN5pSv5oyBIENTUyBIaWdobGlnaHRzJyk7XG4gICAgICB9XG4gICAgICB0aW1lciA9IHZvaWQgMDtcbiAgICB9LCAwKTtcbiAgfVxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIHN5bnRheChwcm9wcy5sYW5ndWFnZSwgY29kZSgpLCB0cnVlKTtcbiAgfSk7XG4gIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgaWYgKENTUy5oaWdobGlnaHRzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBDU1MuaGlnaGxpZ2h0cy5rZXlzKCkpIHtcbiAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKGlkKSkge1xuICAgICAgICAgIENTUy5oaWdobGlnaHRzLmRlbGV0ZShrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3Rva2VuQ3NzKCl9IC8+XG4gICAgICA8U2hvdyB3aGVuPXtoaWdobGlnaHRDc3MoKX0+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17aGlnaGxpZ2h0Q3NzKCl9IC8+XG4gICAgICA8L1Nob3c+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3N0eWxlfSAvPlxuICAgICAgPFNob3cgd2hlbj17cHJvcHMuY3NzfT5cbiAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtjc3MocHJvcHMuY3NzKX0gLz5cbiAgICAgIDwvU2hvdz5cbiAgICAgIDxwcmVcbiAgICAgICAgY2xhc3NMaXN0PXt7XG4gICAgICAgICAgW2BsYW5ndWFnZS0ke3Byb3BzLmxhbmd1YWdlfWBdOiAhIXByb3BzLmxhbmd1YWdlLFxuICAgICAgICAgICdub3QtdG9vbGJhcic6ICFwcm9wcy50b29sYmFyLFxuICAgICAgICAgIFtwcm9wcy5jbGFzcyFdOiAhcHJvcHMuZWRpdCxcbiAgICAgICAgICBjbGFzc2ljOiBwcm9wcy5jbGFzc2ljICE9PSBmYWxzZSxcbiAgICAgICAgfX1cbiAgICAgICAgcGFydD1cImNvZGUtYmxvY2tcIlxuICAgICAgPlxuICAgICAgICA8U2hvdyB3aGVuPXtwcm9wcy50b29sYmFyfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbGJhclwiIGRhdGEtbGFuZ3VhZ2U9e3RpdGxlKCl9IHBhcnQ9XCJjb2RlLXRvb2xiYXJcIj5cbiAgICAgICAgICAgIDxDb3B5SWNvbiBjbGFzcz1cInRvb2xiYXItY29weVwiIG9uQ2xpY2s9e2NvcHl9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvU2hvdz5cbiAgICAgICAgPGNvZGVcbiAgICAgICAgICByZWY9e2NvZGVFbH1cbiAgICAgICAgICBjb250ZW50ZWRpdGFibGU9e3Byb3BzLmVkaXR9XG4gICAgICAgICAgc3BlbGxjaGVjaz17ZmFsc2V9XG4gICAgICAgICAgb246aW5wdXQ9e2NoYW5nZX1cbiAgICAgICAgICBwYXJ0PVwiY29kZS1jb250ZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgIHtjb2RlKCl9XG4gICAgICAgIDwvY29kZT5cbiAgICAgIDwvcHJlPlxuICAgIDwvPlxuICApO1xufVxuXG5Db2RlLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PENvZGVQcm9wcz4oXG4gICAgJ24tY29kZScsXG4gICAge1xuICAgICAgY2xhc3M6IHZvaWQgMCxcbiAgICAgIGNvZGU6IHZvaWQgMCxcbiAgICAgIGxhbmd1YWdlOiB2b2lkIDAsXG4gICAgICBjaGlsZHJlbjogdm9pZCAwLFxuICAgICAgZWRpdDogdm9pZCAwLFxuICAgICAgdG9vbGJhcjogdm9pZCAwLFxuICAgICAgY3NzOiB2b2lkIDAsXG4gICAgICBvbkNoYW5nZTogdm9pZCAwLFxuICAgICAgdGl0bGU6IHZvaWQgMCxcbiAgICAgIHRoZW1lOiB2b2lkIDAsXG4gICAgICBjbGFzc2ljOiB2b2lkIDAsXG4gICAgfSxcbiAgICAoXywgb3B0KSA9PiB7XG4gICAgICBjb25zdCB7IGJhc2VTdHlsZSB9ID0gdGhlbWU7XG4gICAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuICAgICAgY29uc3QgcHJvcHMgPSBtZXJnZVByb3BzKFxuICAgICAgICB7XG4gICAgICAgICAgY29kZTogZWwudGV4dENvbnRlbnQsXG4gICAgICAgICAgY3NzOiBlbC5jc3MsXG4gICAgICAgICAgb25DaGFuZ2UodmFsOiBzdHJpbmcpIHtcbiAgICAgICAgICAgIGVsLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgICAgICAgIG5ldyBDdXN0b21FdmVudCgnY2hhbmdlJywge1xuICAgICAgICAgICAgICAgIGRldGFpbDogdmFsLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgXyxcbiAgICAgICk7XG5cbiAgICAgIGNyZWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNsZWFyQXR0cmlidXRlKGVsLCBbJ2NzcycsICdjb2RlJywgJ3RpdGxlJ10pO1xuICAgICAgICBlbC5yZXBsYWNlQ2hpbGRyZW4oKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e2Jhc2VTdHlsZSgpfSAvPlxuICAgICAgICAgIDxDb2RlIHsuLi5wcm9wc30gLz5cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH0sXG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb2RlO1xuIl0sIm1hcHBpbmdzIjoiMHFCQUNBLHNLQUFBQSxDQUFBLENBQUFDLENBQUEsQ0FBQUMsQ0FBQSxvQkFBQUMsTUFBQSxDQUFBQSxNQUFBLElBQUFDLENBQUEs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
|
|
2
|
+
range.setStart(el.firstChild,pos+2)}else{range.setStart(el.firstChild,pos)}if(Array.isArray(tokenize.content)){pos=highlighter(el,tokenize.content,selection,pos)}else if(typeof tokenize.content==="string"){pos+=tokenize.content.length}range.setEnd(el.firstChild,pos);updateRang(key,_token,range,selection)}}return pos}function syntax(){var language=arguments.length>0&&arguments[0]!==undefined?arguments[0]:"markup";var value=arguments.length>1?arguments[1]:undefined;var clear=arguments.length>2?arguments[2]:undefined;var prevCss=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};if(timer){clearTimeout(timer);timer=void 0}var Prism=prismJS();if(!value||!Prism)return;timer=setTimeout(function(){clearTimeout(timer);if(CSS.highlights){if(clear){CSS.highlights.forEach(function(highlight,key){if(key.startsWith(id)){highlight.clear()}})}var grammars=language.split(" "),grammar=Prism.languages[grammars[0]];if(grammar&&codeEl){highlighter(codeEl,Prism.tokenize(value,grammar),prevCss)}if(grammars.length>1||grammars[0]==="git"){syntax(grammars[1],value,false,prevCss)}else{setHighlightCss(Object.values(prevCss).join(""))}}else{throw Error("\u4E0D\u652F\u6301 CSS Highlights")}timer=void 0},0)}createEffect(function(){syntax(props.language,code(),true)});onCleanup(function(){if(CSS.highlights){var _iterator=_createForOfIteratorHelper(CSS.highlights.keys()),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var key=_step.value;if(key.startsWith(id)){CSS.highlights["delete"](key)}}}catch(err){_iterator.e(err)}finally{_iterator.f()}}});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;_$effect(function(){return _el$2.data=tokenCss()});return _el$}(),_$createComponent(Show,{get when(){return highlightCss()},get children(){var _el$3=_tmpl$(),_el$4=_el$3.firstChild;_$effect(function(){return _el$4.data=highlightCss()});return _el$3}}),function(){var _el$5=_tmpl$2();_el$5.textContent=style;return _el$5}(),_$createComponent(Show,{get when(){return props.css},get children(){var _el$6=_tmpl$(),_el$7=_el$6.firstChild;_$effect(function(){return _el$7.data=css(props.css)});return _el$6}}),function(){var _el$8=_tmpl$4(),_el$0=_el$8.firstChild;_$insert(_el$8,_$createComponent(Show,{get when(){return props.toolbar},get children(){var _el$9=_tmpl$3();_$insert(_el$9,_$createComponent(CopyIcon,{"class":"toolbar-copy",onClick:copy}));_$effect(function(){return _$setAttribute(_el$9,"data-language",title())});return _el$9}}),_el$0);_$addEventListener(_el$0,"input",change);var _ref$=codeEl;typeof _ref$==="function"?_$use(_ref$,_el$0):codeEl=_el$0;_$setAttribute(_el$0,"spellcheck",false);_$insert(_el$0,code);_$effect(function(_p$){var _v$=_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"language-".concat(props.language),!!props.language),"not-toolbar",!props.toolbar),props["class"],!props.edit),"classic",props.classic!==false),_v$2=props.edit;_p$.e=_$classList(_el$8,_v$,_p$.e);_v$2!==_p$.t&&_$setAttribute(_el$0,"contenteditable",_p$.t=_v$2);return _p$},{e:undefined,t:undefined});return _el$8}()]}Code.registry=function(){customElement("n-code",{"class":void 0,code:void 0,language:void 0,edit:void 0,toolbar:void 0,css:void 0,onChange:void 0,title:void 0,theme:void 0,classic:void 0},function(_,opt){var baseStyle=theme.baseStyle;var el=opt.element;var props=mergeProps({code:el.textContent,css:el.css,onChange:function onChange(val){el.dispatchEvent(new CustomEvent("change",{detail:val}))}},_);createEffect(function(){clearAttribute(el,["css","code","title"]);el.replaceChildren()});return[function(){var _el$1=_tmpl$(),_el$10=_el$1.firstChild;_$effect(function(){return _el$10.data=baseStyle()});return _el$1}(),_$createComponent(Code,props)]})};export default Code;
|
|
3
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlIiwidCIsInIiLCJTeW1ib2wiLCJuIiwiaXRlcmF0b3IiLCJvIiwidG9TdHJpbmdUYWciLCJpIiwiYyIsInByb3RvdHlwZSIsIkdlbmVyYXRvciIsInUiLCJPYmplY3QiLCJjcmVhdGUiLCJfcmVnZW5lcmF0b3JEZWZpbmUyIiwiZiIsInAiLCJ5IiwiRyIsInYiLCJhIiwiZCIsImJpbmQiLCJsZW5ndGgiLCJsIiwiVHlwZUVycm9yIiwiY2FsbCIsImRvbmUiLCJ2YWx1ZSIsIkdlbmVyYXRvckZ1bmN0aW9uIiwiR2VuZXJhdG9yRnVuY3Rpb25Qcm90b3R5cGUiLCJnZXRQcm90b3R5cGVPZiIsInNldFByb3RvdHlwZU9mIiwiX19wcm90b19fIiwiZGlzcGxheU5hbWUiLCJfcmVnZW5lcmF0b3IiLCJ3IiwibSIsImRlZmluZVByb3BlcnR5IiwiX3JlZ2VuZXJhdG9yRGVmaW5lIiwiX2ludm9rZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsIl9kZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwiX3RvUHJpbWl0aXZlIiwiX3R5cGVvZiIsInRvUHJpbWl0aXZlIiwiU3RyaW5nIiwiTnVtYmVyIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJfbiIsIkYiLCJzIiwibmV4dCIsImNvbnN0cnVjdG9yIiwiYXN5bmNHZW5lcmF0b3JTdGVwIiwiUHJvbWlzZSIsInJlc29sdmUiLCJ0aGVuIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJhcmd1bWVudHMiLCJhcHBseSIsIl9uZXh0IiwiX3Rocm93IiwiX3NsaWNlZFRvQXJyYXkiLCJfYXJyYXlXaXRoSG9sZXMiLCJfaXRlcmFibGVUb0FycmF5TGltaXQiLCJfbm9uSXRlcmFibGVSZXN0IiwiX2FycmF5TGlrZVRvQXJyYXkiLCJ0b1N0cmluZyIsInNsaWNlIiwibmFtZSIsImZyb20iLCJ0ZXN0IiwicHVzaCIsImNyZWF0ZUVmZmVjdCIsImNyZWF0ZU1lbW8iLCJjcmVhdGVSZXNvdXJjZSIsImNyZWF0ZVNpZ25hbCIsImNyZWF0ZVVuaXF1ZUlkIiwibWVyZ2VQcm9wcyIsIm9uQ2xlYW51cCIsIlNob3ciLCJ1bnRyYWNrIiwiaXNGdW5jdGlvbiIsInNldENsaXBib2FyZCIsImNzcyIsImN1c3RvbUVsZW1lbnQiLCJjbGVhckF0dHJpYnV0ZSIsInRoZW1lIiwiQ29weUljb24iLCJkYXJrQ3NzIiwibGlnaHRDc3MiLCJzdHlsZSIsIkNvZGUiLCJwcm9wcyIsImlzRGFyayIsImNvZGVFbCIsInRpbWVyIiwiZGVjb2RlZCIsImlkIiwiX2NyZWF0ZVNpZ25hbCIsIl9jcmVhdGVTaWduYWwyIiwiY29kZSIsInNldENvZGUiLCJfY3JlYXRlU2lnbmFsMyIsIl9jcmVhdGVTaWduYWw0IiwiaGlnaGxpZ2h0Q3NzIiwic2V0SGlnaGxpZ2h0Q3NzIiwiZmV0Y2hQcmlzbSIsIl9mZXRjaFByaXNtIiwiX2NhbGxlZSIsIl9jb250ZXh0Iiwid2luZG93IiwiUHJpc20iLCJkaXNhYmxlV29ya2VyTWVzc2FnZUhhbmRsZXIiLCJtYW51YWwiLCJfY3JlYXRlUmVzb3VyY2UiLCJfY3JlYXRlUmVzb3VyY2UyIiwicHJpc21KUyIsInRpdGxlIiwiX3Byb3BzJGxhbmd1YWdlIiwibGFuZ3VhZ2UiLCJzcGxpdCIsInBvcCIsInRva2VuQ3NzIiwiZGVjb2RlVVJJQ29tcG9uZW50Iiwibm9ybWFsaXplIiwidGV4dENvbnRlbnQiLCJjb3B5IiwiY2hhbmdlIiwidGFyZ2V0Iiwic3ludGF4Iiwib25DaGFuZ2UiLCJ1cGRhdGVSYW5nIiwia2V5IiwidG9rZW4iLCJyYW5nZSIsInNlbGVjdGlvbiIsImhpZ2hsaWdodCIsIkNTUyIsImhpZ2hsaWdodHMiLCJnZXQiLCJhZGQiLCJzZXQiLCJIaWdobGlnaHQiLCJjb25jYXQiLCJoaWdobGlnaHRlciIsImVsIiwidG9rZW5pemUiLCJzdGFydCIsInVuZGVmaW5lZCIsInBvcyIsImxlbiIsInR5cGUiLCJmaXJzdENoaWxkIiwiX3Rva2VuaXplJGFsaWFzIiwiYWxpYXMiLCJSYW5nZSIsImluY2x1ZGVzIiwic2V0U3RhcnQiLCJjb250ZW50Iiwic2V0RW5kIiwiY2xlYXIiLCJwcmV2Q3NzIiwiY2xlYXJUaW1lb3V0Iiwic2V0VGltZW91dCIsImZvckVhY2giLCJzdGFydHNXaXRoIiwiZ3JhbW1hcnMiLCJncmFtbWFyIiwibGFuZ3VhZ2VzIiwidmFsdWVzIiwiam9pbiIsIkVycm9yIiwiX2l0ZXJhdG9yIiwia2V5cyIsIl9zdGVwIiwiZXJyIiwiX2VsJCIsIl90bXBsJCIsIl9lbCQyIiwiXyRlZmZlY3QiLCJkYXRhIiwiXyRjcmVhdGVDb21wb25lbnQiLCJ3aGVuIiwiY2hpbGRyZW4iLCJfZWwkMyIsIl9lbCQ0IiwiX2VsJDUiLCJfdG1wbCQyIiwiX2VsJDYiLCJfZWwkNyIsIl9lbCQ4IiwiX3RtcGwkNCIsIl9lbCQwIiwiXyRpbnNlcnQiLCJ0b29sYmFyIiwiX2VsJDkiLCJfdG1wbCQzIiwib25DbGljayIsIl8kc2V0QXR0cmlidXRlIiwiXyRhZGRFdmVudExpc3RlbmVyIiwiX3JlZiQiLCJfJHVzZSIsIl9wJCIsIl92JCIsImVkaXQiLCJjbGFzc2ljIiwiX3YkMiIsIl8kY2xhc3NMaXN0IiwicmVnaXN0cnkiLCJfIiwib3B0IiwiYmFzZVN0eWxlIiwiZWxlbWVudCIsInZhbCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsInJlcGxhY2VDaGlsZHJlbiIsIl9lbCQxIiwiX2VsJDEwIl0sInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2RlL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVFZmZlY3QsXG4gIGNyZWF0ZU1lbW8sXG4gIGNyZWF0ZVJlc291cmNlLFxuICBjcmVhdGVTaWduYWwsXG4gIGNyZWF0ZVVuaXF1ZUlkLFxuICB0eXBlIEpTWCxcbiAgbWVyZ2VQcm9wcyxcbiAgb25DbGVhbnVwLFxuICBTaG93LFxuICB1bnRyYWNrLFxufSBmcm9tICdzb2xpZC1qcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uLCBzZXRDbGlwYm9hcmQgfSBmcm9tICdAbW9uZWtvL2NvbW1vbic7XG5pbXBvcnQgeyBjc3MgfSBmcm9tICdAbW9uZWtvL2Nzcyc7XG5pbXBvcnQgdHlwZSB7IFRva2VuU3RyZWFtIH0gZnJvbSAncHJpc21qcyc7XG5pbXBvcnQgeyBjdXN0b21FbGVtZW50IH0gZnJvbSAnc29saWQtZWxlbWVudCc7XG5cbmltcG9ydCB0eXBlIHsgQ3VzdG9tRWxlbWVudCB9IGZyb20gJy4uJztcbmltcG9ydCB7IGNsZWFyQXR0cmlidXRlLCB0eXBlIEpTWEVsZW1lbnQgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lIGZyb20gJy4uL3RoZW1lJztcblxuaW1wb3J0IHsgQ29weUljb24gfSBmcm9tICcuL2NvcHktaWNvbic7XG5pbXBvcnQgeyBkYXJrQ3NzLCBsaWdodENzcywgc3R5bGUgfSBmcm9tICcuL3N0eWxlJztcblxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2VCYXNlID1cbiAgfCAnYmFzaCdcbiAgfCAnc2hlbGwnXG4gIHwgJ3NoJ1xuICB8ICdjbGlrZSdcbiAgfCAnY3NzJ1xuICB8ICdkb2NrZXInXG4gIHwgJ2RvY2tlcmZpbGUnXG4gIHwgJ2dpdCdcbiAgfCAnamF2YXNjcmlwdCdcbiAgfCAnanMnXG4gIHwgJ2pzb24nXG4gIHwgJ3dlYm1hbmlmZXN0J1xuICB8ICdqc3gnXG4gIHwgJ3RzeCdcbiAgfCAnbGVzcydcbiAgfCAnaHRtbCdcbiAgfCAnbWF0aG1sJ1xuICB8ICdzdmcnXG4gIHwgJ3htbCdcbiAgfCAnc3NtbCdcbiAgfCAnYXRvbSdcbiAgfCAncnNzJ1xuICB8ICdyZWdleCdcbiAgfCAncnVzdCdcbiAgfCAnc3FsJ1xuICB8ICdzd2lmdCdcbiAgfCAndG9tbCdcbiAgfCAndHlwZXNjcmlwdCdcbiAgfCAndHMnXG4gIHwgJ3lhbWwnXG4gIHwgJ3ltbCdcbiAgfCAnbWF0bGFiJztcblxudHlwZSBFeGNsdWRlTGFuZ3VhZ2U8VCBleHRlbmRzIExhbmd1YWdlQmFzZSwgVSBleHRlbmRzIExhbmd1YWdlQmFzZT4gPSBUIGV4dGVuZHMgVSA/IG5ldmVyIDogVDtcblxuZXhwb3J0IHR5cGUgTGFuZ3VhZ2UgPVxuICB8IExhbmd1YWdlQmFzZVxuICB8IHtcbiAgICAgIFtUIGluIExhbmd1YWdlQmFzZV06IGAke1R9ICR7RXhjbHVkZUxhbmd1YWdlPExhbmd1YWdlQmFzZSwgVD59YDtcbiAgICB9W0xhbmd1YWdlQmFzZV07XG5leHBvcnQgaW50ZXJmYWNlIENvZGVQcm9wcyB7XG4gIC8qKiDoh6rlrprkuYnnsbvlkI0gKi9cbiAgY2xhc3M/OiBzdHJpbmc7XG4gIC8qKiDoh6rlrprkuYnmoLflvI/ooaggKi9cbiAgY3NzPzogc3RyaW5nO1xuICAvKiog5YaF5a65ICovXG4gIGNvZGU/OiBzdHJpbmc7XG4gIC8qKiDor63oqIDvvIjmlK/mjIHlpJrnp43or63oqIDphY3nva7vvJrlpoIgYGh0bWwgY3NzIGphdmFzY3JpcHRg77yJXG4gICAqIEBkZWZhdWx0ICdtYXJrdXAnXG4gICAqL1xuICBsYW5ndWFnZT86IExhbmd1YWdlO1xuICAvKiog5pSv5oyB57yW6L6RICovXG4gIGVkaXQ/OiBib29sZWFuO1xuICAvKiog5byA5ZCv5Luj56CB5Z2X5bel5YW35p2hICovXG4gIHRvb2xiYXI/OiBib29sZWFuO1xuICAvKiog5bel5YW35p2h5LiK5pi+56S655qE5paH5a2XICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKiog57yW6L6R5L+u5pS55pe255qE5Zue6LCDICovXG4gIG9uQ2hhbmdlPyhjb2RlOiBzdHJpbmcpOiB2b2lkO1xuICBjaGlsZHJlbj86IEpTWEVsZW1lbnQ7XG4gIC8qKiDkuLvpopjpo47moLxcbiAgICogQHNpbmNlIDIuMTQuMTFcbiAgICovXG4gIHRoZW1lPzogJ2xpZ2h0JyB8ICdkYXJrJztcbiAgLyoqIOe7j+WFuOmjjuagvFxuICAgKiBAc2luY2UgMi4xNC4xMVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBjbGFzc2ljPzogYm9vbGVhbjtcbn1cbmV4cG9ydCB0eXBlIENvZGVFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxDb2RlUHJvcHM+O1xuXG5mdW5jdGlvbiBDb2RlKHByb3BzOiBDb2RlUHJvcHMpIHtcbiAgY29uc3QgeyBpc0RhcmsgfSA9IHRoZW1lO1xuICBsZXQgY29kZUVsOiBIVE1MUHJlRWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgbGV0IHRpbWVyOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRJbnRlcnZhbD4gfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGRlY29kZWQgPSAvJVswLTlBLUZhLWZdezJ9LztcbiAgY29uc3QgaWQgPSBjcmVhdGVVbmlxdWVJZCgpO1xuICBjb25zdCBbY29kZSwgc2V0Q29kZV0gPSBjcmVhdGVTaWduYWw8c3RyaW5nPignJyk7XG4gIGNvbnN0IFtoaWdobGlnaHRDc3MsIHNldEhpZ2hsaWdodENzc10gPSBjcmVhdGVTaWduYWw8c3RyaW5nPigpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGZldGNoUHJpc20oKSB7XG4gICAgaWYgKCF3aW5kb3cuUHJpc20pIHtcbiAgICAgIHJldHVybiAoYXdhaXQgaW1wb3J0KCcuLi9wcmlzbScpKS5kZWZhdWx0IGFzIHVua25vd24gYXMgV2luZG93WydQcmlzbSddO1xuICAgIH1cbiAgICB3aW5kb3cuUHJpc20uZGlzYWJsZVdvcmtlck1lc3NhZ2VIYW5kbGVyID0gdHJ1ZTtcbiAgICB3aW5kb3cuUHJpc20ubWFudWFsID0gdHJ1ZTtcbiAgICByZXR1cm4gd2luZG93LlByaXNtO1xuICB9XG4gIGNvbnN0IFtwcmlzbUpTXSA9IGNyZWF0ZVJlc291cmNlKCdwcmlzbScsIGZldGNoUHJpc20pO1xuICBjb25zdCB0aXRsZSA9IGNyZWF0ZU1lbW8oKCkgPT4gcHJvcHMudGl0bGUgfHwgcHJvcHMubGFuZ3VhZ2U/LnNwbGl0KCcgJykucG9wKCkpO1xuICBjb25zdCB0b2tlbkNzcyA9IGNyZWF0ZU1lbW8oKCkgPT4ge1xuICAgIGlmIChwcm9wcy50aGVtZSkge1xuICAgICAgcmV0dXJuIHByb3BzLnRoZW1lID09PSAnZGFyaycgPyBkYXJrQ3NzIDogbGlnaHRDc3M7XG4gICAgfVxuICAgIHJldHVybiBpc0RhcmsoKSA/IGRhcmtDc3MgOiBsaWdodENzcztcbiAgfSk7XG5cbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBsZXQgX25leHQgPSBwcm9wcy5jb2RlIHx8ICcnO1xuXG4gICAgaWYgKGRlY29kZWQudGVzdChfbmV4dCkpIHtcbiAgICAgIF9uZXh0ID0gZGVjb2RlVVJJQ29tcG9uZW50KF9uZXh0KTtcbiAgICB9XG4gICAgaWYgKGNvZGVFbCkge1xuICAgICAgY29kZUVsLm5vcm1hbGl6ZSgpO1xuICAgICAgaWYgKF9uZXh0ICE9PSBjb2RlRWwudGV4dENvbnRlbnQpIHtcbiAgICAgICAgc2V0Q29kZShfbmV4dCk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICBmdW5jdGlvbiBjb3B5KCkge1xuICAgIHNldENsaXBib2FyZCh1bnRyYWNrKGNvZGUpLCBjb2RlRWwpO1xuICB9XG4gIGNvbnN0IGNoYW5nZTogSlNYLklucHV0RXZlbnRIYW5kbGVyVW5pb248SFRNTEVsZW1lbnQsIElucHV0RXZlbnQ+ID0gZnVuY3Rpb24gKGUpIHtcbiAgICBlLnRhcmdldC5ub3JtYWxpemUoKTtcbiAgICBjb25zdCBuZXh0ID0gZS50YXJnZXQudGV4dENvbnRlbnQ7XG5cbiAgICBzeW50YXgocHJvcHMubGFuZ3VhZ2UsIG5leHQsIHRydWUpO1xuICAgIGlmIChpc0Z1bmN0aW9uKHByb3BzLm9uQ2hhbmdlKSkge1xuICAgICAgcHJvcHMub25DaGFuZ2UobmV4dCk7XG4gICAgfVxuICB9O1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZVJhbmcoXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdG9rZW46IHN0cmluZyxcbiAgICByYW5nZTogQWJzdHJhY3RSYW5nZSxcbiAgICBzZWxlY3Rpb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICkge1xuICAgIGNvbnN0IGhpZ2hsaWdodCA9IENTUy5oaWdobGlnaHRzLmdldChrZXkpO1xuXG4gICAgaWYgKGhpZ2hsaWdodCkge1xuICAgICAgaGlnaGxpZ2h0LmFkZChyYW5nZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIENTUy5oaWdobGlnaHRzLnNldChrZXksIG5ldyBIaWdobGlnaHQoKS5hZGQocmFuZ2UpKTtcbiAgICB9XG4gICAgaWYgKHNlbGVjdGlvbltrZXldID09PSB2b2lkIDApIHtcbiAgICAgIHNlbGVjdGlvbltrZXldID1cbiAgICAgICAgYDo6aGlnaGxpZ2h0KCR7a2V5fSl7Y29sb3I6dmFyKC0tJHt0b2tlbn0pO2JhY2tncm91bmQtY29sb3I6dmFyKC0tJHt0b2tlbn0tYmcpO3RleHQtZGVjb3JhdGlvbjp2YXIoLS0ke3Rva2VufS10ZXh0LWRlY29yYXRpb24pO3RleHQtc2hhZG93OnZhcigtLSR7dG9rZW59LXRleHQtc2hhZG93KTstd2Via2l0LXRleHQtc3Ryb2tlLXdpZHRoOnZhcigtLSR7dG9rZW59LXN0cm9rZS13aWR0aCk7LXdlYmtpdC10ZXh0LXN0cm9rZS1jb2xvcjp2YXIoLS0ke3Rva2VufS1zdHJva2UtY29sb3IpO31gO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBoaWdobGlnaHRlcihcbiAgICBlbDogSFRNTFByZUVsZW1lbnQsXG4gICAgdG9rZW5pemU6IFRva2VuU3RyZWFtLFxuICAgIHNlbGVjdGlvbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgICBzdGFydCA9IDAsXG4gICkge1xuICAgIGxldCBwb3MgPSBzdGFydDtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KHRva2VuaXplKSkge1xuICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IHRva2VuaXplLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gdG9rZW5pemVbaV07XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0b2tlbiAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBwb3MgKz0gdG9rZW4ubGVuZ3RoO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHBvcyA9IGhpZ2hsaWdodGVyKGVsLCB0b2tlbiwgc2VsZWN0aW9uLCBwb3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBvcztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0b2tlbml6ZSA9PT0gJ29iamVjdCcgJiYgdG9rZW5pemUudHlwZSkge1xuICAgICAgaWYgKGVsLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSAodG9rZW5pemUuYWxpYXMgPz8gdG9rZW5pemUudHlwZSkudG9TdHJpbmcoKTtcbiAgICAgICAgY29uc3Qga2V5ID0gaWQgKyB0b2tlbjtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBuZXcgUmFuZ2UoKTtcblxuICAgICAgICBpZiAoWydkZWxldGVkJywgJ2luc2VydGVkJ10uaW5jbHVkZXModG9rZW4pKSB7XG4gICAgICAgICAgLy8gZGlmZlxuICAgICAgICAgIHJhbmdlLnNldFN0YXJ0KGVsLmZpcnN0Q2hpbGQsIHBvcyArIDIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJhbmdlLnNldFN0YXJ0KGVsLmZpcnN0Q2hpbGQsIHBvcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodG9rZW5pemUuY29udGVudCkpIHtcbiAgICAgICAgICBwb3MgPSBoaWdobGlnaHRlcihlbCwgdG9rZW5pemUuY29udGVudCwgc2VsZWN0aW9uLCBwb3MpO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0b2tlbml6ZS5jb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHBvcyArPSB0b2tlbml6ZS5jb250ZW50Lmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICByYW5nZS5zZXRFbmQoZWwuZmlyc3RDaGlsZCwgcG9zKTtcbiAgICAgICAgdXBkYXRlUmFuZyhrZXksIHRva2VuLCByYW5nZSwgc2VsZWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcG9zO1xuICB9XG4gIGZ1bmN0aW9uIHN5bnRheChcbiAgICBsYW5ndWFnZTogTGFuZ3VhZ2UgPSAnbWFya3VwJyBhcyBMYW5ndWFnZSxcbiAgICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgICBjbGVhcj86IGJvb2xlYW4sXG4gICAgcHJldkNzcyA9IHt9LFxuICApIHtcbiAgICBpZiAodGltZXIpIHtcbiAgICAgIGNsZWFyVGltZW91dCh0aW1lcik7XG4gICAgICB0aW1lciA9IHZvaWQgMDtcbiAgICB9XG4gICAgY29uc3QgUHJpc20gPSBwcmlzbUpTKCk7XG5cbiAgICBpZiAoIXZhbHVlIHx8ICFQcmlzbSkgcmV0dXJuO1xuICAgIHRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgICAgaWYgKENTUy5oaWdobGlnaHRzKSB7XG4gICAgICAgIGlmIChjbGVhcikge1xuICAgICAgICAgIENTUy5oaWdobGlnaHRzLmZvckVhY2goKGhpZ2hsaWdodCwga2V5KSA9PiB7XG4gICAgICAgICAgICBpZiAoa2V5LnN0YXJ0c1dpdGgoaWQpKSB7XG4gICAgICAgICAgICAgIGhpZ2hsaWdodC5jbGVhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGdyYW1tYXJzID0gbGFuZ3VhZ2Uuc3BsaXQoJyAnKSBhcyBMYW5ndWFnZVtdLFxuICAgICAgICAgIGdyYW1tYXIgPSBQcmlzbS5sYW5ndWFnZXNbZ3JhbW1hcnNbMF1dO1xuXG4gICAgICAgIGlmIChncmFtbWFyICYmIGNvZGVFbCkge1xuICAgICAgICAgIGhpZ2hsaWdodGVyKGNvZGVFbCwgUHJpc20udG9rZW5pemUodmFsdWUsIGdyYW1tYXIpLCBwcmV2Q3NzKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZ3JhbW1hcnMubGVuZ3RoID4gMSB8fCBncmFtbWFyc1swXSA9PT0gJ2dpdCcpIHtcbiAgICAgICAgICBzeW50YXgoZ3JhbW1hcnNbMV0sIHZhbHVlLCBmYWxzZSwgcHJldkNzcyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0SGlnaGxpZ2h0Q3NzKE9iamVjdC52YWx1ZXMocHJldkNzcykuam9pbignJykpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBFcnJvcign5LiN5pSv5oyBIENTUyBIaWdobGlnaHRzJyk7XG4gICAgICB9XG4gICAgICB0aW1lciA9IHZvaWQgMDtcbiAgICB9LCAwKTtcbiAgfVxuICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgIHN5bnRheChwcm9wcy5sYW5ndWFnZSwgY29kZSgpLCB0cnVlKTtcbiAgfSk7XG4gIG9uQ2xlYW51cCgoKSA9PiB7XG4gICAgaWYgKENTUy5oaWdobGlnaHRzKSB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBDU1MuaGlnaGxpZ2h0cy5rZXlzKCkpIHtcbiAgICAgICAgaWYgKGtleS5zdGFydHNXaXRoKGlkKSkge1xuICAgICAgICAgIENTUy5oaWdobGlnaHRzLmRlbGV0ZShrZXkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3Rva2VuQ3NzKCl9IC8+XG4gICAgICA8U2hvdyB3aGVuPXtoaWdobGlnaHRDc3MoKX0+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17aGlnaGxpZ2h0Q3NzKCl9IC8+XG4gICAgICA8L1Nob3c+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3N0eWxlfSAvPlxuICAgICAgPFNob3cgd2hlbj17cHJvcHMuY3NzfT5cbiAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtjc3MocHJvcHMuY3NzKX0gLz5cbiAgICAgIDwvU2hvdz5cbiAgICAgIDxwcmVcbiAgICAgICAgY2xhc3NMaXN0PXt7XG4gICAgICAgICAgW2BsYW5ndWFnZS0ke3Byb3BzLmxhbmd1YWdlfWBdOiAhIXByb3BzLmxhbmd1YWdlLFxuICAgICAgICAgICdub3QtdG9vbGJhcic6ICFwcm9wcy50b29sYmFyLFxuICAgICAgICAgIFtwcm9wcy5jbGFzcyFdOiAhcHJvcHMuZWRpdCxcbiAgICAgICAgICBjbGFzc2ljOiBwcm9wcy5jbGFzc2ljICE9PSBmYWxzZSxcbiAgICAgICAgfX1cbiAgICAgICAgcGFydD1cImNvZGUtYmxvY2tcIlxuICAgICAgPlxuICAgICAgICA8U2hvdyB3aGVuPXtwcm9wcy50b29sYmFyfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9vbGJhclwiIGRhdGEtbGFuZ3VhZ2U9e3RpdGxlKCl9IHBhcnQ9XCJjb2RlLXRvb2xiYXJcIj5cbiAgICAgICAgICAgIDxDb3B5SWNvbiBjbGFzcz1cInRvb2xiYXItY29weVwiIG9uQ2xpY2s9e2NvcHl9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvU2hvdz5cbiAgICAgICAgPGNvZGVcbiAgICAgICAgICByZWY9e2NvZGVFbH1cbiAgICAgICAgICBjb250ZW50ZWRpdGFibGU9e3Byb3BzLmVkaXR9XG4gICAgICAgICAgc3BlbGxjaGVjaz17ZmFsc2V9XG4gICAgICAgICAgb246aW5wdXQ9e2NoYW5nZX1cbiAgICAgICAgICBwYXJ0PVwiY29kZS1jb250ZW50XCJcbiAgICAgICAgPlxuICAgICAgICAgIHtjb2RlKCl9XG4gICAgICAgIDwvY29kZT5cbiAgICAgIDwvcHJlPlxuICAgIDwvPlxuICApO1xufVxuXG5Db2RlLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PENvZGVQcm9wcz4oXG4gICAgJ24tY29kZScsXG4gICAge1xuICAgICAgY2xhc3M6IHZvaWQgMCxcbiAgICAgIGNvZGU6IHZvaWQgMCxcbiAgICAgIGxhbmd1YWdlOiB2b2lkIDAsXG4gICAgICBlZGl0OiB2b2lkIDAsXG4gICAgICB0b29sYmFyOiB2b2lkIDAsXG4gICAgICBjc3M6IHZvaWQgMCxcbiAgICAgIG9uQ2hhbmdlOiB2b2lkIDAsXG4gICAgICB0aXRsZTogdm9pZCAwLFxuICAgICAgdGhlbWU6IHZvaWQgMCxcbiAgICAgIGNsYXNzaWM6IHZvaWQgMCxcbiAgICB9LFxuICAgIChfLCBvcHQpID0+IHtcbiAgICAgIGNvbnN0IHsgYmFzZVN0eWxlIH0gPSB0aGVtZTtcbiAgICAgIGNvbnN0IGVsID0gb3B0LmVsZW1lbnQ7XG4gICAgICBjb25zdCBwcm9wcyA9IG1lcmdlUHJvcHMoXG4gICAgICAgIHtcbiAgICAgICAgICBjb2RlOiBlbC50ZXh0Q29udGVudCxcbiAgICAgICAgICBjc3M6IGVsLmNzcyxcbiAgICAgICAgICBvbkNoYW5nZSh2YWw6IHN0cmluZykge1xuICAgICAgICAgICAgZWwuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgbmV3IEN1c3RvbUV2ZW50KCdjaGFuZ2UnLCB7XG4gICAgICAgICAgICAgICAgZGV0YWlsOiB2YWwsXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICBfLFxuICAgICAgKTtcblxuICAgICAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsnY3NzJywgJ2NvZGUnLCAndGl0bGUnXSk7XG4gICAgICAgIGVsLnJlcGxhY2VDaGlsZHJlbigpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICAgICAgPENvZGUgey4uLnByb3BzfSAvPlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvZGU7XG4iXSwibWFwcGluZ3MiOiIwcUJBQ0Esc0tBQUFBLENBQUEsQ0FBQUMsQ0FBQSxDQUFBQyxDQUFBLG9CQUFBQyxNQUFBLENBQUFBLE1BQUEsSUFBQUMsQ0FBQSxDQUFBRixDQUFBLENBQUFHLFFBQUEsZUFB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QSxVQUFBMEMsS0FBQSxJQVVyQyxDQUVBbkcsSUFBSSxDQUFDcUgsUUFBUSxDQUFHLFVBQU0sQ0FDcEI1SCxhQUFhLENBQ1gsUUFBUSxDQUNSLENBQ0UsUUFBTyxJQUFLLEVBQUMsQ0FDYmdCLElBQUksQ0FBRSxJQUFLLEVBQUMsQ0FDWm1CLFFBQVEsQ0FBRSxJQUFLLEVBQUMsQ0FDaEJxRixJQUFJLENBQUUsSUFBSyxFQUFDLENBQ1pWLE9BQU8sQ0FBRSxJQUFLLEVBQUMsQ0FDZi9HLEdBQUcsQ0FBRSxJQUFLLEVBQUMsQ0FDWCtDLFFBQVEsQ0FBRSxJQUFLLEVBQUMsQ0FDaEJiLEtBQUssQ0FBRSxJQUFLLEVBQUMsQ0FDYi9CLEtBQUssQ0FBRSxJQUFLLEVBQUMsQ0FDYnVILE9BQU8sQ0FBRSxJQUFLLEVBQ2hCLENBQUMsQ0FDRCxTQUFDSSxDQUFDLENBQUVDLEdBQUcsQ0FBSyxDQUNWLEdBQVEsQ0FBQUMsU0FBUyxDQUFLN0gsS0FBSyxDQUFuQjZILFNBQVMsQ0FDakIsR0FBTSxDQUFBbEUsRUFBRSxDQUFHaUUsR0FBRyxDQUFDRSxPQUFPLENBQ3RCLEdBQU0sQ0FBQXhILEtBQUssQ0FBR2YsVUFBVSxDQUN0QixDQUNFdUIsSUFBSSxDQUFFNkMsRUFBRSxDQUFDcEIsV0FBVyxDQUNwQjFDLEdBQUcsQ0FBRThELEVBQUUsQ0FBQzlELEdBQUcsQ0FDWCtDLFFBQVEsU0FBUixDQUFBQSxRQUFRQSxDQUFDbUYsR0FBVyxDQUFFLENBQ3BCcEUsRUFBRSxDQUFDcUUsYUFBYSxDQUNkLEdBQUksQ0FBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBRSxDQUN4QkMsTUFBTSxDQUFFSCxHQUNWLENBQUMsQ0FDSCxDQUNGLENBQ0YsQ0FBQyxDQUNESixDQUNGLENBQUMsQ0FFRHpJLFlBQVksQ0FBQyxVQUFNLENBQ2pCYSxjQUFjLENBQUM0RCxFQUFFLENBQUUsQ0FBQyxLQUFLLENBQUUsTUFBTSxDQUFFLE9BQU8sQ0FBQyxDQUFDLENBQzVDQSxFQUFFLENBQUN3RSxlQUFlLENBQUMsQ0FDckIsQ0FBQyxDQUFDLENBQ0Ysc0JBQUFDLEtBQUEsQ0FBQXpDLE1BQUEsR0FBQTBDLE1BQUEsQ0FBQUQsS0FBQSxDQUFBbEUsVUFBQSxDQUFBMkIsUUFBQSxtQkFBQXdDLE1BQUEsQ0FBQXZDLElBQUEsQ0FFd0IrQixTQUFTLENBQUMsQ0FBQyxVQUFBTyxLQUFBLElBQUFyQyxpQkFBQSxDQUM5QjFGLElBQUksQ0FBS0MsS0FBSyxFQUdyQixDQUNGLENBQ0YsQ0FBQyxDQUVELGNBQWUsQ0FBQUQsSUFBSSIsImlnbm9yZUxpc3QiOltdfQ==
|
package/es/collapse/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{template as _$template}from"solid-js/web";import{memo as _$memo}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{insert as _$insert}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _templateObject;var _tmpl$=/*#__PURE__*/_$template(`<style>`),_tmpl$2=/*#__PURE__*/_$template(`<style> `),_tmpl$3=/*#__PURE__*/_$template(`<details><summary></summary><div class=content part=content>`);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 _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 _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 _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 _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}import{createEffect,createMemo,Index,mergeProps}from"solid-js";import{css}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import theme,{block}from"../theme";var style=css(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n details {\n overflow: hidden;\n border-radius: var(--border-radius);\n padding: 12px 24px;\n background-color: var(--collapse-bg);\n box-sizing: border-box;\n box-shadow: 0 2px 8px 0 var(--primary-shadow, rgb(0 0 0 / 5%));\n user-select: auto;\n }\n\n details,\n details > summary,\n details > summary::before {\n transition-duration: var(--transition-duration);\n transition-timing-function: var(--transition-timing-function);\n transition-property: background-color, transform, border-color;\n }\n\n details > summary {\n font-weight: 500;\n outline: none;\n cursor: pointer;\n transform: translateX(-18px);\n }\n\n details > summary::-webkit-details-marker,\n details > summary::marker {\n display: none;\n color: transparent;\n }\n\n details > summary::before {\n display: inline-block;\n margin-inline-end: 4px;\n inline-size: 14px;\n font-weight: lighter;\n text-align: center;\n opacity: 0.5;\n content: '\u26CC';\n transform: rotate(45deg);\n }\n\n details[open] > summary::before {\n transform: rotate(0);\n }\n\n details > .content {\n padding: 10px 0 0;\n }\n"])));var Collapse=function Collapse(_props){var baseStyle=theme.baseStyle;var props=mergeProps({autoplay:-1,children:[]},_props);var list=createMemo(function(){return _toConsumableArray(props.children)});return[function(){var _el$=_tmpl$();_el$.textContent=block;return _el$}(),function(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;_$effect(function(){return _el$3.data=baseStyle()});return _el$2}(),function(){var _el$4=_tmpl$();_el$4.textContent=style;return _el$4}(),function(){var _el$5=_tmpl$3(),_el$6=_el$5.firstChild,_el$7=_el$6.nextSibling;_$insert(_el$6,function(){return props.title});_$insert(_el$7,_$createComponent(Index,{get each(){return list()},children:function children(item){return _$memo(item)}}));return _el$5}()]};Collapse.registry=function(){customElement("n-collapse",{"class":void 0,css:void 0,title:void 0,children:[]},function(
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
1
|
+
import{template as _$template}from"solid-js/web";import{mergeProps as _$mergeProps}from"solid-js/web";import{memo as _$memo}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{insert as _$insert}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _templateObject;var _tmpl$=/*#__PURE__*/_$template(`<style>`),_tmpl$2=/*#__PURE__*/_$template(`<style> `),_tmpl$3=/*#__PURE__*/_$template(`<details><summary></summary><div class=content part=content>`);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 _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}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 _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 _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 _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 _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}import{createEffect,createMemo,Index,mergeProps,splitProps}from"solid-js";import{css}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import theme,{block}from"../theme";var style=css(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n details {\n overflow: hidden;\n border-radius: var(--border-radius);\n padding: 12px 24px;\n background-color: var(--collapse-bg);\n box-sizing: border-box;\n box-shadow: 0 2px 8px 0 var(--primary-shadow, rgb(0 0 0 / 5%));\n user-select: auto;\n }\n\n details,\n details > summary,\n details > summary::before {\n transition-duration: var(--transition-duration);\n transition-timing-function: var(--transition-timing-function);\n transition-property: background-color, transform, border-color;\n }\n\n details > summary {\n font-weight: 500;\n outline: none;\n cursor: pointer;\n transform: translateX(-18px);\n }\n\n details > summary::-webkit-details-marker,\n details > summary::marker {\n display: none;\n color: transparent;\n }\n\n details > summary::before {\n display: inline-block;\n margin-inline-end: 4px;\n inline-size: 14px;\n font-weight: lighter;\n text-align: center;\n opacity: 0.5;\n content: '\u26CC';\n transform: rotate(45deg);\n }\n\n details[open] > summary::before {\n transform: rotate(0);\n }\n\n details > .content {\n padding: 10px 0 0;\n }\n"])));var Collapse=function Collapse(_props){var baseStyle=theme.baseStyle;var props=mergeProps({autoplay:-1,children:[]},_props);var list=createMemo(function(){return _toConsumableArray(props.children)});return[function(){var _el$=_tmpl$();_el$.textContent=block;return _el$}(),function(){var _el$2=_tmpl$2(),_el$3=_el$2.firstChild;_$effect(function(){return _el$3.data=baseStyle()});return _el$2}(),function(){var _el$4=_tmpl$();_el$4.textContent=style;return _el$4}(),function(){var _el$5=_tmpl$3(),_el$6=_el$5.firstChild,_el$7=_el$6.nextSibling;_$insert(_el$6,function(){return props.title});_$insert(_el$7,_$createComponent(Index,{get each(){return list()},children:function children(item){return _$memo(item)}}));return _el$5}()]};Collapse.registry=function(){customElement("n-collapse",{"class":void 0,css:void 0,title:void 0,children:[]},function(_,opt){var el=opt.element;var nodes=_toConsumableArray(el.children);var _splitProps=splitProps(_,["children"]),_splitProps2=_slicedToArray(_splitProps,2),props=_splitProps2[1];createEffect(function(){clearAttribute(el,["css","title"]);el.replaceChildren()});return _$createComponent(Collapse,_$mergeProps(props,{children:nodes}))})};export default Collapse;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJjcmVhdGVNZW1vIiwiSW5kZXgiLCJtZXJnZVByb3BzIiwic3BsaXRQcm9wcyIsImNzcyIsImN1c3RvbUVsZW1lbnQiLCJjbGVhckF0dHJpYnV0ZSIsInRoZW1lIiwiYmxvY2siLCJzdHlsZSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJDb2xsYXBzZSIsIl9wcm9wcyIsImJhc2VTdHlsZSIsInByb3BzIiwiYXV0b3BsYXkiLCJjaGlsZHJlbiIsImxpc3QiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJfZWwkIiwiX3RtcGwkIiwidGV4dENvbnRlbnQiLCJfZWwkMiIsIl90bXBsJDIiLCJfZWwkMyIsImZpcnN0Q2hpbGQiLCJfJGVmZmVjdCIsImRhdGEiLCJfZWwkNCIsIl9lbCQ1IiwiX3RtcGwkMyIsIl9lbCQ2IiwiX2VsJDciLCJuZXh0U2libGluZyIsIl8kaW5zZXJ0IiwidGl0bGUiLCJfJGNyZWF0ZUNvbXBvbmVudCIsImVhY2giLCJpdGVtIiwiXyRtZW1vIiwicmVnaXN0cnkiLCJfIiwib3B0IiwiZWwiLCJlbGVtZW50Iiwibm9kZXMiLCJfc3BsaXRQcm9wcyIsIl9zcGxpdFByb3BzMiIsIl9zbGljZWRUb0FycmF5IiwicmVwbGFjZUNoaWxkcmVuIiwiXyRtZXJnZVByb3BzIl0sInNvdXJjZXMiOlsiY29tcG9uZW50cy9jb2xsYXBzZS9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlRWZmZWN0LCBjcmVhdGVNZW1vLCBJbmRleCwgbWVyZ2VQcm9wcywgc3BsaXRQcm9wcyB9IGZyb20gJ3NvbGlkLWpzJztcbmltcG9ydCB7IGNzcyB9IGZyb20gJ0Btb25la28vY3NzJztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUsIHR5cGUgSlNYRWxlbWVudCB9IGZyb20gJy4uL2Jhc2ljLWNvbmZpZyc7XG5pbXBvcnQgdGhlbWUsIHsgYmxvY2sgfSBmcm9tICcuLi90aGVtZSc7XG5cbmNvbnN0IHN0eWxlID0gY3NzYFxuICBkZXRhaWxzIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMpO1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xsYXBzZS1iZyk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggMCB2YXIoLS1wcmltYXJ5LXNoYWRvdywgcmdiKDAgMCAwIC8gNSUpKTtcbiAgICB1c2VyLXNlbGVjdDogYXV0bztcbiAgfVxuXG4gIGRldGFpbHMsXG4gIGRldGFpbHMgPiBzdW1tYXJ5LFxuICBkZXRhaWxzID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiB2YXIoLS10cmFuc2l0aW9uLWR1cmF0aW9uKTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogdmFyKC0tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24pO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIHRyYW5zZm9ybSwgYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgZGV0YWlscyA+IHN1bW1hcnkge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xOHB4KTtcbiAgfVxuXG4gIGRldGFpbHMgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyLFxuICBkZXRhaWxzID4gc3VtbWFyeTo6bWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIGRldGFpbHMgPiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4taW5saW5lLWVuZDogNHB4O1xuICAgIGlubGluZS1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBsaWdodGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY29udGVudDogJ+KbjCc7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB9XG5cbiAgZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIH1cblxuICBkZXRhaWxzID4gLmNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDEwcHggMCAwO1xuICB9XG5gO1xuY29uc3QgQ29sbGFwc2UgPSAoX3Byb3BzOiBDb2xsYXBzZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgYmFzZVN0eWxlIH0gPSB0aGVtZTtcbiAgY29uc3QgcHJvcHMgPSBtZXJnZVByb3BzKHsgYXV0b3BsYXk6IC0xLCBjaGlsZHJlbjogW10gfSwgX3Byb3BzKTtcbiAgY29uc3QgbGlzdCA9IGNyZWF0ZU1lbW8oKCkgPT4gWy4uLnByb3BzLmNoaWxkcmVuXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtibG9ja30gLz5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17YmFzZVN0eWxlKCl9IC8+XG4gICAgICA8c3R5bGUgdGV4dENvbnRlbnQ9e3N0eWxlfSAvPlxuICAgICAgPGRldGFpbHM+XG4gICAgICAgIDxzdW1tYXJ5Pntwcm9wcy50aXRsZX08L3N1bW1hcnk+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCIgcGFydD1cImNvbnRlbnRcIj5cbiAgICAgICAgICA8SW5kZXggZWFjaD17bGlzdCgpfT5cbiAgICAgICAgICAgIHsoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gPD57aXRlbSgpfTwvPjtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPC9JbmRleD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2RldGFpbHM+XG4gICAgPC8+XG4gICk7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbGxhcHNlUHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ57G75ZCNICovXG4gIGNsYXNzPzogc3RyaW5nO1xuICAvKiog6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIGNzcz86IHN0cmluZztcbiAgdGl0bGU6IEpTWEVsZW1lbnQ7XG4gIC8qKiDlhoXlrrkgKi9cbiAgY2hpbGRyZW46IEpTWEVsZW1lbnRbXTtcbn1cbmV4cG9ydCB0eXBlIENvbGxhcHNlRWxlbWVudCA9IEN1c3RvbUVsZW1lbnQ8Q29sbGFwc2VQcm9wcz47XG5cbkNvbGxhcHNlLnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PENvbGxhcHNlUHJvcHM+KFxuICAgICduLWNvbGxhcHNlJyxcbiAgICB7XG4gICAgICBjbGFzczogdm9pZCAwLFxuICAgICAgY3NzOiB2b2lkIDAsXG4gICAgICB0aXRsZTogdm9pZCAwLFxuICAgICAgY2hpbGRyZW46IFtdLFxuICAgIH0sXG4gICAgKF8sIG9wdCkgPT4ge1xuICAgICAgY29uc3QgZWwgPSBvcHQuZWxlbWVudDtcbiAgICAgIGNvbnN0IG5vZGVzID0gWy4uLmVsLmNoaWxkcmVuXTtcbiAgICAgIGNvbnN0IFssIHByb3BzXSA9IHNwbGl0UHJvcHMoXywgWydjaGlsZHJlbiddKTtcblxuICAgICAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsnY3NzJywgJ3RpdGxlJ10pO1xuICAgICAgICBlbC5yZXBsYWNlQ2hpbGRyZW4oKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIDxDb2xsYXBzZSB7Li4ucHJvcHN9Pntub2Rlc308L0NvbGxhcHNlPjtcbiAgICB9LFxuICApO1xufTtcbmV4cG9ydCBkZWZhdWx0IENvbGxhcHNlO1xuIl0sIm1hcHBpbmdzIjoibTNFQUFB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
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{template as _$template}from"solid-js/web";import{className as _$className}from"solid-js/web";import{insert as _$insert}from"solid-js/web";import{use as _$use}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _templateObject;var _tmpl$=/*#__PURE__*/_$template(`<style> `),_tmpl$2=/*#__PURE__*/_$template(`<style>`),_tmpl$3=/*#__PURE__*/_$template(`<div>`);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)}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}import{createEffect,createMemo,createUniqueId,mergeProps,Show}from"solid-js";import{css,cx}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import theme,{inline}from"../theme";var style=css(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n .text {\n word-break: break-word;\n word-wrap: break-word;\n white-space: break-spaces;\n cursor: auto;\n }\n"])));function execAll(str,regex){var lastMatch;var matches=[];while(lastMatch=regex.exec(str)){matches.push(lastMatch);if(!regex.global)break}return matches}function highlight(box,id,regExp,flag,text){var regex=new RegExp(regExp,flag);execAll(text,regex).forEach(function(match){var range=new Range;var pos=0;pos+=match.index;if(box.firstChild){range.setStart(box.firstChild,pos);pos+=match[0].length;range.setEnd(box.firstChild,pos)}var cssHighlight=CSS.highlights.get(id);if(cssHighlight){cssHighlight.add(range)}else{CSS.highlights.set(id,new Highlight().add(range))}})}function HighlightText(props){var baseStyle=theme.baseStyle;var box;var id=createUniqueId();var text=createMemo(function(){var _props$extra;return"".concat(props.text).concat((_props$extra=props.extra)!==null&&_props$extra!==void 0?_props$extra:"")});createEffect(function(){if(box&&props.highlight){if(Array.isArray(props.highlight)){for(var i=0,len=props.highlight.length;i<len;i++){var item=props.highlight[i];var isOne=_typeof(item)!=="object";var hitStr=String(isOne?item:item.highlight);if(hitStr.length){var _item$flag;highlight(box,id,hitStr,isOne?props.flag:(_item$flag=item.flag)!==null&&_item$flag!==void 0?_item$flag:props.flag,text())}}}else if(String(props.highlight).length){highlight(box,id,String(props.highlight),props.flag,text())}}});createEffect(function(){if(box&&typeof props.extra==="string"){var _props$text;var range=new Range;var pos=((_props$text=props.text)===null||_props$text===void 0?void 0:_props$text.length)||0;if(box.firstChild){range.setStart(box.firstChild,pos);pos+=props.extra.length;range.setEnd(box.firstChild,pos)}var cssHighlight=CSS.highlights.get(id);if(cssHighlight){cssHighlight.add(range)}else{CSS.highlights.set(id,new Highlight().add(range))}}});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;_$effect(function(){return _el$2.data=baseStyle()});return _el$}(),function(){var _el$3=_tmpl$2();_el$3.textContent=style;return _el$3}(),function(){var _el$4=_tmpl$(),_el$5=_el$4.firstChild;_$effect(function(){var _props$highlightColor;return _el$5.data="::highlight(".concat(id,") {color: ").concat((_props$highlightColor=props.highlightColor)!==null&&_props$highlightColor!==void 0?_props$highlightColor:"var(--primary-color, #5794ff)",";}")});return _el$4}(),_$createComponent(Show,{get when(){return props.css},get children(){var _el$6=_tmpl$(),_el$7=_el$6.firstChild;_$effect(function(){return _el$7.data=css(props.css)});return _el$6}}),function(){var _el$8=_tmpl$3();var _ref$=box;typeof _ref$==="function"?_$use(_ref$,_el$8):box=_el$8;_$insert(_el$8,text);_$effect(function(){return _$className(_el$8,cx("text",props["class"]))});return _el$8}()]}HighlightText.registry=function(){customElement("n-highlight-text",{"class":void 0,css:void 0,text:void 0,highlight:void 0,flag:void 0,extra:void 0,highlightColor:void 0
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJjcmVhdGVNZW1vIiwiY3JlYXRlVW5pcXVlSWQiLCJtZXJnZVByb3BzIiwiU2hvdyIsImNzcyIsImN4IiwiY3VzdG9tRWxlbWVudCIsImNsZWFyQXR0cmlidXRlIiwidGhlbWUiLCJpbmxpbmUiLCJzdHlsZSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJleGVjQWxsIiwic3RyIiwicmVnZXgiLCJsYXN0TWF0Y2giLCJtYXRjaGVzIiwiZXhlYyIsInB1c2giLCJnbG9iYWwiLCJoaWdobGlnaHQiLCJib3giLCJpZCIsInJlZ0V4cCIsImZsYWciLCJ0ZXh0IiwiUmVnRXhwIiwiZm9yRWFjaCIsIm1hdGNoIiwicmFuZ2UiLCJSYW5nZSIsInBvcyIsImluZGV4IiwiZmlyc3RDaGlsZCIsInNldFN0YXJ0IiwibGVuZ3RoIiwic2V0RW5kIiwiY3NzSGlnaGxpZ2h0IiwiQ1NTIiwiaGlnaGxpZ2h0cyIsImdldCIsImFkZCIsInNldCIsIkhpZ2hsaWdodCIsIkhpZ2hsaWdodFRleHQiLCJwcm9wcyIsImJhc2VTdHlsZSIsIl9wcm9wcyRleHRyYSIsImNvbmNhdCIsImV4dHJhIiwiQXJyYXkiLCJpc0FycmF5IiwiaSIsImxlbiIsIml0ZW0iLCJpc09uZSIsIl90eXBlb2YiLCJoaXRTdHIiLCJTdHJpbmciLCJfaXRlbSRmbGFnIiwiX3Byb3BzJHRleHQiLCJfZWwkIiwiX3RtcGwkIiwiX2VsJDIiLCJfJGVmZmVjdCIsImRhdGEiLCJfZWwkMyIsIl90bXBsJDIiLCJ0ZXh0Q29udGVudCIsIl9lbCQ0IiwiX2VsJDUiLCJfcHJvcHMkaGlnaGxpZ2h0Q29sb3IiLCJoaWdobGlnaHRDb2xvciIsIl8kY3JlYXRlQ29tcG9uZW50Iiwid2hlbiIsImNoaWxkcmVuIiwiX2VsJDYiLCJfZWwkNyIsIl9lbCQ4IiwiX3RtcGwkMyIsIl9yZWYkIiwiXyR1c2UiLCJfJGluc2VydCIsIl8kY2xhc3NOYW1lIiwicmVnaXN0cnkiLCJfIiwib3B0IiwiZWwiLCJlbGVtZW50IiwicmVwbGFjZUNoaWxkcmVuIiwiX2VsJDkiXSwic291cmNlcyI6WyJjb21wb25lbnRzL2hpZ2hsaWdodC10ZXh0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFZmZlY3QsIGNyZWF0ZU1lbW8sIGNyZWF0ZVVuaXF1ZUlkLCBtZXJnZVByb3BzLCBTaG93IH0gZnJvbSAnc29saWQtanMnO1xuaW1wb3J0IHsgY3NzLCBjeCB9IGZyb20gJ0Btb25la28vY3NzJztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHR5cGUgeyBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuY29uc3Qgc3R5bGUgPSBjc3NgXG4gIC50ZXh0IHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuYDtcblxuZnVuY3Rpb24gZXhlY0FsbChzdHI6IHN0cmluZywgcmVnZXg6IFJlZ0V4cCkge1xuICBsZXQgbGFzdE1hdGNoOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsO1xuICBjb25zdCBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXlbXSA9IFtdO1xuXG4gIHdoaWxlICgobGFzdE1hdGNoID0gcmVnZXguZXhlYyhzdHIpKSkge1xuICAgIG1hdGNoZXMucHVzaChsYXN0TWF0Y2gpO1xuXG4gICAgaWYgKCFyZWdleC5nbG9iYWwpIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIGhpZ2hsaWdodChcbiAgYm94OiBIVE1MRGl2RWxlbWVudCxcbiAgaWQ6IHN0cmluZyxcbiAgcmVnRXhwOiBzdHJpbmcsXG4gIGZsYWc6IEhpZ2hsaWdodFJ1bGVbJ2ZsYWcnXSxcbiAgdGV4dDogc3RyaW5nLFxuKSB7XG4gIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChyZWdFeHAsIGZsYWcpO1xuXG4gIGV4ZWNBbGwodGV4dCwgcmVnZXgpLmZvckVhY2goKG1hdGNoKSA9PiB7XG4gICAgY29uc3QgcmFuZ2UgPSBuZXcgUmFuZ2UoKTtcbiAgICBsZXQgcG9zID0gMDtcblxuICAgIHBvcyArPSBtYXRjaC5pbmRleDtcbiAgICBpZiAoYm94LmZpcnN0Q2hpbGQpIHtcbiAgICAgIHJhbmdlLnNldFN0YXJ0KGJveC5maXJzdENoaWxkLCBwb3MpO1xuICAgICAgcG9zICs9IG1hdGNoWzBdLmxlbmd0aDtcbiAgICAgIHJhbmdlLnNldEVuZChib3guZmlyc3RDaGlsZCwgcG9zKTtcbiAgICB9XG4gICAgY29uc3QgY3NzSGlnaGxpZ2h0ID0gQ1NTLmhpZ2hsaWdodHMuZ2V0KGlkKTtcblxuICAgIGlmIChjc3NIaWdobGlnaHQpIHtcbiAgICAgIGNzc0hpZ2hsaWdodC5hZGQocmFuZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBDU1MuaGlnaGxpZ2h0cy5zZXQoaWQsIG5ldyBIaWdobGlnaHQoKS5hZGQocmFuZ2UpKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgdHlwZSBIaWdobGlnaHRUZXh0SnNvbiA9XG4gIHwge1xuICAgICAgaGlnaGxpZ2h0PzogYm9vbGVhbjtcbiAgICAgIHRleHQ6IHN0cmluZztcbiAgICB9W11cbiAgfCBudWxsO1xuZXhwb3J0IGludGVyZmFjZSBIaWdobGlnaHRUZXh0UHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIGNzcz86IHN0cmluZztcbiAgLyoqIOiHquWumuS5ieexu+WQjSAqL1xuICBjbGFzcz86IHN0cmluZztcbiAgLyoqIOWGheWuuSAqL1xuICB0ZXh0Pzogc3RyaW5nO1xuICAvKiog6ZyA6KaB6auY5Lqu55qE5YaF5a65ICovXG4gIGhpZ2hsaWdodD86IHN0cmluZyB8IChIaWdobGlnaHRSdWxlIHwgc3RyaW5nKVtdO1xuICAvKiogUmVnRXhwIGZsYWcgKi9cbiAgZmxhZz86IEhpZ2hsaWdodFJ1bGVbJ2ZsYWcnXTtcbiAgLyoqIOmineWklumcgOimgemrmOS6rueahOWGheWuuSAqL1xuICBleHRyYT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBzdHJpbmc7XG4gIC8qKiDpq5jkuq7popzoibJcbiAgICogQGRlZmF1bHQgJyM1Nzk0ZmYnXG4gICAqIEBzaW5jZSAyLjEyLjJcbiAgICoqL1xuICBoaWdobGlnaHRDb2xvcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEhpZ2hsaWdodFJ1bGUge1xuICAvKiog6ZyA6KaB6auY5Lqu55qE5YaF5a65ICovXG4gIGhpZ2hsaWdodDogc3RyaW5nO1xuICAvKiogUmVnRXhwIGZsYWcgKi9cbiAgZmxhZz86ICdnJyB8ICdpJyB8ICdtJyB8ICd1JyB8ICd5Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIaWdobGlnaHQge1xuICAvKiog5ZG95Lit6auY5LquICovXG4gIGhpdD86IGJvb2xlYW47XG4gIC8qKiDlhoXlrrkgKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBIaWdobGlnaHRUZXh0KHByb3BzOiBIaWdobGlnaHRUZXh0UHJvcHMpIHtcbiAgY29uc3QgeyBiYXNlU3R5bGUgfSA9IHRoZW1lO1xuICBsZXQgYm94OiBIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgY29uc3QgaWQgPSBjcmVhdGVVbmlxdWVJZCgpO1xuICBjb25zdCB0ZXh0ID0gY3JlYXRlTWVtbygoKSA9PiBgJHtwcm9wcy50ZXh0fSR7cHJvcHMuZXh0cmEgPz8gJyd9YCk7XG5cbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYm94ICYmIHByb3BzLmhpZ2hsaWdodCkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcHMuaGlnaGxpZ2h0KSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gcHJvcHMuaGlnaGxpZ2h0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IHByb3BzLmhpZ2hsaWdodFtpXTtcbiAgICAgICAgICBjb25zdCBpc09uZSA9IHR5cGVvZiBpdGVtICE9PSAnb2JqZWN0JztcbiAgICAgICAgICBjb25zdCBoaXRTdHIgPSBTdHJpbmcoaXNPbmUgPyBpdGVtIDogaXRlbS5oaWdobGlnaHQpO1xuXG4gICAgICAgICAgaWYgKGhpdFN0ci5sZW5ndGgpIHtcbiAgICAgICAgICAgIGhpZ2hsaWdodChib3gsIGlkLCBoaXRTdHIsIGlzT25lID8gcHJvcHMuZmxhZyA6IChpdGVtLmZsYWcgPz8gcHJvcHMuZmxhZyksIHRleHQoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFN0cmluZyhwcm9wcy5oaWdobGlnaHQpLmxlbmd0aCkge1xuICAgICAgICBoaWdobGlnaHQoYm94LCBpZCwgU3RyaW5nKHByb3BzLmhpZ2hsaWdodCksIHByb3BzLmZsYWcsIHRleHQoKSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYm94ICYmIHR5cGVvZiBwcm9wcy5leHRyYSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHJhbmdlID0gbmV3IFJhbmdlKCk7XG4gICAgICBsZXQgcG9zID0gcHJvcHMudGV4dD8ubGVuZ3RoIHx8IDA7XG5cbiAgICAgIGlmIChib3guZmlyc3RDaGlsZCkge1xuICAgICAgICByYW5nZS5zZXRTdGFydChib3guZmlyc3RDaGlsZCwgcG9zKTtcbiAgICAgICAgcG9zICs9IHByb3BzLmV4dHJhLmxlbmd0aDtcbiAgICAgICAgcmFuZ2Uuc2V0RW5kKGJveC5maXJzdENoaWxkLCBwb3MpO1xuICAgICAgfVxuICAgICAgY29uc3QgY3NzSGlnaGxpZ2h0ID0gQ1NTLmhpZ2hsaWdodHMuZ2V0KGlkKTtcblxuICAgICAgaWYgKGNzc0hpZ2hsaWdodCkge1xuICAgICAgICBjc3NIaWdobGlnaHQuYWRkKHJhbmdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIENTUy5oaWdobGlnaHRzLnNldChpZCwgbmV3IEhpZ2hsaWdodCgpLmFkZChyYW5nZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtiYXNlU3R5bGUoKX0gLz5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17c3R5bGV9IC8+XG4gICAgICA8c3R5bGVcbiAgICAgICAgdGV4dENvbnRlbnQ9e2A6OmhpZ2hsaWdodCgke2lkfSkge2NvbG9yOiAke3Byb3BzLmhpZ2hsaWdodENvbG9yID8/ICd2YXIoLS1wcmltYXJ5LWNvbG9yLCAjNTc5NGZmKSd9O31gfVxuICAgICAgLz5cbiAgICAgIDxTaG93IHdoZW49e3Byb3BzLmNzc30+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKHByb3BzLmNzcyl9IC8+XG4gICAgICA8L1Nob3c+XG4gICAgICA8ZGl2IHJlZj17Ym94fSBjbGFzcz17Y3goJ3RleHQnLCBwcm9wcy5jbGFzcyl9PlxuICAgICAgICB7dGV4dCgpfVxuICAgICAgPC9kaXY+XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIEhpZ2hsaWdodFRleHRFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxIaWdobGlnaHRUZXh0UHJvcHM+O1xuXG5IaWdobGlnaHRUZXh0LnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PEhpZ2hsaWdodFRleHRQcm9wcz4oXG4gICAgJ24taGlnaGxpZ2h0LXRleHQnLFxuICAgIHtcbiAgICAgIGNsYXNzOiB2b2lkIDAsXG4gICAgICBjc3M6IHZvaWQgMCxcbiAgICAgIHRleHQ6IHZvaWQgMCxcbiAgICAgIGhpZ2hsaWdodDogdm9pZCAwLFxuICAgICAgZmxhZzogdm9pZCAwLFxuICAgICAgZXh0cmE6IHZvaWQgMCxcbiAgICAgIGhpZ2hsaWdodENvbG9yOiB2b2lkIDAsXG4gICAgICBjaGlsZHJlbjogdm9pZCAwLFxuICAgIH0sXG4gICAgKF8sIG9wdCkgPT4ge1xuICAgICAgY29uc3QgZWwgPSBvcHQuZWxlbWVudDtcbiAgICAgIGNvbnN0IHByb3BzID0gbWVyZ2VQcm9wcyhcbiAgICAgICAge1xuICAgICAgICAgIHRleHQ6IGVsLnRleHRDb250ZW50LFxuICAgICAgICAgIGNzczogZWwuY3NzLFxuICAgICAgICB9LFxuICAgICAgICBfLFxuICAgICAgKTtcblxuICAgICAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY2xlYXJBdHRyaWJ1dGUoZWwsIFsnY3NzJywgJ3RleHQnLCAnaGlnaGxpZ2h0JywgJ2V4dHJhJywgJ2ZsYWcnXSk7XG4gICAgICAgIGVsLnJlcGxhY2VDaGlsZHJlbigpO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17aW5saW5lfSAvPlxuICAgICAgICAgIDxIaWdobGlnaHRUZXh0IHsuLi5wcm9wc30gLz5cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH0sXG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBIaWdobGlnaHRUZXh0O1xuIl0sIm1hcHBpbmdzIjoibzFCQUFBLE9BQVNBLFlBQVksQ0FBRUMsVUFBVSxDQUFFQyxjQUFjLENBQUVDLFVBQVUsQ0FBRUMsSUFBSSxLQUFRLFVBQVUsQ0FDckYsT0FBU0MsR0FBRyxDQUFFQyxFQUFFLEtBQVEsYUFBYSxDQUNyQyxPQUFTQyxhQUFhLEtBQVEsZUFBZSxDQUc3QyxPQUFTQyxjQUFjLEtBQVEsaUJBQWlCLENBQ2hELE1BQU8sQ0FBQUMsS0FBSyxFQUFJQyxNQUFNLEtBQVEsVUFBVSxDQUV4QyxHQUFNLENBQUFDLEtBQUssQ0FBR04sR0FBRyxDQUFBTyxlQUFBLEdBQUFBLGVBQUEsQ0FBQUMsc0JBQUEsc0lBT2hCLENBRUQsUUFB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
|
|
1
|
+
import{template as _$template}from"solid-js/web";import{className as _$className}from"solid-js/web";import{insert as _$insert}from"solid-js/web";import{use as _$use}from"solid-js/web";import{createComponent as _$createComponent}from"solid-js/web";import{effect as _$effect}from"solid-js/web";var _templateObject;var _tmpl$=/*#__PURE__*/_$template(`<style> `),_tmpl$2=/*#__PURE__*/_$template(`<style>`),_tmpl$3=/*#__PURE__*/_$template(`<div>`);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)}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}import{createEffect,createMemo,createUniqueId,mergeProps,Show}from"solid-js";import{css,cx}from"@moneko/css";import{customElement}from"solid-element";import{clearAttribute}from"../basic-config";import theme,{inline}from"../theme";var style=css(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n .text {\n word-break: break-word;\n word-wrap: break-word;\n white-space: break-spaces;\n cursor: auto;\n }\n"])));function execAll(str,regex){var lastMatch;var matches=[];while(lastMatch=regex.exec(str)){matches.push(lastMatch);if(!regex.global)break}return matches}function highlight(box,id,regExp,flag,text){var regex=new RegExp(regExp,flag);execAll(text,regex).forEach(function(match){var range=new Range;var pos=0;pos+=match.index;if(box.firstChild){range.setStart(box.firstChild,pos);pos+=match[0].length;range.setEnd(box.firstChild,pos)}var cssHighlight=CSS.highlights.get(id);if(cssHighlight){cssHighlight.add(range)}else{CSS.highlights.set(id,new Highlight().add(range))}})}function HighlightText(props){var baseStyle=theme.baseStyle;var box;var id=createUniqueId();var text=createMemo(function(){var _props$extra;return"".concat(props.text).concat((_props$extra=props.extra)!==null&&_props$extra!==void 0?_props$extra:"")});createEffect(function(){if(box&&props.highlight){if(Array.isArray(props.highlight)){for(var i=0,len=props.highlight.length;i<len;i++){var item=props.highlight[i];var isOne=_typeof(item)!=="object";var hitStr=String(isOne?item:item.highlight);if(hitStr.length){var _item$flag;highlight(box,id,hitStr,isOne?props.flag:(_item$flag=item.flag)!==null&&_item$flag!==void 0?_item$flag:props.flag,text())}}}else if(String(props.highlight).length){highlight(box,id,String(props.highlight),props.flag,text())}}});createEffect(function(){if(box&&typeof props.extra==="string"){var _props$text;var range=new Range;var pos=((_props$text=props.text)===null||_props$text===void 0?void 0:_props$text.length)||0;if(box.firstChild){range.setStart(box.firstChild,pos);pos+=props.extra.length;range.setEnd(box.firstChild,pos)}var cssHighlight=CSS.highlights.get(id);if(cssHighlight){cssHighlight.add(range)}else{CSS.highlights.set(id,new Highlight().add(range))}}});return[function(){var _el$=_tmpl$(),_el$2=_el$.firstChild;_$effect(function(){return _el$2.data=baseStyle()});return _el$}(),function(){var _el$3=_tmpl$2();_el$3.textContent=style;return _el$3}(),function(){var _el$4=_tmpl$(),_el$5=_el$4.firstChild;_$effect(function(){var _props$highlightColor;return _el$5.data="::highlight(".concat(id,") {color: ").concat((_props$highlightColor=props.highlightColor)!==null&&_props$highlightColor!==void 0?_props$highlightColor:"var(--primary-color, #5794ff)",";}")});return _el$4}(),_$createComponent(Show,{get when(){return props.css},get children(){var _el$6=_tmpl$(),_el$7=_el$6.firstChild;_$effect(function(){return _el$7.data=css(props.css)});return _el$6}}),function(){var _el$8=_tmpl$3();var _ref$=box;typeof _ref$==="function"?_$use(_ref$,_el$8):box=_el$8;_$insert(_el$8,text);_$effect(function(){return _$className(_el$8,cx("text",props["class"]))});return _el$8}()]}HighlightText.registry=function(){customElement("n-highlight-text",{"class":void 0,css:void 0,text:void 0,highlight:void 0,flag:void 0,extra:void 0,highlightColor:void 0},function(_,opt){var el=opt.element;var props=mergeProps({text:el.textContent,css:el.css},_);createEffect(function(){clearAttribute(el,["css","text","highlight","extra","flag"]);el.replaceChildren()});return[function(){var _el$9=_tmpl$2();_el$9.textContent=inline;return _el$9}(),_$createComponent(HighlightText,props)]})};export default HighlightText;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFZmZlY3QiLCJjcmVhdGVNZW1vIiwiY3JlYXRlVW5pcXVlSWQiLCJtZXJnZVByb3BzIiwiU2hvdyIsImNzcyIsImN4IiwiY3VzdG9tRWxlbWVudCIsImNsZWFyQXR0cmlidXRlIiwidGhlbWUiLCJpbmxpbmUiLCJzdHlsZSIsIl90ZW1wbGF0ZU9iamVjdCIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwiLCJleGVjQWxsIiwic3RyIiwicmVnZXgiLCJsYXN0TWF0Y2giLCJtYXRjaGVzIiwiZXhlYyIsInB1c2giLCJnbG9iYWwiLCJoaWdobGlnaHQiLCJib3giLCJpZCIsInJlZ0V4cCIsImZsYWciLCJ0ZXh0IiwiUmVnRXhwIiwiZm9yRWFjaCIsIm1hdGNoIiwicmFuZ2UiLCJSYW5nZSIsInBvcyIsImluZGV4IiwiZmlyc3RDaGlsZCIsInNldFN0YXJ0IiwibGVuZ3RoIiwic2V0RW5kIiwiY3NzSGlnaGxpZ2h0IiwiQ1NTIiwiaGlnaGxpZ2h0cyIsImdldCIsImFkZCIsInNldCIsIkhpZ2hsaWdodCIsIkhpZ2hsaWdodFRleHQiLCJwcm9wcyIsImJhc2VTdHlsZSIsIl9wcm9wcyRleHRyYSIsImNvbmNhdCIsImV4dHJhIiwiQXJyYXkiLCJpc0FycmF5IiwiaSIsImxlbiIsIml0ZW0iLCJpc09uZSIsIl90eXBlb2YiLCJoaXRTdHIiLCJTdHJpbmciLCJfaXRlbSRmbGFnIiwiX3Byb3BzJHRleHQiLCJfZWwkIiwiX3RtcGwkIiwiX2VsJDIiLCJfJGVmZmVjdCIsImRhdGEiLCJfZWwkMyIsIl90bXBsJDIiLCJ0ZXh0Q29udGVudCIsIl9lbCQ0IiwiX2VsJDUiLCJfcHJvcHMkaGlnaGxpZ2h0Q29sb3IiLCJoaWdobGlnaHRDb2xvciIsIl8kY3JlYXRlQ29tcG9uZW50Iiwid2hlbiIsImNoaWxkcmVuIiwiX2VsJDYiLCJfZWwkNyIsIl9lbCQ4IiwiX3RtcGwkMyIsIl9yZWYkIiwiXyR1c2UiLCJfJGluc2VydCIsIl8kY2xhc3NOYW1lIiwicmVnaXN0cnkiLCJfIiwib3B0IiwiZWwiLCJlbGVtZW50IiwicmVwbGFjZUNoaWxkcmVuIiwiX2VsJDkiXSwic291cmNlcyI6WyJjb21wb25lbnRzL2hpZ2hsaWdodC10ZXh0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVFZmZlY3QsIGNyZWF0ZU1lbW8sIGNyZWF0ZVVuaXF1ZUlkLCBtZXJnZVByb3BzLCBTaG93IH0gZnJvbSAnc29saWQtanMnO1xuaW1wb3J0IHsgY3NzLCBjeCB9IGZyb20gJ0Btb25la28vY3NzJztcbmltcG9ydCB7IGN1c3RvbUVsZW1lbnQgfSBmcm9tICdzb2xpZC1lbGVtZW50JztcblxuaW1wb3J0IHR5cGUgeyBDdXN0b21FbGVtZW50IH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgY2xlYXJBdHRyaWJ1dGUgfSBmcm9tICcuLi9iYXNpYy1jb25maWcnO1xuaW1wb3J0IHRoZW1lLCB7IGlubGluZSB9IGZyb20gJy4uL3RoZW1lJztcblxuY29uc3Qgc3R5bGUgPSBjc3NgXG4gIC50ZXh0IHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICB3aGl0ZS1zcGFjZTogYnJlYWstc3BhY2VzO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuYDtcblxuZnVuY3Rpb24gZXhlY0FsbChzdHI6IHN0cmluZywgcmVnZXg6IFJlZ0V4cCkge1xuICBsZXQgbGFzdE1hdGNoOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsO1xuICBjb25zdCBtYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXlbXSA9IFtdO1xuXG4gIHdoaWxlICgobGFzdE1hdGNoID0gcmVnZXguZXhlYyhzdHIpKSkge1xuICAgIG1hdGNoZXMucHVzaChsYXN0TWF0Y2gpO1xuXG4gICAgaWYgKCFyZWdleC5nbG9iYWwpIGJyZWFrO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoZXM7XG59XG5cbmZ1bmN0aW9uIGhpZ2hsaWdodChcbiAgYm94OiBIVE1MRGl2RWxlbWVudCxcbiAgaWQ6IHN0cmluZyxcbiAgcmVnRXhwOiBzdHJpbmcsXG4gIGZsYWc6IEhpZ2hsaWdodFJ1bGVbJ2ZsYWcnXSxcbiAgdGV4dDogc3RyaW5nLFxuKSB7XG4gIGNvbnN0IHJlZ2V4ID0gbmV3IFJlZ0V4cChyZWdFeHAsIGZsYWcpO1xuXG4gIGV4ZWNBbGwodGV4dCwgcmVnZXgpLmZvckVhY2goKG1hdGNoKSA9PiB7XG4gICAgY29uc3QgcmFuZ2UgPSBuZXcgUmFuZ2UoKTtcbiAgICBsZXQgcG9zID0gMDtcblxuICAgIHBvcyArPSBtYXRjaC5pbmRleDtcbiAgICBpZiAoYm94LmZpcnN0Q2hpbGQpIHtcbiAgICAgIHJhbmdlLnNldFN0YXJ0KGJveC5maXJzdENoaWxkLCBwb3MpO1xuICAgICAgcG9zICs9IG1hdGNoWzBdLmxlbmd0aDtcbiAgICAgIHJhbmdlLnNldEVuZChib3guZmlyc3RDaGlsZCwgcG9zKTtcbiAgICB9XG4gICAgY29uc3QgY3NzSGlnaGxpZ2h0ID0gQ1NTLmhpZ2hsaWdodHMuZ2V0KGlkKTtcblxuICAgIGlmIChjc3NIaWdobGlnaHQpIHtcbiAgICAgIGNzc0hpZ2hsaWdodC5hZGQocmFuZ2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBDU1MuaGlnaGxpZ2h0cy5zZXQoaWQsIG5ldyBIaWdobGlnaHQoKS5hZGQocmFuZ2UpKTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgdHlwZSBIaWdobGlnaHRUZXh0SnNvbiA9XG4gIHwge1xuICAgICAgaGlnaGxpZ2h0PzogYm9vbGVhbjtcbiAgICAgIHRleHQ6IHN0cmluZztcbiAgICB9W11cbiAgfCBudWxsO1xuZXhwb3J0IGludGVyZmFjZSBIaWdobGlnaHRUZXh0UHJvcHMge1xuICAvKiog6Ieq5a6a5LmJ5qC35byP6KGoICovXG4gIGNzcz86IHN0cmluZztcbiAgLyoqIOiHquWumuS5ieexu+WQjSAqL1xuICBjbGFzcz86IHN0cmluZztcbiAgLyoqIOWGheWuuSAqL1xuICB0ZXh0Pzogc3RyaW5nO1xuICAvKiog6ZyA6KaB6auY5Lqu55qE5YaF5a65ICovXG4gIGhpZ2hsaWdodD86IHN0cmluZyB8IChIaWdobGlnaHRSdWxlIHwgc3RyaW5nKVtdO1xuICAvKiogUmVnRXhwIGZsYWcgKi9cbiAgZmxhZz86IEhpZ2hsaWdodFJ1bGVbJ2ZsYWcnXTtcbiAgLyoqIOmineWklumcgOimgemrmOS6rueahOWGheWuuSAqL1xuICBleHRyYT86IHN0cmluZztcbiAgY2hpbGRyZW4/OiBzdHJpbmc7XG4gIC8qKiDpq5jkuq7popzoibJcbiAgICogQGRlZmF1bHQgJyM1Nzk0ZmYnXG4gICAqIEBzaW5jZSAyLjEyLjJcbiAgICoqL1xuICBoaWdobGlnaHRDb2xvcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEhpZ2hsaWdodFJ1bGUge1xuICAvKiog6ZyA6KaB6auY5Lqu55qE5YaF5a65ICovXG4gIGhpZ2hsaWdodDogc3RyaW5nO1xuICAvKiogUmVnRXhwIGZsYWcgKi9cbiAgZmxhZz86ICdnJyB8ICdpJyB8ICdtJyB8ICd1JyB8ICd5Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIaWdobGlnaHQge1xuICAvKiog5ZG95Lit6auY5LquICovXG4gIGhpdD86IGJvb2xlYW47XG4gIC8qKiDlhoXlrrkgKi9cbiAgdGV4dDogc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBIaWdobGlnaHRUZXh0KHByb3BzOiBIaWdobGlnaHRUZXh0UHJvcHMpIHtcbiAgY29uc3QgeyBiYXNlU3R5bGUgfSA9IHRoZW1lO1xuICBsZXQgYm94OiBIVE1MRGl2RWxlbWVudCB8IHVuZGVmaW5lZDtcbiAgY29uc3QgaWQgPSBjcmVhdGVVbmlxdWVJZCgpO1xuICBjb25zdCB0ZXh0ID0gY3JlYXRlTWVtbygoKSA9PiBgJHtwcm9wcy50ZXh0fSR7cHJvcHMuZXh0cmEgPz8gJyd9YCk7XG5cbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYm94ICYmIHByb3BzLmhpZ2hsaWdodCkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocHJvcHMuaGlnaGxpZ2h0KSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gcHJvcHMuaGlnaGxpZ2h0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgaXRlbSA9IHByb3BzLmhpZ2hsaWdodFtpXTtcbiAgICAgICAgICBjb25zdCBpc09uZSA9IHR5cGVvZiBpdGVtICE9PSAnb2JqZWN0JztcbiAgICAgICAgICBjb25zdCBoaXRTdHIgPSBTdHJpbmcoaXNPbmUgPyBpdGVtIDogaXRlbS5oaWdobGlnaHQpO1xuXG4gICAgICAgICAgaWYgKGhpdFN0ci5sZW5ndGgpIHtcbiAgICAgICAgICAgIGhpZ2hsaWdodChib3gsIGlkLCBoaXRTdHIsIGlzT25lID8gcHJvcHMuZmxhZyA6IChpdGVtLmZsYWcgPz8gcHJvcHMuZmxhZyksIHRleHQoKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKFN0cmluZyhwcm9wcy5oaWdobGlnaHQpLmxlbmd0aCkge1xuICAgICAgICBoaWdobGlnaHQoYm94LCBpZCwgU3RyaW5nKHByb3BzLmhpZ2hsaWdodCksIHByb3BzLmZsYWcsIHRleHQoKSk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgY3JlYXRlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoYm94ICYmIHR5cGVvZiBwcm9wcy5leHRyYSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IHJhbmdlID0gbmV3IFJhbmdlKCk7XG4gICAgICBsZXQgcG9zID0gcHJvcHMudGV4dD8ubGVuZ3RoIHx8IDA7XG5cbiAgICAgIGlmIChib3guZmlyc3RDaGlsZCkge1xuICAgICAgICByYW5nZS5zZXRTdGFydChib3guZmlyc3RDaGlsZCwgcG9zKTtcbiAgICAgICAgcG9zICs9IHByb3BzLmV4dHJhLmxlbmd0aDtcbiAgICAgICAgcmFuZ2Uuc2V0RW5kKGJveC5maXJzdENoaWxkLCBwb3MpO1xuICAgICAgfVxuICAgICAgY29uc3QgY3NzSGlnaGxpZ2h0ID0gQ1NTLmhpZ2hsaWdodHMuZ2V0KGlkKTtcblxuICAgICAgaWYgKGNzc0hpZ2hsaWdodCkge1xuICAgICAgICBjc3NIaWdobGlnaHQuYWRkKHJhbmdlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIENTUy5oaWdobGlnaHRzLnNldChpZCwgbmV3IEhpZ2hsaWdodCgpLmFkZChyYW5nZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtiYXNlU3R5bGUoKX0gLz5cbiAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17c3R5bGV9IC8+XG4gICAgICA8c3R5bGVcbiAgICAgICAgdGV4dENvbnRlbnQ9e2A6OmhpZ2hsaWdodCgke2lkfSkge2NvbG9yOiAke3Byb3BzLmhpZ2hsaWdodENvbG9yID8/ICd2YXIoLS1wcmltYXJ5LWNvbG9yLCAjNTc5NGZmKSd9O31gfVxuICAgICAgLz5cbiAgICAgIDxTaG93IHdoZW49e3Byb3BzLmNzc30+XG4gICAgICAgIDxzdHlsZSB0ZXh0Q29udGVudD17Y3NzKHByb3BzLmNzcyl9IC8+XG4gICAgICA8L1Nob3c+XG4gICAgICA8ZGl2IHJlZj17Ym94fSBjbGFzcz17Y3goJ3RleHQnLCBwcm9wcy5jbGFzcyl9PlxuICAgICAgICB7dGV4dCgpfVxuICAgICAgPC9kaXY+XG4gICAgPC8+XG4gICk7XG59XG5cbmV4cG9ydCB0eXBlIEhpZ2hsaWdodFRleHRFbGVtZW50ID0gQ3VzdG9tRWxlbWVudDxIaWdobGlnaHRUZXh0UHJvcHM+O1xuXG5IaWdobGlnaHRUZXh0LnJlZ2lzdHJ5ID0gKCkgPT4ge1xuICBjdXN0b21FbGVtZW50PEhpZ2hsaWdodFRleHRQcm9wcz4oXG4gICAgJ24taGlnaGxpZ2h0LXRleHQnLFxuICAgIHtcbiAgICAgIGNsYXNzOiB2b2lkIDAsXG4gICAgICBjc3M6IHZvaWQgMCxcbiAgICAgIHRleHQ6IHZvaWQgMCxcbiAgICAgIGhpZ2hsaWdodDogdm9pZCAwLFxuICAgICAgZmxhZzogdm9pZCAwLFxuICAgICAgZXh0cmE6IHZvaWQgMCxcbiAgICAgIGhpZ2hsaWdodENvbG9yOiB2b2lkIDAsXG4gICAgfSxcbiAgICAoXywgb3B0KSA9PiB7XG4gICAgICBjb25zdCBlbCA9IG9wdC5lbGVtZW50O1xuICAgICAgY29uc3QgcHJvcHMgPSBtZXJnZVByb3BzKFxuICAgICAgICB7XG4gICAgICAgICAgdGV4dDogZWwudGV4dENvbnRlbnQsXG4gICAgICAgICAgY3NzOiBlbC5jc3MsXG4gICAgICAgIH0sXG4gICAgICAgIF8sXG4gICAgICApO1xuXG4gICAgICBjcmVhdGVFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjbGVhckF0dHJpYnV0ZShlbCwgWydjc3MnLCAndGV4dCcsICdoaWdobGlnaHQnLCAnZXh0cmEnLCAnZmxhZyddKTtcbiAgICAgICAgZWwucmVwbGFjZUNoaWxkcmVuKCk7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPHN0eWxlIHRleHRDb250ZW50PXtpbmxpbmV9IC8+XG4gICAgICAgICAgPEhpZ2hsaWdodFRleHQgey4uLnByb3BzfSAvPlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfSxcbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEhpZ2hsaWdodFRleHQ7XG4iXSwibWFwcGluZ3MiOiJvMUJBQUEsT0FBU0EsWUFBWSxDQUFFQyxVQUFVLENBQUVDLGNBQWMsQ0FBRUMsVUFBVSxDQUFFQyxJQUFJLEtBQVEsVUFBVSxDQUNyRixPQUFTQyxHQUFHLENBQUVDLEVBQUUsS0FBUSxhQUFhLENBQ3JDLE9BQVNDLGFBQWEsS0FBUSxlQUFlLENBRzdDLE9BQVNDLGNBQWMsS0FBUSxpQkFBaUIsQ0FDaEQsTUFBTyxDQUFBQyxLQUFLLEVBQUlDLE1BQU0sS0FBUSxVQUFVLENBRXhDLEdBQU0sQ0FBQUMsS0FBSyxDQUFHTixHQUFHLENBQUFPLGVBQUEsR0FBQUEsZUFBQSxDQUFBQyxzQkFBQSxzSUFPaEIsQ0FFRCxRQUFTLENBQUFDLE9BQU9BLENBQUNDLEdBQVcs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QWEsS0FBQSxDQUFBWixJQUFBLENBQ0M5RCxHQUFHLENBQUMwQyxLQUFLLENBQUMxQyxHQUFHLENBQUMsVUFBQXlFLEtBQUEsbUJBQUFFLEtBQUEsQ0FBQUMsT0FBQSxPQUFBQyxLQUFBLENBRTFCM0QsR0FBRyxRQUFBMkQsS0FBQSxjQUFBQyxLQUFBLENBQUFELEtBQUEsQ0FBQUYsS0FBQSxFQUFIekQsR0FBRyxDQUFBeUQsS0FBQSxDQUFBSSxRQUFBLENBQUFKLEtBQUEsQ0FDVnJELElBQUksRUFBQXVDLFFBQUEsbUJBQUFtQixXQUFBLENBQUFMLEtBQUEsQ0FEZTFFLEVBQUUsQ0FBQyxNQUFNLENBQUV5QyxLQUFLLFNBQU0sQ0FBQyxXQUFBaUMsS0FBQSxJQUtuRCxDQUlBbEMsYUFBYSxDQUFDd0MsUUFBUSxDQUFHLFVBQU0sQ0FDN0IvRSxhQUFhLENBQ1gsa0JBQWtCLENBQ2xCLENBQ0UsUUFBTyxJQUFLLEVBQUMsQ0FDYkYsR0FBRyxDQUFFLElBQUssRUFBQyxDQUNYc0IsSUFBSSxDQUFFLElBQUssRUFBQyxDQUNaTCxTQUFTLENBQUUsSUFBSyxFQUFDLENBQ2pCSSxJQUFJLENBQUUsSUFBSyxFQUFDLENBQ1p5QixLQUFLLENBQUUsSUFBSyxFQUFDLENBQ2J1QixjQUFjLENBQUUsSUFBSyxFQUN2QixDQUFDLENBQ0QsU0FBQ2EsQ0FBQyxDQUFFQyxHQUFHLENBQUssQ0FDVixHQUFNLENBQUFDLEVBQUUsQ0FBR0QsR0FBRyxDQUFDRSxPQUFPLENBQ3RCLEdBQU0sQ0FBQTNDLEtBQUssQ0FBRzVDLFVBQVUsQ0FDdEIsQ0FDRXdCLElBQUksQ0FBRThELEVBQUUsQ0FBQ25CLFdBQVcsQ0FDcEJqRSxHQUFHLENBQUVvRixFQUFFLENBQUNwRixHQUNWLENBQUMsQ0FDRGtGLENBQ0YsQ0FBQyxDQUVEdkYsWUFBWSxDQUFDLFVBQU0sQ0FDakJRLGNBQWMsQ0FBQ2lGLEVBQUUsQ0FBRSxDQUFDLEtBQUssQ0FBRSxNQUFNLENBQUUsV0FBVyxDQUFFLE9BQU8sQ0FBRSxNQUFNLENBQUMsQ0FBQyxDQUNqRUEsRUFBRSxDQUFDRSxlQUFlLENBQUMsQ0FDckIsQ0FBQyxDQUFDLENBQ0Ysc0JBQUFDLEtBQUEsQ0FBQXZCLE9BQUEsR0FBQXVCLEtBQUEsQ0FBQXRCLFdBQUEsQ0FFd0I1RCxNQUFNLFFBQUFrRixLQUFBLElBQUFqQixpQkFBQSxDQUN6QjdCLGFBQWEsQ0FBS0MsS0FBSyxFQUc5QixDQUNGLENBQ0YsQ0FBQyxDQUVELGNBQWUsQ0FBQUQsYUFBYSIsImlnbm9yZUxpc3QiOltdfQ==
|