@ember-eui/core 10.0.1 → 10.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/eui-breadcrumbs.js +3 -1
- package/dist/components/eui-breadcrumbs.js.map +1 -1
- package/dist/components/eui-combo-box.js +3 -1
- package/dist/components/eui-combo-box.js.map +1 -1
- package/dist/components/eui-markdown-editor-toolbar.js +3 -1
- package/dist/components/eui-markdown-editor-toolbar.js.map +1 -1
- package/dist/components/eui-markdown-editor.js +3 -1
- package/dist/components/eui-markdown-editor.js.map +1 -1
- package/dist/components/eui-markdown-format.js +3 -1
- package/dist/components/eui-markdown-format.js.map +1 -1
- package/dist/components/eui-tool-tip.js +3 -1
- package/dist/components/eui-tool-tip.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { macroCondition, dependencySatisfies, importSync } from '@embroider/macros';
|
|
1
2
|
import Component from '@glimmer/component';
|
|
2
|
-
import { tracked
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
3
4
|
import { fn } from '@ember/helper';
|
|
4
5
|
import { on } from '@ember/modifier';
|
|
5
6
|
import didInsert from '@ember/render-modifiers/modifiers/did-insert';
|
|
@@ -19,6 +20,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
19
20
|
import { setComponentTemplate } from '@ember/component';
|
|
20
21
|
import { g, i, n } from 'decorator-transforms/runtime';
|
|
21
22
|
|
|
23
|
+
let cached = macroCondition(dependencySatisfies('ember-source', '>= 4.1.0-alpha.0')) ? importSync('@glimmer/tracking').cached : importSync('ember-cached-decorator-polyfill').cached;
|
|
22
24
|
const responsiveDefault = {
|
|
23
25
|
xs: 1,
|
|
24
26
|
s: 2,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-breadcrumbs.js","sources":["../../src/components/eui-breadcrumbs.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { throttle } from '@ember/runloop';\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport sub from 'ember-math-helpers/helpers/sub';\nimport { modifier } from 'ember-modifier';\nimport { and, eq, not } from 'ember-truth-helpers';\nimport classNames from '../helpers/class-names.ts';\nimport useState from '../helpers/use-state.ts';\nimport { getBreakpoint } from '../utils/breakpoint.ts';\nimport EuiIcon from './eui-icon.gts';\nimport EuiInnerText from './eui-inner-text.gts';\nimport EuiLink from './eui-link.gts';\nimport EuiPopover from './eui-popover.gts';\nimport type { EuiBreakpointSize } from '../utils/breakpoint.ts';\nexport type EuiBreadcrumbResponsiveMaxCount = {\n [key in EuiBreakpointSize]?: number;\n};\nconst responsiveDefault: EuiBreadcrumbResponsiveMaxCount = {\n xs: 1,\n s: 2,\n m: 4\n};\nexport type EuiBreadcrumb = {\n /**\n * Visible label of the breadcrumb\n */ text: string;\n href?: string;\n onClick?: (e: MouseEvent) => void;\n className?: string;\n /**\n * Force a max-width on the breadcrumb text\n */ truncate?: boolean;\n ellipsis?: boolean;\n color?: string;\n 'aria-current': string;\n};\nconst onWindowResizeModifier = modifier((_ele1: HTMLElement, _pos1, { functionToCallOnWindowResize: functionToCallOnWindowResize1 }: {\n functionToCallOnWindowResize: () => void;\n})=>{\n window.addEventListener('resize', functionToCallOnWindowResize1);\n return ()=>{\n window.removeEventListener('resize', functionToCallOnWindowResize1);\n };\n});\nconst limitedBreadcrumbs = (max1: number, breadcrumbs1: EuiBreadcrumb[])=>{\n const breadcrumbsAtStart1 = [];\n const breadcrumbsAtEnd1 = [];\n const limit1 = Math.min(max1, breadcrumbs1.length);\n const start1 = Math.floor(limit1 / 2);\n const overflowBreadcrumbs1 = breadcrumbs1.slice(start1, start1 + breadcrumbs1.length - limit1);\n if (overflowBreadcrumbs1.length && overflowBreadcrumbs1[overflowBreadcrumbs1.length - 1]) {\n overflowBreadcrumbs1[overflowBreadcrumbs1.length - 1]!['aria-current'] = 'false';\n }\n for(let i1 = 0; i1 < limit1; i1++){\n // We'll alternate with displaying breadcrumbs at the end and at the start, but be biased\n // towards breadcrumbs the end so that if max is an odd number, we'll have one more\n // breadcrumb visible at the end than at the beginning.\n const isEven1 = i1 % 2 === 0;\n // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a\n // half-iteration.\n const normalizedIndex1 = Math.floor(i1 * 0.5);\n const indexOfBreadcrumb1 = isEven1 ? breadcrumbs1.length - 1 - normalizedIndex1 : normalizedIndex1;\n const breadcrumb1 = breadcrumbs1[indexOfBreadcrumb1];\n if (isEven1 && breadcrumb1) {\n breadcrumbsAtEnd1.unshift(breadcrumb1);\n } else if (breadcrumb1) {\n breadcrumbsAtStart1.push(breadcrumb1);\n }\n }\n if (max1 < breadcrumbs1.length) {\n breadcrumbsAtStart1.push({\n ellipsis: true\n } as EuiBreadcrumb);\n }\n return {\n breadcrumbs: [\n ...breadcrumbsAtStart1,\n ...breadcrumbsAtEnd1\n ],\n overflowBreadcrumbs: overflowBreadcrumbs1\n };\n};\ninterface EuiBreadcrumbsComponentArgs {\n /**\n * Hides extra (above the max) breadcrumbs under a collapsed item as the window gets smaller.\n * Pass a custom #EuiBreadcrumbResponsiveMaxCount object to change the number of breadcrumbs to show at the particular breakpoints.\n *\n * Pass `false` to turn this behavior off.\n *\n * Default: `{ xs: 1, s: 2, m: 4 }`\n */ responsive?: boolean | EuiBreadcrumbResponsiveMaxCount;\n /**\n * Forces all breadcrumbs to single line and\n * truncates each breadcrumb to a particular width,\n * except for the last item\n */ truncate?: boolean;\n /**\n * Collapses the inner items past the maximum set here\n * into a single ellipses item.\n * Omitting or passing a `0` value will show all breadcrumbs.\n */ max?: number | null;\n /**\n * The array of individual #EuiBreadcrumb items\n */ breadcrumbs: EuiBreadcrumb[];\n}\nexport interface EuiBreadcrumbsSignature {\n Element: HTMLElement;\n Args: EuiBreadcrumbsComponentArgs;\n Blocks: {\n default: [];\n };\n}\nexport default class EuiBreadcrumbs extends Component<EuiBreadcrumbsSignature> {\n @tracked\n currentBreakpoint;\n constructor(owner1: unknown, args1: EuiBreadcrumbsComponentArgs){\n super(owner1, args1);\n this.currentBreakpoint = getBreakpoint(typeof window === 'undefined' ? -Infinity : window.innerWidth);\n }\n functionToCallOnWindowResize = ()=>{\n throttle(()=>{\n const newBreakpoint1 = getBreakpoint(window.innerWidth);\n if (newBreakpoint1 !== this.currentBreakpoint) {\n this.currentBreakpoint = newBreakpoint1;\n }\n }, 50);\n };\n get responsiveObject() {\n return typeof this.args.responsive === 'object' ? this.args.responsive : responsiveDefault;\n }\n get max() {\n if (this.args.max === null) {\n return null;\n }\n return this.args.max ?? 5;\n }\n get truncate() {\n return this.args.truncate ?? true;\n }\n get calculatedMax(): EuiBreadcrumbsComponentArgs['max'] {\n // The max property collapses any breadcrumbs past the max quantity.\n // This is the same behavior we want for responsiveness.\n // So calculate the max value based on the combination of `max` and `responsive`\n let calculatedMax1: EuiBreadcrumbsComponentArgs['max'] = this.max;\n // Set the calculated max to the number associated with the currentBreakpoint key if it exists\n if (this.args.responsive && this.responsiveObject[this.currentBreakpoint as EuiBreakpointSize]) {\n calculatedMax1 = this.responsiveObject[this.currentBreakpoint as EuiBreakpointSize];\n }\n // Final check is to make sure max is used over a larger breakpoint value\n if (this.max && calculatedMax1) {\n calculatedMax1 = this.max < calculatedMax1 ? this.max : calculatedMax1;\n }\n return calculatedMax1;\n }\n @cached\n get limitedBreadcrumbs() {\n const calculatedMax1 = this.calculatedMax;\n return calculatedMax1 ? limitedBreadcrumbs(calculatedMax1, this.args.breadcrumbs) : {\n breadcrumbs: this.args.breadcrumbs,\n overflowBreadcrumbs: [] as EuiBreadcrumb[]\n };\n }\n static{\n template(`\n <nav\n {{onWindowResizeModifier\n functionToCallOnWindowResize=this.functionToCallOnWindowResize\n }}\n class={{classNames\n \"euiBreadcrumbs\"\n (if this.truncate \"euiBreadcrumbs--truncate\")\n }}\n ...attributes\n >\n <ol class=\"euiBreadcrumbs__list\">\n\n {{#each this.limitedBreadcrumbs.breadcrumbs as |breadcrumb index|}}\n\n {{#if breadcrumb.ellipsis}}\n {{#let (useState false) as |popOverState|}}\n <li class=\"euiBreadcrumb euiBreadcrumb--collapsed\">\n <EuiPopover\n @isOpen={{popOverState.value}}\n @closePopover={{fn popOverState.setState false}}\n >\n <:button>\n <EuiLink\n class=\"euiBreadcrumb__content\"\n @color=\"subdued\"\n aria-label=\"See collapsed breadcrumbs\"\n title=\"See collapsed breadcrumbs\"\n {{on \"click\" (fn popOverState.setState true)}}\n >\n …<EuiIcon @type=\"arrowDown\" @size=\"s\" />\n </EuiLink>\n </:button>\n <:content>\n <EuiBreadcrumbs\n class=\"euiBreadcrumbs__inPopover\"\n @breadcrumbs={{this.limitedBreadcrumbs.overflowBreadcrumbs}}\n @responsive={{false}}\n @truncate={{false}}\n @max={{0}}\n />\n </:content>\n </EuiPopover>\n\n </li>\n\n {{/let}}\n {{else}}\n <EuiInnerText as |setInnerTextRef innerText|>\n {{#let\n (eq index (sub this.limitedBreadcrumbs.breadcrumbs.length 1))\n (if (eq innerText \"\") undefined innerText)\n as |isLastBreadcrumb title|\n }}\n <li\n class={{classNames\n \"euiBreadcrumb\"\n (if isLastBreadcrumb \"euiBreadcrumb--last\")\n (if breadcrumb.truncate \"euiBreadcrumb--truncate\")\n }}\n >\n {{#if (and (not breadcrumb.href) (not breadcrumb.onClick))}}\n <span\n {{didInsert setInnerTextRef}}\n title={{title}}\n class={{classNames\n \"euiBreadcrumb__content\"\n breadcrumb.className\n }}\n aria-current={{if isLastBreadcrumb \"page\" undefined}}\n >\n {{breadcrumb.text}}\n </span>\n {{else}}\n <EuiLink\n {{didInsert setInnerTextRef}}\n @color={{if\n breadcrumb.color\n breadcrumb.color\n (if isLastBreadcrumb \"text\" \"subdued\")\n }}\n @href={{breadcrumb.href}}\n title={{title}}\n class={{classNames\n \"euiBreadcrumb__content\"\n breadcrumb.className\n }}\n {{on \"click\" (optional breadcrumb.onClick)}}\n aria-current={{if isLastBreadcrumb \"page\" undefined}}\n >\n {{breadcrumb.text}}\n </EuiLink>\n {{/if}}\n\n </li>\n {{/let}}\n </EuiInnerText>\n {{/if}}\n\n {{/each}}\n\n </ol>\n </nav>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1icmVhZGNydW1icy5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgY2FjaGVkLCB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgZm4gfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCBkaWRJbnNlcnQgZnJvbSAnQGVtYmVyL3JlbmRlci1tb2RpZmllcnMvbW9kaWZpZXJzL2RpZC1pbnNlcnQnO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG5cbmltcG9ydCBvcHRpb25hbCBmcm9tICdlbWJlci1jb21wb3NhYmxlLWhlbHBlcnMvaGVscGVycy9vcHRpb25hbCc7XG5pbXBvcnQgc3ViIGZyb20gJ2VtYmVyLW1hdGgtaGVscGVycy9oZWxwZXJzL3N1Yic7XG5pbXBvcnQgeyBtb2RpZmllciB9IGZyb20gJ2VtYmVyLW1vZGlmaWVyJztcbmltcG9ydCB7IGFuZCwgZXEsIG5vdCB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLW5hbWVzLnRzJztcbmltcG9ydCB1c2VTdGF0ZSBmcm9tICcuLi9oZWxwZXJzL3VzZS1zdGF0ZS50cyc7XG5pbXBvcnQgeyBnZXRCcmVha3BvaW50IH0gZnJvbSAnLi4vdXRpbHMvYnJlYWtwb2ludC50cyc7XG5pbXBvcnQgRXVpSWNvbiBmcm9tICcuL2V1aS1pY29uLmd0cyc7XG5pbXBvcnQgRXVpSW5uZXJUZXh0IGZyb20gJy4vZXVpLWlubmVyLXRleHQuZ3RzJztcbmltcG9ydCBFdWlMaW5rIGZyb20gJy4vZXVpLWxpbmsuZ3RzJztcbmltcG9ydCBFdWlQb3BvdmVyIGZyb20gJy4vZXVpLXBvcG92ZXIuZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBFdWlCcmVha3BvaW50U2l6ZSB9IGZyb20gJy4uL3V0aWxzL2JyZWFrcG9pbnQudHMnO1xuXG5leHBvcnQgdHlwZSBFdWlCcmVhZGNydW1iUmVzcG9uc2l2ZU1heENvdW50ID0ge1xuICAvKipcbiAgICogQW55IG9mIHRoZSBmb2xsb3dpbmcga2V5cyBhcmUgYWxsb3dlZDogYCd4cycgfCAncycgfCAnbScgfCAnbCcgfCAneGwnYFxuICAgKiBPbWl0dGluZyBhIGtleSB3aWxsIGRpc3BsYXkgYWxsIGJyZWFkY3J1bWJzIGF0IHRoYXQgYnJlYWtwb2ludFxuICAgKi9cbiAgW2tleSBpbiBFdWlCcmVha3BvaW50U2l6ZV0_OiBudW1iZXI7XG59O1xuXG5jb25zdCByZXNwb25zaXZlRGVmYXVsdDogRXVpQnJlYWRjcnVtYlJlc3BvbnNpdmVNYXhDb3VudCA9IHtcbiAgeHM6IDEsXG4gIHM6IDIsXG4gIG06IDRcbn07XG5cbmV4cG9ydCB0eXBlIEV1aUJyZWFkY3J1bWIgPSB7XG4gIC8qKlxuICAgKiBWaXNpYmxlIGxhYmVsIG9mIHRoZSBicmVhZGNydW1iXG4gICAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIGhyZWY_OiBzdHJpbmc7XG4gIG9uQ2xpY2s_OiAoZTogTW91c2VFdmVudCkgPT4gdm9pZDtcblxuICBjbGFzc05hbWU_OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGb3JjZSBhIG1heC13aWR0aCBvbiB0aGUgYnJlYWRjcnVtYiB0ZXh0XG4gICAqL1xuICB0cnVuY2F0ZT86IGJvb2xlYW47XG5cbiAgZWxsaXBzaXM_OiBib29sZWFuO1xuXG4gIGNvbG9yPzogc3RyaW5nO1xuXG4gICdhcmlhLWN1cnJlbnQnOiBzdHJpbmc7XG59O1xuXG5jb25zdCBvbldpbmRvd1Jlc2l6ZU1vZGlmaWVyID0gbW9kaWZpZXIoXG4gIChcbiAgICBfZWxlOiBIVE1MRWxlbWVudCxcbiAgICBfcG9zLFxuICAgIHtcbiAgICAgIGZ1bmN0aW9uVG9DYWxsT25XaW5kb3dSZXNpemVcbiAgICB9OiB7IGZ1bmN0aW9uVG9DYWxsT25XaW5kb3dSZXNpemU6ICgpID0-IHZvaWQgfVxuICApID0-IHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZnVuY3Rpb25Ub0NhbGxPbldpbmRvd1Jlc2l6ZSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uVG9DYWxsT25XaW5kb3dSZXNpemUpO1xuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IGxpbWl0ZWRCcmVhZGNydW1icyA9IChtYXg6IG51bWJlciwgYnJlYWRjcnVtYnM6IEV1aUJyZWFkY3J1bWJbXSkgPT4ge1xuICBjb25zdCBicmVhZGNydW1ic0F0U3RhcnQgPSBbXTtcbiAgY29uc3QgYnJlYWRjcnVtYnNBdEVuZCA9IFtdO1xuICBjb25zdCBsaW1pdCA9IE1hdGgubWluKG1heCwgYnJlYWRjcnVtYnMubGVuZ3RoKTtcbiAgY29uc3Qgc3RhcnQgPSBNYXRoLmZsb29yKGxpbWl0IC8gMik7XG4gIGNvbnN0IG92ZXJmbG93QnJlYWRjcnVtYnMgPSBicmVhZGNydW1icy5zbGljZShcbiAgICBzdGFydCxcbiAgICBzdGFydCArIGJyZWFkY3J1bWJzLmxlbmd0aCAtIGxpbWl0XG4gICk7XG5cbiAgaWYgKFxuICAgIG92ZXJmbG93QnJlYWRjcnVtYnMubGVuZ3RoICYmXG4gICAgb3ZlcmZsb3dCcmVhZGNydW1ic1tvdmVyZmxvd0JyZWFkY3J1bWJzLmxlbmd0aCAtIDFdXG4gICkge1xuICAgIG92ZXJmbG93QnJlYWRjcnVtYnNbb3ZlcmZsb3dCcmVhZGNydW1icy5sZW5ndGggLSAxXSFbJ2FyaWEtY3VycmVudCddID1cbiAgICAgICdmYWxzZSc7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbWl0OyBpKyspIHtcbiAgICAvLyBXZSdsbCBhbHRlcm5hdGUgd2l0aCBkaXNwbGF5aW5nIGJyZWFkY3J1bWJzIGF0IHRoZSBlbmQgYW5kIGF0IHRoZSBzdGFydCwgYnV0IGJlIGJpYXNlZFxuICAgIC8vIHRvd2FyZHMgYnJlYWRjcnVtYnMgdGhlIGVuZCBzbyB0aGF0IGlmIG1heCBpcyBhbiBvZGQgbnVtYmVyLCB3ZSdsbCBoYXZlIG9uZSBtb3JlXG4gICAgLy8gYnJlYWRjcnVtYiB2aXNpYmxlIGF0IHRoZSBlbmQgdGhhbiBhdCB0aGUgYmVnaW5uaW5nLlxuICAgIGNvbnN0IGlzRXZlbiA9IGkgJSAyID09PSAwO1xuXG4gICAgLy8gV2UncmUgcGlja2luZyBicmVhZGNydW1icyBmcm9tIHRoZSBmcm9udCBBTkQgdGhlIGJhY2ssIHNvIHdlIHRyZWF0IGVhY2ggaXRlcmF0aW9uIGFzIGFcbiAgICAvLyBoYWxmLWl0ZXJhdGlvbi5cbiAgICBjb25zdCBub3JtYWxpemVkSW5kZXggPSBNYXRoLmZsb29yKGkgKiAwLjUpO1xuICAgIGNvbnN0IGluZGV4T2ZCcmVhZGNydW1iID0gaXNFdmVuXG4gICAgICA_IGJyZWFkY3J1bWJzLmxlbmd0aCAtIDEgLSBub3JtYWxpemVkSW5kZXhcbiAgICAgIDogbm9ybWFsaXplZEluZGV4O1xuICAgIGNvbnN0IGJyZWFkY3J1bWIgPSBicmVhZGNydW1ic1tpbmRleE9mQnJlYWRjcnVtYl07XG5cbiAgICBpZiAoaXNFdmVuICYmIGJyZWFkY3J1bWIpIHtcbiAgICAgIGJyZWFkY3J1bWJzQXRFbmQudW5zaGlmdChicmVhZGNydW1iKTtcbiAgICB9IGVsc2UgaWYgKGJyZWFkY3J1bWIpIHtcbiAgICAgIGJyZWFkY3J1bWJzQXRTdGFydC5wdXNoKGJyZWFkY3J1bWIpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChtYXggPCBicmVhZGNydW1icy5sZW5ndGgpIHtcbiAgICBicmVhZGNydW1ic0F0U3RhcnQucHVzaCh7IGVsbGlwc2lzOiB0cnVlIH0gYXMgRXVpQnJlYWRjcnVtYik7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJyZWFkY3J1bWJzOiBbLi4uYnJlYWRjcnVtYnNBdFN0YXJ0LCAuLi5icmVhZGNydW1ic0F0RW5kXSxcbiAgICBvdmVyZmxvd0JyZWFkY3J1bWJzXG4gIH07XG59O1xuXG5pbnRlcmZhY2UgRXVpQnJlYWRjcnVtYnNDb21wb25lbnRBcmdzIHtcbiAgLyoqXG4gICAqIEhpZGVzIGV4dHJhIChhYm92ZSB0aGUgbWF4KSBicmVhZGNydW1icyB1bmRlciBhIGNvbGxhcHNlZCBpdGVtIGFzIHRoZSB3aW5kb3cgZ2V0cyBzbWFsbGVyLlxuICAgKiBQYXNzIGEgY3VzdG9tICNFdWlCcmVhZGNydW1iUmVzcG9uc2l2ZU1heENvdW50IG9iamVjdCB0byBjaGFuZ2UgdGhlIG51bWJlciBvZiBicmVhZGNydW1icyB0byBzaG93IGF0IHRoZSBwYXJ0aWN1bGFyIGJyZWFrcG9pbnRzLlxuICAgKlxuICAgKiBQYXNzIGBmYWxzZWAgdG8gdHVybiB0aGlzIGJlaGF2aW9yIG9mZi5cbiAgICpcbiAgICogRGVmYXVsdDogYHsgeHM6IDEsIHM6IDIsIG06IDQgfWBcbiAgICovXG4gIHJlc3BvbnNpdmU_OiBib29sZWFuIHwgRXVpQnJlYWRjcnVtYlJlc3BvbnNpdmVNYXhDb3VudDtcblxuICAvKipcbiAgICogRm9yY2VzIGFsbCBicmVhZGNydW1icyB0byBzaW5nbGUgbGluZSBhbmRcbiAgICogdHJ1bmNhdGVzIGVhY2ggYnJlYWRjcnVtYiB0byBhIHBhcnRpY3VsYXIgd2lkdGgsXG4gICAqIGV4Y2VwdCBmb3IgdGhlIGxhc3QgaXRlbVxuICAgKi9cbiAgdHJ1bmNhdGU_OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb2xsYXBzZXMgdGhlIGlubmVyIGl0ZW1zIHBhc3QgdGhlIG1heGltdW0gc2V0IGhlcmVcbiAgICogaW50byBhIHNpbmdsZSBlbGxpcHNlcyBpdGVtLlxuICAgKiBPbWl0dGluZyBvciBwYXNzaW5nIGEgYDBgIHZhbHVlIHdpbGwgc2hvdyBhbGwgYnJlYWRjcnVtYnMuXG4gICAqL1xuICBtYXg_OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgYXJyYXkgb2YgaW5kaXZpZHVhbCAjRXVpQnJlYWRjcnVtYiBpdGVtc1xuICAgKi9cbiAgYnJlYWRjcnVtYnM6IEV1aUJyZWFkY3J1bWJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdWlCcmVhZGNydW1ic1NpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBBcmdzOiBFdWlCcmVhZGNydW1ic0NvbXBvbmVudEFyZ3M7XG4gIEJsb2NrczogeyBkZWZhdWx0OiBbXSB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFdWlCcmVhZGNydW1icyBleHRlbmRzIENvbXBvbmVudDxFdWlCcmVhZGNydW1ic1NpZ25hdHVyZT4ge1xuICBAdHJhY2tlZCBjdXJyZW50QnJlYWtwb2ludDtcblxuICBjb25zdHJ1Y3Rvcihvd25lcjogdW5rbm93biwgYXJnczogRXVpQnJlYWRjcnVtYnNDb21wb25lbnRBcmdzKSB7XG4gICAgc3VwZXIob3duZXIsIGFyZ3MpO1xuICAgIHRoaXMuY3VycmVudEJyZWFrcG9pbnQgPSBnZXRCcmVha3BvaW50KFxuICAgICAgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgPyAtSW5maW5pdHkgOiB3aW5kb3cuaW5uZXJXaWR0aFxuICAgICk7XG4gIH1cblxuICBmdW5jdGlvblRvQ2FsbE9uV2luZG93UmVzaXplID0gKCkgPT4ge1xuICAgIHRocm90dGxlKCgpID0-IHtcbiAgICAgIGNvbnN0IG5ld0JyZWFrcG9pbnQgPSBnZXRCcmVha3BvaW50KHdpbmRvdy5pbm5lcldpZHRoKTtcblxuICAgICAgaWYgKG5ld0JyZWFrcG9pbnQgIT09IHRoaXMuY3VycmVudEJyZWFrcG9pbnQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50QnJlYWtwb2ludCA9IG5ld0JyZWFrcG9pbnQ7XG4gICAgICB9XG4gICAgfSwgNTApO1xuICB9O1xuXG4gIGdldCByZXNwb25zaXZlT2JqZWN0KCkge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5hcmdzLnJlc3BvbnNpdmUgPT09ICdvYmplY3QnXG4gICAgICA_IHRoaXMuYXJncy5yZXNwb25zaXZlXG4gICAgICA6IHJlc3BvbnNpdmVEZWZhdWx0O1xuICB9XG5cbiAgZ2V0IG1heCgpIHtcbiAgICBpZiAodGhpcy5hcmdzLm1heCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXJncy5tYXggPz8gNTtcbiAgfVxuXG4gIGdldCB0cnVuY2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcmdzLnRydW5jYXRlID8_IHRydWU7XG4gIH1cblxuICBnZXQgY2FsY3VsYXRlZE1heCgpOiBFdWlCcmVhZGNydW1ic0NvbXBvbmVudEFyZ3NbJ21heCddIHtcbiAgICAvLyBUaGUgbWF4IHByb3BlcnR5IGNvbGxhcHNlcyBhbnkgYnJlYWRjcnVtYnMgcGFzdCB0aGUgbWF4IHF1YW50aXR5LlxuICAgIC8vIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3Igd2Ugd2FudCBmb3IgcmVzcG9uc2l2ZW5lc3MuXG4gICAgLy8gU28gY2FsY3VsYXRlIHRoZSBtYXggdmFsdWUgYmFzZWQgb24gdGhlIGNvbWJpbmF0aW9uIG9mIGBtYXhgIGFuZCBgcmVzcG9uc2l2ZWBcbiAgICBsZXQgY2FsY3VsYXRlZE1heDogRXVpQnJlYWRjcnVtYnNDb21wb25lbnRBcmdzWydtYXgnXSA9IHRoaXMubWF4O1xuXG4gICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIG1heCB0byB0aGUgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudEJyZWFrcG9pbnQga2V5IGlmIGl0IGV4aXN0c1xuICAgIGlmIChcbiAgICAgIHRoaXMuYXJncy5yZXNwb25zaXZlICYmXG4gICAgICB0aGlzLnJlc3BvbnNpdmVPYmplY3RbdGhpcy5jdXJyZW50QnJlYWtwb2ludCBhcyBFdWlCcmVha3BvaW50U2l6ZV1cbiAgICApIHtcbiAgICAgIGNhbGN1bGF0ZWRNYXggPVxuICAgICAgICB0aGlzLnJlc3BvbnNpdmVPYmplY3RbdGhpcy5jdXJyZW50QnJlYWtwb2ludCBhcyBFdWlCcmVha3BvaW50U2l6ZV07XG4gICAgfVxuXG4gICAgLy8gRmluYWwgY2hlY2sgaXMgdG8gbWFrZSBzdXJlIG1heCBpcyB1c2VkIG92ZXIgYSBsYXJnZXIgYnJlYWtwb2ludCB2YWx1ZVxuICAgIGlmICh0aGlzLm1heCAmJiBjYWxjdWxhdGVkTWF4KSB7XG4gICAgICBjYWxjdWxhdGVkTWF4ID0gdGhpcy5tYXggPCBjYWxjdWxhdGVkTWF4ID8gdGhpcy5tYXggOiBjYWxjdWxhdGVkTWF4O1xuICAgIH1cblxuICAgIHJldHVybiBjYWxjdWxhdGVkTWF4O1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgbGltaXRlZEJyZWFkY3J1bWJzKCkge1xuICAgIGNvbnN0IGNhbGN1bGF0ZWRNYXggPSB0aGlzLmNhbGN1bGF0ZWRNYXg7XG5cbiAgICByZXR1cm4gY2FsY3VsYXRlZE1heFxuICAgICAgPyBsaW1pdGVkQnJlYWRjcnVtYnMoY2FsY3VsYXRlZE1heCwgdGhpcy5hcmdzLmJyZWFkY3J1bWJzKVxuICAgICAgOiB7XG4gICAgICAgICAgYnJlYWRjcnVtYnM6IHRoaXMuYXJncy5icmVhZGNydW1icyxcbiAgICAgICAgICBvdmVyZmxvd0JyZWFkY3J1bWJzOiBbXSBhcyBFdWlCcmVhZGNydW1iW11cbiAgICAgICAgfTtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8bmF2XG4gICAgICB7e29uV2luZG93UmVzaXplTW9kaWZpZXJcbiAgICAgICAgZnVuY3Rpb25Ub0NhbGxPbldpbmRvd1Jlc2l6ZT10aGlzLmZ1bmN0aW9uVG9DYWxsT25XaW5kb3dSZXNpemVcbiAgICAgIH19XG4gICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgXCJldWlCcmVhZGNydW1ic1wiXG4gICAgICAgIChpZiB0aGlzLnRydW5jYXRlIFwiZXVpQnJlYWRjcnVtYnMtLXRydW5jYXRlXCIpXG4gICAgICB9fVxuICAgICAgLi4uYXR0cmlidXRlc1xuICAgID5cbiAgICAgIDxvbCBjbGFzcz1cImV1aUJyZWFkY3J1bWJzX19saXN0XCI-XG5cbiAgICAgICAge3sjZWFjaCB0aGlzLmxpbWl0ZWRCcmVhZGNydW1icy5icmVhZGNydW1icyBhcyB8YnJlYWRjcnVtYiBpbmRleHx9fVxuXG4gICAgICAgICAge3sjaWYgYnJlYWRjcnVtYi5lbGxpcHNpc319XG4gICAgICAgICAgICB7eyNsZXQgKHVzZVN0YXRlIGZhbHNlKSBhcyB8cG9wT3ZlclN0YXRlfH19XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cImV1aUJyZWFkY3J1bWIgZXVpQnJlYWRjcnVtYi0tY29sbGFwc2VkXCI-XG4gICAgICAgICAgICAgICAgPEV1aVBvcG92ZXJcbiAgICAgICAgICAgICAgICAgIEBpc09wZW49e3twb3BPdmVyU3RhdGUudmFsdWV9fVxuICAgICAgICAgICAgICAgICAgQGNsb3NlUG9wb3Zlcj17e2ZuIHBvcE92ZXJTdGF0ZS5zZXRTdGF0ZSBmYWxzZX19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPDpidXR0b24-XG4gICAgICAgICAgICAgICAgICAgIDxFdWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWlCcmVhZGNydW1iX19jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICBAY29sb3I9XCJzdWJkdWVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VlIGNvbGxhcHNlZCBicmVhZGNydW1ic1wiXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJTZWUgY29sbGFwc2VkIGJyZWFkY3J1bWJzXCJcbiAgICAgICAgICAgICAgICAgICAgICB7e29uIFwiY2xpY2tcIiAoZm4gcG9wT3ZlclN0YXRlLnNldFN0YXRlIHRydWUpfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICZoZWxsaXA7PEV1aUljb24gQHR5cGU9XCJhcnJvd0Rvd25cIiBAc2l6ZT1cInNcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L0V1aUxpbms-XG4gICAgICAgICAgICAgICAgICA8LzpidXR0b24-XG4gICAgICAgICAgICAgICAgICA8OmNvbnRlbnQ-XG4gICAgICAgICAgICAgICAgICAgIDxFdWlCcmVhZGNydW1ic1xuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpQnJlYWRjcnVtYnNfX2luUG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgICAgICAgQGJyZWFkY3J1bWJzPXt7dGhpcy5saW1pdGVkQnJlYWRjcnVtYnMub3ZlcmZsb3dCcmVhZGNydW1ic319XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgQHRydW5jYXRlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIEBtYXg9e3swfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvOmNvbnRlbnQ-XG4gICAgICAgICAgICAgICAgPC9FdWlQb3BvdmVyPlxuXG4gICAgICAgICAgICAgIDwvbGk-XG5cbiAgICAgICAgICAgIHt7L2xldH19XG4gICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgIDxFdWlJbm5lclRleHQgYXMgfHNldElubmVyVGV4dFJlZiBpbm5lclRleHR8PlxuICAgICAgICAgICAgICB7eyNsZXRcbiAgICAgICAgICAgICAgICAoZXEgaW5kZXggKHN1YiB0aGlzLmxpbWl0ZWRCcmVhZGNydW1icy5icmVhZGNydW1icy5sZW5ndGggMSkpXG4gICAgICAgICAgICAgICAgKGlmIChlcSBpbm5lclRleHQgXCJcIikgdW5kZWZpbmVkIGlubmVyVGV4dClcbiAgICAgICAgICAgICAgICBhcyB8aXNMYXN0QnJlYWRjcnVtYiB0aXRsZXxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICBcImV1aUJyZWFkY3J1bWJcIlxuICAgICAgICAgICAgICAgICAgICAoaWYgaXNMYXN0QnJlYWRjcnVtYiBcImV1aUJyZWFkY3J1bWItLWxhc3RcIilcbiAgICAgICAgICAgICAgICAgICAgKGlmIGJyZWFkY3J1bWIudHJ1bmNhdGUgXCJldWlCcmVhZGNydW1iLS10cnVuY2F0ZVwiKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIChub3QgYnJlYWRjcnVtYi5ocmVmKSAobm90IGJyZWFkY3J1bWIub25DbGljaykpfX1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICB7e2RpZEluc2VydCBzZXRJbm5lclRleHRSZWZ9fVxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXt7dGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJldWlCcmVhZGNydW1iX19jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWIuY2xhc3NOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9e3tpZiBpc0xhc3RCcmVhZGNydW1iIFwicGFnZVwiIHVuZGVmaW5lZH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7e2JyZWFkY3J1bWIudGV4dH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgIDxFdWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAge3tkaWRJbnNlcnQgc2V0SW5uZXJUZXh0UmVmfX1cbiAgICAgICAgICAgICAgICAgICAgICBAY29sb3I9e3tpZlxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYi5jb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYi5jb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGlzTGFzdEJyZWFkY3J1bWIgXCJ0ZXh0XCIgXCJzdWJkdWVkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBAaHJlZj17e2JyZWFkY3J1bWIuaHJlZn19XG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e3t0aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICBcImV1aUJyZWFkY3J1bWJfX2NvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYi5jbGFzc05hbWVcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChvcHRpb25hbCBicmVhZGNydW1iLm9uQ2xpY2spfX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9e3tpZiBpc0xhc3RCcmVhZGNydW1iIFwicGFnZVwiIHVuZGVmaW5lZH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7e2JyZWFkY3J1bWIudGV4dH19XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpTGluaz5cbiAgICAgICAgICAgICAgICAgIHt7L2lmfX1cblxuICAgICAgICAgICAgICAgIDwvbGk-XG4gICAgICAgICAgICAgIHt7L2xldH19XG4gICAgICAgICAgICA8L0V1aUlubmVyVGV4dD5cbiAgICAgICAgICB7ey9pZn19XG5cbiAgICAgICAge3svZWFjaH19XG5cbiAgICAgIDwvb2w-XG4gICAgPC9uYXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["responsiveDefault","xs","s","m","onWindowResizeModifier","modifier","_ele1","_pos1","functionToCallOnWindowResize","functionToCallOnWindowResize1","window","addEventListener","removeEventListener","limitedBreadcrumbs","max1","breadcrumbs1","breadcrumbsAtStart1","breadcrumbsAtEnd1","limit1","Math","min","length","start1","floor","overflowBreadcrumbs1","slice","i1","isEven1","normalizedIndex1","indexOfBreadcrumb1","breadcrumb1","unshift","push","ellipsis","breadcrumbs","overflowBreadcrumbs","EuiBreadcrumbs","Component","g","this","prototype","tracked","i","void 0","constructor","owner1","args1","currentBreakpoint","getBreakpoint","Infinity","innerWidth","throttle","newBreakpoint1","responsiveObject","args","responsive","max","truncate","calculatedMax","calculatedMax1","n","cached","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","useState","EuiPopover","fn","EuiLink","on","EuiIcon","EuiInnerText","eq","sub","and","not","didInsert","optional"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-breadcrumbs.js","sources":["../../src/components/eui-breadcrumbs.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { throttle } from '@ember/runloop';\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport sub from 'ember-math-helpers/helpers/sub';\nimport { modifier } from 'ember-modifier';\nimport { and, eq, not } from 'ember-truth-helpers';\nimport classNames from '../helpers/class-names.ts';\nimport useState from '../helpers/use-state.ts';\nimport { getBreakpoint } from '../utils/breakpoint.ts';\nimport EuiIcon from './eui-icon.gts';\nimport EuiInnerText from './eui-inner-text.gts';\nimport EuiLink from './eui-link.gts';\nimport EuiPopover from './eui-popover.gts';\nimport type { EuiBreakpointSize } from '../utils/breakpoint.ts';\nexport type EuiBreadcrumbResponsiveMaxCount = {\n [key in EuiBreakpointSize]?: number;\n};\nconst responsiveDefault: EuiBreadcrumbResponsiveMaxCount = {\n xs: 1,\n s: 2,\n m: 4\n};\nexport type EuiBreadcrumb = {\n /**\n * Visible label of the breadcrumb\n */ text: string;\n href?: string;\n onClick?: (e: MouseEvent) => void;\n className?: string;\n /**\n * Force a max-width on the breadcrumb text\n */ truncate?: boolean;\n ellipsis?: boolean;\n color?: string;\n 'aria-current': string;\n};\nconst onWindowResizeModifier = modifier((_ele1: HTMLElement, _pos1, { functionToCallOnWindowResize: functionToCallOnWindowResize1 }: {\n functionToCallOnWindowResize: () => void;\n})=>{\n window.addEventListener('resize', functionToCallOnWindowResize1);\n return ()=>{\n window.removeEventListener('resize', functionToCallOnWindowResize1);\n };\n});\nconst limitedBreadcrumbs = (max1: number, breadcrumbs1: EuiBreadcrumb[])=>{\n const breadcrumbsAtStart1 = [];\n const breadcrumbsAtEnd1 = [];\n const limit1 = Math.min(max1, breadcrumbs1.length);\n const start1 = Math.floor(limit1 / 2);\n const overflowBreadcrumbs1 = breadcrumbs1.slice(start1, start1 + breadcrumbs1.length - limit1);\n if (overflowBreadcrumbs1.length && overflowBreadcrumbs1[overflowBreadcrumbs1.length - 1]) {\n overflowBreadcrumbs1[overflowBreadcrumbs1.length - 1]!['aria-current'] = 'false';\n }\n for(let i1 = 0; i1 < limit1; i1++){\n // We'll alternate with displaying breadcrumbs at the end and at the start, but be biased\n // towards breadcrumbs the end so that if max is an odd number, we'll have one more\n // breadcrumb visible at the end than at the beginning.\n const isEven1 = i1 % 2 === 0;\n // We're picking breadcrumbs from the front AND the back, so we treat each iteration as a\n // half-iteration.\n const normalizedIndex1 = Math.floor(i1 * 0.5);\n const indexOfBreadcrumb1 = isEven1 ? breadcrumbs1.length - 1 - normalizedIndex1 : normalizedIndex1;\n const breadcrumb1 = breadcrumbs1[indexOfBreadcrumb1];\n if (isEven1 && breadcrumb1) {\n breadcrumbsAtEnd1.unshift(breadcrumb1);\n } else if (breadcrumb1) {\n breadcrumbsAtStart1.push(breadcrumb1);\n }\n }\n if (max1 < breadcrumbs1.length) {\n breadcrumbsAtStart1.push({\n ellipsis: true\n } as EuiBreadcrumb);\n }\n return {\n breadcrumbs: [\n ...breadcrumbsAtStart1,\n ...breadcrumbsAtEnd1\n ],\n overflowBreadcrumbs: overflowBreadcrumbs1\n };\n};\ninterface EuiBreadcrumbsComponentArgs {\n /**\n * Hides extra (above the max) breadcrumbs under a collapsed item as the window gets smaller.\n * Pass a custom #EuiBreadcrumbResponsiveMaxCount object to change the number of breadcrumbs to show at the particular breakpoints.\n *\n * Pass `false` to turn this behavior off.\n *\n * Default: `{ xs: 1, s: 2, m: 4 }`\n */ responsive?: boolean | EuiBreadcrumbResponsiveMaxCount;\n /**\n * Forces all breadcrumbs to single line and\n * truncates each breadcrumb to a particular width,\n * except for the last item\n */ truncate?: boolean;\n /**\n * Collapses the inner items past the maximum set here\n * into a single ellipses item.\n * Omitting or passing a `0` value will show all breadcrumbs.\n */ max?: number | null;\n /**\n * The array of individual #EuiBreadcrumb items\n */ breadcrumbs: EuiBreadcrumb[];\n}\nexport interface EuiBreadcrumbsSignature {\n Element: HTMLElement;\n Args: EuiBreadcrumbsComponentArgs;\n Blocks: {\n default: [];\n };\n}\nexport default class EuiBreadcrumbs extends Component<EuiBreadcrumbsSignature> {\n @tracked\n currentBreakpoint;\n constructor(owner1: unknown, args1: EuiBreadcrumbsComponentArgs){\n super(owner1, args1);\n this.currentBreakpoint = getBreakpoint(typeof window === 'undefined' ? -Infinity : window.innerWidth);\n }\n functionToCallOnWindowResize = ()=>{\n throttle(()=>{\n const newBreakpoint1 = getBreakpoint(window.innerWidth);\n if (newBreakpoint1 !== this.currentBreakpoint) {\n this.currentBreakpoint = newBreakpoint1;\n }\n }, 50);\n };\n get responsiveObject() {\n return typeof this.args.responsive === 'object' ? this.args.responsive : responsiveDefault;\n }\n get max() {\n if (this.args.max === null) {\n return null;\n }\n return this.args.max ?? 5;\n }\n get truncate() {\n return this.args.truncate ?? true;\n }\n get calculatedMax(): EuiBreadcrumbsComponentArgs['max'] {\n // The max property collapses any breadcrumbs past the max quantity.\n // This is the same behavior we want for responsiveness.\n // So calculate the max value based on the combination of `max` and `responsive`\n let calculatedMax1: EuiBreadcrumbsComponentArgs['max'] = this.max;\n // Set the calculated max to the number associated with the currentBreakpoint key if it exists\n if (this.args.responsive && this.responsiveObject[this.currentBreakpoint as EuiBreakpointSize]) {\n calculatedMax1 = this.responsiveObject[this.currentBreakpoint as EuiBreakpointSize];\n }\n // Final check is to make sure max is used over a larger breakpoint value\n if (this.max && calculatedMax1) {\n calculatedMax1 = this.max < calculatedMax1 ? this.max : calculatedMax1;\n }\n return calculatedMax1;\n }\n @cached\n get limitedBreadcrumbs() {\n const calculatedMax1 = this.calculatedMax;\n return calculatedMax1 ? limitedBreadcrumbs(calculatedMax1, this.args.breadcrumbs) : {\n breadcrumbs: this.args.breadcrumbs,\n overflowBreadcrumbs: [] as EuiBreadcrumb[]\n };\n }\n static{\n template(`\n <nav\n {{onWindowResizeModifier\n functionToCallOnWindowResize=this.functionToCallOnWindowResize\n }}\n class={{classNames\n \"euiBreadcrumbs\"\n (if this.truncate \"euiBreadcrumbs--truncate\")\n }}\n ...attributes\n >\n <ol class=\"euiBreadcrumbs__list\">\n\n {{#each this.limitedBreadcrumbs.breadcrumbs as |breadcrumb index|}}\n\n {{#if breadcrumb.ellipsis}}\n {{#let (useState false) as |popOverState|}}\n <li class=\"euiBreadcrumb euiBreadcrumb--collapsed\">\n <EuiPopover\n @isOpen={{popOverState.value}}\n @closePopover={{fn popOverState.setState false}}\n >\n <:button>\n <EuiLink\n class=\"euiBreadcrumb__content\"\n @color=\"subdued\"\n aria-label=\"See collapsed breadcrumbs\"\n title=\"See collapsed breadcrumbs\"\n {{on \"click\" (fn popOverState.setState true)}}\n >\n …<EuiIcon @type=\"arrowDown\" @size=\"s\" />\n </EuiLink>\n </:button>\n <:content>\n <EuiBreadcrumbs\n class=\"euiBreadcrumbs__inPopover\"\n @breadcrumbs={{this.limitedBreadcrumbs.overflowBreadcrumbs}}\n @responsive={{false}}\n @truncate={{false}}\n @max={{0}}\n />\n </:content>\n </EuiPopover>\n\n </li>\n\n {{/let}}\n {{else}}\n <EuiInnerText as |setInnerTextRef innerText|>\n {{#let\n (eq index (sub this.limitedBreadcrumbs.breadcrumbs.length 1))\n (if (eq innerText \"\") undefined innerText)\n as |isLastBreadcrumb title|\n }}\n <li\n class={{classNames\n \"euiBreadcrumb\"\n (if isLastBreadcrumb \"euiBreadcrumb--last\")\n (if breadcrumb.truncate \"euiBreadcrumb--truncate\")\n }}\n >\n {{#if (and (not breadcrumb.href) (not breadcrumb.onClick))}}\n <span\n {{didInsert setInnerTextRef}}\n title={{title}}\n class={{classNames\n \"euiBreadcrumb__content\"\n breadcrumb.className\n }}\n aria-current={{if isLastBreadcrumb \"page\" undefined}}\n >\n {{breadcrumb.text}}\n </span>\n {{else}}\n <EuiLink\n {{didInsert setInnerTextRef}}\n @color={{if\n breadcrumb.color\n breadcrumb.color\n (if isLastBreadcrumb \"text\" \"subdued\")\n }}\n @href={{breadcrumb.href}}\n title={{title}}\n class={{classNames\n \"euiBreadcrumb__content\"\n breadcrumb.className\n }}\n {{on \"click\" (optional breadcrumb.onClick)}}\n aria-current={{if isLastBreadcrumb \"page\" undefined}}\n >\n {{breadcrumb.text}}\n </EuiLink>\n {{/if}}\n\n </li>\n {{/let}}\n </EuiInnerText>\n {{/if}}\n\n {{/each}}\n\n </ol>\n </nav>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1icmVhZGNydW1icy5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgY2FjaGVkLCB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgZm4gfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCBkaWRJbnNlcnQgZnJvbSAnQGVtYmVyL3JlbmRlci1tb2RpZmllcnMvbW9kaWZpZXJzL2RpZC1pbnNlcnQnO1xuaW1wb3J0IHsgdGhyb3R0bGUgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG5cbmltcG9ydCBvcHRpb25hbCBmcm9tICdlbWJlci1jb21wb3NhYmxlLWhlbHBlcnMvaGVscGVycy9vcHRpb25hbCc7XG5pbXBvcnQgc3ViIGZyb20gJ2VtYmVyLW1hdGgtaGVscGVycy9oZWxwZXJzL3N1Yic7XG5pbXBvcnQgeyBtb2RpZmllciB9IGZyb20gJ2VtYmVyLW1vZGlmaWVyJztcbmltcG9ydCB7IGFuZCwgZXEsIG5vdCB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLW5hbWVzLnRzJztcbmltcG9ydCB1c2VTdGF0ZSBmcm9tICcuLi9oZWxwZXJzL3VzZS1zdGF0ZS50cyc7XG5pbXBvcnQgeyBnZXRCcmVha3BvaW50IH0gZnJvbSAnLi4vdXRpbHMvYnJlYWtwb2ludC50cyc7XG5pbXBvcnQgRXVpSWNvbiBmcm9tICcuL2V1aS1pY29uLmd0cyc7XG5pbXBvcnQgRXVpSW5uZXJUZXh0IGZyb20gJy4vZXVpLWlubmVyLXRleHQuZ3RzJztcbmltcG9ydCBFdWlMaW5rIGZyb20gJy4vZXVpLWxpbmsuZ3RzJztcbmltcG9ydCBFdWlQb3BvdmVyIGZyb20gJy4vZXVpLXBvcG92ZXIuZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBFdWlCcmVha3BvaW50U2l6ZSB9IGZyb20gJy4uL3V0aWxzL2JyZWFrcG9pbnQudHMnO1xuXG5leHBvcnQgdHlwZSBFdWlCcmVhZGNydW1iUmVzcG9uc2l2ZU1heENvdW50ID0ge1xuICAvKipcbiAgICogQW55IG9mIHRoZSBmb2xsb3dpbmcga2V5cyBhcmUgYWxsb3dlZDogYCd4cycgfCAncycgfCAnbScgfCAnbCcgfCAneGwnYFxuICAgKiBPbWl0dGluZyBhIGtleSB3aWxsIGRpc3BsYXkgYWxsIGJyZWFkY3J1bWJzIGF0IHRoYXQgYnJlYWtwb2ludFxuICAgKi9cbiAgW2tleSBpbiBFdWlCcmVha3BvaW50U2l6ZV0_OiBudW1iZXI7XG59O1xuXG5jb25zdCByZXNwb25zaXZlRGVmYXVsdDogRXVpQnJlYWRjcnVtYlJlc3BvbnNpdmVNYXhDb3VudCA9IHtcbiAgeHM6IDEsXG4gIHM6IDIsXG4gIG06IDRcbn07XG5cbmV4cG9ydCB0eXBlIEV1aUJyZWFkY3J1bWIgPSB7XG4gIC8qKlxuICAgKiBWaXNpYmxlIGxhYmVsIG9mIHRoZSBicmVhZGNydW1iXG4gICAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIGhyZWY_OiBzdHJpbmc7XG4gIG9uQ2xpY2s_OiAoZTogTW91c2VFdmVudCkgPT4gdm9pZDtcblxuICBjbGFzc05hbWU_OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBGb3JjZSBhIG1heC13aWR0aCBvbiB0aGUgYnJlYWRjcnVtYiB0ZXh0XG4gICAqL1xuICB0cnVuY2F0ZT86IGJvb2xlYW47XG5cbiAgZWxsaXBzaXM_OiBib29sZWFuO1xuXG4gIGNvbG9yPzogc3RyaW5nO1xuXG4gICdhcmlhLWN1cnJlbnQnOiBzdHJpbmc7XG59O1xuXG5jb25zdCBvbldpbmRvd1Jlc2l6ZU1vZGlmaWVyID0gbW9kaWZpZXIoXG4gIChcbiAgICBfZWxlOiBIVE1MRWxlbWVudCxcbiAgICBfcG9zLFxuICAgIHtcbiAgICAgIGZ1bmN0aW9uVG9DYWxsT25XaW5kb3dSZXNpemVcbiAgICB9OiB7IGZ1bmN0aW9uVG9DYWxsT25XaW5kb3dSZXNpemU6ICgpID0-IHZvaWQgfVxuICApID0-IHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgZnVuY3Rpb25Ub0NhbGxPbldpbmRvd1Jlc2l6ZSk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIGZ1bmN0aW9uVG9DYWxsT25XaW5kb3dSZXNpemUpO1xuICAgIH07XG4gIH1cbik7XG5cbmNvbnN0IGxpbWl0ZWRCcmVhZGNydW1icyA9IChtYXg6IG51bWJlciwgYnJlYWRjcnVtYnM6IEV1aUJyZWFkY3J1bWJbXSkgPT4ge1xuICBjb25zdCBicmVhZGNydW1ic0F0U3RhcnQgPSBbXTtcbiAgY29uc3QgYnJlYWRjcnVtYnNBdEVuZCA9IFtdO1xuICBjb25zdCBsaW1pdCA9IE1hdGgubWluKG1heCwgYnJlYWRjcnVtYnMubGVuZ3RoKTtcbiAgY29uc3Qgc3RhcnQgPSBNYXRoLmZsb29yKGxpbWl0IC8gMik7XG4gIGNvbnN0IG92ZXJmbG93QnJlYWRjcnVtYnMgPSBicmVhZGNydW1icy5zbGljZShcbiAgICBzdGFydCxcbiAgICBzdGFydCArIGJyZWFkY3J1bWJzLmxlbmd0aCAtIGxpbWl0XG4gICk7XG5cbiAgaWYgKFxuICAgIG92ZXJmbG93QnJlYWRjcnVtYnMubGVuZ3RoICYmXG4gICAgb3ZlcmZsb3dCcmVhZGNydW1ic1tvdmVyZmxvd0JyZWFkY3J1bWJzLmxlbmd0aCAtIDFdXG4gICkge1xuICAgIG92ZXJmbG93QnJlYWRjcnVtYnNbb3ZlcmZsb3dCcmVhZGNydW1icy5sZW5ndGggLSAxXSFbJ2FyaWEtY3VycmVudCddID1cbiAgICAgICdmYWxzZSc7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbWl0OyBpKyspIHtcbiAgICAvLyBXZSdsbCBhbHRlcm5hdGUgd2l0aCBkaXNwbGF5aW5nIGJyZWFkY3J1bWJzIGF0IHRoZSBlbmQgYW5kIGF0IHRoZSBzdGFydCwgYnV0IGJlIGJpYXNlZFxuICAgIC8vIHRvd2FyZHMgYnJlYWRjcnVtYnMgdGhlIGVuZCBzbyB0aGF0IGlmIG1heCBpcyBhbiBvZGQgbnVtYmVyLCB3ZSdsbCBoYXZlIG9uZSBtb3JlXG4gICAgLy8gYnJlYWRjcnVtYiB2aXNpYmxlIGF0IHRoZSBlbmQgdGhhbiBhdCB0aGUgYmVnaW5uaW5nLlxuICAgIGNvbnN0IGlzRXZlbiA9IGkgJSAyID09PSAwO1xuXG4gICAgLy8gV2UncmUgcGlja2luZyBicmVhZGNydW1icyBmcm9tIHRoZSBmcm9udCBBTkQgdGhlIGJhY2ssIHNvIHdlIHRyZWF0IGVhY2ggaXRlcmF0aW9uIGFzIGFcbiAgICAvLyBoYWxmLWl0ZXJhdGlvbi5cbiAgICBjb25zdCBub3JtYWxpemVkSW5kZXggPSBNYXRoLmZsb29yKGkgKiAwLjUpO1xuICAgIGNvbnN0IGluZGV4T2ZCcmVhZGNydW1iID0gaXNFdmVuXG4gICAgICA_IGJyZWFkY3J1bWJzLmxlbmd0aCAtIDEgLSBub3JtYWxpemVkSW5kZXhcbiAgICAgIDogbm9ybWFsaXplZEluZGV4O1xuICAgIGNvbnN0IGJyZWFkY3J1bWIgPSBicmVhZGNydW1ic1tpbmRleE9mQnJlYWRjcnVtYl07XG5cbiAgICBpZiAoaXNFdmVuICYmIGJyZWFkY3J1bWIpIHtcbiAgICAgIGJyZWFkY3J1bWJzQXRFbmQudW5zaGlmdChicmVhZGNydW1iKTtcbiAgICB9IGVsc2UgaWYgKGJyZWFkY3J1bWIpIHtcbiAgICAgIGJyZWFkY3J1bWJzQXRTdGFydC5wdXNoKGJyZWFkY3J1bWIpO1xuICAgIH1cbiAgfVxuXG4gIGlmIChtYXggPCBicmVhZGNydW1icy5sZW5ndGgpIHtcbiAgICBicmVhZGNydW1ic0F0U3RhcnQucHVzaCh7IGVsbGlwc2lzOiB0cnVlIH0gYXMgRXVpQnJlYWRjcnVtYik7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGJyZWFkY3J1bWJzOiBbLi4uYnJlYWRjcnVtYnNBdFN0YXJ0LCAuLi5icmVhZGNydW1ic0F0RW5kXSxcbiAgICBvdmVyZmxvd0JyZWFkY3J1bWJzXG4gIH07XG59O1xuXG5pbnRlcmZhY2UgRXVpQnJlYWRjcnVtYnNDb21wb25lbnRBcmdzIHtcbiAgLyoqXG4gICAqIEhpZGVzIGV4dHJhIChhYm92ZSB0aGUgbWF4KSBicmVhZGNydW1icyB1bmRlciBhIGNvbGxhcHNlZCBpdGVtIGFzIHRoZSB3aW5kb3cgZ2V0cyBzbWFsbGVyLlxuICAgKiBQYXNzIGEgY3VzdG9tICNFdWlCcmVhZGNydW1iUmVzcG9uc2l2ZU1heENvdW50IG9iamVjdCB0byBjaGFuZ2UgdGhlIG51bWJlciBvZiBicmVhZGNydW1icyB0byBzaG93IGF0IHRoZSBwYXJ0aWN1bGFyIGJyZWFrcG9pbnRzLlxuICAgKlxuICAgKiBQYXNzIGBmYWxzZWAgdG8gdHVybiB0aGlzIGJlaGF2aW9yIG9mZi5cbiAgICpcbiAgICogRGVmYXVsdDogYHsgeHM6IDEsIHM6IDIsIG06IDQgfWBcbiAgICovXG4gIHJlc3BvbnNpdmU_OiBib29sZWFuIHwgRXVpQnJlYWRjcnVtYlJlc3BvbnNpdmVNYXhDb3VudDtcblxuICAvKipcbiAgICogRm9yY2VzIGFsbCBicmVhZGNydW1icyB0byBzaW5nbGUgbGluZSBhbmRcbiAgICogdHJ1bmNhdGVzIGVhY2ggYnJlYWRjcnVtYiB0byBhIHBhcnRpY3VsYXIgd2lkdGgsXG4gICAqIGV4Y2VwdCBmb3IgdGhlIGxhc3QgaXRlbVxuICAgKi9cbiAgdHJ1bmNhdGU_OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDb2xsYXBzZXMgdGhlIGlubmVyIGl0ZW1zIHBhc3QgdGhlIG1heGltdW0gc2V0IGhlcmVcbiAgICogaW50byBhIHNpbmdsZSBlbGxpcHNlcyBpdGVtLlxuICAgKiBPbWl0dGluZyBvciBwYXNzaW5nIGEgYDBgIHZhbHVlIHdpbGwgc2hvdyBhbGwgYnJlYWRjcnVtYnMuXG4gICAqL1xuICBtYXg_OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgYXJyYXkgb2YgaW5kaXZpZHVhbCAjRXVpQnJlYWRjcnVtYiBpdGVtc1xuICAgKi9cbiAgYnJlYWRjcnVtYnM6IEV1aUJyZWFkY3J1bWJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdWlCcmVhZGNydW1ic1NpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICBBcmdzOiBFdWlCcmVhZGNydW1ic0NvbXBvbmVudEFyZ3M7XG4gIEJsb2NrczogeyBkZWZhdWx0OiBbXSB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFdWlCcmVhZGNydW1icyBleHRlbmRzIENvbXBvbmVudDxFdWlCcmVhZGNydW1ic1NpZ25hdHVyZT4ge1xuICBAdHJhY2tlZCBjdXJyZW50QnJlYWtwb2ludDtcblxuICBjb25zdHJ1Y3Rvcihvd25lcjogdW5rbm93biwgYXJnczogRXVpQnJlYWRjcnVtYnNDb21wb25lbnRBcmdzKSB7XG4gICAgc3VwZXIob3duZXIsIGFyZ3MpO1xuICAgIHRoaXMuY3VycmVudEJyZWFrcG9pbnQgPSBnZXRCcmVha3BvaW50KFxuICAgICAgdHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcgPyAtSW5maW5pdHkgOiB3aW5kb3cuaW5uZXJXaWR0aFxuICAgICk7XG4gIH1cblxuICBmdW5jdGlvblRvQ2FsbE9uV2luZG93UmVzaXplID0gKCkgPT4ge1xuICAgIHRocm90dGxlKCgpID0-IHtcbiAgICAgIGNvbnN0IG5ld0JyZWFrcG9pbnQgPSBnZXRCcmVha3BvaW50KHdpbmRvdy5pbm5lcldpZHRoKTtcblxuICAgICAgaWYgKG5ld0JyZWFrcG9pbnQgIT09IHRoaXMuY3VycmVudEJyZWFrcG9pbnQpIHtcbiAgICAgICAgdGhpcy5jdXJyZW50QnJlYWtwb2ludCA9IG5ld0JyZWFrcG9pbnQ7XG4gICAgICB9XG4gICAgfSwgNTApO1xuICB9O1xuXG4gIGdldCByZXNwb25zaXZlT2JqZWN0KCkge1xuICAgIHJldHVybiB0eXBlb2YgdGhpcy5hcmdzLnJlc3BvbnNpdmUgPT09ICdvYmplY3QnXG4gICAgICA_IHRoaXMuYXJncy5yZXNwb25zaXZlXG4gICAgICA6IHJlc3BvbnNpdmVEZWZhdWx0O1xuICB9XG5cbiAgZ2V0IG1heCgpIHtcbiAgICBpZiAodGhpcy5hcmdzLm1heCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXJncy5tYXggPz8gNTtcbiAgfVxuXG4gIGdldCB0cnVuY2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hcmdzLnRydW5jYXRlID8_IHRydWU7XG4gIH1cblxuICBnZXQgY2FsY3VsYXRlZE1heCgpOiBFdWlCcmVhZGNydW1ic0NvbXBvbmVudEFyZ3NbJ21heCddIHtcbiAgICAvLyBUaGUgbWF4IHByb3BlcnR5IGNvbGxhcHNlcyBhbnkgYnJlYWRjcnVtYnMgcGFzdCB0aGUgbWF4IHF1YW50aXR5LlxuICAgIC8vIFRoaXMgaXMgdGhlIHNhbWUgYmVoYXZpb3Igd2Ugd2FudCBmb3IgcmVzcG9uc2l2ZW5lc3MuXG4gICAgLy8gU28gY2FsY3VsYXRlIHRoZSBtYXggdmFsdWUgYmFzZWQgb24gdGhlIGNvbWJpbmF0aW9uIG9mIGBtYXhgIGFuZCBgcmVzcG9uc2l2ZWBcbiAgICBsZXQgY2FsY3VsYXRlZE1heDogRXVpQnJlYWRjcnVtYnNDb21wb25lbnRBcmdzWydtYXgnXSA9IHRoaXMubWF4O1xuXG4gICAgLy8gU2V0IHRoZSBjYWxjdWxhdGVkIG1heCB0byB0aGUgbnVtYmVyIGFzc29jaWF0ZWQgd2l0aCB0aGUgY3VycmVudEJyZWFrcG9pbnQga2V5IGlmIGl0IGV4aXN0c1xuICAgIGlmIChcbiAgICAgIHRoaXMuYXJncy5yZXNwb25zaXZlICYmXG4gICAgICB0aGlzLnJlc3BvbnNpdmVPYmplY3RbdGhpcy5jdXJyZW50QnJlYWtwb2ludCBhcyBFdWlCcmVha3BvaW50U2l6ZV1cbiAgICApIHtcbiAgICAgIGNhbGN1bGF0ZWRNYXggPVxuICAgICAgICB0aGlzLnJlc3BvbnNpdmVPYmplY3RbdGhpcy5jdXJyZW50QnJlYWtwb2ludCBhcyBFdWlCcmVha3BvaW50U2l6ZV07XG4gICAgfVxuXG4gICAgLy8gRmluYWwgY2hlY2sgaXMgdG8gbWFrZSBzdXJlIG1heCBpcyB1c2VkIG92ZXIgYSBsYXJnZXIgYnJlYWtwb2ludCB2YWx1ZVxuICAgIGlmICh0aGlzLm1heCAmJiBjYWxjdWxhdGVkTWF4KSB7XG4gICAgICBjYWxjdWxhdGVkTWF4ID0gdGhpcy5tYXggPCBjYWxjdWxhdGVkTWF4ID8gdGhpcy5tYXggOiBjYWxjdWxhdGVkTWF4O1xuICAgIH1cblxuICAgIHJldHVybiBjYWxjdWxhdGVkTWF4O1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgbGltaXRlZEJyZWFkY3J1bWJzKCkge1xuICAgIGNvbnN0IGNhbGN1bGF0ZWRNYXggPSB0aGlzLmNhbGN1bGF0ZWRNYXg7XG5cbiAgICByZXR1cm4gY2FsY3VsYXRlZE1heFxuICAgICAgPyBsaW1pdGVkQnJlYWRjcnVtYnMoY2FsY3VsYXRlZE1heCwgdGhpcy5hcmdzLmJyZWFkY3J1bWJzKVxuICAgICAgOiB7XG4gICAgICAgICAgYnJlYWRjcnVtYnM6IHRoaXMuYXJncy5icmVhZGNydW1icyxcbiAgICAgICAgICBvdmVyZmxvd0JyZWFkY3J1bWJzOiBbXSBhcyBFdWlCcmVhZGNydW1iW11cbiAgICAgICAgfTtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8bmF2XG4gICAgICB7e29uV2luZG93UmVzaXplTW9kaWZpZXJcbiAgICAgICAgZnVuY3Rpb25Ub0NhbGxPbldpbmRvd1Jlc2l6ZT10aGlzLmZ1bmN0aW9uVG9DYWxsT25XaW5kb3dSZXNpemVcbiAgICAgIH19XG4gICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgXCJldWlCcmVhZGNydW1ic1wiXG4gICAgICAgIChpZiB0aGlzLnRydW5jYXRlIFwiZXVpQnJlYWRjcnVtYnMtLXRydW5jYXRlXCIpXG4gICAgICB9fVxuICAgICAgLi4uYXR0cmlidXRlc1xuICAgID5cbiAgICAgIDxvbCBjbGFzcz1cImV1aUJyZWFkY3J1bWJzX19saXN0XCI-XG5cbiAgICAgICAge3sjZWFjaCB0aGlzLmxpbWl0ZWRCcmVhZGNydW1icy5icmVhZGNydW1icyBhcyB8YnJlYWRjcnVtYiBpbmRleHx9fVxuXG4gICAgICAgICAge3sjaWYgYnJlYWRjcnVtYi5lbGxpcHNpc319XG4gICAgICAgICAgICB7eyNsZXQgKHVzZVN0YXRlIGZhbHNlKSBhcyB8cG9wT3ZlclN0YXRlfH19XG4gICAgICAgICAgICAgIDxsaSBjbGFzcz1cImV1aUJyZWFkY3J1bWIgZXVpQnJlYWRjcnVtYi0tY29sbGFwc2VkXCI-XG4gICAgICAgICAgICAgICAgPEV1aVBvcG92ZXJcbiAgICAgICAgICAgICAgICAgIEBpc09wZW49e3twb3BPdmVyU3RhdGUudmFsdWV9fVxuICAgICAgICAgICAgICAgICAgQGNsb3NlUG9wb3Zlcj17e2ZuIHBvcE92ZXJTdGF0ZS5zZXRTdGF0ZSBmYWxzZX19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPDpidXR0b24-XG4gICAgICAgICAgICAgICAgICAgIDxFdWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWlCcmVhZGNydW1iX19jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICBAY29sb3I9XCJzdWJkdWVkXCJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VlIGNvbGxhcHNlZCBicmVhZGNydW1ic1wiXG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJTZWUgY29sbGFwc2VkIGJyZWFkY3J1bWJzXCJcbiAgICAgICAgICAgICAgICAgICAgICB7e29uIFwiY2xpY2tcIiAoZm4gcG9wT3ZlclN0YXRlLnNldFN0YXRlIHRydWUpfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICZoZWxsaXA7PEV1aUljb24gQHR5cGU9XCJhcnJvd0Rvd25cIiBAc2l6ZT1cInNcIiAvPlxuICAgICAgICAgICAgICAgICAgICA8L0V1aUxpbms-XG4gICAgICAgICAgICAgICAgICA8LzpidXR0b24-XG4gICAgICAgICAgICAgICAgICA8OmNvbnRlbnQ-XG4gICAgICAgICAgICAgICAgICAgIDxFdWlCcmVhZGNydW1ic1xuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpQnJlYWRjcnVtYnNfX2luUG9wb3ZlclwiXG4gICAgICAgICAgICAgICAgICAgICAgQGJyZWFkY3J1bWJzPXt7dGhpcy5saW1pdGVkQnJlYWRjcnVtYnMub3ZlcmZsb3dCcmVhZGNydW1ic319XG4gICAgICAgICAgICAgICAgICAgICAgQHJlc3BvbnNpdmU9e3tmYWxzZX19XG4gICAgICAgICAgICAgICAgICAgICAgQHRydW5jYXRlPXt7ZmFsc2V9fVxuICAgICAgICAgICAgICAgICAgICAgIEBtYXg9e3swfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvOmNvbnRlbnQ-XG4gICAgICAgICAgICAgICAgPC9FdWlQb3BvdmVyPlxuXG4gICAgICAgICAgICAgIDwvbGk-XG5cbiAgICAgICAgICAgIHt7L2xldH19XG4gICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgIDxFdWlJbm5lclRleHQgYXMgfHNldElubmVyVGV4dFJlZiBpbm5lclRleHR8PlxuICAgICAgICAgICAgICB7eyNsZXRcbiAgICAgICAgICAgICAgICAoZXEgaW5kZXggKHN1YiB0aGlzLmxpbWl0ZWRCcmVhZGNydW1icy5icmVhZGNydW1icy5sZW5ndGggMSkpXG4gICAgICAgICAgICAgICAgKGlmIChlcSBpbm5lclRleHQgXCJcIikgdW5kZWZpbmVkIGlubmVyVGV4dClcbiAgICAgICAgICAgICAgICBhcyB8aXNMYXN0QnJlYWRjcnVtYiB0aXRsZXxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8bGlcbiAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICBcImV1aUJyZWFkY3J1bWJcIlxuICAgICAgICAgICAgICAgICAgICAoaWYgaXNMYXN0QnJlYWRjcnVtYiBcImV1aUJyZWFkY3J1bWItLWxhc3RcIilcbiAgICAgICAgICAgICAgICAgICAgKGlmIGJyZWFkY3J1bWIudHJ1bmNhdGUgXCJldWlCcmVhZGNydW1iLS10cnVuY2F0ZVwiKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICB7eyNpZiAoYW5kIChub3QgYnJlYWRjcnVtYi5ocmVmKSAobm90IGJyZWFkY3J1bWIub25DbGljaykpfX1cbiAgICAgICAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICAgICAgICB7e2RpZEluc2VydCBzZXRJbm5lclRleHRSZWZ9fVxuICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPXt7dGl0bGV9fVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJldWlCcmVhZGNydW1iX19jb250ZW50XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFkY3J1bWIuY2xhc3NOYW1lXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9e3tpZiBpc0xhc3RCcmVhZGNydW1iIFwicGFnZVwiIHVuZGVmaW5lZH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7e2JyZWFkY3J1bWIudGV4dH19XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICAgIDxFdWlMaW5rXG4gICAgICAgICAgICAgICAgICAgICAge3tkaWRJbnNlcnQgc2V0SW5uZXJUZXh0UmVmfX1cbiAgICAgICAgICAgICAgICAgICAgICBAY29sb3I9e3tpZlxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYi5jb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYi5jb2xvclxuICAgICAgICAgICAgICAgICAgICAgICAgKGlmIGlzTGFzdEJyZWFkY3J1bWIgXCJ0ZXh0XCIgXCJzdWJkdWVkXCIpXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICBAaHJlZj17e2JyZWFkY3J1bWIuaHJlZn19XG4gICAgICAgICAgICAgICAgICAgICAgdGl0bGU9e3t0aXRsZX19XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgICAgICAgICAgICBcImV1aUJyZWFkY3J1bWJfX2NvbnRlbnRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWRjcnVtYi5jbGFzc05hbWVcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChvcHRpb25hbCBicmVhZGNydW1iLm9uQ2xpY2spfX1cbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWN1cnJlbnQ9e3tpZiBpc0xhc3RCcmVhZGNydW1iIFwicGFnZVwiIHVuZGVmaW5lZH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7e2JyZWFkY3J1bWIudGV4dH19XG4gICAgICAgICAgICAgICAgICAgIDwvRXVpTGluaz5cbiAgICAgICAgICAgICAgICAgIHt7L2lmfX1cblxuICAgICAgICAgICAgICAgIDwvbGk-XG4gICAgICAgICAgICAgIHt7L2xldH19XG4gICAgICAgICAgICA8L0V1aUlubmVyVGV4dD5cbiAgICAgICAgICB7ey9pZn19XG5cbiAgICAgICAge3svZWFjaH19XG5cbiAgICAgIDwvb2w-XG4gICAgPC9uYXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["cached","macroCondition","dependencySatisfies","importSync","responsiveDefault","xs","s","m","onWindowResizeModifier","modifier","_ele1","_pos1","functionToCallOnWindowResize","functionToCallOnWindowResize1","window","addEventListener","removeEventListener","limitedBreadcrumbs","max1","breadcrumbs1","breadcrumbsAtStart1","breadcrumbsAtEnd1","limit1","Math","min","length","start1","floor","overflowBreadcrumbs1","slice","i1","isEven1","normalizedIndex1","indexOfBreadcrumb1","breadcrumb1","unshift","push","ellipsis","breadcrumbs","overflowBreadcrumbs","EuiBreadcrumbs","Component","g","this","prototype","tracked","i","void 0","constructor","owner1","args1","currentBreakpoint","getBreakpoint","Infinity","innerWidth","throttle","newBreakpoint1","responsiveObject","args","responsive","max","truncate","calculatedMax","calculatedMax1","n","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","useState","EuiPopover","fn","EuiLink","on","EuiIcon","EuiInnerText","eq","sub","and","not","didInsert","optional"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { macroCondition, dependencySatisfies, importSync } from '@embroider/macros';
|
|
1
2
|
import Component from '@glimmer/component';
|
|
2
|
-
import { tracked
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
3
4
|
import { isArray } from '@ember/array';
|
|
4
5
|
import { action } from '@ember/object';
|
|
5
6
|
import { isEqual } from '@ember/utils';
|
|
@@ -21,6 +22,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
21
22
|
import { setComponentTemplate } from '@ember/component';
|
|
22
23
|
import { g, i, n } from 'decorator-transforms/runtime';
|
|
23
24
|
|
|
25
|
+
let cached = macroCondition(dependencySatisfies('ember-source', '>= 4.1.0-alpha.0')) ? importSync('@glimmer/tracking').cached : importSync('ember-cached-decorator-polyfill').cached;
|
|
24
26
|
const isSliceable = coll1 => {
|
|
25
27
|
return isArray(coll1);
|
|
26
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-combo-box.js","sources":["../../src/components/eui-combo-box.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { isArray } from '@ember/array';\nimport { action } from '@ember/object';\nimport { isEqual } from '@ember/utils';\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport pipe from 'ember-composable-helpers/helpers/pipe';\nimport queue from 'ember-composable-helpers/helpers/queue';\nimport PowerSelectMultiple from 'ember-power-select/components/power-select-multiple';\nimport { emberPowerSelectIsGroup } from 'ember-power-select/helpers/ember-power-select-is-group';\nimport { and, not } from 'ember-truth-helpers';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiComboBoxCreateOption from './eui-combo-box/create-option.gts';\nimport EuiComboBoxGroup from './eui-combo-box/group.gts';\nimport EuiComboBoxNoMatchesMessage from './eui-combo-box/no-matches-message.gts';\nimport EuiComboBoxOptions from './eui-combo-box/options.gts';\nimport EuiComboBoxSearchMessage from './eui-combo-box/search-message.gts';\nimport EuiComboBoxTrigger from './eui-combo-box/trigger.gts';\ninterface PromiseProxy<T> extends Promise<T> {\n content: any;\n}\ninterface Select {\n selected: any;\n actions: {\n search: (str: string) => void;\n };\n}\nexport interface EuiComboBoxSignature {\n Element: HTMLDivElement;\n Args: {\n singleSelection: boolean;\n onCreateOption?: (search: string) => boolean | undefined;\n options: any[];\n search?: (term: string, select: Select) => any[] | PromiseProxy<any[]>;\n searchField?: string;\n isInvalid?: boolean;\n fullWidth?: boolean;\n searchMessage?: string;\n searchEnabled?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n readOnly?: boolean;\n searchMessageComponent?: any;\n compressed?: boolean;\n onFocus?: (e: FocusEvent) => void;\n onBlur?: (e: FocusEvent) => void;\n onClose?: (e: Event) => void;\n onOpen?: (e: Event) => void;\n renderInPlace?: boolean;\n customOptionText?: string;\n dropdownClass?: string;\n selectedOptions?: any[];\n onChange: (selected: any[]) => void;\n placeholder?: string;\n extra?: any;\n closeOnSelect?: boolean;\n };\n Blocks: {\n default: [any, number, Select];\n };\n}\ninterface Sliceable<T> {\n slice(): T[];\n}\nconst isSliceable = <T>(coll1: any): coll is Sliceable<T> =>{\n return isArray(coll1);\n};\nexport const toPlainArray = <T>(collection1: T[] | Sliceable<T>): T[] =>{\n if (isSliceable<T>(collection1)) {\n return collection1.slice();\n } else {\n return collection1;\n }\n};\nexport default class EuiComboBoxComponent extends Component<EuiComboBoxSignature> {\n @tracked\n select: any = null;\n @tracked\n private _resolvedOptions?: any[];\n @tracked\n searchText = '';\n @tracked\n private _searchResult?: any[];\n private _filterResultsCache: {\n results: any[];\n options: any[];\n searchText: string;\n } = {\n results: [],\n options: [],\n searchText: this.searchText\n };\n static{\n template(`\n {{! @glint-nocheck: not typesafe yet }}\n <PowerSelectMultiple\n ...attributes\n @onChange={{pipe this.onChange @onChange}}\n @onFocus={{@onFocus}}\n @onBlur={{@onBlur}}\n @onOpen={{@onOpen}}\n @onClose={{@onClose}}\n @placeholderComponent={{@placeholderComponent}}\n @searchMessage={{@searchMessage}}\n @searchMessageComponent={{if\n @searchMessageComponent\n @searchMessageComponent\n EuiComboBoxSearchMessage\n }}\n @noMatchesMessage={{@noMatchesMessage}}\n @matchTriggerWidth={{@matchTriggerWidth}}\n @options={{this.options}}\n @selected={{@selectedOptions}}\n @closeOnSelect={{@closeOnSelect}}\n @defaultHighlighted={{@defaultHighlighted}}\n @searchField={{@searchField}}\n @searchEnabled={{argOrDefault @searchEnabled true}}\n @tabindex={{@tabindex}}\n @initiallyOpened={{and (not @isDisabled) @autoFocus}}\n @triggerComponent={{component\n EuiComboBoxTrigger\n fullWidth=@fullWidth\n compressed=@compressed\n isInvalid=@isInvalid\n singleSelection=@singleSelection\n onClose=@removeTag\n onCreateOption=(if @onCreateOption this.onCreateOption)\n isLoading=@isLoading\n autoFocus=(and (not @isDisabled) @autoFocus)\n icon=@triggerIcon\n }}\n @matcher={{@matcher}}\n @initiallyOpen={{@initiallyOpen}}\n @typeAheadOptionMatcher={{@typeAheadOptionMatcher}}\n @buildSelection={{this.buildSelection}}\n @search={{@search}}\n @onInput={{@onInput}}\n @onKeydown={{@onKeydown}}\n @scrollTo={{this.scrollTo}}\n @registerAPI={{queue this.registerAPI (optional @registerApi)}}\n @horizontalPosition={{@horizontalPosition}}\n @destination={{@destination}}\n @preventScroll={{@preventScroll}}\n @renderInPlace={{@renderInPlace}}\n @verticalPosition={{@verticalPosition}}\n @disabled={{@isDisabled}}\n @calculatePosition={{@calculatePosition}}\n @eventType={{@eventType}}\n @ariaLabel={{@ariaLabel}}\n @ariaLabelledBy={{@ariaLabelledBy}}\n @required={{@required}}\n @triggerRole={{@triggerRole}}\n @title={{@title}}\n @triggerId={{@triggerId}}\n @allowClear={{and (argOrDefault @isClearable true) (not @isDisabled)}}\n @loadingMessage={{@loadingMessage}}\n @selectedItemComponent={{@selectedItemComponent}}\n @beforeOptionsComponent={{@beforeOptionsComponent}}\n @placeholder={{@placeholder}}\n @searchPlaceholder={{@searchPlaceholder}}\n @optionsComponent={{component\n EuiComboBoxOptions\n rowHeight=@rowHeight\n class=@optionsClass\n }}\n @extra={{@extra}}\n @groupComponent={{component EuiComboBoxGroup}}\n @triggerClass={{classNames\n \"euiComboBox\"\n (if @compressed \"euiComboBox--compressed\")\n (if @fullWidth \"euiComboBox--fullWidth\")\n (if @isDisabled \"euiComboBox-isDisabled\")\n (if @isInvalid \"euiComboBox-isInvalid\")\n (if this.select.isOpen \"euiComboBox-isOpen\")\n }}\n @noMatchesMessageComponent={{if\n @onCreateOption\n (component\n EuiComboBoxCreateOption\n customOptionText=@customOptionText\n onCreateOption=this.onCreateOption\n select=this.select\n )\n (component EuiComboBoxNoMatchesMessage)\n }}\n @dropdownClass=\"euiComboBoxOptionsList euiPanel euiPanel--borderRadiusMedium euiPanel--noShadow euiPanel--plain euiPopover__panel-isAttached euiPopover__panel euiPopover__panel-noArrow euiPopover__panel--bottom euiPopover__panel-isOpen euiComboBoxOptionsList__rowWrap {{@dropdownClass}}\"\n as |option i|\n >\n {{yield option i}}\n </PowerSelectMultiple>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n //This is to allow scrolling between virtualized groups\n @cached\n get opts() {\n return this.results.reduce((acc1, curr1)=>{\n if (emberPowerSelectIsGroup([\n curr1\n ])) {\n acc1.push(curr1, ...curr1.options);\n } else {\n acc1.push(curr1);\n }\n return acc1;\n }, []);\n }\n @cached\n get options(): any[] {\n if (this._resolvedOptions) return toPlainArray(this._resolvedOptions);\n if (this.args.options) {\n return toPlainArray(this.args.options);\n } else {\n return [];\n }\n }\n @cached\n get results(): any[] {\n if (this.searchText.length > 0) {\n if (this.args.search) {\n return toPlainArray(this._searchResult || this.options);\n } else {\n if (this._filterResultsCache.options === this.options && this._filterResultsCache.searchText === this.searchText) {\n // This is an optimization to avoid filtering several times, which may be a bit expensive\n // if there are many options, if neither the options nor the searchtext have changed\n return this._filterResultsCache.results;\n }\n //@ts-ignore\n let results1 = this._filter(this.options, this.searchText);\n //eslint-disable-next-line\n this._filterResultsCache = {\n results: results1,\n options: this.options,\n searchText: this.searchText\n };\n return results1;\n }\n } else {\n return this.options;\n }\n }\n @action\n scrollTo(option1: any, select1: {\n results: [];\n uniqueId: string;\n }): void {\n let optionsList1 = document.querySelector(`[aria-controls=\"ember-power-select-trigger-${select1.uniqueId}\"]`) as HTMLElement;\n if (!optionsList1) {\n return;\n }\n let index1 = this.opts.indexOf(option1);\n if (index1 === -1) {\n return;\n }\n let optionElement1 = optionsList1.querySelector(`[data-option-index=\"${index1}\"]`) as HTMLElement;\n if (!optionElement1) {\n return;\n }\n let optionTopScroll1 = optionElement1.offsetTop;\n let optionBottomScroll1 = optionTopScroll1 + optionElement1.offsetHeight;\n if (optionBottomScroll1 > optionsList1.offsetHeight + optionsList1.scrollTop) {\n optionsList1.scrollTop = optionBottomScroll1 - optionsList1.offsetHeight;\n } else if (optionTopScroll1 < optionsList1.scrollTop) {\n optionsList1.scrollTop = optionTopScroll1;\n }\n }\n @action\n registerAPI(select1: Select) {\n this.select = select1;\n }\n @action\n onChange(selected1: any[]) {\n if (this.args.singleSelection) {\n return selected1.length > 0 ? [\n selected1[selected1.length - 1]\n ] : [];\n }\n return selected1;\n }\n @action\n onCreateOption() {\n let option1;\n if (this.args.onCreateOption && typeof this.args.onCreateOption === 'function') {\n // The `onCreateOption` function can be used to sanitize the input or explicitly return `false` to reject the input\n option1 = this.args.onCreateOption(this.select.searchText);\n if (option1 === false) {\n return;\n }\n }\n let search1 = option1 || this.select.searchText;\n this.select.actions.search('');\n this.select.actions.close();\n return search1;\n }\n @action\n buildSelection(option1: any, select1: Select) {\n let newSelection1 = (select1.selected || []).slice(0);\n let idx1 = -1;\n for(let i1 = 0; i1 < newSelection1.length; i1++){\n if (isEqual(newSelection1[i1], option1)) {\n idx1 = i1;\n break;\n }\n }\n if (idx1 > -1) {\n newSelection1.splice(idx1, 1);\n } else {\n newSelection1.push(option1);\n }\n if (this.args.singleSelection && newSelection1.length === 0) {\n select1.actions.search('');\n }\n if (select1?.selected?.length < newSelection1.length) {\n select1.actions.search('');\n }\n return newSelection1;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1jb21iby1ib3guZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCwgdHJhY2tlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdAZW1iZXIvYXJyYXknO1xuaW1wb3J0IHsgYWN0aW9uIH0gZnJvbSAnQGVtYmVyL29iamVjdCc7XG5pbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnQGVtYmVyL3V0aWxzJztcblxuaW1wb3J0IG9wdGlvbmFsIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL29wdGlvbmFsJztcbmltcG9ydCBwaXBlIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL3BpcGUnO1xuaW1wb3J0IHF1ZXVlIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL3F1ZXVlJztcbmltcG9ydCBQb3dlclNlbGVjdE11bHRpcGxlIGZyb20gJ2VtYmVyLXBvd2VyLXNlbGVjdC9jb21wb25lbnRzL3Bvd2VyLXNlbGVjdC1tdWx0aXBsZSc7XG5pbXBvcnQgeyBlbWJlclBvd2VyU2VsZWN0SXNHcm91cCB9IGZyb20gJ2VtYmVyLXBvd2VyLXNlbGVjdC9oZWxwZXJzL2VtYmVyLXBvd2VyLXNlbGVjdC1pcy1ncm91cCc7XG5pbXBvcnQgeyBhbmQsIG5vdCB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuXG5pbXBvcnQgYXJnT3JEZWZhdWx0IGZyb20gJy4uL2hlbHBlcnMvYXJnLW9yLWRlZmF1bHQudHMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnLi4vaGVscGVycy9jbGFzcy1uYW1lcy50cyc7XG5pbXBvcnQgRXVpQ29tYm9Cb3hDcmVhdGVPcHRpb24gZnJvbSAnLi9ldWktY29tYm8tYm94L2NyZWF0ZS1vcHRpb24uZ3RzJztcbmltcG9ydCBFdWlDb21ib0JveEdyb3VwIGZyb20gJy4vZXVpLWNvbWJvLWJveC9ncm91cC5ndHMnO1xuaW1wb3J0IEV1aUNvbWJvQm94Tm9NYXRjaGVzTWVzc2FnZSBmcm9tICcuL2V1aS1jb21iby1ib3gvbm8tbWF0Y2hlcy1tZXNzYWdlLmd0cyc7XG5pbXBvcnQgRXVpQ29tYm9Cb3hPcHRpb25zIGZyb20gJy4vZXVpLWNvbWJvLWJveC9vcHRpb25zLmd0cyc7XG5pbXBvcnQgRXVpQ29tYm9Cb3hTZWFyY2hNZXNzYWdlIGZyb20gJy4vZXVpLWNvbWJvLWJveC9zZWFyY2gtbWVzc2FnZS5ndHMnO1xuaW1wb3J0IEV1aUNvbWJvQm94VHJpZ2dlciBmcm9tICcuL2V1aS1jb21iby1ib3gvdHJpZ2dlci5ndHMnO1xuXG5pbnRlcmZhY2UgUHJvbWlzZVByb3h5PFQ-IGV4dGVuZHMgUHJvbWlzZTxUPiB7XG4gIGNvbnRlbnQ6IGFueTtcbn1cblxuaW50ZXJmYWNlIFNlbGVjdCB7XG4gIHNlbGVjdGVkOiBhbnk7XG4gIGFjdGlvbnM6IHtcbiAgICBzZWFyY2g6IChzdHI6IHN0cmluZykgPT4gdm9pZDtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdWlDb21ib0JveFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgc2luZ2xlU2VsZWN0aW9uOiBib29sZWFuO1xuICAgIG9uQ3JlYXRlT3B0aW9uPzogKHNlYXJjaDogc3RyaW5nKSA9PiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIG9wdGlvbnM6IGFueVtdO1xuICAgIHNlYXJjaD86ICh0ZXJtOiBzdHJpbmcsIHNlbGVjdDogU2VsZWN0KSA9PiBhbnlbXSB8IFByb21pc2VQcm94eTxhbnlbXT47XG4gICAgc2VhcmNoRmllbGQ_OiBzdHJpbmc7XG4gICAgaXNJbnZhbGlkPzogYm9vbGVhbjtcbiAgICBmdWxsV2lkdGg_OiBib29sZWFuO1xuICAgIHNlYXJjaE1lc3NhZ2U_OiBzdHJpbmc7XG4gICAgc2VhcmNoRW5hYmxlZD86IGJvb2xlYW47XG4gICAgaXNDbGVhcmFibGU_OiBib29sZWFuO1xuICAgIGlzTG9hZGluZz86IGJvb2xlYW47XG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgcmVhZE9ubHk_OiBib29sZWFuO1xuICAgIHNlYXJjaE1lc3NhZ2VDb21wb25lbnQ_OiBhbnk7XG4gICAgY29tcHJlc3NlZD86IGJvb2xlYW47XG4gICAgb25Gb2N1cz86IChlOiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIG9uQmx1cj86IChlOiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ2xvc2U_OiAoZTogRXZlbnQpID0-IHZvaWQ7XG4gICAgb25PcGVuPzogKGU6IEV2ZW50KSA9PiB2b2lkO1xuICAgIHJlbmRlckluUGxhY2U_OiBib29sZWFuO1xuICAgIGN1c3RvbU9wdGlvblRleHQ_OiBzdHJpbmc7XG4gICAgZHJvcGRvd25DbGFzcz86IHN0cmluZztcbiAgICBzZWxlY3RlZE9wdGlvbnM_OiBhbnlbXTtcbiAgICBvbkNoYW5nZTogKHNlbGVjdGVkOiBhbnlbXSkgPT4gdm9pZDtcbiAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBleHRyYT86IGFueTtcbiAgICBjbG9zZU9uU2VsZWN0PzogYm9vbGVhbjtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW2FueSwgbnVtYmVyLCBTZWxlY3RdO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgU2xpY2VhYmxlPFQ-IHtcbiAgc2xpY2UoKTogVFtdO1xufVxuXG5jb25zdCBpc1NsaWNlYWJsZSA9IDxULD4oY29sbDogYW55KTogY29sbCBpcyBTbGljZWFibGU8VD4gPT4ge1xuICByZXR1cm4gaXNBcnJheShjb2xsKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0b1BsYWluQXJyYXkgPSA8VCw-KGNvbGxlY3Rpb246IFRbXSB8IFNsaWNlYWJsZTxUPik6IFRbXSA9PiB7XG4gIGlmIChpc1NsaWNlYWJsZTxUPihjb2xsZWN0aW9uKSkge1xuICAgIHJldHVybiBjb2xsZWN0aW9uLnNsaWNlKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aUNvbWJvQm94Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PEV1aUNvbWJvQm94U2lnbmF0dXJlPiB7XG4gIEB0cmFja2VkIHNlbGVjdDogYW55ID0gbnVsbDtcbiAgQHRyYWNrZWQgcHJpdmF0ZSBfcmVzb2x2ZWRPcHRpb25zPzogYW55W107XG4gIEB0cmFja2VkIHNlYXJjaFRleHQgPSAnJztcbiAgQHRyYWNrZWQgcHJpdmF0ZSBfc2VhcmNoUmVzdWx0PzogYW55W107XG4gIHByaXZhdGUgX2ZpbHRlclJlc3VsdHNDYWNoZToge1xuICAgIHJlc3VsdHM6IGFueVtdO1xuICAgIG9wdGlvbnM6IGFueVtdO1xuICAgIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgfSA9IHsgcmVzdWx0czogW10sIG9wdGlvbnM6IFtdLCBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFRleHQgfTtcblxuICA8dGVtcGxhdGU-XG4gICAge3shIEBnbGludC1ub2NoZWNrOiBub3QgdHlwZXNhZmUgeWV0IH19XG4gICAgPFBvd2VyU2VsZWN0TXVsdGlwbGVcbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgIEBvbkNoYW5nZT17e3BpcGUgdGhpcy5vbkNoYW5nZSBAb25DaGFuZ2V9fVxuICAgICAgQG9uRm9jdXM9e3tAb25Gb2N1c319XG4gICAgICBAb25CbHVyPXt7QG9uQmx1cn19XG4gICAgICBAb25PcGVuPXt7QG9uT3Blbn19XG4gICAgICBAb25DbG9zZT17e0BvbkNsb3NlfX1cbiAgICAgIEBwbGFjZWhvbGRlckNvbXBvbmVudD17e0BwbGFjZWhvbGRlckNvbXBvbmVudH19XG4gICAgICBAc2VhcmNoTWVzc2FnZT17e0BzZWFyY2hNZXNzYWdlfX1cbiAgICAgIEBzZWFyY2hNZXNzYWdlQ29tcG9uZW50PXt7aWZcbiAgICAgICAgQHNlYXJjaE1lc3NhZ2VDb21wb25lbnRcbiAgICAgICAgQHNlYXJjaE1lc3NhZ2VDb21wb25lbnRcbiAgICAgICAgRXVpQ29tYm9Cb3hTZWFyY2hNZXNzYWdlXG4gICAgICB9fVxuICAgICAgQG5vTWF0Y2hlc01lc3NhZ2U9e3tAbm9NYXRjaGVzTWVzc2FnZX19XG4gICAgICBAbWF0Y2hUcmlnZ2VyV2lkdGg9e3tAbWF0Y2hUcmlnZ2VyV2lkdGh9fVxuICAgICAgQG9wdGlvbnM9e3t0aGlzLm9wdGlvbnN9fVxuICAgICAgQHNlbGVjdGVkPXt7QHNlbGVjdGVkT3B0aW9uc319XG4gICAgICBAY2xvc2VPblNlbGVjdD17e0BjbG9zZU9uU2VsZWN0fX1cbiAgICAgIEBkZWZhdWx0SGlnaGxpZ2h0ZWQ9e3tAZGVmYXVsdEhpZ2hsaWdodGVkfX1cbiAgICAgIEBzZWFyY2hGaWVsZD17e0BzZWFyY2hGaWVsZH19XG4gICAgICBAc2VhcmNoRW5hYmxlZD17e2FyZ09yRGVmYXVsdCBAc2VhcmNoRW5hYmxlZCB0cnVlfX1cbiAgICAgIEB0YWJpbmRleD17e0B0YWJpbmRleH19XG4gICAgICBAaW5pdGlhbGx5T3BlbmVkPXt7YW5kIChub3QgQGlzRGlzYWJsZWQpIEBhdXRvRm9jdXN9fVxuICAgICAgQHRyaWdnZXJDb21wb25lbnQ9e3tjb21wb25lbnRcbiAgICAgICAgRXVpQ29tYm9Cb3hUcmlnZ2VyXG4gICAgICAgIGZ1bGxXaWR0aD1AZnVsbFdpZHRoXG4gICAgICAgIGNvbXByZXNzZWQ9QGNvbXByZXNzZWRcbiAgICAgICAgaXNJbnZhbGlkPUBpc0ludmFsaWRcbiAgICAgICAgc2luZ2xlU2VsZWN0aW9uPUBzaW5nbGVTZWxlY3Rpb25cbiAgICAgICAgb25DbG9zZT1AcmVtb3ZlVGFnXG4gICAgICAgIG9uQ3JlYXRlT3B0aW9uPShpZiBAb25DcmVhdGVPcHRpb24gdGhpcy5vbkNyZWF0ZU9wdGlvbilcbiAgICAgICAgaXNMb2FkaW5nPUBpc0xvYWRpbmdcbiAgICAgICAgYXV0b0ZvY3VzPShhbmQgKG5vdCBAaXNEaXNhYmxlZCkgQGF1dG9Gb2N1cylcbiAgICAgICAgaWNvbj1AdHJpZ2dlckljb25cbiAgICAgIH19XG4gICAgICBAbWF0Y2hlcj17e0BtYXRjaGVyfX1cbiAgICAgIEBpbml0aWFsbHlPcGVuPXt7QGluaXRpYWxseU9wZW59fVxuICAgICAgQHR5cGVBaGVhZE9wdGlvbk1hdGNoZXI9e3tAdHlwZUFoZWFkT3B0aW9uTWF0Y2hlcn19XG4gICAgICBAYnVpbGRTZWxlY3Rpb249e3t0aGlzLmJ1aWxkU2VsZWN0aW9ufX1cbiAgICAgIEBzZWFyY2g9e3tAc2VhcmNofX1cbiAgICAgIEBvbklucHV0PXt7QG9uSW5wdXR9fVxuICAgICAgQG9uS2V5ZG93bj17e0BvbktleWRvd259fVxuICAgICAgQHNjcm9sbFRvPXt7dGhpcy5zY3JvbGxUb319XG4gICAgICBAcmVnaXN0ZXJBUEk9e3txdWV1ZSB0aGlzLnJlZ2lzdGVyQVBJIChvcHRpb25hbCBAcmVnaXN0ZXJBcGkpfX1cbiAgICAgIEBob3Jpem9udGFsUG9zaXRpb249e3tAaG9yaXpvbnRhbFBvc2l0aW9ufX1cbiAgICAgIEBkZXN0aW5hdGlvbj17e0BkZXN0aW5hdGlvbn19XG4gICAgICBAcHJldmVudFNjcm9sbD17e0BwcmV2ZW50U2Nyb2xsfX1cbiAgICAgIEByZW5kZXJJblBsYWNlPXt7QHJlbmRlckluUGxhY2V9fVxuICAgICAgQHZlcnRpY2FsUG9zaXRpb249e3tAdmVydGljYWxQb3NpdGlvbn19XG4gICAgICBAZGlzYWJsZWQ9e3tAaXNEaXNhYmxlZH19XG4gICAgICBAY2FsY3VsYXRlUG9zaXRpb249e3tAY2FsY3VsYXRlUG9zaXRpb259fVxuICAgICAgQGV2ZW50VHlwZT17e0BldmVudFR5cGV9fVxuICAgICAgQGFyaWFMYWJlbD17e0BhcmlhTGFiZWx9fVxuICAgICAgQGFyaWFMYWJlbGxlZEJ5PXt7QGFyaWFMYWJlbGxlZEJ5fX1cbiAgICAgIEByZXF1aXJlZD17e0ByZXF1aXJlZH19XG4gICAgICBAdHJpZ2dlclJvbGU9e3tAdHJpZ2dlclJvbGV9fVxuICAgICAgQHRpdGxlPXt7QHRpdGxlfX1cbiAgICAgIEB0cmlnZ2VySWQ9e3tAdHJpZ2dlcklkfX1cbiAgICAgIEBhbGxvd0NsZWFyPXt7YW5kIChhcmdPckRlZmF1bHQgQGlzQ2xlYXJhYmxlIHRydWUpIChub3QgQGlzRGlzYWJsZWQpfX1cbiAgICAgIEBsb2FkaW5nTWVzc2FnZT17e0Bsb2FkaW5nTWVzc2FnZX19XG4gICAgICBAc2VsZWN0ZWRJdGVtQ29tcG9uZW50PXt7QHNlbGVjdGVkSXRlbUNvbXBvbmVudH19XG4gICAgICBAYmVmb3JlT3B0aW9uc0NvbXBvbmVudD17e0BiZWZvcmVPcHRpb25zQ29tcG9uZW50fX1cbiAgICAgIEBwbGFjZWhvbGRlcj17e0BwbGFjZWhvbGRlcn19XG4gICAgICBAc2VhcmNoUGxhY2Vob2xkZXI9e3tAc2VhcmNoUGxhY2Vob2xkZXJ9fVxuICAgICAgQG9wdGlvbnNDb21wb25lbnQ9e3tjb21wb25lbnRcbiAgICAgICAgRXVpQ29tYm9Cb3hPcHRpb25zXG4gICAgICAgIHJvd0hlaWdodD1Acm93SGVpZ2h0XG4gICAgICAgIGNsYXNzPUBvcHRpb25zQ2xhc3NcbiAgICAgIH19XG4gICAgICBAZXh0cmE9e3tAZXh0cmF9fVxuICAgICAgQGdyb3VwQ29tcG9uZW50PXt7Y29tcG9uZW50IEV1aUNvbWJvQm94R3JvdXB9fVxuICAgICAgQHRyaWdnZXJDbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgXCJldWlDb21ib0JveFwiXG4gICAgICAgIChpZiBAY29tcHJlc3NlZCBcImV1aUNvbWJvQm94LS1jb21wcmVzc2VkXCIpXG4gICAgICAgIChpZiBAZnVsbFdpZHRoIFwiZXVpQ29tYm9Cb3gtLWZ1bGxXaWR0aFwiKVxuICAgICAgICAoaWYgQGlzRGlzYWJsZWQgXCJldWlDb21ib0JveC1pc0Rpc2FibGVkXCIpXG4gICAgICAgIChpZiBAaXNJbnZhbGlkIFwiZXVpQ29tYm9Cb3gtaXNJbnZhbGlkXCIpXG4gICAgICAgIChpZiB0aGlzLnNlbGVjdC5pc09wZW4gXCJldWlDb21ib0JveC1pc09wZW5cIilcbiAgICAgIH19XG4gICAgICBAbm9NYXRjaGVzTWVzc2FnZUNvbXBvbmVudD17e2lmXG4gICAgICAgIEBvbkNyZWF0ZU9wdGlvblxuICAgICAgICAoY29tcG9uZW50XG4gICAgICAgICAgRXVpQ29tYm9Cb3hDcmVhdGVPcHRpb25cbiAgICAgICAgICBjdXN0b21PcHRpb25UZXh0PUBjdXN0b21PcHRpb25UZXh0XG4gICAgICAgICAgb25DcmVhdGVPcHRpb249dGhpcy5vbkNyZWF0ZU9wdGlvblxuICAgICAgICAgIHNlbGVjdD10aGlzLnNlbGVjdFxuICAgICAgICApXG4gICAgICAgIChjb21wb25lbnQgRXVpQ29tYm9Cb3hOb01hdGNoZXNNZXNzYWdlKVxuICAgICAgfX1cbiAgICAgIEBkcm9wZG93bkNsYXNzPVwiZXVpQ29tYm9Cb3hPcHRpb25zTGlzdCBldWlQYW5lbCBldWlQYW5lbC0tYm9yZGVyUmFkaXVzTWVkaXVtIGV1aVBhbmVsLS1ub1NoYWRvdyBldWlQYW5lbC0tcGxhaW4gZXVpUG9wb3Zlcl9fcGFuZWwtaXNBdHRhY2hlZCBldWlQb3BvdmVyX19wYW5lbCBldWlQb3BvdmVyX19wYW5lbC1ub0Fycm93IGV1aVBvcG92ZXJfX3BhbmVsLS1ib3R0b20gZXVpUG9wb3Zlcl9fcGFuZWwtaXNPcGVuIGV1aUNvbWJvQm94T3B0aW9uc0xpc3RfX3Jvd1dyYXAge3tAZHJvcGRvd25DbGFzc319XCJcbiAgICAgIGFzIHxvcHRpb24gaXxcbiAgICA-XG4gICAgICB7e3lpZWxkIG9wdGlvbiBpfX1cbiAgICA8L1Bvd2VyU2VsZWN0TXVsdGlwbGU-XG4gIDwvdGVtcGxhdGU-XG5cbiAgLy9UaGlzIGlzIHRvIGFsbG93IHNjcm9sbGluZyBiZXR3ZWVuIHZpcnR1YWxpemVkIGdyb3Vwc1xuICBAY2FjaGVkXG4gIGdldCBvcHRzKCkge1xuICAgIHJldHVybiB0aGlzLnJlc3VsdHMucmVkdWNlKChhY2MsIGN1cnIpID0-IHtcbiAgICAgIGlmIChlbWJlclBvd2VyU2VsZWN0SXNHcm91cChbY3Vycl0pKSB7XG4gICAgICAgIGFjYy5wdXNoKGN1cnIsIC4uLmN1cnIub3B0aW9ucyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY2MucHVzaChjdXJyKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSk7XG4gIH1cblxuICBAY2FjaGVkXG4gIGdldCBvcHRpb25zKCk6IGFueVtdIHtcbiAgICBpZiAodGhpcy5fcmVzb2x2ZWRPcHRpb25zKSByZXR1cm4gdG9QbGFpbkFycmF5KHRoaXMuX3Jlc29sdmVkT3B0aW9ucyk7XG5cbiAgICBpZiAodGhpcy5hcmdzLm9wdGlvbnMpIHtcbiAgICAgIHJldHVybiB0b1BsYWluQXJyYXkodGhpcy5hcmdzLm9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcmVzdWx0cygpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoVGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5hcmdzLnNlYXJjaCkge1xuICAgICAgICByZXR1cm4gdG9QbGFpbkFycmF5KHRoaXMuX3NlYXJjaFJlc3VsdCB8fCB0aGlzLm9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuX2ZpbHRlclJlc3VsdHNDYWNoZS5vcHRpb25zID09PSB0aGlzLm9wdGlvbnMgJiZcbiAgICAgICAgICB0aGlzLl9maWx0ZXJSZXN1bHRzQ2FjaGUuc2VhcmNoVGV4dCA9PT0gdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgICkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIHRvIGF2b2lkIGZpbHRlcmluZyBzZXZlcmFsIHRpbWVzLCB3aGljaCBtYXkgYmUgYSBiaXQgZXhwZW5zaXZlXG4gICAgICAgICAgLy8gaWYgdGhlcmUgYXJlIG1hbnkgb3B0aW9ucywgaWYgbmVpdGhlciB0aGUgb3B0aW9ucyBub3IgdGhlIHNlYXJjaHRleHQgaGF2ZSBjaGFuZ2VkXG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlclJlc3VsdHNDYWNoZS5yZXN1bHRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGxldCByZXN1bHRzID0gdGhpcy5fZmlsdGVyKHRoaXMub3B0aW9ucywgdGhpcy5zZWFyY2hUZXh0KTtcbiAgICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgdGhpcy5fZmlsdGVyUmVzdWx0c0NhY2hlID0ge1xuICAgICAgICAgIHJlc3VsdHMsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2Nyb2xsVG8ob3B0aW9uOiBhbnksIHNlbGVjdDogeyByZXN1bHRzOiBbXTsgdW5pcXVlSWQ6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnNMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIGBbYXJpYS1jb250cm9scz1cImVtYmVyLXBvd2VyLXNlbGVjdC10cmlnZ2VyLSR7c2VsZWN0LnVuaXF1ZUlkfVwiXWBcbiAgICApIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKCFvcHRpb25zTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBpbmRleCA9IHRoaXMub3B0cy5pbmRleE9mKG9wdGlvbik7XG5cbiAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbkVsZW1lbnQgPSBvcHRpb25zTGlzdC5xdWVyeVNlbGVjdG9yKFxuICAgICAgYFtkYXRhLW9wdGlvbi1pbmRleD1cIiR7aW5kZXh9XCJdYFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoIW9wdGlvbkVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgb3B0aW9uVG9wU2Nyb2xsID0gb3B0aW9uRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgbGV0IG9wdGlvbkJvdHRvbVNjcm9sbCA9IG9wdGlvblRvcFNjcm9sbCArIG9wdGlvbkVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgaWYgKG9wdGlvbkJvdHRvbVNjcm9sbCA-IG9wdGlvbnNMaXN0Lm9mZnNldEhlaWdodCArIG9wdGlvbnNMaXN0LnNjcm9sbFRvcCkge1xuICAgICAgb3B0aW9uc0xpc3Quc2Nyb2xsVG9wID0gb3B0aW9uQm90dG9tU2Nyb2xsIC0gb3B0aW9uc0xpc3Qub2Zmc2V0SGVpZ2h0O1xuICAgIH0gZWxzZSBpZiAob3B0aW9uVG9wU2Nyb2xsIDwgb3B0aW9uc0xpc3Quc2Nyb2xsVG9wKSB7XG4gICAgICBvcHRpb25zTGlzdC5zY3JvbGxUb3AgPSBvcHRpb25Ub3BTY3JvbGw7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICByZWdpc3RlckFQSShzZWxlY3Q6IFNlbGVjdCkge1xuICAgIHRoaXMuc2VsZWN0ID0gc2VsZWN0O1xuICB9XG5cbiAgQGFjdGlvblxuICBvbkNoYW5nZShzZWxlY3RlZDogYW55W10pIHtcbiAgICBpZiAodGhpcy5hcmdzLnNpbmdsZVNlbGVjdGlvbikge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkLmxlbmd0aCA-IDAgPyBbc2VsZWN0ZWRbc2VsZWN0ZWQubGVuZ3RoIC0gMV1dIDogW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGVkO1xuICB9XG5cbiAgQGFjdGlvblxuICBvbkNyZWF0ZU9wdGlvbigpIHtcbiAgICBsZXQgb3B0aW9uO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5hcmdzLm9uQ3JlYXRlT3B0aW9uICYmXG4gICAgICB0eXBlb2YgdGhpcy5hcmdzLm9uQ3JlYXRlT3B0aW9uID09PSAnZnVuY3Rpb24nXG4gICAgKSB7XG4gICAgICAvLyBUaGUgYG9uQ3JlYXRlT3B0aW9uYCBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBzYW5pdGl6ZSB0aGUgaW5wdXQgb3IgZXhwbGljaXRseSByZXR1cm4gYGZhbHNlYCB0byByZWplY3QgdGhlIGlucHV0XG4gICAgICBvcHRpb24gPSB0aGlzLmFyZ3Mub25DcmVhdGVPcHRpb24odGhpcy5zZWxlY3Quc2VhcmNoVGV4dCk7XG5cbiAgICAgIGlmIChvcHRpb24gPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgc2VhcmNoID0gb3B0aW9uIHx8IHRoaXMuc2VsZWN0LnNlYXJjaFRleHQ7XG5cbiAgICB0aGlzLnNlbGVjdC5hY3Rpb25zLnNlYXJjaCgnJyk7XG4gICAgdGhpcy5zZWxlY3QuYWN0aW9ucy5jbG9zZSgpO1xuXG4gICAgcmV0dXJuIHNlYXJjaDtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgYnVpbGRTZWxlY3Rpb24ob3B0aW9uOiBhbnksIHNlbGVjdDogU2VsZWN0KSB7XG4gICAgbGV0IG5ld1NlbGVjdGlvbiA9IChzZWxlY3Quc2VsZWN0ZWQgfHwgW10pLnNsaWNlKDApO1xuICAgIGxldCBpZHggPSAtMTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbmV3U2VsZWN0aW9uLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoaXNFcXVhbChuZXdTZWxlY3Rpb25baV0sIG9wdGlvbikpIHtcbiAgICAgICAgaWR4ID0gaTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaWR4ID4gLTEpIHtcbiAgICAgIG5ld1NlbGVjdGlvbi5zcGxpY2UoaWR4LCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3U2VsZWN0aW9uLnB1c2gob3B0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hcmdzLnNpbmdsZVNlbGVjdGlvbiAmJiBuZXdTZWxlY3Rpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgICBzZWxlY3QuYWN0aW9ucy5zZWFyY2goJycpO1xuICAgIH1cblxuICAgIGlmIChzZWxlY3Q_LnNlbGVjdGVkPy5sZW5ndGggPCBuZXdTZWxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICBzZWxlY3QuYWN0aW9ucy5zZWFyY2goJycpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXdTZWxlY3Rpb247XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLE1BQU0sRUFBRSxPQUFPLFFBQVEsb0JBQW9CO0FBQ3BELFNBQVMsT0FBTyxRQUFRLGVBQWU7QUFDdkMsU0FBUyxNQUFNLFFBQVEsZ0JBQWdCO0FBQ3ZDLFNBQVMsT0FBTyxRQUFRLGVBQWU7QUFFdkMsT0FBTyxjQUFjLDRDQUE0QztBQUNqRSxPQUFPLFVBQVUsd0NBQXdDO0FBQ3pELE9BQU8sV0FBVyx5Q0FBeUM7QUFDM0QsT0FBTyx5QkFBeUIsc0RBQXNEO0FBQ3RGLFNBQVMsdUJBQXVCLFFBQVEseURBQXlEO0FBQ2pHLFNBQVMsR0FBRyxFQUFFLEdBQUcsUUFBUSxzQkFBc0I7QUFFL0MsT0FBTyxrQkFBa0IsK0JBQStCO0FBQ3hELE9BQU8sZ0JBQWdCLDRCQUE0QjtBQUNuRCxPQUFPLDZCQUE2QixvQ0FBb0M7QUFDeEUsT0FBTyxzQkFBc0IsNEJBQTRCO0FBQ3pELE9BQU8saUNBQWlDLHlDQUF5QztBQUNqRixPQUFPLHdCQUF3Qiw4QkFBOEI7QUFDN0QsT0FBTyw4QkFBOEIscUNBQXFDO0FBQzFFLE9BQU8sd0JBQXdCLDhCQUE4QjtVQUVuRCxhQUFhLFdBQVcsUUFBUTtJQUN4QyxTQUFTLEdBQUc7O1VBR0o7SUFDUixVQUFVLEdBQUc7SUFDYjtRQUNFLFNBQVMsS0FBSyxNQUFNLEtBQUssSUFBSTs7O0FBSWpDLGlCQUFpQjtJQUNmLFNBQVM7SUFDVDtRQUNFLGlCQUFpQixPQUFPO1FBQ3hCLGtCQUFrQixRQUFRLE1BQU0sS0FBSyxPQUFPLEdBQUcsU0FBUztRQUN4RCxTQUFTLEdBQUc7UUFDWixVQUFVLE1BQU0sTUFBTSxFQUFFLFFBQVEsV0FBVyxHQUFHLEtBQUssYUFBYSxH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"],"names":["isSliceable","coll1","isArray","toPlainArray","collection1","slice","EuiComboBoxComponent","Component","g","this","prototype","tracked","i","void 0","_filterResultsCache","results","options","searchText","setComponentTemplate","precompileTemplate","strictMode","scope","PowerSelectMultiple","pipe","EuiComboBoxSearchMessage","argOrDefault","and","not","EuiComboBoxTrigger","queue","optional","EuiComboBoxOptions","EuiComboBoxGroup","classNames","EuiComboBoxCreateOption","EuiComboBoxNoMatchesMessage","opts","reduce","acc1","curr1","emberPowerSelectIsGroup","push","n","cached","_resolvedOptions","args","length","search","_searchResult","results1","_filter","scrollTo","option1","select1","optionsList1","document","querySelector","uniqueId","index1","indexOf","optionElement1","optionTopScroll1","offsetTop","optionBottomScroll1","offsetHeight","scrollTop","action","registerAPI","select","onChange","selected1","singleSelection","onCreateOption","search1","actions","close","buildSelection","newSelection1","selected","idx1","i1","isEqual","splice"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-combo-box.js","sources":["../../src/components/eui-combo-box.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { isArray } from '@ember/array';\nimport { action } from '@ember/object';\nimport { isEqual } from '@ember/utils';\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport pipe from 'ember-composable-helpers/helpers/pipe';\nimport queue from 'ember-composable-helpers/helpers/queue';\nimport PowerSelectMultiple from 'ember-power-select/components/power-select-multiple';\nimport { emberPowerSelectIsGroup } from 'ember-power-select/helpers/ember-power-select-is-group';\nimport { and, not } from 'ember-truth-helpers';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiComboBoxCreateOption from './eui-combo-box/create-option.gts';\nimport EuiComboBoxGroup from './eui-combo-box/group.gts';\nimport EuiComboBoxNoMatchesMessage from './eui-combo-box/no-matches-message.gts';\nimport EuiComboBoxOptions from './eui-combo-box/options.gts';\nimport EuiComboBoxSearchMessage from './eui-combo-box/search-message.gts';\nimport EuiComboBoxTrigger from './eui-combo-box/trigger.gts';\ninterface PromiseProxy<T> extends Promise<T> {\n content: any;\n}\ninterface Select {\n selected: any;\n actions: {\n search: (str: string) => void;\n };\n}\nexport interface EuiComboBoxSignature {\n Element: HTMLDivElement;\n Args: {\n singleSelection: boolean;\n onCreateOption?: (search: string) => boolean | undefined;\n options: any[];\n search?: (term: string, select: Select) => any[] | PromiseProxy<any[]>;\n searchField?: string;\n isInvalid?: boolean;\n fullWidth?: boolean;\n searchMessage?: string;\n searchEnabled?: boolean;\n isClearable?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n readOnly?: boolean;\n searchMessageComponent?: any;\n compressed?: boolean;\n onFocus?: (e: FocusEvent) => void;\n onBlur?: (e: FocusEvent) => void;\n onClose?: (e: Event) => void;\n onOpen?: (e: Event) => void;\n renderInPlace?: boolean;\n customOptionText?: string;\n dropdownClass?: string;\n selectedOptions?: any[];\n onChange: (selected: any[]) => void;\n placeholder?: string;\n extra?: any;\n closeOnSelect?: boolean;\n };\n Blocks: {\n default: [any, number, Select];\n };\n}\ninterface Sliceable<T> {\n slice(): T[];\n}\nconst isSliceable = <T>(coll1: any): coll is Sliceable<T> =>{\n return isArray(coll1);\n};\nexport const toPlainArray = <T>(collection1: T[] | Sliceable<T>): T[] =>{\n if (isSliceable<T>(collection1)) {\n return collection1.slice();\n } else {\n return collection1;\n }\n};\nexport default class EuiComboBoxComponent extends Component<EuiComboBoxSignature> {\n @tracked\n select: any = null;\n @tracked\n private _resolvedOptions?: any[];\n @tracked\n searchText = '';\n @tracked\n private _searchResult?: any[];\n private _filterResultsCache: {\n results: any[];\n options: any[];\n searchText: string;\n } = {\n results: [],\n options: [],\n searchText: this.searchText\n };\n static{\n template(`\n {{! @glint-nocheck: not typesafe yet }}\n <PowerSelectMultiple\n ...attributes\n @onChange={{pipe this.onChange @onChange}}\n @onFocus={{@onFocus}}\n @onBlur={{@onBlur}}\n @onOpen={{@onOpen}}\n @onClose={{@onClose}}\n @placeholderComponent={{@placeholderComponent}}\n @searchMessage={{@searchMessage}}\n @searchMessageComponent={{if\n @searchMessageComponent\n @searchMessageComponent\n EuiComboBoxSearchMessage\n }}\n @noMatchesMessage={{@noMatchesMessage}}\n @matchTriggerWidth={{@matchTriggerWidth}}\n @options={{this.options}}\n @selected={{@selectedOptions}}\n @closeOnSelect={{@closeOnSelect}}\n @defaultHighlighted={{@defaultHighlighted}}\n @searchField={{@searchField}}\n @searchEnabled={{argOrDefault @searchEnabled true}}\n @tabindex={{@tabindex}}\n @initiallyOpened={{and (not @isDisabled) @autoFocus}}\n @triggerComponent={{component\n EuiComboBoxTrigger\n fullWidth=@fullWidth\n compressed=@compressed\n isInvalid=@isInvalid\n singleSelection=@singleSelection\n onClose=@removeTag\n onCreateOption=(if @onCreateOption this.onCreateOption)\n isLoading=@isLoading\n autoFocus=(and (not @isDisabled) @autoFocus)\n icon=@triggerIcon\n }}\n @matcher={{@matcher}}\n @initiallyOpen={{@initiallyOpen}}\n @typeAheadOptionMatcher={{@typeAheadOptionMatcher}}\n @buildSelection={{this.buildSelection}}\n @search={{@search}}\n @onInput={{@onInput}}\n @onKeydown={{@onKeydown}}\n @scrollTo={{this.scrollTo}}\n @registerAPI={{queue this.registerAPI (optional @registerApi)}}\n @horizontalPosition={{@horizontalPosition}}\n @destination={{@destination}}\n @preventScroll={{@preventScroll}}\n @renderInPlace={{@renderInPlace}}\n @verticalPosition={{@verticalPosition}}\n @disabled={{@isDisabled}}\n @calculatePosition={{@calculatePosition}}\n @eventType={{@eventType}}\n @ariaLabel={{@ariaLabel}}\n @ariaLabelledBy={{@ariaLabelledBy}}\n @required={{@required}}\n @triggerRole={{@triggerRole}}\n @title={{@title}}\n @triggerId={{@triggerId}}\n @allowClear={{and (argOrDefault @isClearable true) (not @isDisabled)}}\n @loadingMessage={{@loadingMessage}}\n @selectedItemComponent={{@selectedItemComponent}}\n @beforeOptionsComponent={{@beforeOptionsComponent}}\n @placeholder={{@placeholder}}\n @searchPlaceholder={{@searchPlaceholder}}\n @optionsComponent={{component\n EuiComboBoxOptions\n rowHeight=@rowHeight\n class=@optionsClass\n }}\n @extra={{@extra}}\n @groupComponent={{component EuiComboBoxGroup}}\n @triggerClass={{classNames\n \"euiComboBox\"\n (if @compressed \"euiComboBox--compressed\")\n (if @fullWidth \"euiComboBox--fullWidth\")\n (if @isDisabled \"euiComboBox-isDisabled\")\n (if @isInvalid \"euiComboBox-isInvalid\")\n (if this.select.isOpen \"euiComboBox-isOpen\")\n }}\n @noMatchesMessageComponent={{if\n @onCreateOption\n (component\n EuiComboBoxCreateOption\n customOptionText=@customOptionText\n onCreateOption=this.onCreateOption\n select=this.select\n )\n (component EuiComboBoxNoMatchesMessage)\n }}\n @dropdownClass=\"euiComboBoxOptionsList euiPanel euiPanel--borderRadiusMedium euiPanel--noShadow euiPanel--plain euiPopover__panel-isAttached euiPopover__panel euiPopover__panel-noArrow euiPopover__panel--bottom euiPopover__panel-isOpen euiComboBoxOptionsList__rowWrap {{@dropdownClass}}\"\n as |option i|\n >\n {{yield option i}}\n </PowerSelectMultiple>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n //This is to allow scrolling between virtualized groups\n @cached\n get opts() {\n return this.results.reduce((acc1, curr1)=>{\n if (emberPowerSelectIsGroup([\n curr1\n ])) {\n acc1.push(curr1, ...curr1.options);\n } else {\n acc1.push(curr1);\n }\n return acc1;\n }, []);\n }\n @cached\n get options(): any[] {\n if (this._resolvedOptions) return toPlainArray(this._resolvedOptions);\n if (this.args.options) {\n return toPlainArray(this.args.options);\n } else {\n return [];\n }\n }\n @cached\n get results(): any[] {\n if (this.searchText.length > 0) {\n if (this.args.search) {\n return toPlainArray(this._searchResult || this.options);\n } else {\n if (this._filterResultsCache.options === this.options && this._filterResultsCache.searchText === this.searchText) {\n // This is an optimization to avoid filtering several times, which may be a bit expensive\n // if there are many options, if neither the options nor the searchtext have changed\n return this._filterResultsCache.results;\n }\n //@ts-ignore\n let results1 = this._filter(this.options, this.searchText);\n //eslint-disable-next-line\n this._filterResultsCache = {\n results: results1,\n options: this.options,\n searchText: this.searchText\n };\n return results1;\n }\n } else {\n return this.options;\n }\n }\n @action\n scrollTo(option1: any, select1: {\n results: [];\n uniqueId: string;\n }): void {\n let optionsList1 = document.querySelector(`[aria-controls=\"ember-power-select-trigger-${select1.uniqueId}\"]`) as HTMLElement;\n if (!optionsList1) {\n return;\n }\n let index1 = this.opts.indexOf(option1);\n if (index1 === -1) {\n return;\n }\n let optionElement1 = optionsList1.querySelector(`[data-option-index=\"${index1}\"]`) as HTMLElement;\n if (!optionElement1) {\n return;\n }\n let optionTopScroll1 = optionElement1.offsetTop;\n let optionBottomScroll1 = optionTopScroll1 + optionElement1.offsetHeight;\n if (optionBottomScroll1 > optionsList1.offsetHeight + optionsList1.scrollTop) {\n optionsList1.scrollTop = optionBottomScroll1 - optionsList1.offsetHeight;\n } else if (optionTopScroll1 < optionsList1.scrollTop) {\n optionsList1.scrollTop = optionTopScroll1;\n }\n }\n @action\n registerAPI(select1: Select) {\n this.select = select1;\n }\n @action\n onChange(selected1: any[]) {\n if (this.args.singleSelection) {\n return selected1.length > 0 ? [\n selected1[selected1.length - 1]\n ] : [];\n }\n return selected1;\n }\n @action\n onCreateOption() {\n let option1;\n if (this.args.onCreateOption && typeof this.args.onCreateOption === 'function') {\n // The `onCreateOption` function can be used to sanitize the input or explicitly return `false` to reject the input\n option1 = this.args.onCreateOption(this.select.searchText);\n if (option1 === false) {\n return;\n }\n }\n let search1 = option1 || this.select.searchText;\n this.select.actions.search('');\n this.select.actions.close();\n return search1;\n }\n @action\n buildSelection(option1: any, select1: Select) {\n let newSelection1 = (select1.selected || []).slice(0);\n let idx1 = -1;\n for(let i1 = 0; i1 < newSelection1.length; i1++){\n if (isEqual(newSelection1[i1], option1)) {\n idx1 = i1;\n break;\n }\n }\n if (idx1 > -1) {\n newSelection1.splice(idx1, 1);\n } else {\n newSelection1.push(option1);\n }\n if (this.args.singleSelection && newSelection1.length === 0) {\n select1.actions.search('');\n }\n if (select1?.selected?.length < newSelection1.length) {\n select1.actions.search('');\n }\n return newSelection1;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1jb21iby1ib3guZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCwgdHJhY2tlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdAZW1iZXIvYXJyYXknO1xuaW1wb3J0IHsgYWN0aW9uIH0gZnJvbSAnQGVtYmVyL29iamVjdCc7XG5pbXBvcnQgeyBpc0VxdWFsIH0gZnJvbSAnQGVtYmVyL3V0aWxzJztcblxuaW1wb3J0IG9wdGlvbmFsIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL29wdGlvbmFsJztcbmltcG9ydCBwaXBlIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL3BpcGUnO1xuaW1wb3J0IHF1ZXVlIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL3F1ZXVlJztcbmltcG9ydCBQb3dlclNlbGVjdE11bHRpcGxlIGZyb20gJ2VtYmVyLXBvd2VyLXNlbGVjdC9jb21wb25lbnRzL3Bvd2VyLXNlbGVjdC1tdWx0aXBsZSc7XG5pbXBvcnQgeyBlbWJlclBvd2VyU2VsZWN0SXNHcm91cCB9IGZyb20gJ2VtYmVyLXBvd2VyLXNlbGVjdC9oZWxwZXJzL2VtYmVyLXBvd2VyLXNlbGVjdC1pcy1ncm91cCc7XG5pbXBvcnQgeyBhbmQsIG5vdCB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuXG5pbXBvcnQgYXJnT3JEZWZhdWx0IGZyb20gJy4uL2hlbHBlcnMvYXJnLW9yLWRlZmF1bHQudHMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnLi4vaGVscGVycy9jbGFzcy1uYW1lcy50cyc7XG5pbXBvcnQgRXVpQ29tYm9Cb3hDcmVhdGVPcHRpb24gZnJvbSAnLi9ldWktY29tYm8tYm94L2NyZWF0ZS1vcHRpb24uZ3RzJztcbmltcG9ydCBFdWlDb21ib0JveEdyb3VwIGZyb20gJy4vZXVpLWNvbWJvLWJveC9ncm91cC5ndHMnO1xuaW1wb3J0IEV1aUNvbWJvQm94Tm9NYXRjaGVzTWVzc2FnZSBmcm9tICcuL2V1aS1jb21iby1ib3gvbm8tbWF0Y2hlcy1tZXNzYWdlLmd0cyc7XG5pbXBvcnQgRXVpQ29tYm9Cb3hPcHRpb25zIGZyb20gJy4vZXVpLWNvbWJvLWJveC9vcHRpb25zLmd0cyc7XG5pbXBvcnQgRXVpQ29tYm9Cb3hTZWFyY2hNZXNzYWdlIGZyb20gJy4vZXVpLWNvbWJvLWJveC9zZWFyY2gtbWVzc2FnZS5ndHMnO1xuaW1wb3J0IEV1aUNvbWJvQm94VHJpZ2dlciBmcm9tICcuL2V1aS1jb21iby1ib3gvdHJpZ2dlci5ndHMnO1xuXG5pbnRlcmZhY2UgUHJvbWlzZVByb3h5PFQ-IGV4dGVuZHMgUHJvbWlzZTxUPiB7XG4gIGNvbnRlbnQ6IGFueTtcbn1cblxuaW50ZXJmYWNlIFNlbGVjdCB7XG4gIHNlbGVjdGVkOiBhbnk7XG4gIGFjdGlvbnM6IHtcbiAgICBzZWFyY2g6IChzdHI6IHN0cmluZykgPT4gdm9pZDtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdWlDb21ib0JveFNpZ25hdHVyZSB7XG4gIEVsZW1lbnQ6IEhUTUxEaXZFbGVtZW50O1xuICBBcmdzOiB7XG4gICAgc2luZ2xlU2VsZWN0aW9uOiBib29sZWFuO1xuICAgIG9uQ3JlYXRlT3B0aW9uPzogKHNlYXJjaDogc3RyaW5nKSA9PiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIG9wdGlvbnM6IGFueVtdO1xuICAgIHNlYXJjaD86ICh0ZXJtOiBzdHJpbmcsIHNlbGVjdDogU2VsZWN0KSA9PiBhbnlbXSB8IFByb21pc2VQcm94eTxhbnlbXT47XG4gICAgc2VhcmNoRmllbGQ_OiBzdHJpbmc7XG4gICAgaXNJbnZhbGlkPzogYm9vbGVhbjtcbiAgICBmdWxsV2lkdGg_OiBib29sZWFuO1xuICAgIHNlYXJjaE1lc3NhZ2U_OiBzdHJpbmc7XG4gICAgc2VhcmNoRW5hYmxlZD86IGJvb2xlYW47XG4gICAgaXNDbGVhcmFibGU_OiBib29sZWFuO1xuICAgIGlzTG9hZGluZz86IGJvb2xlYW47XG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgcmVhZE9ubHk_OiBib29sZWFuO1xuICAgIHNlYXJjaE1lc3NhZ2VDb21wb25lbnQ_OiBhbnk7XG4gICAgY29tcHJlc3NlZD86IGJvb2xlYW47XG4gICAgb25Gb2N1cz86IChlOiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIG9uQmx1cj86IChlOiBGb2N1c0V2ZW50KSA9PiB2b2lkO1xuICAgIG9uQ2xvc2U_OiAoZTogRXZlbnQpID0-IHZvaWQ7XG4gICAgb25PcGVuPzogKGU6IEV2ZW50KSA9PiB2b2lkO1xuICAgIHJlbmRlckluUGxhY2U_OiBib29sZWFuO1xuICAgIGN1c3RvbU9wdGlvblRleHQ_OiBzdHJpbmc7XG4gICAgZHJvcGRvd25DbGFzcz86IHN0cmluZztcbiAgICBzZWxlY3RlZE9wdGlvbnM_OiBhbnlbXTtcbiAgICBvbkNoYW5nZTogKHNlbGVjdGVkOiBhbnlbXSkgPT4gdm9pZDtcbiAgICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgICBleHRyYT86IGFueTtcbiAgICBjbG9zZU9uU2VsZWN0PzogYm9vbGVhbjtcbiAgfTtcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdDogW2FueSwgbnVtYmVyLCBTZWxlY3RdO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgU2xpY2VhYmxlPFQ-IHtcbiAgc2xpY2UoKTogVFtdO1xufVxuXG5jb25zdCBpc1NsaWNlYWJsZSA9IDxULD4oY29sbDogYW55KTogY29sbCBpcyBTbGljZWFibGU8VD4gPT4ge1xuICByZXR1cm4gaXNBcnJheShjb2xsKTtcbn07XG5cbmV4cG9ydCBjb25zdCB0b1BsYWluQXJyYXkgPSA8VCw-KGNvbGxlY3Rpb246IFRbXSB8IFNsaWNlYWJsZTxUPik6IFRbXSA9PiB7XG4gIGlmIChpc1NsaWNlYWJsZTxUPihjb2xsZWN0aW9uKSkge1xuICAgIHJldHVybiBjb2xsZWN0aW9uLnNsaWNlKCk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aUNvbWJvQm94Q29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PEV1aUNvbWJvQm94U2lnbmF0dXJlPiB7XG4gIEB0cmFja2VkIHNlbGVjdDogYW55ID0gbnVsbDtcbiAgQHRyYWNrZWQgcHJpdmF0ZSBfcmVzb2x2ZWRPcHRpb25zPzogYW55W107XG4gIEB0cmFja2VkIHNlYXJjaFRleHQgPSAnJztcbiAgQHRyYWNrZWQgcHJpdmF0ZSBfc2VhcmNoUmVzdWx0PzogYW55W107XG4gIHByaXZhdGUgX2ZpbHRlclJlc3VsdHNDYWNoZToge1xuICAgIHJlc3VsdHM6IGFueVtdO1xuICAgIG9wdGlvbnM6IGFueVtdO1xuICAgIHNlYXJjaFRleHQ6IHN0cmluZztcbiAgfSA9IHsgcmVzdWx0czogW10sIG9wdGlvbnM6IFtdLCBzZWFyY2hUZXh0OiB0aGlzLnNlYXJjaFRleHQgfTtcblxuICA8dGVtcGxhdGU-XG4gICAge3shIEBnbGludC1ub2NoZWNrOiBub3QgdHlwZXNhZmUgeWV0IH19XG4gICAgPFBvd2VyU2VsZWN0TXVsdGlwbGVcbiAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgIEBvbkNoYW5nZT17e3BpcGUgdGhpcy5vbkNoYW5nZSBAb25DaGFuZ2V9fVxuICAgICAgQG9uRm9jdXM9e3tAb25Gb2N1c319XG4gICAgICBAb25CbHVyPXt7QG9uQmx1cn19XG4gICAgICBAb25PcGVuPXt7QG9uT3Blbn19XG4gICAgICBAb25DbG9zZT17e0BvbkNsb3NlfX1cbiAgICAgIEBwbGFjZWhvbGRlckNvbXBvbmVudD17e0BwbGFjZWhvbGRlckNvbXBvbmVudH19XG4gICAgICBAc2VhcmNoTWVzc2FnZT17e0BzZWFyY2hNZXNzYWdlfX1cbiAgICAgIEBzZWFyY2hNZXNzYWdlQ29tcG9uZW50PXt7aWZcbiAgICAgICAgQHNlYXJjaE1lc3NhZ2VDb21wb25lbnRcbiAgICAgICAgQHNlYXJjaE1lc3NhZ2VDb21wb25lbnRcbiAgICAgICAgRXVpQ29tYm9Cb3hTZWFyY2hNZXNzYWdlXG4gICAgICB9fVxuICAgICAgQG5vTWF0Y2hlc01lc3NhZ2U9e3tAbm9NYXRjaGVzTWVzc2FnZX19XG4gICAgICBAbWF0Y2hUcmlnZ2VyV2lkdGg9e3tAbWF0Y2hUcmlnZ2VyV2lkdGh9fVxuICAgICAgQG9wdGlvbnM9e3t0aGlzLm9wdGlvbnN9fVxuICAgICAgQHNlbGVjdGVkPXt7QHNlbGVjdGVkT3B0aW9uc319XG4gICAgICBAY2xvc2VPblNlbGVjdD17e0BjbG9zZU9uU2VsZWN0fX1cbiAgICAgIEBkZWZhdWx0SGlnaGxpZ2h0ZWQ9e3tAZGVmYXVsdEhpZ2hsaWdodGVkfX1cbiAgICAgIEBzZWFyY2hGaWVsZD17e0BzZWFyY2hGaWVsZH19XG4gICAgICBAc2VhcmNoRW5hYmxlZD17e2FyZ09yRGVmYXVsdCBAc2VhcmNoRW5hYmxlZCB0cnVlfX1cbiAgICAgIEB0YWJpbmRleD17e0B0YWJpbmRleH19XG4gICAgICBAaW5pdGlhbGx5T3BlbmVkPXt7YW5kIChub3QgQGlzRGlzYWJsZWQpIEBhdXRvRm9jdXN9fVxuICAgICAgQHRyaWdnZXJDb21wb25lbnQ9e3tjb21wb25lbnRcbiAgICAgICAgRXVpQ29tYm9Cb3hUcmlnZ2VyXG4gICAgICAgIGZ1bGxXaWR0aD1AZnVsbFdpZHRoXG4gICAgICAgIGNvbXByZXNzZWQ9QGNvbXByZXNzZWRcbiAgICAgICAgaXNJbnZhbGlkPUBpc0ludmFsaWRcbiAgICAgICAgc2luZ2xlU2VsZWN0aW9uPUBzaW5nbGVTZWxlY3Rpb25cbiAgICAgICAgb25DbG9zZT1AcmVtb3ZlVGFnXG4gICAgICAgIG9uQ3JlYXRlT3B0aW9uPShpZiBAb25DcmVhdGVPcHRpb24gdGhpcy5vbkNyZWF0ZU9wdGlvbilcbiAgICAgICAgaXNMb2FkaW5nPUBpc0xvYWRpbmdcbiAgICAgICAgYXV0b0ZvY3VzPShhbmQgKG5vdCBAaXNEaXNhYmxlZCkgQGF1dG9Gb2N1cylcbiAgICAgICAgaWNvbj1AdHJpZ2dlckljb25cbiAgICAgIH19XG4gICAgICBAbWF0Y2hlcj17e0BtYXRjaGVyfX1cbiAgICAgIEBpbml0aWFsbHlPcGVuPXt7QGluaXRpYWxseU9wZW59fVxuICAgICAgQHR5cGVBaGVhZE9wdGlvbk1hdGNoZXI9e3tAdHlwZUFoZWFkT3B0aW9uTWF0Y2hlcn19XG4gICAgICBAYnVpbGRTZWxlY3Rpb249e3t0aGlzLmJ1aWxkU2VsZWN0aW9ufX1cbiAgICAgIEBzZWFyY2g9e3tAc2VhcmNofX1cbiAgICAgIEBvbklucHV0PXt7QG9uSW5wdXR9fVxuICAgICAgQG9uS2V5ZG93bj17e0BvbktleWRvd259fVxuICAgICAgQHNjcm9sbFRvPXt7dGhpcy5zY3JvbGxUb319XG4gICAgICBAcmVnaXN0ZXJBUEk9e3txdWV1ZSB0aGlzLnJlZ2lzdGVyQVBJIChvcHRpb25hbCBAcmVnaXN0ZXJBcGkpfX1cbiAgICAgIEBob3Jpem9udGFsUG9zaXRpb249e3tAaG9yaXpvbnRhbFBvc2l0aW9ufX1cbiAgICAgIEBkZXN0aW5hdGlvbj17e0BkZXN0aW5hdGlvbn19XG4gICAgICBAcHJldmVudFNjcm9sbD17e0BwcmV2ZW50U2Nyb2xsfX1cbiAgICAgIEByZW5kZXJJblBsYWNlPXt7QHJlbmRlckluUGxhY2V9fVxuICAgICAgQHZlcnRpY2FsUG9zaXRpb249e3tAdmVydGljYWxQb3NpdGlvbn19XG4gICAgICBAZGlzYWJsZWQ9e3tAaXNEaXNhYmxlZH19XG4gICAgICBAY2FsY3VsYXRlUG9zaXRpb249e3tAY2FsY3VsYXRlUG9zaXRpb259fVxuICAgICAgQGV2ZW50VHlwZT17e0BldmVudFR5cGV9fVxuICAgICAgQGFyaWFMYWJlbD17e0BhcmlhTGFiZWx9fVxuICAgICAgQGFyaWFMYWJlbGxlZEJ5PXt7QGFyaWFMYWJlbGxlZEJ5fX1cbiAgICAgIEByZXF1aXJlZD17e0ByZXF1aXJlZH19XG4gICAgICBAdHJpZ2dlclJvbGU9e3tAdHJpZ2dlclJvbGV9fVxuICAgICAgQHRpdGxlPXt7QHRpdGxlfX1cbiAgICAgIEB0cmlnZ2VySWQ9e3tAdHJpZ2dlcklkfX1cbiAgICAgIEBhbGxvd0NsZWFyPXt7YW5kIChhcmdPckRlZmF1bHQgQGlzQ2xlYXJhYmxlIHRydWUpIChub3QgQGlzRGlzYWJsZWQpfX1cbiAgICAgIEBsb2FkaW5nTWVzc2FnZT17e0Bsb2FkaW5nTWVzc2FnZX19XG4gICAgICBAc2VsZWN0ZWRJdGVtQ29tcG9uZW50PXt7QHNlbGVjdGVkSXRlbUNvbXBvbmVudH19XG4gICAgICBAYmVmb3JlT3B0aW9uc0NvbXBvbmVudD17e0BiZWZvcmVPcHRpb25zQ29tcG9uZW50fX1cbiAgICAgIEBwbGFjZWhvbGRlcj17e0BwbGFjZWhvbGRlcn19XG4gICAgICBAc2VhcmNoUGxhY2Vob2xkZXI9e3tAc2VhcmNoUGxhY2Vob2xkZXJ9fVxuICAgICAgQG9wdGlvbnNDb21wb25lbnQ9e3tjb21wb25lbnRcbiAgICAgICAgRXVpQ29tYm9Cb3hPcHRpb25zXG4gICAgICAgIHJvd0hlaWdodD1Acm93SGVpZ2h0XG4gICAgICAgIGNsYXNzPUBvcHRpb25zQ2xhc3NcbiAgICAgIH19XG4gICAgICBAZXh0cmE9e3tAZXh0cmF9fVxuICAgICAgQGdyb3VwQ29tcG9uZW50PXt7Y29tcG9uZW50IEV1aUNvbWJvQm94R3JvdXB9fVxuICAgICAgQHRyaWdnZXJDbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgXCJldWlDb21ib0JveFwiXG4gICAgICAgIChpZiBAY29tcHJlc3NlZCBcImV1aUNvbWJvQm94LS1jb21wcmVzc2VkXCIpXG4gICAgICAgIChpZiBAZnVsbFdpZHRoIFwiZXVpQ29tYm9Cb3gtLWZ1bGxXaWR0aFwiKVxuICAgICAgICAoaWYgQGlzRGlzYWJsZWQgXCJldWlDb21ib0JveC1pc0Rpc2FibGVkXCIpXG4gICAgICAgIChpZiBAaXNJbnZhbGlkIFwiZXVpQ29tYm9Cb3gtaXNJbnZhbGlkXCIpXG4gICAgICAgIChpZiB0aGlzLnNlbGVjdC5pc09wZW4gXCJldWlDb21ib0JveC1pc09wZW5cIilcbiAgICAgIH19XG4gICAgICBAbm9NYXRjaGVzTWVzc2FnZUNvbXBvbmVudD17e2lmXG4gICAgICAgIEBvbkNyZWF0ZU9wdGlvblxuICAgICAgICAoY29tcG9uZW50XG4gICAgICAgICAgRXVpQ29tYm9Cb3hDcmVhdGVPcHRpb25cbiAgICAgICAgICBjdXN0b21PcHRpb25UZXh0PUBjdXN0b21PcHRpb25UZXh0XG4gICAgICAgICAgb25DcmVhdGVPcHRpb249dGhpcy5vbkNyZWF0ZU9wdGlvblxuICAgICAgICAgIHNlbGVjdD10aGlzLnNlbGVjdFxuICAgICAgICApXG4gICAgICAgIChjb21wb25lbnQgRXVpQ29tYm9Cb3hOb01hdGNoZXNNZXNzYWdlKVxuICAgICAgfX1cbiAgICAgIEBkcm9wZG93bkNsYXNzPVwiZXVpQ29tYm9Cb3hPcHRpb25zTGlzdCBldWlQYW5lbCBldWlQYW5lbC0tYm9yZGVyUmFkaXVzTWVkaXVtIGV1aVBhbmVsLS1ub1NoYWRvdyBldWlQYW5lbC0tcGxhaW4gZXVpUG9wb3Zlcl9fcGFuZWwtaXNBdHRhY2hlZCBldWlQb3BvdmVyX19wYW5lbCBldWlQb3BvdmVyX19wYW5lbC1ub0Fycm93IGV1aVBvcG92ZXJfX3BhbmVsLS1ib3R0b20gZXVpUG9wb3Zlcl9fcGFuZWwtaXNPcGVuIGV1aUNvbWJvQm94T3B0aW9uc0xpc3RfX3Jvd1dyYXAge3tAZHJvcGRvd25DbGFzc319XCJcbiAgICAgIGFzIHxvcHRpb24gaXxcbiAgICA-XG4gICAgICB7e3lpZWxkIG9wdGlvbiBpfX1cbiAgICA8L1Bvd2VyU2VsZWN0TXVsdGlwbGU-XG4gIDwvdGVtcGxhdGU-XG5cbiAgLy9UaGlzIGlzIHRvIGFsbG93IHNjcm9sbGluZyBiZXR3ZWVuIHZpcnR1YWxpemVkIGdyb3Vwc1xuICBAY2FjaGVkXG4gIGdldCBvcHRzKCkge1xuICAgIHJldHVybiB0aGlzLnJlc3VsdHMucmVkdWNlKChhY2MsIGN1cnIpID0-IHtcbiAgICAgIGlmIChlbWJlclBvd2VyU2VsZWN0SXNHcm91cChbY3Vycl0pKSB7XG4gICAgICAgIGFjYy5wdXNoKGN1cnIsIC4uLmN1cnIub3B0aW9ucyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhY2MucHVzaChjdXJyKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSk7XG4gIH1cblxuICBAY2FjaGVkXG4gIGdldCBvcHRpb25zKCk6IGFueVtdIHtcbiAgICBpZiAodGhpcy5fcmVzb2x2ZWRPcHRpb25zKSByZXR1cm4gdG9QbGFpbkFycmF5KHRoaXMuX3Jlc29sdmVkT3B0aW9ucyk7XG5cbiAgICBpZiAodGhpcy5hcmdzLm9wdGlvbnMpIHtcbiAgICAgIHJldHVybiB0b1BsYWluQXJyYXkodGhpcy5hcmdzLm9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcmVzdWx0cygpOiBhbnlbXSB7XG4gICAgaWYgKHRoaXMuc2VhcmNoVGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICBpZiAodGhpcy5hcmdzLnNlYXJjaCkge1xuICAgICAgICByZXR1cm4gdG9QbGFpbkFycmF5KHRoaXMuX3NlYXJjaFJlc3VsdCB8fCB0aGlzLm9wdGlvbnMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMuX2ZpbHRlclJlc3VsdHNDYWNoZS5vcHRpb25zID09PSB0aGlzLm9wdGlvbnMgJiZcbiAgICAgICAgICB0aGlzLl9maWx0ZXJSZXN1bHRzQ2FjaGUuc2VhcmNoVGV4dCA9PT0gdGhpcy5zZWFyY2hUZXh0XG4gICAgICAgICkge1xuICAgICAgICAgIC8vIFRoaXMgaXMgYW4gb3B0aW1pemF0aW9uIHRvIGF2b2lkIGZpbHRlcmluZyBzZXZlcmFsIHRpbWVzLCB3aGljaCBtYXkgYmUgYSBiaXQgZXhwZW5zaXZlXG4gICAgICAgICAgLy8gaWYgdGhlcmUgYXJlIG1hbnkgb3B0aW9ucywgaWYgbmVpdGhlciB0aGUgb3B0aW9ucyBub3IgdGhlIHNlYXJjaHRleHQgaGF2ZSBjaGFuZ2VkXG4gICAgICAgICAgcmV0dXJuIHRoaXMuX2ZpbHRlclJlc3VsdHNDYWNoZS5yZXN1bHRzO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIGxldCByZXN1bHRzID0gdGhpcy5fZmlsdGVyKHRoaXMub3B0aW9ucywgdGhpcy5zZWFyY2hUZXh0KTtcbiAgICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgdGhpcy5fZmlsdGVyUmVzdWx0c0NhY2hlID0ge1xuICAgICAgICAgIHJlc3VsdHMsXG4gICAgICAgICAgb3B0aW9uczogdGhpcy5vcHRpb25zLFxuICAgICAgICAgIHNlYXJjaFRleHQ6IHRoaXMuc2VhcmNoVGV4dFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHRpb25zO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2Nyb2xsVG8ob3B0aW9uOiBhbnksIHNlbGVjdDogeyByZXN1bHRzOiBbXTsgdW5pcXVlSWQ6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgbGV0IG9wdGlvbnNMaXN0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcbiAgICAgIGBbYXJpYS1jb250cm9scz1cImVtYmVyLXBvd2VyLXNlbGVjdC10cmlnZ2VyLSR7c2VsZWN0LnVuaXF1ZUlkfVwiXWBcbiAgICApIGFzIEhUTUxFbGVtZW50O1xuXG4gICAgaWYgKCFvcHRpb25zTGlzdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBpbmRleCA9IHRoaXMub3B0cy5pbmRleE9mKG9wdGlvbik7XG5cbiAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbkVsZW1lbnQgPSBvcHRpb25zTGlzdC5xdWVyeVNlbGVjdG9yKFxuICAgICAgYFtkYXRhLW9wdGlvbi1pbmRleD1cIiR7aW5kZXh9XCJdYFxuICAgICkgYXMgSFRNTEVsZW1lbnQ7XG5cbiAgICBpZiAoIW9wdGlvbkVsZW1lbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgb3B0aW9uVG9wU2Nyb2xsID0gb3B0aW9uRWxlbWVudC5vZmZzZXRUb3A7XG4gICAgbGV0IG9wdGlvbkJvdHRvbVNjcm9sbCA9IG9wdGlvblRvcFNjcm9sbCArIG9wdGlvbkVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xuXG4gICAgaWYgKG9wdGlvbkJvdHRvbVNjcm9sbCA-IG9wdGlvbnNMaXN0Lm9mZnNldEhlaWdodCArIG9wdGlvbnNMaXN0LnNjcm9sbFRvcCkge1xuICAgICAgb3B0aW9uc0xpc3Quc2Nyb2xsVG9wID0gb3B0aW9uQm90dG9tU2Nyb2xsIC0gb3B0aW9uc0xpc3Qub2Zmc2V0SGVpZ2h0O1xuICAgIH0gZWxzZSBpZiAob3B0aW9uVG9wU2Nyb2xsIDwgb3B0aW9uc0xpc3Quc2Nyb2xsVG9wKSB7XG4gICAgICBvcHRpb25zTGlzdC5zY3JvbGxUb3AgPSBvcHRpb25Ub3BTY3JvbGw7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICByZWdpc3RlckFQSShzZWxlY3Q6IFNlbGVjdCkge1xuICAgIHRoaXMuc2VsZWN0ID0gc2VsZWN0O1xuICB9XG5cbiAgQGFjdGlvblxuICBvbkNoYW5nZShzZWxlY3RlZDogYW55W10pIHtcbiAgICBpZiAodGhpcy5hcmdzLnNpbmdsZVNlbGVjdGlvbikge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkLmxlbmd0aCA-IDAgPyBbc2VsZWN0ZWRbc2VsZWN0ZWQubGVuZ3RoIC0gMV1dIDogW107XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGVkO1xuICB9XG5cbiAgQGFjdGlvblxuICBvbkNyZWF0ZU9wdGlvbigpIHtcbiAgICBsZXQgb3B0aW9uO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5hcmdzLm9uQ3JlYXRlT3B0aW9uICYmXG4gICAgICB0eXBlb2YgdGhpcy5hcmdzLm9uQ3JlYXRlT3B0aW9uID09PSAnZnVuY3Rpb24nXG4gICAgKSB7XG4gICAgICAvLyBUaGUgYG9uQ3JlYXRlT3B0aW9uYCBmdW5jdGlvbiBjYW4gYmUgdXNlZCB0byBzYW5pdGl6ZSB0aGUgaW5wdXQgb3IgZXhwbGljaXRseSByZXR1cm4gYGZhbHNlYCB0byByZWplY3QgdGhlIGlucHV0XG4gICAgICBvcHRpb24gPSB0aGlzLmFyZ3Mub25DcmVhdGVPcHRpb24odGhpcy5zZWxlY3Quc2VhcmNoVGV4dCk7XG5cbiAgICAgIGlmIChvcHRpb24gPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsZXQgc2VhcmNoID0gb3B0aW9uIHx8IHRoaXMuc2VsZWN0LnNlYXJjaFRleHQ7XG5cbiAgICB0aGlzLnNlbGVjdC5hY3Rpb25zLnNlYXJjaCgnJyk7XG4gICAgdGhpcy5zZWxlY3QuYWN0aW9ucy5jbG9zZSgpO1xuXG4gICAgcmV0dXJuIHNlYXJjaDtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgYnVpbGRTZWxlY3Rpb24ob3B0aW9uOiBhbnksIHNlbGVjdDogU2VsZWN0KSB7XG4gICAgbGV0IG5ld1NlbGVjdGlvbiA9IChzZWxlY3Quc2VsZWN0ZWQgfHwgW10pLnNsaWNlKDApO1xuICAgIGxldCBpZHggPSAtMTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbmV3U2VsZWN0aW9uLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoaXNFcXVhbChuZXdTZWxlY3Rpb25baV0sIG9wdGlvbikpIHtcbiAgICAgICAgaWR4ID0gaTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaWR4ID4gLTEpIHtcbiAgICAgIG5ld1NlbGVjdGlvbi5zcGxpY2UoaWR4LCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbmV3U2VsZWN0aW9uLnB1c2gob3B0aW9uKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hcmdzLnNpbmdsZVNlbGVjdGlvbiAmJiBuZXdTZWxlY3Rpb24ubGVuZ3RoID09PSAwKSB7XG4gICAgICBzZWxlY3QuYWN0aW9ucy5zZWFyY2goJycpO1xuICAgIH1cblxuICAgIGlmIChzZWxlY3Q_LnNlbGVjdGVkPy5sZW5ndGggPCBuZXdTZWxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICBzZWxlY3QuYWN0aW9ucy5zZWFyY2goJycpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXdTZWxlY3Rpb247XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLE1BQU0sRUFBRSxPQUFPLFFBQVEsb0JBQW9CO0FBQ3BELFNBQVMsT0FBTyxRQUFRLGVBQWU7QUFDdkMsU0FBUyxNQUFNLFFBQVEsZ0JBQWdCO0FBQ3ZDLFNBQVMsT0FBTyxRQUFRLGVBQWU7QUFFdkMsT0FBTyxjQUFjLDRDQUE0QztBQUNqRSxPQUFPLFVBQVUsd0NBQXdDO0FBQ3pELE9BQU8sV0FBVyx5Q0FBeUM7QUFDM0QsT0FBTyx5QkFBeUIsc0RBQXNEO0FBQ3RGLFNBQVMsdUJBQXVCLFFBQVEseURBQXlEO0FBQ2pHLFNBQVMsR0FBRyxFQUFFLEdBQUcsUUFBUSxzQkFBc0I7QUFFL0MsT0FBTyxrQkFBa0IsK0JBQStCO0FBQ3hELE9BQU8sZ0JBQWdCLDRCQUE0QjtBQUNuRCxPQUFPLDZCQUE2QixvQ0FBb0M7QUFDeEUsT0FBTyxzQkFBc0IsNEJBQTRCO0FBQ3pELE9BQU8saUNBQWlDLHlDQUF5QztBQUNqRixPQUFPLHdCQUF3Qiw4QkFBOEI7QUFDN0QsT0FBTyw4QkFBOEIscUNBQXFDO0FBQzFFLE9BQU8sd0JBQXdCLDhCQUE4QjtVQUVuRCxhQUFhLFdBQVcsUUFBUTtJQUN4QyxTQUFTLEdBQUc7O1VBR0o7SUFDUixVQUFVLEdBQUc7SUFDYjtRQUNFLFNBQVMsS0FBSyxNQUFNLEtBQUssSUFBSTs7O0FBSWpDLGlCQUFpQjtJQUNmLFNBQVM7SUFDVDtRQUNFLGlCQUFpQixPQUFPO1FBQ3hCLGtCQUFrQixRQUFRLE1BQU0sS0FBSyxPQUFPLEdBQUcsU0FBUztRQUN4RCxTQUFTLEdBQUc7UUFDWixVQUFVLE1BQU0sTUFBTSxFQUFFLFFBQVEsV0FBVyxHQUFHLEtBQUssYUFBYSxH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"],"names":["cached","macroCondition","dependencySatisfies","importSync","isSliceable","coll1","isArray","toPlainArray","collection1","slice","EuiComboBoxComponent","Component","g","this","prototype","tracked","i","void 0","_filterResultsCache","results","options","searchText","setComponentTemplate","precompileTemplate","strictMode","scope","PowerSelectMultiple","pipe","EuiComboBoxSearchMessage","argOrDefault","and","not","EuiComboBoxTrigger","queue","optional","EuiComboBoxOptions","EuiComboBoxGroup","classNames","EuiComboBoxCreateOption","EuiComboBoxNoMatchesMessage","opts","reduce","acc1","curr1","emberPowerSelectIsGroup","push","n","_resolvedOptions","args","length","search","_searchResult","results1","_filter","scrollTo","option1","select1","optionsList1","document","querySelector","uniqueId","index1","indexOf","optionElement1","optionTopScroll1","offsetTop","optionBottomScroll1","offsetHeight","scrollTop","action","registerAPI","select","onChange","selected1","singleSelection","onCreateOption","search1","actions","close","buildSelection","newSelection1","selected","idx1","i1","isEqual","splice"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { macroCondition, dependencySatisfies, importSync } from '@embroider/macros';
|
|
1
2
|
import Component from '@glimmer/component';
|
|
2
|
-
import
|
|
3
|
+
import '@glimmer/tracking';
|
|
3
4
|
import { fn, hash } from '@ember/helper';
|
|
4
5
|
import { on } from '@ember/modifier';
|
|
5
6
|
import { action } from '@ember/object';
|
|
@@ -14,6 +15,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
14
15
|
import { setComponentTemplate } from '@ember/component';
|
|
15
16
|
import { n } from 'decorator-transforms/runtime';
|
|
16
17
|
|
|
18
|
+
let cached = macroCondition(dependencySatisfies('ember-source', '>= 4.1.0-alpha.0')) ? importSync('@glimmer/tracking').cached : importSync('ember-cached-decorator-polyfill').cached;
|
|
17
19
|
class EuiMarkdownEditorToolbarComponent extends Component {
|
|
18
20
|
boldItalicsButtons = [{
|
|
19
21
|
id: 'mdBold',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor-toolbar.js","sources":["../../src/components/eui-markdown-editor-toolbar.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, gte, or } from 'ember-truth-helpers';\nimport { MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport MarkdownCheckmark from './eui-markdown-editor-toolbar/icons/markdown-checkmark.gts';\nimport EuiToolTip from './eui-tool-tip.gts';\nimport type MarkdownActions from '../utils/markdown/markdown-actions.ts';\nexport interface EuiMarkdownEditorToolbarArgs {\n viewMode?: string;\n markdownActions: MarkdownActions;\n uiPlugins: any[];\n openPluginEditor?: (actionResult: ReturnType<MarkdownActions['do']>) => void;\n onClickPreview: () => void;\n selectedNode: any;\n}\nexport interface EuiMarkdownEditorToolbarSignature {\n Element: HTMLDivElement;\n Args: EuiMarkdownEditorToolbarArgs;\n Blocks: {\n default: [];\n };\n}\nexport default class EuiMarkdownEditorToolbarComponent extends Component<EuiMarkdownEditorToolbarSignature> {\n boldItalicsButtons = [\n {\n id: 'mdBold',\n label: 'Bold',\n name: 'bold',\n iconType: 'editorBold'\n },\n {\n id: 'mdItalic',\n label: 'Italic',\n name: 'italic',\n iconType: 'editorItalic'\n }\n ];\n @cached\n get listButtons() {\n return [\n {\n id: 'mdUl',\n label: 'Unordered list',\n name: 'ul',\n iconType: 'editorUnorderedList'\n },\n {\n id: 'mdOl',\n label: 'Ordered list',\n name: 'ol',\n iconType: 'editorOrderedList'\n },\n {\n id: 'mdTl',\n label: 'Task list',\n name: 'tl',\n useSvg: true,\n iconType: {\n component: MarkdownCheckmark\n }\n }\n ];\n }\n quoteCodeLinkButtons = [\n {\n id: 'mdQuote',\n label: 'Quote',\n name: 'quote',\n iconType: 'quote'\n },\n {\n id: 'mdCode',\n label: 'Code',\n name: 'code',\n iconType: 'editorCodeBlock'\n },\n {\n id: 'mdLink',\n label: 'Link',\n name: 'link',\n iconType: 'editorLink'\n }\n ];\n get uiPlugins() {\n return this.args.uiPlugins || [];\n }\n get isPreviewing() {\n return this.args.viewMode === MODE_VIEWING;\n }\n @action\n handleMdButtonClick(mdButtonId1: string) {\n const actionResult1 = this.args.markdownActions.do(mdButtonId1);\n if (actionResult1 !== true) this.args.openPluginEditor?.(actionResult1);\n }\n iconType = (item1: {\n iconType: {\n component: any;\n } | string;\n })=>{\n if (typeof item1.iconType === 'string') {\n return item1.iconType;\n }\n return item1.iconType.component;\n };\n static{\n template(`\n <div class=\"euiMarkdownEditorToolbar\" ...attributes>\n <div class=\"euiMarkdownEditorToolbar__buttons\">\n {{#each this.boldItalicsButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{item.iconType}}\n aria-label={{item.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.listButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{this.iconType item}}\n {{!@glint-expect-error}}\n @useComponent={{if item.iconType.component true}}\n aria-label={{item.label}}\n @useSvg={{item.useSvg}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.quoteCodeLinkButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{item.iconType}}\n aria-label={{item.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n {{#if (gte this.uiPlugins.length 0)}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.uiPlugins as |plugin|}}\n {{#let\n (and @selectedNode (eq @selectedNode.type plugin.name))\n as |isSelectedNodeType|\n }}\n <EuiToolTip @content={{plugin.button.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{style\n (if\n isSelectedNodeType (hash background=\"rgba(0, 0, 0, 0.15)\")\n )\n }}\n {{on \"click\" (fn this.handleMdButtonClick plugin.name)}}\n @iconType={{plugin.button.iconType}}\n aria-label={{plugin.button.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n {{/let}}\n {{/each}}\n {{/if}}\n </div>\n\n {{#if this.isPreviewing}}\n <EuiButtonEmpty\n @iconType=\"editorCodeBlock\"\n @color=\"text\"\n @size=\"s\"\n {{on \"click\" @onClickPreview}}\n >\n Editor\n </EuiButtonEmpty>\n\n {{else}}\n <EuiButtonEmpty\n @iconType=\"eye\"\n @color=\"text\"\n @size=\"s\"\n {{on \"click\" @onClickPreview}}\n >\n Preview\n </EuiButtonEmpty>\n {{/if}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1lZGl0b3ItdG9vbGJhci5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgY2FjaGVkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgZm4gfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnZW1iZXItc3R5bGUtbW9kaWZpZXIvbW9kaWZpZXJzL3N0eWxlJztcbmltcG9ydCB7IGFuZCwgZXEsIGd0ZSwgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcblxuaW1wb3J0IHsgTU9ERV9WSUVXSU5HIH0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vbWFya2Rvd24tbW9kZXMudHMnO1xuaW1wb3J0IEV1aUJ1dHRvbkVtcHR5IGZyb20gJy4vZXVpLWJ1dHRvbi1lbXB0eS5ndHMnO1xuaW1wb3J0IEV1aUJ1dHRvbkljb24gZnJvbSAnLi9ldWktYnV0dG9uLWljb24uZ3RzJztcbmltcG9ydCBNYXJrZG93bkNoZWNrbWFyayBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdG9vbGJhci9pY29ucy9tYXJrZG93bi1jaGVja21hcmsuZ3RzJztcbmltcG9ydCBFdWlUb29sVGlwIGZyb20gJy4vZXVpLXRvb2wtdGlwLmd0cyc7XG5cbmltcG9ydCB0eXBlIE1hcmtkb3duQWN0aW9ucyBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi1hY3Rpb25zLnRzJztcblxuZXhwb3J0IGludGVyZmFjZSBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJBcmdzIHtcbiAgdmlld01vZGU_OiBzdHJpbmc7XG4gIG1hcmtkb3duQWN0aW9uczogTWFya2Rvd25BY3Rpb25zO1xuICB1aVBsdWdpbnM6IGFueVtdO1xuICBvcGVuUGx1Z2luRWRpdG9yPzogKGFjdGlvblJlc3VsdDogUmV0dXJuVHlwZTxNYXJrZG93bkFjdGlvbnNbJ2RvJ10-KSA9PiB2b2lkO1xuICBvbkNsaWNrUHJldmlldzogKCkgPT4gdm9pZDtcbiAgc2VsZWN0ZWROb2RlOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhckFyZ3M7XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8RXVpTWFya2Rvd25FZGl0b3JUb29sYmFyU2lnbmF0dXJlPiB7XG4gIGJvbGRJdGFsaWNzQnV0dG9ucyA9IFtcbiAgICB7XG4gICAgICBpZDogJ21kQm9sZCcsXG4gICAgICBsYWJlbDogJ0JvbGQnLFxuICAgICAgbmFtZTogJ2JvbGQnLFxuICAgICAgaWNvblR5cGU6ICdlZGl0b3JCb2xkJ1xuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICdtZEl0YWxpYycsXG4gICAgICBsYWJlbDogJ0l0YWxpYycsXG4gICAgICBuYW1lOiAnaXRhbGljJyxcbiAgICAgIGljb25UeXBlOiAnZWRpdG9ySXRhbGljJ1xuICAgIH1cbiAgXTtcblxuICBAY2FjaGVkXG4gIGdldCBsaXN0QnV0dG9ucygpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogJ21kVWwnLFxuICAgICAgICBsYWJlbDogJ1Vub3JkZXJlZCBsaXN0JyxcbiAgICAgICAgbmFtZTogJ3VsJyxcbiAgICAgICAgaWNvblR5cGU6ICdlZGl0b3JVbm9yZGVyZWRMaXN0J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdtZE9sJyxcbiAgICAgICAgbGFiZWw6ICdPcmRlcmVkIGxpc3QnLFxuICAgICAgICBuYW1lOiAnb2wnLFxuICAgICAgICBpY29uVHlwZTogJ2VkaXRvck9yZGVyZWRMaXN0J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdtZFRsJyxcbiAgICAgICAgbGFiZWw6ICdUYXNrIGxpc3QnLFxuICAgICAgICBuYW1lOiAndGwnLFxuICAgICAgICB1c2VTdmc6IHRydWUsXG4gICAgICAgIGljb25UeXBlOiB7XG4gICAgICAgICAgY29tcG9uZW50OiBNYXJrZG93bkNoZWNrbWFya1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXTtcbiAgfVxuXG4gIHF1b3RlQ29kZUxpbmtCdXR0b25zID0gW1xuICAgIHtcbiAgICAgIGlkOiAnbWRRdW90ZScsXG4gICAgICBsYWJlbDogJ1F1b3RlJyxcbiAgICAgIG5hbWU6ICdxdW90ZScsXG4gICAgICBpY29uVHlwZTogJ3F1b3RlJ1xuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICdtZENvZGUnLFxuICAgICAgbGFiZWw6ICdDb2RlJyxcbiAgICAgIG5hbWU6ICdjb2RlJyxcbiAgICAgIGljb25UeXBlOiAnZWRpdG9yQ29kZUJsb2NrJ1xuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICdtZExpbmsnLFxuICAgICAgbGFiZWw6ICdMaW5rJyxcbiAgICAgIG5hbWU6ICdsaW5rJyxcbiAgICAgIGljb25UeXBlOiAnZWRpdG9yTGluaydcbiAgICB9XG4gIF07XG5cbiAgZ2V0IHVpUGx1Z2lucygpIHtcbiAgICByZXR1cm4gdGhpcy5hcmdzLnVpUGx1Z2lucyB8fCBbXTtcbiAgfVxuXG4gIGdldCBpc1ByZXZpZXdpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJncy52aWV3TW9kZSA9PT0gTU9ERV9WSUVXSU5HO1xuICB9XG5cbiAgQGFjdGlvblxuICBoYW5kbGVNZEJ1dHRvbkNsaWNrKG1kQnV0dG9uSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGFjdGlvblJlc3VsdCA9IHRoaXMuYXJncy5tYXJrZG93bkFjdGlvbnMuZG8obWRCdXR0b25JZCk7XG5cbiAgICBpZiAoYWN0aW9uUmVzdWx0ICE9PSB0cnVlKSB0aGlzLmFyZ3Mub3BlblBsdWdpbkVkaXRvcj8uKGFjdGlvblJlc3VsdCk7XG4gIH1cblxuICBpY29uVHlwZSA9IChpdGVtOiB7XG4gICAgaWNvblR5cGU6XG4gICAgICB8IHtcbiAgICAgICAgICBjb21wb25lbnQ6IGFueTtcbiAgICAgICAgfVxuICAgICAgfCBzdHJpbmc7XG4gIH0pID0-IHtcbiAgICBpZiAodHlwZW9mIGl0ZW0uaWNvblR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gaXRlbS5pY29uVHlwZTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbS5pY29uVHlwZS5jb21wb25lbnQ7XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJldWlNYXJrZG93bkVkaXRvclRvb2xiYXJcIiAuLi5hdHRyaWJ1dGVzPlxuICAgICAgPGRpdiBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yVG9vbGJhcl9fYnV0dG9uc1wiPlxuICAgICAgICB7eyNlYWNoIHRoaXMuYm9sZEl0YWxpY3NCdXR0b25zIGFzIHxpdGVtfH19XG4gICAgICAgICAgPEV1aVRvb2xUaXAgQGNvbnRlbnQ9e3tpdGVtLmxhYmVsfX0gQGRlbGF5PVwibG9uZ1wiPlxuICAgICAgICAgICAgPEV1aUJ1dHRvbkljb25cbiAgICAgICAgICAgICAgQGNvbG9yPVwidGV4dFwiXG4gICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChmbiB0aGlzLmhhbmRsZU1kQnV0dG9uQ2xpY2sgaXRlbS5pZCl9fVxuICAgICAgICAgICAgICBAaWNvblR5cGU9e3tpdGVtLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17e2l0ZW0ubGFiZWx9fVxuICAgICAgICAgICAgICBAaXNEaXNhYmxlZD17e3RoaXMuaXNQcmV2aWV3aW5nfX1cbiAgICAgICAgICAgIC8-XG4gICAgICAgICAgPC9FdWlUb29sVGlwPlxuXG4gICAgICAgIHt7L2VhY2h9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yVG9vbGJhcl9fZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAge3sjZWFjaCB0aGlzLmxpc3RCdXR0b25zIGFzIHxpdGVtfH19XG4gICAgICAgICAgPEV1aVRvb2xUaXAgQGNvbnRlbnQ9e3tpdGVtLmxhYmVsfX0gQGRlbGF5PVwibG9uZ1wiPlxuICAgICAgICAgICAgPEV1aUJ1dHRvbkljb25cbiAgICAgICAgICAgICAgQGNvbG9yPVwidGV4dFwiXG4gICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChmbiB0aGlzLmhhbmRsZU1kQnV0dG9uQ2xpY2sgaXRlbS5pZCl9fVxuICAgICAgICAgICAgICBAaWNvblR5cGU9e3t0aGlzLmljb25UeXBlIGl0ZW19fVxuICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgQHVzZUNvbXBvbmVudD17e2lmIGl0ZW0uaWNvblR5cGUuY29tcG9uZW50IHRydWV9fVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt7aXRlbS5sYWJlbH19XG4gICAgICAgICAgICAgIEB1c2VTdmc9e3tpdGVtLnVzZVN2Z319XG4gICAgICAgICAgICAgIEBpc0Rpc2FibGVkPXt7dGhpcy5pc1ByZXZpZXdpbmd9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0V1aVRvb2xUaXA-XG5cbiAgICAgICAge3svZWFjaH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpTWFya2Rvd25FZGl0b3JUb29sYmFyX19kaXZpZGVyXCI-PC9zcGFuPlxuICAgICAgICB7eyNlYWNoIHRoaXMucXVvdGVDb2RlTGlua0J1dHRvbnMgYXMgfGl0ZW18fX1cbiAgICAgICAgICA8RXVpVG9vbFRpcCBAY29udGVudD17e2l0ZW0ubGFiZWx9fSBAZGVsYXk9XCJsb25nXCI-XG4gICAgICAgICAgICA8RXVpQnV0dG9uSWNvblxuICAgICAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAge3tvbiBcImNsaWNrXCIgKGZuIHRoaXMuaGFuZGxlTWRCdXR0b25DbGljayBpdGVtLmlkKX19XG4gICAgICAgICAgICAgIEBpY29uVHlwZT17e2l0ZW0uaWNvblR5cGV9fVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt7aXRlbS5sYWJlbH19XG4gICAgICAgICAgICAgIEBpc0Rpc2FibGVkPXt7dGhpcy5pc1ByZXZpZXdpbmd9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0V1aVRvb2xUaXA-XG5cbiAgICAgICAge3svZWFjaH19XG4gICAgICAgIHt7I2lmIChndGUgdGhpcy51aVBsdWdpbnMubGVuZ3RoIDApfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yVG9vbGJhcl9fZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAgICB7eyNlYWNoIHRoaXMudWlQbHVnaW5zIGFzIHxwbHVnaW58fX1cbiAgICAgICAgICAgIHt7I2xldFxuICAgICAgICAgICAgICAoYW5kIEBzZWxlY3RlZE5vZGUgKGVxIEBzZWxlY3RlZE5vZGUudHlwZSBwbHVnaW4ubmFtZSkpXG4gICAgICAgICAgICAgIGFzIHxpc1NlbGVjdGVkTm9kZVR5cGV8XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8RXVpVG9vbFRpcCBAY29udGVudD17e3BsdWdpbi5idXR0b24ubGFiZWx9fSBAZGVsYXk9XCJsb25nXCI-XG4gICAgICAgICAgICAgICAgPEV1aUJ1dHRvbkljb25cbiAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInRleHRcIlxuICAgICAgICAgICAgICAgICAge3tzdHlsZVxuICAgICAgICAgICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkTm9kZVR5cGUgKGhhc2ggYmFja2dyb3VuZD1cInJnYmEoMCwgMCwgMCwgMC4xNSlcIilcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChmbiB0aGlzLmhhbmRsZU1kQnV0dG9uQ2xpY2sgcGx1Z2luLm5hbWUpfX1cbiAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e3BsdWdpbi5idXR0b24uaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17e3BsdWdpbi5idXR0b24ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgQGlzRGlzYWJsZWQ9e3t0aGlzLmlzUHJldmlld2luZ319XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9FdWlUb29sVGlwPlxuICAgICAgICAgICAge3svbGV0fX1cbiAgICAgICAgICB7ey9lYWNofX1cbiAgICAgICAge3svaWZ9fVxuICAgICAgPC9kaXY-XG5cbiAgICAgIHt7I2lmIHRoaXMuaXNQcmV2aWV3aW5nfX1cbiAgICAgICAgPEV1aUJ1dHRvbkVtcHR5XG4gICAgICAgICAgQGljb25UeXBlPVwiZWRpdG9yQ29kZUJsb2NrXCJcbiAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICBAc2l6ZT1cInNcIlxuICAgICAgICAgIHt7b24gXCJjbGlja1wiIEBvbkNsaWNrUHJldmlld319XG4gICAgICAgID5cbiAgICAgICAgICBFZGl0b3JcbiAgICAgICAgPC9FdWlCdXR0b25FbXB0eT5cblxuICAgICAge3tlbHNlfX1cbiAgICAgICAgPEV1aUJ1dHRvbkVtcHR5XG4gICAgICAgICAgQGljb25UeXBlPVwiZXllXCJcbiAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICBAc2l6ZT1cInNcIlxuICAgICAgICAgIHt7b24gXCJjbGlja1wiIEBvbkNsaWNrUHJldmlld319XG4gICAgICAgID5cbiAgICAgICAgICBQcmV2aWV3XG4gICAgICAgIDwvRXVpQnV0dG9uRW1wdHk-XG4gICAgICB7ey9pZn19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["EuiMarkdownEditorToolbarComponent","Component","boldItalicsButtons","id","label","name","iconType","listButtons","useSvg","component","MarkdownCheckmark","n","this","prototype","cached","quoteCodeLinkButtons","uiPlugins","args","isPreviewing","viewMode","MODE_VIEWING","handleMdButtonClick","mdButtonId1","actionResult1","markdownActions","do","openPluginEditor","action","item1","setComponentTemplate","precompileTemplate","strictMode","scope","EuiToolTip","EuiButtonIcon","on","fn","gte","and","eq","style","hash","EuiButtonEmpty"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor-toolbar.js","sources":["../../src/components/eui-markdown-editor-toolbar.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, gte, or } from 'ember-truth-helpers';\nimport { MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport MarkdownCheckmark from './eui-markdown-editor-toolbar/icons/markdown-checkmark.gts';\nimport EuiToolTip from './eui-tool-tip.gts';\nimport type MarkdownActions from '../utils/markdown/markdown-actions.ts';\nexport interface EuiMarkdownEditorToolbarArgs {\n viewMode?: string;\n markdownActions: MarkdownActions;\n uiPlugins: any[];\n openPluginEditor?: (actionResult: ReturnType<MarkdownActions['do']>) => void;\n onClickPreview: () => void;\n selectedNode: any;\n}\nexport interface EuiMarkdownEditorToolbarSignature {\n Element: HTMLDivElement;\n Args: EuiMarkdownEditorToolbarArgs;\n Blocks: {\n default: [];\n };\n}\nexport default class EuiMarkdownEditorToolbarComponent extends Component<EuiMarkdownEditorToolbarSignature> {\n boldItalicsButtons = [\n {\n id: 'mdBold',\n label: 'Bold',\n name: 'bold',\n iconType: 'editorBold'\n },\n {\n id: 'mdItalic',\n label: 'Italic',\n name: 'italic',\n iconType: 'editorItalic'\n }\n ];\n @cached\n get listButtons() {\n return [\n {\n id: 'mdUl',\n label: 'Unordered list',\n name: 'ul',\n iconType: 'editorUnorderedList'\n },\n {\n id: 'mdOl',\n label: 'Ordered list',\n name: 'ol',\n iconType: 'editorOrderedList'\n },\n {\n id: 'mdTl',\n label: 'Task list',\n name: 'tl',\n useSvg: true,\n iconType: {\n component: MarkdownCheckmark\n }\n }\n ];\n }\n quoteCodeLinkButtons = [\n {\n id: 'mdQuote',\n label: 'Quote',\n name: 'quote',\n iconType: 'quote'\n },\n {\n id: 'mdCode',\n label: 'Code',\n name: 'code',\n iconType: 'editorCodeBlock'\n },\n {\n id: 'mdLink',\n label: 'Link',\n name: 'link',\n iconType: 'editorLink'\n }\n ];\n get uiPlugins() {\n return this.args.uiPlugins || [];\n }\n get isPreviewing() {\n return this.args.viewMode === MODE_VIEWING;\n }\n @action\n handleMdButtonClick(mdButtonId1: string) {\n const actionResult1 = this.args.markdownActions.do(mdButtonId1);\n if (actionResult1 !== true) this.args.openPluginEditor?.(actionResult1);\n }\n iconType = (item1: {\n iconType: {\n component: any;\n } | string;\n })=>{\n if (typeof item1.iconType === 'string') {\n return item1.iconType;\n }\n return item1.iconType.component;\n };\n static{\n template(`\n <div class=\"euiMarkdownEditorToolbar\" ...attributes>\n <div class=\"euiMarkdownEditorToolbar__buttons\">\n {{#each this.boldItalicsButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{item.iconType}}\n aria-label={{item.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.listButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{this.iconType item}}\n {{!@glint-expect-error}}\n @useComponent={{if item.iconType.component true}}\n aria-label={{item.label}}\n @useSvg={{item.useSvg}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.quoteCodeLinkButtons as |item|}}\n <EuiToolTip @content={{item.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{on \"click\" (fn this.handleMdButtonClick item.id)}}\n @iconType={{item.iconType}}\n aria-label={{item.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n\n {{/each}}\n {{#if (gte this.uiPlugins.length 0)}}\n <span class=\"euiMarkdownEditorToolbar__divider\"></span>\n {{#each this.uiPlugins as |plugin|}}\n {{#let\n (and @selectedNode (eq @selectedNode.type plugin.name))\n as |isSelectedNodeType|\n }}\n <EuiToolTip @content={{plugin.button.label}} @delay=\"long\">\n <EuiButtonIcon\n @color=\"text\"\n {{style\n (if\n isSelectedNodeType (hash background=\"rgba(0, 0, 0, 0.15)\")\n )\n }}\n {{on \"click\" (fn this.handleMdButtonClick plugin.name)}}\n @iconType={{plugin.button.iconType}}\n aria-label={{plugin.button.label}}\n @isDisabled={{this.isPreviewing}}\n />\n </EuiToolTip>\n {{/let}}\n {{/each}}\n {{/if}}\n </div>\n\n {{#if this.isPreviewing}}\n <EuiButtonEmpty\n @iconType=\"editorCodeBlock\"\n @color=\"text\"\n @size=\"s\"\n {{on \"click\" @onClickPreview}}\n >\n Editor\n </EuiButtonEmpty>\n\n {{else}}\n <EuiButtonEmpty\n @iconType=\"eye\"\n @color=\"text\"\n @size=\"s\"\n {{on \"click\" @onClickPreview}}\n >\n Preview\n </EuiButtonEmpty>\n {{/if}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1lZGl0b3ItdG9vbGJhci5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgY2FjaGVkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgaGFzaCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgZm4gfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuXG5pbXBvcnQgc3R5bGUgZnJvbSAnZW1iZXItc3R5bGUtbW9kaWZpZXIvbW9kaWZpZXJzL3N0eWxlJztcbmltcG9ydCB7IGFuZCwgZXEsIGd0ZSwgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcblxuaW1wb3J0IHsgTU9ERV9WSUVXSU5HIH0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vbWFya2Rvd24tbW9kZXMudHMnO1xuaW1wb3J0IEV1aUJ1dHRvbkVtcHR5IGZyb20gJy4vZXVpLWJ1dHRvbi1lbXB0eS5ndHMnO1xuaW1wb3J0IEV1aUJ1dHRvbkljb24gZnJvbSAnLi9ldWktYnV0dG9uLWljb24uZ3RzJztcbmltcG9ydCBNYXJrZG93bkNoZWNrbWFyayBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdG9vbGJhci9pY29ucy9tYXJrZG93bi1jaGVja21hcmsuZ3RzJztcbmltcG9ydCBFdWlUb29sVGlwIGZyb20gJy4vZXVpLXRvb2wtdGlwLmd0cyc7XG5cbmltcG9ydCB0eXBlIE1hcmtkb3duQWN0aW9ucyBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi1hY3Rpb25zLnRzJztcblxuZXhwb3J0IGludGVyZmFjZSBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJBcmdzIHtcbiAgdmlld01vZGU_OiBzdHJpbmc7XG4gIG1hcmtkb3duQWN0aW9uczogTWFya2Rvd25BY3Rpb25zO1xuICB1aVBsdWdpbnM6IGFueVtdO1xuICBvcGVuUGx1Z2luRWRpdG9yPzogKGFjdGlvblJlc3VsdDogUmV0dXJuVHlwZTxNYXJrZG93bkFjdGlvbnNbJ2RvJ10-KSA9PiB2b2lkO1xuICBvbkNsaWNrUHJldmlldzogKCkgPT4gdm9pZDtcbiAgc2VsZWN0ZWROb2RlOiBhbnk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogSFRNTERpdkVsZW1lbnQ7XG4gIEFyZ3M6IEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhckFyZ3M7XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFdWlNYXJrZG93bkVkaXRvclRvb2xiYXJDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8RXVpTWFya2Rvd25FZGl0b3JUb29sYmFyU2lnbmF0dXJlPiB7XG4gIGJvbGRJdGFsaWNzQnV0dG9ucyA9IFtcbiAgICB7XG4gICAgICBpZDogJ21kQm9sZCcsXG4gICAgICBsYWJlbDogJ0JvbGQnLFxuICAgICAgbmFtZTogJ2JvbGQnLFxuICAgICAgaWNvblR5cGU6ICdlZGl0b3JCb2xkJ1xuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICdtZEl0YWxpYycsXG4gICAgICBsYWJlbDogJ0l0YWxpYycsXG4gICAgICBuYW1lOiAnaXRhbGljJyxcbiAgICAgIGljb25UeXBlOiAnZWRpdG9ySXRhbGljJ1xuICAgIH1cbiAgXTtcblxuICBAY2FjaGVkXG4gIGdldCBsaXN0QnV0dG9ucygpIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBpZDogJ21kVWwnLFxuICAgICAgICBsYWJlbDogJ1Vub3JkZXJlZCBsaXN0JyxcbiAgICAgICAgbmFtZTogJ3VsJyxcbiAgICAgICAgaWNvblR5cGU6ICdlZGl0b3JVbm9yZGVyZWRMaXN0J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdtZE9sJyxcbiAgICAgICAgbGFiZWw6ICdPcmRlcmVkIGxpc3QnLFxuICAgICAgICBuYW1lOiAnb2wnLFxuICAgICAgICBpY29uVHlwZTogJ2VkaXRvck9yZGVyZWRMaXN0J1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdtZFRsJyxcbiAgICAgICAgbGFiZWw6ICdUYXNrIGxpc3QnLFxuICAgICAgICBuYW1lOiAndGwnLFxuICAgICAgICB1c2VTdmc6IHRydWUsXG4gICAgICAgIGljb25UeXBlOiB7XG4gICAgICAgICAgY29tcG9uZW50OiBNYXJrZG93bkNoZWNrbWFya1xuICAgICAgICB9XG4gICAgICB9XG4gICAgXTtcbiAgfVxuXG4gIHF1b3RlQ29kZUxpbmtCdXR0b25zID0gW1xuICAgIHtcbiAgICAgIGlkOiAnbWRRdW90ZScsXG4gICAgICBsYWJlbDogJ1F1b3RlJyxcbiAgICAgIG5hbWU6ICdxdW90ZScsXG4gICAgICBpY29uVHlwZTogJ3F1b3RlJ1xuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICdtZENvZGUnLFxuICAgICAgbGFiZWw6ICdDb2RlJyxcbiAgICAgIG5hbWU6ICdjb2RlJyxcbiAgICAgIGljb25UeXBlOiAnZWRpdG9yQ29kZUJsb2NrJ1xuICAgIH0sXG4gICAge1xuICAgICAgaWQ6ICdtZExpbmsnLFxuICAgICAgbGFiZWw6ICdMaW5rJyxcbiAgICAgIG5hbWU6ICdsaW5rJyxcbiAgICAgIGljb25UeXBlOiAnZWRpdG9yTGluaydcbiAgICB9XG4gIF07XG5cbiAgZ2V0IHVpUGx1Z2lucygpIHtcbiAgICByZXR1cm4gdGhpcy5hcmdzLnVpUGx1Z2lucyB8fCBbXTtcbiAgfVxuXG4gIGdldCBpc1ByZXZpZXdpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuYXJncy52aWV3TW9kZSA9PT0gTU9ERV9WSUVXSU5HO1xuICB9XG5cbiAgQGFjdGlvblxuICBoYW5kbGVNZEJ1dHRvbkNsaWNrKG1kQnV0dG9uSWQ6IHN0cmluZykge1xuICAgIGNvbnN0IGFjdGlvblJlc3VsdCA9IHRoaXMuYXJncy5tYXJrZG93bkFjdGlvbnMuZG8obWRCdXR0b25JZCk7XG5cbiAgICBpZiAoYWN0aW9uUmVzdWx0ICE9PSB0cnVlKSB0aGlzLmFyZ3Mub3BlblBsdWdpbkVkaXRvcj8uKGFjdGlvblJlc3VsdCk7XG4gIH1cblxuICBpY29uVHlwZSA9IChpdGVtOiB7XG4gICAgaWNvblR5cGU6XG4gICAgICB8IHtcbiAgICAgICAgICBjb21wb25lbnQ6IGFueTtcbiAgICAgICAgfVxuICAgICAgfCBzdHJpbmc7XG4gIH0pID0-IHtcbiAgICBpZiAodHlwZW9mIGl0ZW0uaWNvblR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gaXRlbS5pY29uVHlwZTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbS5pY29uVHlwZS5jb21wb25lbnQ7XG4gIH07XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJldWlNYXJrZG93bkVkaXRvclRvb2xiYXJcIiAuLi5hdHRyaWJ1dGVzPlxuICAgICAgPGRpdiBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yVG9vbGJhcl9fYnV0dG9uc1wiPlxuICAgICAgICB7eyNlYWNoIHRoaXMuYm9sZEl0YWxpY3NCdXR0b25zIGFzIHxpdGVtfH19XG4gICAgICAgICAgPEV1aVRvb2xUaXAgQGNvbnRlbnQ9e3tpdGVtLmxhYmVsfX0gQGRlbGF5PVwibG9uZ1wiPlxuICAgICAgICAgICAgPEV1aUJ1dHRvbkljb25cbiAgICAgICAgICAgICAgQGNvbG9yPVwidGV4dFwiXG4gICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChmbiB0aGlzLmhhbmRsZU1kQnV0dG9uQ2xpY2sgaXRlbS5pZCl9fVxuICAgICAgICAgICAgICBAaWNvblR5cGU9e3tpdGVtLmljb25UeXBlfX1cbiAgICAgICAgICAgICAgYXJpYS1sYWJlbD17e2l0ZW0ubGFiZWx9fVxuICAgICAgICAgICAgICBAaXNEaXNhYmxlZD17e3RoaXMuaXNQcmV2aWV3aW5nfX1cbiAgICAgICAgICAgIC8-XG4gICAgICAgICAgPC9FdWlUb29sVGlwPlxuXG4gICAgICAgIHt7L2VhY2h9fVxuICAgICAgICA8c3BhbiBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yVG9vbGJhcl9fZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAge3sjZWFjaCB0aGlzLmxpc3RCdXR0b25zIGFzIHxpdGVtfH19XG4gICAgICAgICAgPEV1aVRvb2xUaXAgQGNvbnRlbnQ9e3tpdGVtLmxhYmVsfX0gQGRlbGF5PVwibG9uZ1wiPlxuICAgICAgICAgICAgPEV1aUJ1dHRvbkljb25cbiAgICAgICAgICAgICAgQGNvbG9yPVwidGV4dFwiXG4gICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChmbiB0aGlzLmhhbmRsZU1kQnV0dG9uQ2xpY2sgaXRlbS5pZCl9fVxuICAgICAgICAgICAgICBAaWNvblR5cGU9e3t0aGlzLmljb25UeXBlIGl0ZW19fVxuICAgICAgICAgICAgICB7eyFAZ2xpbnQtZXhwZWN0LWVycm9yfX1cbiAgICAgICAgICAgICAgQHVzZUNvbXBvbmVudD17e2lmIGl0ZW0uaWNvblR5cGUuY29tcG9uZW50IHRydWV9fVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt7aXRlbS5sYWJlbH19XG4gICAgICAgICAgICAgIEB1c2VTdmc9e3tpdGVtLnVzZVN2Z319XG4gICAgICAgICAgICAgIEBpc0Rpc2FibGVkPXt7dGhpcy5pc1ByZXZpZXdpbmd9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0V1aVRvb2xUaXA-XG5cbiAgICAgICAge3svZWFjaH19XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZXVpTWFya2Rvd25FZGl0b3JUb29sYmFyX19kaXZpZGVyXCI-PC9zcGFuPlxuICAgICAgICB7eyNlYWNoIHRoaXMucXVvdGVDb2RlTGlua0J1dHRvbnMgYXMgfGl0ZW18fX1cbiAgICAgICAgICA8RXVpVG9vbFRpcCBAY29udGVudD17e2l0ZW0ubGFiZWx9fSBAZGVsYXk9XCJsb25nXCI-XG4gICAgICAgICAgICA8RXVpQnV0dG9uSWNvblxuICAgICAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAge3tvbiBcImNsaWNrXCIgKGZuIHRoaXMuaGFuZGxlTWRCdXR0b25DbGljayBpdGVtLmlkKX19XG4gICAgICAgICAgICAgIEBpY29uVHlwZT17e2l0ZW0uaWNvblR5cGV9fVxuICAgICAgICAgICAgICBhcmlhLWxhYmVsPXt7aXRlbS5sYWJlbH19XG4gICAgICAgICAgICAgIEBpc0Rpc2FibGVkPXt7dGhpcy5pc1ByZXZpZXdpbmd9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0V1aVRvb2xUaXA-XG5cbiAgICAgICAge3svZWFjaH19XG4gICAgICAgIHt7I2lmIChndGUgdGhpcy51aVBsdWdpbnMubGVuZ3RoIDApfX1cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yVG9vbGJhcl9fZGl2aWRlclwiPjwvc3Bhbj5cbiAgICAgICAgICB7eyNlYWNoIHRoaXMudWlQbHVnaW5zIGFzIHxwbHVnaW58fX1cbiAgICAgICAgICAgIHt7I2xldFxuICAgICAgICAgICAgICAoYW5kIEBzZWxlY3RlZE5vZGUgKGVxIEBzZWxlY3RlZE5vZGUudHlwZSBwbHVnaW4ubmFtZSkpXG4gICAgICAgICAgICAgIGFzIHxpc1NlbGVjdGVkTm9kZVR5cGV8XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8RXVpVG9vbFRpcCBAY29udGVudD17e3BsdWdpbi5idXR0b24ubGFiZWx9fSBAZGVsYXk9XCJsb25nXCI-XG4gICAgICAgICAgICAgICAgPEV1aUJ1dHRvbkljb25cbiAgICAgICAgICAgICAgICAgIEBjb2xvcj1cInRleHRcIlxuICAgICAgICAgICAgICAgICAge3tzdHlsZVxuICAgICAgICAgICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkTm9kZVR5cGUgKGhhc2ggYmFja2dyb3VuZD1cInJnYmEoMCwgMCwgMCwgMC4xNSlcIilcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIHt7b24gXCJjbGlja1wiIChmbiB0aGlzLmhhbmRsZU1kQnV0dG9uQ2xpY2sgcGx1Z2luLm5hbWUpfX1cbiAgICAgICAgICAgICAgICAgIEBpY29uVHlwZT17e3BsdWdpbi5idXR0b24uaWNvblR5cGV9fVxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17e3BsdWdpbi5idXR0b24ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgQGlzRGlzYWJsZWQ9e3t0aGlzLmlzUHJldmlld2luZ319XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9FdWlUb29sVGlwPlxuICAgICAgICAgICAge3svbGV0fX1cbiAgICAgICAgICB7ey9lYWNofX1cbiAgICAgICAge3svaWZ9fVxuICAgICAgPC9kaXY-XG5cbiAgICAgIHt7I2lmIHRoaXMuaXNQcmV2aWV3aW5nfX1cbiAgICAgICAgPEV1aUJ1dHRvbkVtcHR5XG4gICAgICAgICAgQGljb25UeXBlPVwiZWRpdG9yQ29kZUJsb2NrXCJcbiAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICBAc2l6ZT1cInNcIlxuICAgICAgICAgIHt7b24gXCJjbGlja1wiIEBvbkNsaWNrUHJldmlld319XG4gICAgICAgID5cbiAgICAgICAgICBFZGl0b3JcbiAgICAgICAgPC9FdWlCdXR0b25FbXB0eT5cblxuICAgICAge3tlbHNlfX1cbiAgICAgICAgPEV1aUJ1dHRvbkVtcHR5XG4gICAgICAgICAgQGljb25UeXBlPVwiZXllXCJcbiAgICAgICAgICBAY29sb3I9XCJ0ZXh0XCJcbiAgICAgICAgICBAc2l6ZT1cInNcIlxuICAgICAgICAgIHt7b24gXCJjbGlja1wiIEBvbkNsaWNrUHJldmlld319XG4gICAgICAgID5cbiAgICAgICAgICBQcmV2aWV3XG4gICAgICAgIDwvRXVpQnV0dG9uRW1wdHk-XG4gICAgICB7ey9pZn19XG4gICAgPC9kaXY-XG4gIDwvdGVtcGxhdGU-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"],"names":["cached","macroCondition","dependencySatisfies","importSync","EuiMarkdownEditorToolbarComponent","Component","boldItalicsButtons","id","label","name","iconType","listButtons","useSvg","component","MarkdownCheckmark","n","this","prototype","quoteCodeLinkButtons","uiPlugins","args","isPreviewing","viewMode","MODE_VIEWING","handleMdButtonClick","mdButtonId1","actionResult1","markdownActions","do","openPluginEditor","action","item1","setComponentTemplate","precompileTemplate","strictMode","scope","EuiToolTip","EuiButtonIcon","on","fn","gte","and","eq","style","hash","EuiButtonEmpty"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { macroCondition, dependencySatisfies, importSync } from '@embroider/macros';
|
|
1
2
|
import Component from '@glimmer/component';
|
|
2
|
-
import { tracked
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
3
4
|
import { hash } from '@ember/helper';
|
|
4
5
|
import { on } from '@ember/modifier';
|
|
5
6
|
import { action } from '@ember/object';
|
|
@@ -32,6 +33,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
32
33
|
import { setComponentTemplate } from '@ember/component';
|
|
33
34
|
import { g, i, n } from 'decorator-transforms/runtime';
|
|
34
35
|
|
|
36
|
+
let cached = macroCondition(dependencySatisfies('ember-source', '>= 4.1.0-alpha.0')) ? importSync('@glimmer/tracking').cached : importSync('ember-cached-decorator-polyfill').cached;
|
|
35
37
|
const getCursorNode = (textareaRef1, parsed1) => {
|
|
36
38
|
const {
|
|
37
39
|
selectionStart: selectionStart1
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor.js","sources":["../../src/components/eui-markdown-editor.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { scheduleOnce } from '@ember/runloop';\nimport pick from 'ember-composable-helpers/helpers/pick';\nimport { modifier } from 'ember-modifier';\nimport set from 'ember-set-helper/helpers/set';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { eq, not } from 'ember-truth-helpers';\nimport unified from 'unified';\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport validatableControl from '../modifiers/validatable-control.ts';\nimport MarkdownActions from '../utils/markdown/markdown-actions.ts';\nimport { MODE_EDITING, MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport { defaultParsingPlugins, defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport * as MarkdownTooltipPlugin from '../utils/markdown/plugins/markdown-tooltip/index.ts';\nimport EuiMarkdownEditorDropZone from './eui-markdown-editor-drop-zone.gts';\nimport EuiMarkdownEditorTextArea from './eui-markdown-editor-text-area.gts';\nimport EuiMarkdownEditorToolbar from './eui-markdown-editor-toolbar.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport type { EuiMarkdownAstNode, EuiMarkdownAstNodePosition, EuiMarkdownEditorUiPlugin } from '../utils/markdown/markdown-types';\nimport type { EuiMarkdownEditorTextAreaSignature } from './eui-markdown-editor-text-area';\nimport type { EuiMarkdownEditorToolbarSignature } from './eui-markdown-editor-toolbar';\nimport type { Processor } from 'unified';\nexport interface EuiMarkdownEditorArgs {\n initialViewMode?: string;\n editorId?: string;\n uiPlugins: EuiMarkdownEditorUiPlugin[];\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n value: string;\n onChange: (str: string) => void;\n onParse?: (parseError: unknown | null, parsed: {\n messages: any[];\n ast: any;\n }) => void;\n height?: number | string;\n maxHeight?: number | string;\n autoExpandPreview?: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\nexport interface EuiMarkdownEditorSignature {\n Element: EuiMarkdownEditorTextAreaSignature['Element'];\n Args: EuiMarkdownEditorArgs;\n Blocks: {\n default: [];\n };\n}\nexport const getCursorNode = (textareaRef1: HTMLInputElement, parsed1: any): EuiMarkdownAstNode =>{\n const { selectionStart: selectionStart1 } = textareaRef1;\n let node1: EuiMarkdownAstNode = parsed1.result ?? parsed1.contents;\n //eslint-disable-next-line\n outer: while(true){\n if (node1.children) {\n for(let i1 = 0; i1 < node1.children.length; i1++){\n const child1 = node1.children[i1];\n if (child1 && child1.position.start.offset < (selectionStart1 as number) && (selectionStart1 as number) < child1.position.end.offset) {\n if (child1.type === 'text') break outer; // don't dive into `text` nodes\n node1 = child1;\n continue outer;\n }\n }\n }\n break;\n }\n return node1;\n};\nfunction wrapper(textarea1: HTMLInputElement, parsed1: any, callback1: (node: EuiMarkdownAstNode) => void) {\n const node1 = getCursorNode(textarea1, parsed1);\n callback1(node1);\n}\nexport const getCursorNodeModifier = modifier(function getCursorNodeModifier1(textarea1: EuiMarkdownEditorTextAreaSignature['Element'], [parsed1, onSelectedNode1]: [any, (node: Node) => void]) {\n const fn1 = wrapper.bind(null, textarea1, parsed1, onSelectedNode1);\n textarea1.addEventListener('keyup', fn1);\n textarea1.addEventListener('mouseup', fn1);\n return ()=>{\n textarea1.removeEventListener('keyup', fn1);\n textarea1.removeEventListener('mouseup', fn1);\n };\n});\nexport default class EuiMarkdownEditorComponent extends Component<EuiMarkdownEditorSignature> {\n // Defaults\n @argOrDefaultDecorator(defaultParsingPlugins)\n parsingPluginList: typeof defaultParsingPlugins;\n @argOrDefaultDecorator(250)\n height: number | string;\n @argOrDefaultDecorator(500)\n maxHeight: number | string;\n @argOrDefaultDecorator(true)\n autoExpandPreview: boolean;\n @argOrDefaultDecorator(defaultProcessingPlugins)\n processingPluginList: typeof defaultProcessingPlugins;\n @tracked\n selectedNode: Node | null = null;\n @tracked\n editorId = this.args.editorId ?? guidFor({});\n @tracked\n viewMode = this.args.initialViewMode || MODE_EDITING;\n @tracked\n textareaRef: HTMLTextAreaElement | null = null;\n @tracked\n previewRef: HTMLDivElement | null = null;\n @tracked\n editorToolbarRef: HTMLDivElement | null = null;\n @tracked\n currentHeight: number | string = 250;\n @tracked\n editorFooterHeight: number = 0;\n @tracked\n editorToolbarHeight: number = 0;\n markdownActions: MarkdownActions;\n get toolbarPlugins() {\n return [\n MarkdownTooltipPlugin.plugin,\n ...(this.args.uiPlugins || [])\n ];\n }\n constructor(owner1: unknown, args1: EuiMarkdownEditorArgs){\n super(owner1, args1);\n this.markdownActions = new MarkdownActions(this.editorId, // @ts-expect-error\n this.toolbarPlugins);\n this.currentHeight = this.height;\n }\n get previewHeight() {\n if (this.height === 'full') {\n return `calc(100% - ${this.editorFooterHeight}px)`;\n }\n return `${this.currentHeight}px`;\n }\n get textAreaHeight() {\n return this.height === 'full' ? '100%' : `calc(${(this.height as number) - this.editorFooterHeight}px)`;\n }\n get textAreaMaxHeight() {\n return this.height !== 'full' ? `${(this.maxHeight as number) - this.editorFooterHeight}px` : '';\n }\n get editorToggleContainerHeight() {\n return `calc(100% - ${this.editorToolbarHeight}px)`;\n }\n @action\n onResize() {\n if (this.textareaRef && this.isEditing && this.height !== 'full') {\n const resizedTextareaHeight1 = this.textareaRef.offsetHeight + this.editorFooterHeight;\n const update1 = ()=>{\n this.currentHeight = resizedTextareaHeight1;\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n @action\n updateCurrentHeight() {\n let { isPreviewing: isPreviewing1, autoExpandPreview: autoExpandPreview1, height: height1, previewRef: previewRef1, currentHeight: currentHeight1 } = this;\n if (isPreviewing1 && autoExpandPreview1 && height1 !== 'full' && previewRef1) {\n //@ts-ignore\n if (previewRef1.scrollHeight > currentHeight1) {\n // scrollHeight does not include the border or margin\n // so we ask for the computed value for those,\n // which is always in pixels because getComputedValue\n // returns the resolved values\n const elementComputedStyle1 = window.getComputedStyle(previewRef1);\n const borderWidth1 = parseFloat(elementComputedStyle1.borderTopWidth) + parseFloat(elementComputedStyle1.borderBottomWidth);\n const marginWidth1 = parseFloat(elementComputedStyle1.marginTop) + parseFloat(elementComputedStyle1.marginBottom);\n // then add an extra pixel for safety and because the scrollHeight value is rounded\n const extraHeight1 = borderWidth1 + marginWidth1 + 1;\n const update1 = ()=>{\n if (previewRef1) {\n this.currentHeight = previewRef1.scrollHeight + extraHeight1;\n }\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n }\n @action\n setTextAreaRef(ref1: HTMLTextAreaElement) {\n this.textareaRef = ref1;\n }\n @action\n setEditorToolbarRef(ref1: EuiMarkdownEditorToolbarSignature['Element']) {\n this.editorToolbarRef = ref1;\n this.editorToolbarHeight = ref1.offsetHeight;\n }\n @action\n replaceNode(position1: EuiMarkdownAstNodePosition, next1: string) {\n let value1 = this.args.value;\n const leading1 = value1.substr(0, position1.start.offset);\n const trailing1 = value1.substr(position1.end.offset);\n this.args.onChange?.(`${leading1}${next1}${trailing1}`);\n }\n get isEditing() {\n return this.viewMode === MODE_EDITING;\n }\n get isPreviewing() {\n return this.viewMode === MODE_VIEWING;\n }\n @action\n setViewMode() {\n this.viewMode = this.isPreviewing ? MODE_EDITING : MODE_VIEWING;\n }\n @cached\n get parser() {\n const Compiler1 = (tree1: any)=>{\n return tree1;\n };\n function identityCompiler1(this1: Processor) {\n //eslint-disable-next-line\n this.Compiler = Compiler1;\n }\n return unified().use(this.parsingPluginList).use(identityCompiler1);\n }\n @cached\n get parsed(): [ReturnType<typeof this.parser.processSync> | null, null | unknown] {\n try {\n const parsed1 = this.parser.processSync(this.args.value);\n return [\n parsed1,\n null\n ];\n } catch (e1) {\n return [\n null,\n e1\n ];\n }\n }\n get vFile() {\n return this.parsed[0];\n }\n @action\n onParse() {\n if (this.args.onParse) {\n const [parsed1, parseError1] = this.parsed;\n const onParse1 = this.args.onParse;\n const messages1 = parsed1 ? parsed1.messages : [];\n const ast1 = parsed1 ? parsed1['result'] ?? parsed1.contents : null;\n onParse1(parseError1, {\n messages: messages1,\n ast: ast1\n });\n }\n }\n @action\n setSelectedNode(node1: Node) {\n this.selectedNode = node1;\n }\n static{\n template(`\n <div\n class={{classNames\n \"euiMarkdownEditor\"\n (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\")\n (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")\n }}\n {{didUpdate\n this.updateCurrentHeight\n this.currentHeight\n this.isPreviewing\n this.height\n this.autoExpandPreview\n }}\n >\n <EuiMarkdownEditorToolbar\n @selectedNode={{this.selectedNode}}\n @markdownActions={{this.markdownActions}}\n @onClickPreview={{this.setViewMode}}\n @viewMode={{this.viewMode}}\n @uiPlugins={{this.toolbarPlugins}}\n {{didInsert this.setEditorToolbarRef}}\n />\n {{#if this.isPreviewing}}\n <div\n class=\"euiMarkdownEditorPreview\"\n {{didInsert (set this \"previewRef\")}}\n {{style (hash height=this.previewHeight)}}\n >\n <EuiMarkdownFormat\n @parsingPluginList={{this.parsingPluginList}}\n @processingPluginList={{this.processingPluginList}}\n @value={{@value}}\n @replaceNode={{this.replaceNode}}\n />\n </div>\n {{/if}}\n\n <div\n class=\"euiMarkdownEditor__toggleContainer\"\n {{style height=this.editorToggleContainerHeight}}\n >\n <EuiMarkdownEditorDropZone\n @uiPlugins={{this.toolbarPlugins}}\n {{resizeObserver onResize=this.onResize}}\n >\n <EuiMarkdownEditorTextArea\n {{getCursorNodeModifier this.vFile this.setSelectedNode}}\n {{didUpdate this.onParse this.parsed}}\n {{didInsert this.setTextAreaRef}}\n disabled={{@disabled}}\n id={{this.editorId}}\n @height={{this.textAreaHeight}}\n @maxHeight={{this.textAreaMaxHeight}}\n value={{@value}}\n aria-label={{@ariaLabel}}\n aria-labelledby={{@ariaLabelledBy}}\n aria-describedby={{@ariaDescribedBy}}\n {{on \"input\" (pick \"target.value\" @onChange)}}\n {{validatableControl @isInvalid}}\n ...attributes\n />\n </EuiMarkdownEditorDropZone>\n </div>\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1lZGl0b3IuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCwgdHJhY2tlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuaW1wb3J0IHsgZ3VpZEZvciB9IGZyb20gJ0BlbWJlci9vYmplY3QvaW50ZXJuYWxzJztcbmltcG9ydCBkaWRJbnNlcnQgZnJvbSAnQGVtYmVyL3JlbmRlci1tb2RpZmllcnMvbW9kaWZpZXJzL2RpZC1pbnNlcnQnO1xuaW1wb3J0IGRpZFVwZGF0ZSBmcm9tICdAZW1iZXIvcmVuZGVyLW1vZGlmaWVycy9tb2RpZmllcnMvZGlkLXVwZGF0ZSc7XG5pbXBvcnQgeyBzY2hlZHVsZU9uY2UgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG5cbmltcG9ydCBwaWNrIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL3BpY2snO1xuaW1wb3J0IHsgbW9kaWZpZXIgfSBmcm9tICdlbWJlci1tb2RpZmllcic7XG5pbXBvcnQgc2V0IGZyb20gJ2VtYmVyLXNldC1oZWxwZXIvaGVscGVycy9zZXQnO1xuaW1wb3J0IHN0eWxlIGZyb20gJ2VtYmVyLXN0eWxlLW1vZGlmaWVyL21vZGlmaWVycy9zdHlsZSc7XG5pbXBvcnQgeyBlcSwgbm90IH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgdW5pZmllZCBmcm9tICd1bmlmaWVkJztcblxuaW1wb3J0IHsgYXJnT3JEZWZhdWx0RGVjb3JhdG9yIH0gZnJvbSAnLi4vaGVscGVycy9hcmctb3ItZGVmYXVsdC50cyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLW5hbWVzLnRzJztcbmltcG9ydCByZXNpemVPYnNlcnZlciBmcm9tICcuLi9tb2RpZmllcnMvcmVzaXplLW9ic2VydmVyLnRzJztcbmltcG9ydCB2YWxpZGF0YWJsZUNvbnRyb2wgZnJvbSAnLi4vbW9kaWZpZXJzL3ZhbGlkYXRhYmxlLWNvbnRyb2wudHMnO1xuaW1wb3J0IE1hcmtkb3duQWN0aW9ucyBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi1hY3Rpb25zLnRzJztcbmltcG9ydCB7IE1PREVfRURJVElORywgTU9ERV9WSUVXSU5HIH0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vbWFya2Rvd24tbW9kZXMudHMnO1xuaW1wb3J0IHtcbiAgZGVmYXVsdFBhcnNpbmdQbHVnaW5zLFxuICBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnNcbn0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vcGx1Z2lucy9tYXJrZG93bi1kZWZhdWx0LXBsdWdpbnMvaW5kZXgudHMnO1xuaW1wb3J0ICogYXMgTWFya2Rvd25Ub29sdGlwUGx1Z2luIGZyb20gJy4uL3V0aWxzL21hcmtkb3duL3BsdWdpbnMvbWFya2Rvd24tdG9vbHRpcC9pbmRleC50cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JEcm9wWm9uZSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItZHJvcC16b25lLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdGV4dC1hcmVhLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyIGZyb20gJy4vZXVpLW1hcmtkb3duLWVkaXRvci10b29sYmFyLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25Gb3JtYXQgZnJvbSAnLi9ldWktbWFya2Rvd24tZm9ybWF0Lmd0cyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRXVpTWFya2Rvd25Bc3ROb2RlLFxuICBFdWlNYXJrZG93bkFzdE5vZGVQb3NpdGlvbixcbiAgRXVpTWFya2Rvd25FZGl0b3JVaVBsdWdpblxufSBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi10eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEV1aU1hcmtkb3duRWRpdG9yVGV4dEFyZWFTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdGV4dC1hcmVhJztcbmltcG9ydCB0eXBlIHsgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyU2lnbmF0dXJlIH0gZnJvbSAnLi9ldWktbWFya2Rvd24tZWRpdG9yLXRvb2xiYXInO1xuaW1wb3J0IHR5cGUgeyBQcm9jZXNzb3IgfSBmcm9tICd1bmlmaWVkJztcblxuZXhwb3J0IGludGVyZmFjZSBFdWlNYXJrZG93bkVkaXRvckFyZ3Mge1xuICBpbml0aWFsVmlld01vZGU_OiBzdHJpbmc7XG4gIGVkaXRvcklkPzogc3RyaW5nO1xuICB1aVBsdWdpbnM6IEV1aU1hcmtkb3duRWRpdG9yVWlQbHVnaW5bXTtcbiAgcGFyc2luZ1BsdWdpbkxpc3Q_OiB0eXBlb2YgZGVmYXVsdFBhcnNpbmdQbHVnaW5zO1xuICBwcm9jZXNzaW5nUGx1Z2luTGlzdD86IHR5cGVvZiBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnM7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIG9uQ2hhbmdlOiAoc3RyOiBzdHJpbmcpID0-IHZvaWQ7XG4gIG9uUGFyc2U_OiAoXG4gICAgcGFyc2VFcnJvcjogdW5rbm93biB8IG51bGwsXG4gICAgcGFyc2VkOiB7IG1lc3NhZ2VzOiBhbnlbXTsgYXN0OiBhbnkgfVxuICApID0-IHZvaWQ7XG4gIGhlaWdodD86IG51bWJlciB8IHN0cmluZztcbiAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBhdXRvRXhwYW5kUHJldmlldz86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNJbnZhbGlkPzogYm9vbGVhbjtcbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV1aU1hcmtkb3duRWRpdG9yU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVNpZ25hdHVyZVsnRWxlbWVudCddO1xuICBBcmdzOiBFdWlNYXJrZG93bkVkaXRvckFyZ3M7XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q3Vyc29yTm9kZSA9IChcbiAgdGV4dGFyZWFSZWY6IEhUTUxJbnB1dEVsZW1lbnQsXG4gIHBhcnNlZDogYW55XG4pOiBFdWlNYXJrZG93bkFzdE5vZGUgPT4ge1xuICBjb25zdCB7IHNlbGVjdGlvblN0YXJ0IH0gPSB0ZXh0YXJlYVJlZjtcblxuICBsZXQgbm9kZTogRXVpTWFya2Rvd25Bc3ROb2RlID0gcGFyc2VkLnJlc3VsdCA_PyBwYXJzZWQuY29udGVudHM7XG5cbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgb3V0ZXI6IHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjaGlsZCA9IG5vZGUuY2hpbGRyZW5baV07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNoaWxkICYmXG4gICAgICAgICAgY2hpbGQucG9zaXRpb24uc3RhcnQub2Zmc2V0IDwgKHNlbGVjdGlvblN0YXJ0IGFzIG51bWJlcikgJiZcbiAgICAgICAgICAoc2VsZWN0aW9uU3RhcnQgYXMgbnVtYmVyKSA8IGNoaWxkLnBvc2l0aW9uLmVuZC5vZmZzZXRcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT09ICd0ZXh0JykgYnJlYWsgb3V0ZXI7IC8vIGRvbid0IGRpdmUgaW50byBgdGV4dGAgbm9kZXNcbiAgICAgICAgICBub2RlID0gY2hpbGQ7XG4gICAgICAgICAgY29udGludWUgb3V0ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBub2RlO1xufTtcblxuZnVuY3Rpb24gd3JhcHBlcihcbiAgdGV4dGFyZWE6IEhUTUxJbnB1dEVsZW1lbnQsXG4gIHBhcnNlZDogYW55LFxuICBjYWxsYmFjazogKG5vZGU6IEV1aU1hcmtkb3duQXN0Tm9kZSkgPT4gdm9pZFxuKSB7XG4gIGNvbnN0IG5vZGUgPSBnZXRDdXJzb3JOb2RlKHRleHRhcmVhLCBwYXJzZWQpO1xuXG4gIGNhbGxiYWNrKG5vZGUpO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q3Vyc29yTm9kZU1vZGlmaWVyID0gbW9kaWZpZXIoZnVuY3Rpb24gZ2V0Q3Vyc29yTm9kZU1vZGlmaWVyKFxuICB0ZXh0YXJlYTogRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVNpZ25hdHVyZVsnRWxlbWVudCddLFxuICBbcGFyc2VkLCBvblNlbGVjdGVkTm9kZV06IFthbnksIChub2RlOiBOb2RlKSA9PiB2b2lkXVxuKSB7XG4gIGNvbnN0IGZuID0gd3JhcHBlci5iaW5kKG51bGwsIHRleHRhcmVhLCBwYXJzZWQsIG9uU2VsZWN0ZWROb2RlKTtcblxuICB0ZXh0YXJlYS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGZuKTtcbiAgdGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIGZuKTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIHRleHRhcmVhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgZm4pO1xuICAgIHRleHRhcmVhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBmbik7XG4gIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXVpTWFya2Rvd25FZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8RXVpTWFya2Rvd25FZGl0b3JTaWduYXR1cmU-IHtcbiAgLy8gRGVmYXVsdHNcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcihkZWZhdWx0UGFyc2luZ1BsdWdpbnMpIGRlY2xhcmUgcGFyc2luZ1BsdWdpbkxpc3Q6IHR5cGVvZiBkZWZhdWx0UGFyc2luZ1BsdWdpbnM7XG5cbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcigyNTApIGRlY2xhcmUgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmc7XG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoNTAwKSBkZWNsYXJlIG1heEhlaWdodDogbnVtYmVyIHwgc3RyaW5nO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKHRydWUpIGRlY2xhcmUgYXV0b0V4cGFuZFByZXZpZXc6IGJvb2xlYW47XG5cbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcihkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnMpIGRlY2xhcmUgcHJvY2Vzc2luZ1BsdWdpbkxpc3Q6IHR5cGVvZiBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnM7XG5cbiAgQHRyYWNrZWQgc2VsZWN0ZWROb2RlOiBOb2RlIHwgbnVsbCA9IG51bGw7XG4gIEB0cmFja2VkIGVkaXRvcklkID0gdGhpcy5hcmdzLmVkaXRvcklkID8_IGd1aWRGb3Ioe30pO1xuICBAdHJhY2tlZCB2aWV3TW9kZSA9IHRoaXMuYXJncy5pbml0aWFsVmlld01vZGUgfHwgTU9ERV9FRElUSU5HO1xuICBAdHJhY2tlZCB0ZXh0YXJlYVJlZjogSFRNTFRleHRBcmVhRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBwcmV2aWV3UmVmOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBlZGl0b3JUb29sYmFyUmVmOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBjdXJyZW50SGVpZ2h0OiBudW1iZXIgfCBzdHJpbmcgPSAyNTA7XG4gIEB0cmFja2VkIGVkaXRvckZvb3RlckhlaWdodDogbnVtYmVyID0gMDtcbiAgQHRyYWNrZWQgZWRpdG9yVG9vbGJhckhlaWdodDogbnVtYmVyID0gMDtcblxuICBtYXJrZG93bkFjdGlvbnM6IE1hcmtkb3duQWN0aW9ucztcblxuICBnZXQgdG9vbGJhclBsdWdpbnMoKSB7XG4gICAgcmV0dXJuIFtNYXJrZG93blRvb2x0aXBQbHVnaW4ucGx1Z2luLCAuLi4odGhpcy5hcmdzLnVpUGx1Z2lucyB8fCBbXSldO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob3duZXI6IHVua25vd24sIGFyZ3M6IEV1aU1hcmtkb3duRWRpdG9yQXJncykge1xuICAgIHN1cGVyKG93bmVyLCBhcmdzKTtcbiAgICB0aGlzLm1hcmtkb3duQWN0aW9ucyA9IG5ldyBNYXJrZG93bkFjdGlvbnMoXG4gICAgICB0aGlzLmVkaXRvcklkLFxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgdGhpcy50b29sYmFyUGx1Z2luc1xuICAgICk7XG4gICAgdGhpcy5jdXJyZW50SGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XG4gIH1cblxuICBnZXQgcHJldmlld0hlaWdodCgpIHtcbiAgICBpZiAodGhpcy5oZWlnaHQgPT09ICdmdWxsJykge1xuICAgICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMuZWRpdG9yRm9vdGVySGVpZ2h0fXB4KWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3RoaXMuY3VycmVudEhlaWdodH1weGA7XG4gIH1cblxuICBnZXQgdGV4dEFyZWFIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGVpZ2h0ID09PSAnZnVsbCdcbiAgICAgID8gJzEwMCUnXG4gICAgICA6IGBjYWxjKCR7KHRoaXMuaGVpZ2h0IGFzIG51bWJlcikgLSB0aGlzLmVkaXRvckZvb3RlckhlaWdodH1weClgO1xuICB9XG5cbiAgZ2V0IHRleHRBcmVhTWF4SGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLmhlaWdodCAhPT0gJ2Z1bGwnXG4gICAgICA_IGAkeyh0aGlzLm1heEhlaWdodCBhcyBudW1iZXIpIC0gdGhpcy5lZGl0b3JGb290ZXJIZWlnaHR9cHhgXG4gICAgICA6ICcnO1xuICB9XG5cbiAgZ2V0IGVkaXRvclRvZ2dsZUNvbnRhaW5lckhlaWdodCgpIHtcbiAgICByZXR1cm4gYGNhbGMoMTAwJSAtICR7dGhpcy5lZGl0b3JUb29sYmFySGVpZ2h0fXB4KWA7XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uUmVzaXplKCkge1xuICAgIGlmICh0aGlzLnRleHRhcmVhUmVmICYmIHRoaXMuaXNFZGl0aW5nICYmIHRoaXMuaGVpZ2h0ICE9PSAnZnVsbCcpIHtcbiAgICAgIGNvbnN0IHJlc2l6ZWRUZXh0YXJlYUhlaWdodCA9XG4gICAgICAgIHRoaXMudGV4dGFyZWFSZWYub2Zmc2V0SGVpZ2h0ICsgdGhpcy5lZGl0b3JGb290ZXJIZWlnaHQ7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZSA9ICgpID0-IHtcbiAgICAgICAgdGhpcy5jdXJyZW50SGVpZ2h0ID0gcmVzaXplZFRleHRhcmVhSGVpZ2h0O1xuICAgICAgfTtcblxuICAgICAgc2NoZWR1bGVPbmNlKCdhZnRlclJlbmRlcicsIHRoaXMsIHVwZGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICB1cGRhdGVDdXJyZW50SGVpZ2h0KCkge1xuICAgIGxldCB7IGlzUHJldmlld2luZywgYXV0b0V4cGFuZFByZXZpZXcsIGhlaWdodCwgcHJldmlld1JlZiwgY3VycmVudEhlaWdodCB9ID1cbiAgICAgIHRoaXM7XG5cbiAgICBpZiAoaXNQcmV2aWV3aW5nICYmIGF1dG9FeHBhbmRQcmV2aWV3ICYmIGhlaWdodCAhPT0gJ2Z1bGwnICYmIHByZXZpZXdSZWYpIHtcbiAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgaWYgKHByZXZpZXdSZWYuc2Nyb2xsSGVpZ2h0ID4gY3VycmVudEhlaWdodCkge1xuICAgICAgICAvLyBzY3JvbGxIZWlnaHQgZG9lcyBub3QgaW5jbHVkZSB0aGUgYm9yZGVyIG9yIG1hcmdpblxuICAgICAgICAvLyBzbyB3ZSBhc2sgZm9yIHRoZSBjb21wdXRlZCB2YWx1ZSBmb3IgdGhvc2UsXG4gICAgICAgIC8vIHdoaWNoIGlzIGFsd2F5cyBpbiBwaXhlbHMgYmVjYXVzZSBnZXRDb21wdXRlZFZhbHVlXG4gICAgICAgIC8vIHJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlc1xuICAgICAgICBjb25zdCBlbGVtZW50Q29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHByZXZpZXdSZWYpO1xuICAgICAgICBjb25zdCBib3JkZXJXaWR0aCA9XG4gICAgICAgICAgcGFyc2VGbG9hdChlbGVtZW50Q29tcHV0ZWRTdHlsZS5ib3JkZXJUb3BXaWR0aCkgK1xuICAgICAgICAgIHBhcnNlRmxvYXQoZWxlbWVudENvbXB1dGVkU3R5bGUuYm9yZGVyQm90dG9tV2lkdGgpO1xuICAgICAgICBjb25zdCBtYXJnaW5XaWR0aCA9XG4gICAgICAgICAgcGFyc2VGbG9hdChlbGVtZW50Q29tcHV0ZWRTdHlsZS5tYXJnaW5Ub3ApICtcbiAgICAgICAgICBwYXJzZUZsb2F0KGVsZW1lbnRDb21wdXRlZFN0eWxlLm1hcmdpbkJvdHRvbSk7XG5cbiAgICAgICAgLy8gdGhlbiBhZGQgYW4gZXh0cmEgcGl4ZWwgZm9yIHNhZmV0eSBhbmQgYmVjYXVzZSB0aGUgc2Nyb2xsSGVpZ2h0IHZhbHVlIGlzIHJvdW5kZWRcbiAgICAgICAgY29uc3QgZXh0cmFIZWlnaHQgPSBib3JkZXJXaWR0aCArIG1hcmdpbldpZHRoICsgMTtcblxuICAgICAgICBjb25zdCB1cGRhdGUgPSAoKSA9PiB7XG4gICAgICAgICAgaWYgKHByZXZpZXdSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEhlaWdodCA9IHByZXZpZXdSZWYuc2Nyb2xsSGVpZ2h0ICsgZXh0cmFIZWlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHNjaGVkdWxlT25jZSgnYWZ0ZXJSZW5kZXInLCB0aGlzLCB1cGRhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2V0VGV4dEFyZWFSZWYocmVmOiBIVE1MVGV4dEFyZWFFbGVtZW50KSB7XG4gICAgdGhpcy50ZXh0YXJlYVJlZiA9IHJlZjtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2V0RWRpdG9yVG9vbGJhclJlZihyZWY6IEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhclNpZ25hdHVyZVsnRWxlbWVudCddKSB7XG4gICAgdGhpcy5lZGl0b3JUb29sYmFyUmVmID0gcmVmO1xuICAgIHRoaXMuZWRpdG9yVG9vbGJhckhlaWdodCA9IHJlZi5vZmZzZXRIZWlnaHQ7XG4gIH1cblxuICBAYWN0aW9uXG4gIHJlcGxhY2VOb2RlKHBvc2l0aW9uOiBFdWlNYXJrZG93bkFzdE5vZGVQb3NpdGlvbiwgbmV4dDogc3RyaW5nKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5hcmdzLnZhbHVlO1xuICAgIGNvbnN0IGxlYWRpbmcgPSB2YWx1ZS5zdWJzdHIoMCwgcG9zaXRpb24uc3RhcnQub2Zmc2V0KTtcbiAgICBjb25zdCB0cmFpbGluZyA9IHZhbHVlLnN1YnN0cihwb3NpdGlvbi5lbmQub2Zmc2V0KTtcblxuICAgIHRoaXMuYXJncy5vbkNoYW5nZT8uKGAke2xlYWRpbmd9JHtuZXh0fSR7dHJhaWxpbmd9YCk7XG4gIH1cblxuICBnZXQgaXNFZGl0aW5nKCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdNb2RlID09PSBNT0RFX0VESVRJTkc7XG4gIH1cblxuICBnZXQgaXNQcmV2aWV3aW5nKCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdNb2RlID09PSBNT0RFX1ZJRVdJTkc7XG4gIH1cblxuICBAYWN0aW9uXG4gIHNldFZpZXdNb2RlKCkge1xuICAgIHRoaXMudmlld01vZGUgPSB0aGlzLmlzUHJldmlld2luZyA_IE1PREVfRURJVElORyA6IE1PREVfVklFV0lORztcbiAgfVxuXG4gIEBjYWNoZWRcbiAgZ2V0IHBhcnNlcigpIHtcbiAgICBjb25zdCBDb21waWxlciA9ICh0cmVlOiBhbnkpID0-IHtcbiAgICAgIHJldHVybiB0cmVlO1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBpZGVudGl0eUNvbXBpbGVyKHRoaXM6IFByb2Nlc3Nvcikge1xuICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIHRoaXMuQ29tcGlsZXIgPSBDb21waWxlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5pZmllZCgpLnVzZSh0aGlzLnBhcnNpbmdQbHVnaW5MaXN0KS51c2UoaWRlbnRpdHlDb21waWxlcik7XG4gIH1cblxuICBAY2FjaGVkXG4gIGdldCBwYXJzZWQoKTogW1xuICAgIFJldHVyblR5cGU8dHlwZW9mIHRoaXMucGFyc2VyLnByb2Nlc3NTeW5jPiB8IG51bGwsXG4gICAgbnVsbCB8IHVua25vd25cbiAgXSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VyLnByb2Nlc3NTeW5jKHRoaXMuYXJncy52YWx1ZSk7XG5cbiAgICAgIHJldHVybiBbcGFyc2VkLCBudWxsXTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gW251bGwsIGVdO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2RmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZWRbMF07XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uUGFyc2UoKSB7XG4gICAgaWYgKHRoaXMuYXJncy5vblBhcnNlKSB7XG4gICAgICBjb25zdCBbcGFyc2VkLCBwYXJzZUVycm9yXSA9IHRoaXMucGFyc2VkO1xuICAgICAgY29uc3Qgb25QYXJzZSA9IHRoaXMuYXJncy5vblBhcnNlO1xuICAgICAgY29uc3QgbWVzc2FnZXMgPSBwYXJzZWQgPyBwYXJzZWQubWVzc2FnZXMgOiBbXTtcbiAgICAgIGNvbnN0IGFzdCA9IHBhcnNlZCA_IHBhcnNlZFsncmVzdWx0J10gPz8gcGFyc2VkLmNvbnRlbnRzIDogbnVsbDtcblxuICAgICAgb25QYXJzZShwYXJzZUVycm9yLCB7IG1lc3NhZ2VzLCBhc3QgfSk7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICBzZXRTZWxlY3RlZE5vZGUobm9kZTogTm9kZSkge1xuICAgIHRoaXMuc2VsZWN0ZWROb2RlID0gbm9kZTtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgXCJldWlNYXJrZG93bkVkaXRvclwiXG4gICAgICAgIChpZiAoZXEgdGhpcy5oZWlnaHQgXCJmdWxsXCIpIFwiZXVpTWFya2Rvd25FZGl0b3ItLWZ1bGxIZWlnaHRcIilcbiAgICAgICAgKGlmIHRoaXMuaXNQcmV2aWV3aW5nIFwiZXVpTWFya2Rvd25FZGl0b3ItLWlzUHJldmlld2luZ1wiKVxuICAgICAgfX1cbiAgICAgIHt7ZGlkVXBkYXRlXG4gICAgICAgIHRoaXMudXBkYXRlQ3VycmVudEhlaWdodFxuICAgICAgICB0aGlzLmN1cnJlbnRIZWlnaHRcbiAgICAgICAgdGhpcy5pc1ByZXZpZXdpbmdcbiAgICAgICAgdGhpcy5oZWlnaHRcbiAgICAgICAgdGhpcy5hdXRvRXhwYW5kUHJldmlld1xuICAgICAgfX1cbiAgICA-XG4gICAgICA8RXVpTWFya2Rvd25FZGl0b3JUb29sYmFyXG4gICAgICAgIEBzZWxlY3RlZE5vZGU9e3t0aGlzLnNlbGVjdGVkTm9kZX19XG4gICAgICAgIEBtYXJrZG93bkFjdGlvbnM9e3t0aGlzLm1hcmtkb3duQWN0aW9uc319XG4gICAgICAgIEBvbkNsaWNrUHJldmlldz17e3RoaXMuc2V0Vmlld01vZGV9fVxuICAgICAgICBAdmlld01vZGU9e3t0aGlzLnZpZXdNb2RlfX1cbiAgICAgICAgQHVpUGx1Z2lucz17e3RoaXMudG9vbGJhclBsdWdpbnN9fVxuICAgICAgICB7e2RpZEluc2VydCB0aGlzLnNldEVkaXRvclRvb2xiYXJSZWZ9fVxuICAgICAgLz5cbiAgICAgIHt7I2lmIHRoaXMuaXNQcmV2aWV3aW5nfX1cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZXVpTWFya2Rvd25FZGl0b3JQcmV2aWV3XCJcbiAgICAgICAgICB7e2RpZEluc2VydCAoc2V0IHRoaXMgXCJwcmV2aWV3UmVmXCIpfX1cbiAgICAgICAgICB7e3N0eWxlIChoYXNoIGhlaWdodD10aGlzLnByZXZpZXdIZWlnaHQpfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxFdWlNYXJrZG93bkZvcm1hdFxuICAgICAgICAgICAgQHBhcnNpbmdQbHVnaW5MaXN0PXt7dGhpcy5wYXJzaW5nUGx1Z2luTGlzdH19XG4gICAgICAgICAgICBAcHJvY2Vzc2luZ1BsdWdpbkxpc3Q9e3t0aGlzLnByb2Nlc3NpbmdQbHVnaW5MaXN0fX1cbiAgICAgICAgICAgIEB2YWx1ZT17e0B2YWx1ZX19XG4gICAgICAgICAgICBAcmVwbGFjZU5vZGU9e3t0aGlzLnJlcGxhY2VOb2RlfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIHt7L2lmfX1cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yX190b2dnbGVDb250YWluZXJcIlxuICAgICAgICB7e3N0eWxlIGhlaWdodD10aGlzLmVkaXRvclRvZ2dsZUNvbnRhaW5lckhlaWdodH19XG4gICAgICA-XG4gICAgICAgIDxFdWlNYXJrZG93bkVkaXRvckRyb3Bab25lXG4gICAgICAgICAgQHVpUGx1Z2lucz17e3RoaXMudG9vbGJhclBsdWdpbnN9fVxuICAgICAgICAgIHt7cmVzaXplT2JzZXJ2ZXIgb25SZXNpemU9dGhpcy5vblJlc2l6ZX19XG4gICAgICAgID5cbiAgICAgICAgICA8RXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVxuICAgICAgICAgICAge3tnZXRDdXJzb3JOb2RlTW9kaWZpZXIgdGhpcy52RmlsZSB0aGlzLnNldFNlbGVjdGVkTm9kZX19XG4gICAgICAgICAgICB7e2RpZFVwZGF0ZSB0aGlzLm9uUGFyc2UgdGhpcy5wYXJzZWR9fVxuICAgICAgICAgICAge3tkaWRJbnNlcnQgdGhpcy5zZXRUZXh0QXJlYVJlZn19XG4gICAgICAgICAgICBkaXNhYmxlZD17e0BkaXNhYmxlZH19XG4gICAgICAgICAgICBpZD17e3RoaXMuZWRpdG9ySWR9fVxuICAgICAgICAgICAgQGhlaWdodD17e3RoaXMudGV4dEFyZWFIZWlnaHR9fVxuICAgICAgICAgICAgQG1heEhlaWdodD17e3RoaXMudGV4dEFyZWFNYXhIZWlnaHR9fVxuICAgICAgICAgICAgdmFsdWU9e3tAdmFsdWV9fVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17e0BhcmlhTGFiZWx9fVxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXt7QGFyaWFMYWJlbGxlZEJ5fX1cbiAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e3tAYXJpYURlc2NyaWJlZEJ5fX1cbiAgICAgICAgICAgIHt7b24gXCJpbnB1dFwiIChwaWNrIFwidGFyZ2V0LnZhbHVlXCIgQG9uQ2hhbmdlKX19XG4gICAgICAgICAgICB7e3ZhbGlkYXRhYmxlQ29udHJvbCBAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAvPlxuICAgICAgICA8L0V1aU1hcmtkb3duRWRpdG9yRHJvcFpvbmU-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"],"names":["getCursorNode","textareaRef1","parsed1","selectionStart","selectionStart1","node1","result","contents","outer","children","i1","length","child1","position","start","offset","end","type","wrapper","textarea1","callback1","getCursorNodeModifier","modifier","getCursorNodeModifier1","onSelectedNode1","fn1","bind","addEventListener","removeEventListener","EuiMarkdownEditorComponent","Component","g","this","prototype","argOrDefaultDecorator","defaultParsingPlugins","i","void 0","defaultProcessingPlugins","tracked","args","editorId","guidFor","initialViewMode","MODE_EDITING","markdownActions","toolbarPlugins","MarkdownTooltipPlugin","uiPlugins","constructor","owner1","args1","MarkdownActions","currentHeight","height","previewHeight","editorFooterHeight","textAreaHeight","textAreaMaxHeight","maxHeight","editorToggleContainerHeight","editorToolbarHeight","onResize","textareaRef","isEditing","resizedTextareaHeight1","offsetHeight","update1","scheduleOnce","n","action","updateCurrentHeight","isPreviewing","isPreviewing1","autoExpandPreview","autoExpandPreview1","height1","previewRef","previewRef1","currentHeight1","scrollHeight","elementComputedStyle1","window","getComputedStyle","borderWidth1","parseFloat","borderTopWidth","borderBottomWidth","marginWidth1","marginTop","marginBottom","extraHeight1","setTextAreaRef","ref1","setEditorToolbarRef","editorToolbarRef","replaceNode","position1","next1","value1","value","leading1","substr","trailing1","onChange","viewMode","MODE_VIEWING","setViewMode","parser","Compiler1","tree1","identityCompiler1","this1","Compiler","unified","use","parsingPluginList","cached","parsed","processSync","e1","vFile","onParse","parseError1","onParse1","messages1","messages","ast1","ast","setSelectedNode","selectedNode","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","didUpdate","EuiMarkdownEditorToolbar","didInsert","set","style","hash","EuiMarkdownFormat","EuiMarkdownEditorDropZone","resizeObserver","EuiMarkdownEditorTextArea","on","pick","validatableControl"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor.js","sources":["../../src/components/eui-markdown-editor.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-update';\nimport { scheduleOnce } from '@ember/runloop';\nimport pick from 'ember-composable-helpers/helpers/pick';\nimport { modifier } from 'ember-modifier';\nimport set from 'ember-set-helper/helpers/set';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { eq, not } from 'ember-truth-helpers';\nimport unified from 'unified';\nimport { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport validatableControl from '../modifiers/validatable-control.ts';\nimport MarkdownActions from '../utils/markdown/markdown-actions.ts';\nimport { MODE_EDITING, MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport { defaultParsingPlugins, defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport * as MarkdownTooltipPlugin from '../utils/markdown/plugins/markdown-tooltip/index.ts';\nimport EuiMarkdownEditorDropZone from './eui-markdown-editor-drop-zone.gts';\nimport EuiMarkdownEditorTextArea from './eui-markdown-editor-text-area.gts';\nimport EuiMarkdownEditorToolbar from './eui-markdown-editor-toolbar.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport type { EuiMarkdownAstNode, EuiMarkdownAstNodePosition, EuiMarkdownEditorUiPlugin } from '../utils/markdown/markdown-types';\nimport type { EuiMarkdownEditorTextAreaSignature } from './eui-markdown-editor-text-area';\nimport type { EuiMarkdownEditorToolbarSignature } from './eui-markdown-editor-toolbar';\nimport type { Processor } from 'unified';\nexport interface EuiMarkdownEditorArgs {\n initialViewMode?: string;\n editorId?: string;\n uiPlugins: EuiMarkdownEditorUiPlugin[];\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n value: string;\n onChange: (str: string) => void;\n onParse?: (parseError: unknown | null, parsed: {\n messages: any[];\n ast: any;\n }) => void;\n height?: number | string;\n maxHeight?: number | string;\n autoExpandPreview?: boolean;\n disabled?: boolean;\n isInvalid?: boolean;\n ariaLabel?: string;\n ariaLabelledBy?: string;\n ariaDescribedBy?: string;\n}\nexport interface EuiMarkdownEditorSignature {\n Element: EuiMarkdownEditorTextAreaSignature['Element'];\n Args: EuiMarkdownEditorArgs;\n Blocks: {\n default: [];\n };\n}\nexport const getCursorNode = (textareaRef1: HTMLInputElement, parsed1: any): EuiMarkdownAstNode =>{\n const { selectionStart: selectionStart1 } = textareaRef1;\n let node1: EuiMarkdownAstNode = parsed1.result ?? parsed1.contents;\n //eslint-disable-next-line\n outer: while(true){\n if (node1.children) {\n for(let i1 = 0; i1 < node1.children.length; i1++){\n const child1 = node1.children[i1];\n if (child1 && child1.position.start.offset < (selectionStart1 as number) && (selectionStart1 as number) < child1.position.end.offset) {\n if (child1.type === 'text') break outer; // don't dive into `text` nodes\n node1 = child1;\n continue outer;\n }\n }\n }\n break;\n }\n return node1;\n};\nfunction wrapper(textarea1: HTMLInputElement, parsed1: any, callback1: (node: EuiMarkdownAstNode) => void) {\n const node1 = getCursorNode(textarea1, parsed1);\n callback1(node1);\n}\nexport const getCursorNodeModifier = modifier(function getCursorNodeModifier1(textarea1: EuiMarkdownEditorTextAreaSignature['Element'], [parsed1, onSelectedNode1]: [any, (node: Node) => void]) {\n const fn1 = wrapper.bind(null, textarea1, parsed1, onSelectedNode1);\n textarea1.addEventListener('keyup', fn1);\n textarea1.addEventListener('mouseup', fn1);\n return ()=>{\n textarea1.removeEventListener('keyup', fn1);\n textarea1.removeEventListener('mouseup', fn1);\n };\n});\nexport default class EuiMarkdownEditorComponent extends Component<EuiMarkdownEditorSignature> {\n // Defaults\n @argOrDefaultDecorator(defaultParsingPlugins)\n parsingPluginList: typeof defaultParsingPlugins;\n @argOrDefaultDecorator(250)\n height: number | string;\n @argOrDefaultDecorator(500)\n maxHeight: number | string;\n @argOrDefaultDecorator(true)\n autoExpandPreview: boolean;\n @argOrDefaultDecorator(defaultProcessingPlugins)\n processingPluginList: typeof defaultProcessingPlugins;\n @tracked\n selectedNode: Node | null = null;\n @tracked\n editorId = this.args.editorId ?? guidFor({});\n @tracked\n viewMode = this.args.initialViewMode || MODE_EDITING;\n @tracked\n textareaRef: HTMLTextAreaElement | null = null;\n @tracked\n previewRef: HTMLDivElement | null = null;\n @tracked\n editorToolbarRef: HTMLDivElement | null = null;\n @tracked\n currentHeight: number | string = 250;\n @tracked\n editorFooterHeight: number = 0;\n @tracked\n editorToolbarHeight: number = 0;\n markdownActions: MarkdownActions;\n get toolbarPlugins() {\n return [\n MarkdownTooltipPlugin.plugin,\n ...(this.args.uiPlugins || [])\n ];\n }\n constructor(owner1: unknown, args1: EuiMarkdownEditorArgs){\n super(owner1, args1);\n this.markdownActions = new MarkdownActions(this.editorId, // @ts-expect-error\n this.toolbarPlugins);\n this.currentHeight = this.height;\n }\n get previewHeight() {\n if (this.height === 'full') {\n return `calc(100% - ${this.editorFooterHeight}px)`;\n }\n return `${this.currentHeight}px`;\n }\n get textAreaHeight() {\n return this.height === 'full' ? '100%' : `calc(${(this.height as number) - this.editorFooterHeight}px)`;\n }\n get textAreaMaxHeight() {\n return this.height !== 'full' ? `${(this.maxHeight as number) - this.editorFooterHeight}px` : '';\n }\n get editorToggleContainerHeight() {\n return `calc(100% - ${this.editorToolbarHeight}px)`;\n }\n @action\n onResize() {\n if (this.textareaRef && this.isEditing && this.height !== 'full') {\n const resizedTextareaHeight1 = this.textareaRef.offsetHeight + this.editorFooterHeight;\n const update1 = ()=>{\n this.currentHeight = resizedTextareaHeight1;\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n @action\n updateCurrentHeight() {\n let { isPreviewing: isPreviewing1, autoExpandPreview: autoExpandPreview1, height: height1, previewRef: previewRef1, currentHeight: currentHeight1 } = this;\n if (isPreviewing1 && autoExpandPreview1 && height1 !== 'full' && previewRef1) {\n //@ts-ignore\n if (previewRef1.scrollHeight > currentHeight1) {\n // scrollHeight does not include the border or margin\n // so we ask for the computed value for those,\n // which is always in pixels because getComputedValue\n // returns the resolved values\n const elementComputedStyle1 = window.getComputedStyle(previewRef1);\n const borderWidth1 = parseFloat(elementComputedStyle1.borderTopWidth) + parseFloat(elementComputedStyle1.borderBottomWidth);\n const marginWidth1 = parseFloat(elementComputedStyle1.marginTop) + parseFloat(elementComputedStyle1.marginBottom);\n // then add an extra pixel for safety and because the scrollHeight value is rounded\n const extraHeight1 = borderWidth1 + marginWidth1 + 1;\n const update1 = ()=>{\n if (previewRef1) {\n this.currentHeight = previewRef1.scrollHeight + extraHeight1;\n }\n };\n scheduleOnce('afterRender', this, update1);\n }\n }\n }\n @action\n setTextAreaRef(ref1: HTMLTextAreaElement) {\n this.textareaRef = ref1;\n }\n @action\n setEditorToolbarRef(ref1: EuiMarkdownEditorToolbarSignature['Element']) {\n this.editorToolbarRef = ref1;\n this.editorToolbarHeight = ref1.offsetHeight;\n }\n @action\n replaceNode(position1: EuiMarkdownAstNodePosition, next1: string) {\n let value1 = this.args.value;\n const leading1 = value1.substr(0, position1.start.offset);\n const trailing1 = value1.substr(position1.end.offset);\n this.args.onChange?.(`${leading1}${next1}${trailing1}`);\n }\n get isEditing() {\n return this.viewMode === MODE_EDITING;\n }\n get isPreviewing() {\n return this.viewMode === MODE_VIEWING;\n }\n @action\n setViewMode() {\n this.viewMode = this.isPreviewing ? MODE_EDITING : MODE_VIEWING;\n }\n @cached\n get parser() {\n const Compiler1 = (tree1: any)=>{\n return tree1;\n };\n function identityCompiler1(this1: Processor) {\n //eslint-disable-next-line\n this.Compiler = Compiler1;\n }\n return unified().use(this.parsingPluginList).use(identityCompiler1);\n }\n @cached\n get parsed(): [ReturnType<typeof this.parser.processSync> | null, null | unknown] {\n try {\n const parsed1 = this.parser.processSync(this.args.value);\n return [\n parsed1,\n null\n ];\n } catch (e1) {\n return [\n null,\n e1\n ];\n }\n }\n get vFile() {\n return this.parsed[0];\n }\n @action\n onParse() {\n if (this.args.onParse) {\n const [parsed1, parseError1] = this.parsed;\n const onParse1 = this.args.onParse;\n const messages1 = parsed1 ? parsed1.messages : [];\n const ast1 = parsed1 ? parsed1['result'] ?? parsed1.contents : null;\n onParse1(parseError1, {\n messages: messages1,\n ast: ast1\n });\n }\n }\n @action\n setSelectedNode(node1: Node) {\n this.selectedNode = node1;\n }\n static{\n template(`\n <div\n class={{classNames\n \"euiMarkdownEditor\"\n (if (eq this.height \"full\") \"euiMarkdownEditor--fullHeight\")\n (if this.isPreviewing \"euiMarkdownEditor--isPreviewing\")\n }}\n {{didUpdate\n this.updateCurrentHeight\n this.currentHeight\n this.isPreviewing\n this.height\n this.autoExpandPreview\n }}\n >\n <EuiMarkdownEditorToolbar\n @selectedNode={{this.selectedNode}}\n @markdownActions={{this.markdownActions}}\n @onClickPreview={{this.setViewMode}}\n @viewMode={{this.viewMode}}\n @uiPlugins={{this.toolbarPlugins}}\n {{didInsert this.setEditorToolbarRef}}\n />\n {{#if this.isPreviewing}}\n <div\n class=\"euiMarkdownEditorPreview\"\n {{didInsert (set this \"previewRef\")}}\n {{style (hash height=this.previewHeight)}}\n >\n <EuiMarkdownFormat\n @parsingPluginList={{this.parsingPluginList}}\n @processingPluginList={{this.processingPluginList}}\n @value={{@value}}\n @replaceNode={{this.replaceNode}}\n />\n </div>\n {{/if}}\n\n <div\n class=\"euiMarkdownEditor__toggleContainer\"\n {{style height=this.editorToggleContainerHeight}}\n >\n <EuiMarkdownEditorDropZone\n @uiPlugins={{this.toolbarPlugins}}\n {{resizeObserver onResize=this.onResize}}\n >\n <EuiMarkdownEditorTextArea\n {{getCursorNodeModifier this.vFile this.setSelectedNode}}\n {{didUpdate this.onParse this.parsed}}\n {{didInsert this.setTextAreaRef}}\n disabled={{@disabled}}\n id={{this.editorId}}\n @height={{this.textAreaHeight}}\n @maxHeight={{this.textAreaMaxHeight}}\n value={{@value}}\n aria-label={{@ariaLabel}}\n aria-labelledby={{@ariaLabelledBy}}\n aria-describedby={{@ariaDescribedBy}}\n {{on \"input\" (pick \"target.value\" @onChange)}}\n {{validatableControl @isInvalid}}\n ...attributes\n />\n </EuiMarkdownEditorDropZone>\n </div>\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1lZGl0b3IuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCwgdHJhY2tlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGhhc2ggfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuaW1wb3J0IHsgZ3VpZEZvciB9IGZyb20gJ0BlbWJlci9vYmplY3QvaW50ZXJuYWxzJztcbmltcG9ydCBkaWRJbnNlcnQgZnJvbSAnQGVtYmVyL3JlbmRlci1tb2RpZmllcnMvbW9kaWZpZXJzL2RpZC1pbnNlcnQnO1xuaW1wb3J0IGRpZFVwZGF0ZSBmcm9tICdAZW1iZXIvcmVuZGVyLW1vZGlmaWVycy9tb2RpZmllcnMvZGlkLXVwZGF0ZSc7XG5pbXBvcnQgeyBzY2hlZHVsZU9uY2UgfSBmcm9tICdAZW1iZXIvcnVubG9vcCc7XG5cbmltcG9ydCBwaWNrIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL3BpY2snO1xuaW1wb3J0IHsgbW9kaWZpZXIgfSBmcm9tICdlbWJlci1tb2RpZmllcic7XG5pbXBvcnQgc2V0IGZyb20gJ2VtYmVyLXNldC1oZWxwZXIvaGVscGVycy9zZXQnO1xuaW1wb3J0IHN0eWxlIGZyb20gJ2VtYmVyLXN0eWxlLW1vZGlmaWVyL21vZGlmaWVycy9zdHlsZSc7XG5pbXBvcnQgeyBlcSwgbm90IH0gZnJvbSAnZW1iZXItdHJ1dGgtaGVscGVycyc7XG5pbXBvcnQgdW5pZmllZCBmcm9tICd1bmlmaWVkJztcblxuaW1wb3J0IHsgYXJnT3JEZWZhdWx0RGVjb3JhdG9yIH0gZnJvbSAnLi4vaGVscGVycy9hcmctb3ItZGVmYXVsdC50cyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLW5hbWVzLnRzJztcbmltcG9ydCByZXNpemVPYnNlcnZlciBmcm9tICcuLi9tb2RpZmllcnMvcmVzaXplLW9ic2VydmVyLnRzJztcbmltcG9ydCB2YWxpZGF0YWJsZUNvbnRyb2wgZnJvbSAnLi4vbW9kaWZpZXJzL3ZhbGlkYXRhYmxlLWNvbnRyb2wudHMnO1xuaW1wb3J0IE1hcmtkb3duQWN0aW9ucyBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi1hY3Rpb25zLnRzJztcbmltcG9ydCB7IE1PREVfRURJVElORywgTU9ERV9WSUVXSU5HIH0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vbWFya2Rvd24tbW9kZXMudHMnO1xuaW1wb3J0IHtcbiAgZGVmYXVsdFBhcnNpbmdQbHVnaW5zLFxuICBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnNcbn0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vcGx1Z2lucy9tYXJrZG93bi1kZWZhdWx0LXBsdWdpbnMvaW5kZXgudHMnO1xuaW1wb3J0ICogYXMgTWFya2Rvd25Ub29sdGlwUGx1Z2luIGZyb20gJy4uL3V0aWxzL21hcmtkb3duL3BsdWdpbnMvbWFya2Rvd24tdG9vbHRpcC9pbmRleC50cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JEcm9wWm9uZSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItZHJvcC16b25lLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdGV4dC1hcmVhLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyIGZyb20gJy4vZXVpLW1hcmtkb3duLWVkaXRvci10b29sYmFyLmd0cyc7XG5pbXBvcnQgRXVpTWFya2Rvd25Gb3JtYXQgZnJvbSAnLi9ldWktbWFya2Rvd24tZm9ybWF0Lmd0cyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRXVpTWFya2Rvd25Bc3ROb2RlLFxuICBFdWlNYXJrZG93bkFzdE5vZGVQb3NpdGlvbixcbiAgRXVpTWFya2Rvd25FZGl0b3JVaVBsdWdpblxufSBmcm9tICcuLi91dGlscy9tYXJrZG93bi9tYXJrZG93bi10eXBlcyc7XG5pbXBvcnQgdHlwZSB7IEV1aU1hcmtkb3duRWRpdG9yVGV4dEFyZWFTaWduYXR1cmUgfSBmcm9tICcuL2V1aS1tYXJrZG93bi1lZGl0b3ItdGV4dC1hcmVhJztcbmltcG9ydCB0eXBlIHsgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyU2lnbmF0dXJlIH0gZnJvbSAnLi9ldWktbWFya2Rvd24tZWRpdG9yLXRvb2xiYXInO1xuaW1wb3J0IHR5cGUgeyBQcm9jZXNzb3IgfSBmcm9tICd1bmlmaWVkJztcblxuZXhwb3J0IGludGVyZmFjZSBFdWlNYXJrZG93bkVkaXRvckFyZ3Mge1xuICBpbml0aWFsVmlld01vZGU_OiBzdHJpbmc7XG4gIGVkaXRvcklkPzogc3RyaW5nO1xuICB1aVBsdWdpbnM6IEV1aU1hcmtkb3duRWRpdG9yVWlQbHVnaW5bXTtcbiAgcGFyc2luZ1BsdWdpbkxpc3Q_OiB0eXBlb2YgZGVmYXVsdFBhcnNpbmdQbHVnaW5zO1xuICBwcm9jZXNzaW5nUGx1Z2luTGlzdD86IHR5cGVvZiBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnM7XG4gIHZhbHVlOiBzdHJpbmc7XG4gIG9uQ2hhbmdlOiAoc3RyOiBzdHJpbmcpID0-IHZvaWQ7XG4gIG9uUGFyc2U_OiAoXG4gICAgcGFyc2VFcnJvcjogdW5rbm93biB8IG51bGwsXG4gICAgcGFyc2VkOiB7IG1lc3NhZ2VzOiBhbnlbXTsgYXN0OiBhbnkgfVxuICApID0-IHZvaWQ7XG4gIGhlaWdodD86IG51bWJlciB8IHN0cmluZztcbiAgbWF4SGVpZ2h0PzogbnVtYmVyIHwgc3RyaW5nO1xuICBhdXRvRXhwYW5kUHJldmlldz86IGJvb2xlYW47XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNJbnZhbGlkPzogYm9vbGVhbjtcbiAgYXJpYUxhYmVsPzogc3RyaW5nO1xuICBhcmlhTGFiZWxsZWRCeT86IHN0cmluZztcbiAgYXJpYURlc2NyaWJlZEJ5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV1aU1hcmtkb3duRWRpdG9yU2lnbmF0dXJlIHtcbiAgRWxlbWVudDogRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVNpZ25hdHVyZVsnRWxlbWVudCddO1xuICBBcmdzOiBFdWlNYXJrZG93bkVkaXRvckFyZ3M7XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtdO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q3Vyc29yTm9kZSA9IChcbiAgdGV4dGFyZWFSZWY6IEhUTUxJbnB1dEVsZW1lbnQsXG4gIHBhcnNlZDogYW55XG4pOiBFdWlNYXJrZG93bkFzdE5vZGUgPT4ge1xuICBjb25zdCB7IHNlbGVjdGlvblN0YXJ0IH0gPSB0ZXh0YXJlYVJlZjtcblxuICBsZXQgbm9kZTogRXVpTWFya2Rvd25Bc3ROb2RlID0gcGFyc2VkLnJlc3VsdCA_PyBwYXJzZWQuY29udGVudHM7XG5cbiAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgb3V0ZXI6IHdoaWxlICh0cnVlKSB7XG4gICAgaWYgKG5vZGUuY2hpbGRyZW4pIHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5jaGlsZHJlbi5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBjaGlsZCA9IG5vZGUuY2hpbGRyZW5baV07XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNoaWxkICYmXG4gICAgICAgICAgY2hpbGQucG9zaXRpb24uc3RhcnQub2Zmc2V0IDwgKHNlbGVjdGlvblN0YXJ0IGFzIG51bWJlcikgJiZcbiAgICAgICAgICAoc2VsZWN0aW9uU3RhcnQgYXMgbnVtYmVyKSA8IGNoaWxkLnBvc2l0aW9uLmVuZC5vZmZzZXRcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKGNoaWxkLnR5cGUgPT09ICd0ZXh0JykgYnJlYWsgb3V0ZXI7IC8vIGRvbid0IGRpdmUgaW50byBgdGV4dGAgbm9kZXNcbiAgICAgICAgICBub2RlID0gY2hpbGQ7XG4gICAgICAgICAgY29udGludWUgb3V0ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBub2RlO1xufTtcblxuZnVuY3Rpb24gd3JhcHBlcihcbiAgdGV4dGFyZWE6IEhUTUxJbnB1dEVsZW1lbnQsXG4gIHBhcnNlZDogYW55LFxuICBjYWxsYmFjazogKG5vZGU6IEV1aU1hcmtkb3duQXN0Tm9kZSkgPT4gdm9pZFxuKSB7XG4gIGNvbnN0IG5vZGUgPSBnZXRDdXJzb3JOb2RlKHRleHRhcmVhLCBwYXJzZWQpO1xuXG4gIGNhbGxiYWNrKG5vZGUpO1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q3Vyc29yTm9kZU1vZGlmaWVyID0gbW9kaWZpZXIoZnVuY3Rpb24gZ2V0Q3Vyc29yTm9kZU1vZGlmaWVyKFxuICB0ZXh0YXJlYTogRXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVNpZ25hdHVyZVsnRWxlbWVudCddLFxuICBbcGFyc2VkLCBvblNlbGVjdGVkTm9kZV06IFthbnksIChub2RlOiBOb2RlKSA9PiB2b2lkXVxuKSB7XG4gIGNvbnN0IGZuID0gd3JhcHBlci5iaW5kKG51bGwsIHRleHRhcmVhLCBwYXJzZWQsIG9uU2VsZWN0ZWROb2RlKTtcblxuICB0ZXh0YXJlYS5hZGRFdmVudExpc3RlbmVyKCdrZXl1cCcsIGZuKTtcbiAgdGV4dGFyZWEuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIGZuKTtcblxuICByZXR1cm4gKCkgPT4ge1xuICAgIHRleHRhcmVhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleXVwJywgZm4pO1xuICAgIHRleHRhcmVhLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBmbik7XG4gIH07XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXVpTWFya2Rvd25FZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ8RXVpTWFya2Rvd25FZGl0b3JTaWduYXR1cmU-IHtcbiAgLy8gRGVmYXVsdHNcbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcihkZWZhdWx0UGFyc2luZ1BsdWdpbnMpIGRlY2xhcmUgcGFyc2luZ1BsdWdpbkxpc3Q6IHR5cGVvZiBkZWZhdWx0UGFyc2luZ1BsdWdpbnM7XG5cbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcigyNTApIGRlY2xhcmUgaGVpZ2h0OiBudW1iZXIgfCBzdHJpbmc7XG4gIEBhcmdPckRlZmF1bHREZWNvcmF0b3IoNTAwKSBkZWNsYXJlIG1heEhlaWdodDogbnVtYmVyIHwgc3RyaW5nO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKHRydWUpIGRlY2xhcmUgYXV0b0V4cGFuZFByZXZpZXc6IGJvb2xlYW47XG5cbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcihkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnMpIGRlY2xhcmUgcHJvY2Vzc2luZ1BsdWdpbkxpc3Q6IHR5cGVvZiBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnM7XG5cbiAgQHRyYWNrZWQgc2VsZWN0ZWROb2RlOiBOb2RlIHwgbnVsbCA9IG51bGw7XG4gIEB0cmFja2VkIGVkaXRvcklkID0gdGhpcy5hcmdzLmVkaXRvcklkID8_IGd1aWRGb3Ioe30pO1xuICBAdHJhY2tlZCB2aWV3TW9kZSA9IHRoaXMuYXJncy5pbml0aWFsVmlld01vZGUgfHwgTU9ERV9FRElUSU5HO1xuICBAdHJhY2tlZCB0ZXh0YXJlYVJlZjogSFRNTFRleHRBcmVhRWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBwcmV2aWV3UmVmOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBlZGl0b3JUb29sYmFyUmVmOiBIVE1MRGl2RWxlbWVudCB8IG51bGwgPSBudWxsO1xuICBAdHJhY2tlZCBjdXJyZW50SGVpZ2h0OiBudW1iZXIgfCBzdHJpbmcgPSAyNTA7XG4gIEB0cmFja2VkIGVkaXRvckZvb3RlckhlaWdodDogbnVtYmVyID0gMDtcbiAgQHRyYWNrZWQgZWRpdG9yVG9vbGJhckhlaWdodDogbnVtYmVyID0gMDtcblxuICBtYXJrZG93bkFjdGlvbnM6IE1hcmtkb3duQWN0aW9ucztcblxuICBnZXQgdG9vbGJhclBsdWdpbnMoKSB7XG4gICAgcmV0dXJuIFtNYXJrZG93blRvb2x0aXBQbHVnaW4ucGx1Z2luLCAuLi4odGhpcy5hcmdzLnVpUGx1Z2lucyB8fCBbXSldO1xuICB9XG5cbiAgY29uc3RydWN0b3Iob3duZXI6IHVua25vd24sIGFyZ3M6IEV1aU1hcmtkb3duRWRpdG9yQXJncykge1xuICAgIHN1cGVyKG93bmVyLCBhcmdzKTtcbiAgICB0aGlzLm1hcmtkb3duQWN0aW9ucyA9IG5ldyBNYXJrZG93bkFjdGlvbnMoXG4gICAgICB0aGlzLmVkaXRvcklkLFxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgICAgdGhpcy50b29sYmFyUGx1Z2luc1xuICAgICk7XG4gICAgdGhpcy5jdXJyZW50SGVpZ2h0ID0gdGhpcy5oZWlnaHQ7XG4gIH1cblxuICBnZXQgcHJldmlld0hlaWdodCgpIHtcbiAgICBpZiAodGhpcy5oZWlnaHQgPT09ICdmdWxsJykge1xuICAgICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMuZWRpdG9yRm9vdGVySGVpZ2h0fXB4KWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke3RoaXMuY3VycmVudEhlaWdodH1weGA7XG4gIH1cblxuICBnZXQgdGV4dEFyZWFIZWlnaHQoKSB7XG4gICAgcmV0dXJuIHRoaXMuaGVpZ2h0ID09PSAnZnVsbCdcbiAgICAgID8gJzEwMCUnXG4gICAgICA6IGBjYWxjKCR7KHRoaXMuaGVpZ2h0IGFzIG51bWJlcikgLSB0aGlzLmVkaXRvckZvb3RlckhlaWdodH1weClgO1xuICB9XG5cbiAgZ2V0IHRleHRBcmVhTWF4SGVpZ2h0KCkge1xuICAgIHJldHVybiB0aGlzLmhlaWdodCAhPT0gJ2Z1bGwnXG4gICAgICA_IGAkeyh0aGlzLm1heEhlaWdodCBhcyBudW1iZXIpIC0gdGhpcy5lZGl0b3JGb290ZXJIZWlnaHR9cHhgXG4gICAgICA6ICcnO1xuICB9XG5cbiAgZ2V0IGVkaXRvclRvZ2dsZUNvbnRhaW5lckhlaWdodCgpIHtcbiAgICByZXR1cm4gYGNhbGMoMTAwJSAtICR7dGhpcy5lZGl0b3JUb29sYmFySGVpZ2h0fXB4KWA7XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uUmVzaXplKCkge1xuICAgIGlmICh0aGlzLnRleHRhcmVhUmVmICYmIHRoaXMuaXNFZGl0aW5nICYmIHRoaXMuaGVpZ2h0ICE9PSAnZnVsbCcpIHtcbiAgICAgIGNvbnN0IHJlc2l6ZWRUZXh0YXJlYUhlaWdodCA9XG4gICAgICAgIHRoaXMudGV4dGFyZWFSZWYub2Zmc2V0SGVpZ2h0ICsgdGhpcy5lZGl0b3JGb290ZXJIZWlnaHQ7XG5cbiAgICAgIGNvbnN0IHVwZGF0ZSA9ICgpID0-IHtcbiAgICAgICAgdGhpcy5jdXJyZW50SGVpZ2h0ID0gcmVzaXplZFRleHRhcmVhSGVpZ2h0O1xuICAgICAgfTtcblxuICAgICAgc2NoZWR1bGVPbmNlKCdhZnRlclJlbmRlcicsIHRoaXMsIHVwZGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICB1cGRhdGVDdXJyZW50SGVpZ2h0KCkge1xuICAgIGxldCB7IGlzUHJldmlld2luZywgYXV0b0V4cGFuZFByZXZpZXcsIGhlaWdodCwgcHJldmlld1JlZiwgY3VycmVudEhlaWdodCB9ID1cbiAgICAgIHRoaXM7XG5cbiAgICBpZiAoaXNQcmV2aWV3aW5nICYmIGF1dG9FeHBhbmRQcmV2aWV3ICYmIGhlaWdodCAhPT0gJ2Z1bGwnICYmIHByZXZpZXdSZWYpIHtcbiAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgaWYgKHByZXZpZXdSZWYuc2Nyb2xsSGVpZ2h0ID4gY3VycmVudEhlaWdodCkge1xuICAgICAgICAvLyBzY3JvbGxIZWlnaHQgZG9lcyBub3QgaW5jbHVkZSB0aGUgYm9yZGVyIG9yIG1hcmdpblxuICAgICAgICAvLyBzbyB3ZSBhc2sgZm9yIHRoZSBjb21wdXRlZCB2YWx1ZSBmb3IgdGhvc2UsXG4gICAgICAgIC8vIHdoaWNoIGlzIGFsd2F5cyBpbiBwaXhlbHMgYmVjYXVzZSBnZXRDb21wdXRlZFZhbHVlXG4gICAgICAgIC8vIHJldHVybnMgdGhlIHJlc29sdmVkIHZhbHVlc1xuICAgICAgICBjb25zdCBlbGVtZW50Q29tcHV0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHByZXZpZXdSZWYpO1xuICAgICAgICBjb25zdCBib3JkZXJXaWR0aCA9XG4gICAgICAgICAgcGFyc2VGbG9hdChlbGVtZW50Q29tcHV0ZWRTdHlsZS5ib3JkZXJUb3BXaWR0aCkgK1xuICAgICAgICAgIHBhcnNlRmxvYXQoZWxlbWVudENvbXB1dGVkU3R5bGUuYm9yZGVyQm90dG9tV2lkdGgpO1xuICAgICAgICBjb25zdCBtYXJnaW5XaWR0aCA9XG4gICAgICAgICAgcGFyc2VGbG9hdChlbGVtZW50Q29tcHV0ZWRTdHlsZS5tYXJnaW5Ub3ApICtcbiAgICAgICAgICBwYXJzZUZsb2F0KGVsZW1lbnRDb21wdXRlZFN0eWxlLm1hcmdpbkJvdHRvbSk7XG5cbiAgICAgICAgLy8gdGhlbiBhZGQgYW4gZXh0cmEgcGl4ZWwgZm9yIHNhZmV0eSBhbmQgYmVjYXVzZSB0aGUgc2Nyb2xsSGVpZ2h0IHZhbHVlIGlzIHJvdW5kZWRcbiAgICAgICAgY29uc3QgZXh0cmFIZWlnaHQgPSBib3JkZXJXaWR0aCArIG1hcmdpbldpZHRoICsgMTtcblxuICAgICAgICBjb25zdCB1cGRhdGUgPSAoKSA9PiB7XG4gICAgICAgICAgaWYgKHByZXZpZXdSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY3VycmVudEhlaWdodCA9IHByZXZpZXdSZWYuc2Nyb2xsSGVpZ2h0ICsgZXh0cmFIZWlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHNjaGVkdWxlT25jZSgnYWZ0ZXJSZW5kZXInLCB0aGlzLCB1cGRhdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2V0VGV4dEFyZWFSZWYocmVmOiBIVE1MVGV4dEFyZWFFbGVtZW50KSB7XG4gICAgdGhpcy50ZXh0YXJlYVJlZiA9IHJlZjtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2V0RWRpdG9yVG9vbGJhclJlZihyZWY6IEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhclNpZ25hdHVyZVsnRWxlbWVudCddKSB7XG4gICAgdGhpcy5lZGl0b3JUb29sYmFyUmVmID0gcmVmO1xuICAgIHRoaXMuZWRpdG9yVG9vbGJhckhlaWdodCA9IHJlZi5vZmZzZXRIZWlnaHQ7XG4gIH1cblxuICBAYWN0aW9uXG4gIHJlcGxhY2VOb2RlKHBvc2l0aW9uOiBFdWlNYXJrZG93bkFzdE5vZGVQb3NpdGlvbiwgbmV4dDogc3RyaW5nKSB7XG4gICAgbGV0IHZhbHVlID0gdGhpcy5hcmdzLnZhbHVlO1xuICAgIGNvbnN0IGxlYWRpbmcgPSB2YWx1ZS5zdWJzdHIoMCwgcG9zaXRpb24uc3RhcnQub2Zmc2V0KTtcbiAgICBjb25zdCB0cmFpbGluZyA9IHZhbHVlLnN1YnN0cihwb3NpdGlvbi5lbmQub2Zmc2V0KTtcblxuICAgIHRoaXMuYXJncy5vbkNoYW5nZT8uKGAke2xlYWRpbmd9JHtuZXh0fSR7dHJhaWxpbmd9YCk7XG4gIH1cblxuICBnZXQgaXNFZGl0aW5nKCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdNb2RlID09PSBNT0RFX0VESVRJTkc7XG4gIH1cblxuICBnZXQgaXNQcmV2aWV3aW5nKCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdNb2RlID09PSBNT0RFX1ZJRVdJTkc7XG4gIH1cblxuICBAYWN0aW9uXG4gIHNldFZpZXdNb2RlKCkge1xuICAgIHRoaXMudmlld01vZGUgPSB0aGlzLmlzUHJldmlld2luZyA_IE1PREVfRURJVElORyA6IE1PREVfVklFV0lORztcbiAgfVxuXG4gIEBjYWNoZWRcbiAgZ2V0IHBhcnNlcigpIHtcbiAgICBjb25zdCBDb21waWxlciA9ICh0cmVlOiBhbnkpID0-IHtcbiAgICAgIHJldHVybiB0cmVlO1xuICAgIH07XG5cbiAgICBmdW5jdGlvbiBpZGVudGl0eUNvbXBpbGVyKHRoaXM6IFByb2Nlc3Nvcikge1xuICAgICAgLy9lc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgIHRoaXMuQ29tcGlsZXIgPSBDb21waWxlcjtcbiAgICB9XG5cbiAgICByZXR1cm4gdW5pZmllZCgpLnVzZSh0aGlzLnBhcnNpbmdQbHVnaW5MaXN0KS51c2UoaWRlbnRpdHlDb21waWxlcik7XG4gIH1cblxuICBAY2FjaGVkXG4gIGdldCBwYXJzZWQoKTogW1xuICAgIFJldHVyblR5cGU8dHlwZW9mIHRoaXMucGFyc2VyLnByb2Nlc3NTeW5jPiB8IG51bGwsXG4gICAgbnVsbCB8IHVua25vd25cbiAgXSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHRoaXMucGFyc2VyLnByb2Nlc3NTeW5jKHRoaXMuYXJncy52YWx1ZSk7XG5cbiAgICAgIHJldHVybiBbcGFyc2VkLCBudWxsXTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gW251bGwsIGVdO1xuICAgIH1cbiAgfVxuXG4gIGdldCB2RmlsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZWRbMF07XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uUGFyc2UoKSB7XG4gICAgaWYgKHRoaXMuYXJncy5vblBhcnNlKSB7XG4gICAgICBjb25zdCBbcGFyc2VkLCBwYXJzZUVycm9yXSA9IHRoaXMucGFyc2VkO1xuICAgICAgY29uc3Qgb25QYXJzZSA9IHRoaXMuYXJncy5vblBhcnNlO1xuICAgICAgY29uc3QgbWVzc2FnZXMgPSBwYXJzZWQgPyBwYXJzZWQubWVzc2FnZXMgOiBbXTtcbiAgICAgIGNvbnN0IGFzdCA9IHBhcnNlZCA_IHBhcnNlZFsncmVzdWx0J10gPz8gcGFyc2VkLmNvbnRlbnRzIDogbnVsbDtcblxuICAgICAgb25QYXJzZShwYXJzZUVycm9yLCB7IG1lc3NhZ2VzLCBhc3QgfSk7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICBzZXRTZWxlY3RlZE5vZGUobm9kZTogTm9kZSkge1xuICAgIHRoaXMuc2VsZWN0ZWROb2RlID0gbm9kZTtcbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgXCJldWlNYXJrZG93bkVkaXRvclwiXG4gICAgICAgIChpZiAoZXEgdGhpcy5oZWlnaHQgXCJmdWxsXCIpIFwiZXVpTWFya2Rvd25FZGl0b3ItLWZ1bGxIZWlnaHRcIilcbiAgICAgICAgKGlmIHRoaXMuaXNQcmV2aWV3aW5nIFwiZXVpTWFya2Rvd25FZGl0b3ItLWlzUHJldmlld2luZ1wiKVxuICAgICAgfX1cbiAgICAgIHt7ZGlkVXBkYXRlXG4gICAgICAgIHRoaXMudXBkYXRlQ3VycmVudEhlaWdodFxuICAgICAgICB0aGlzLmN1cnJlbnRIZWlnaHRcbiAgICAgICAgdGhpcy5pc1ByZXZpZXdpbmdcbiAgICAgICAgdGhpcy5oZWlnaHRcbiAgICAgICAgdGhpcy5hdXRvRXhwYW5kUHJldmlld1xuICAgICAgfX1cbiAgICA-XG4gICAgICA8RXVpTWFya2Rvd25FZGl0b3JUb29sYmFyXG4gICAgICAgIEBzZWxlY3RlZE5vZGU9e3t0aGlzLnNlbGVjdGVkTm9kZX19XG4gICAgICAgIEBtYXJrZG93bkFjdGlvbnM9e3t0aGlzLm1hcmtkb3duQWN0aW9uc319XG4gICAgICAgIEBvbkNsaWNrUHJldmlldz17e3RoaXMuc2V0Vmlld01vZGV9fVxuICAgICAgICBAdmlld01vZGU9e3t0aGlzLnZpZXdNb2RlfX1cbiAgICAgICAgQHVpUGx1Z2lucz17e3RoaXMudG9vbGJhclBsdWdpbnN9fVxuICAgICAgICB7e2RpZEluc2VydCB0aGlzLnNldEVkaXRvclRvb2xiYXJSZWZ9fVxuICAgICAgLz5cbiAgICAgIHt7I2lmIHRoaXMuaXNQcmV2aWV3aW5nfX1cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiZXVpTWFya2Rvd25FZGl0b3JQcmV2aWV3XCJcbiAgICAgICAgICB7e2RpZEluc2VydCAoc2V0IHRoaXMgXCJwcmV2aWV3UmVmXCIpfX1cbiAgICAgICAgICB7e3N0eWxlIChoYXNoIGhlaWdodD10aGlzLnByZXZpZXdIZWlnaHQpfX1cbiAgICAgICAgPlxuICAgICAgICAgIDxFdWlNYXJrZG93bkZvcm1hdFxuICAgICAgICAgICAgQHBhcnNpbmdQbHVnaW5MaXN0PXt7dGhpcy5wYXJzaW5nUGx1Z2luTGlzdH19XG4gICAgICAgICAgICBAcHJvY2Vzc2luZ1BsdWdpbkxpc3Q9e3t0aGlzLnByb2Nlc3NpbmdQbHVnaW5MaXN0fX1cbiAgICAgICAgICAgIEB2YWx1ZT17e0B2YWx1ZX19XG4gICAgICAgICAgICBAcmVwbGFjZU5vZGU9e3t0aGlzLnJlcGxhY2VOb2RlfX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIHt7L2lmfX1cblxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cImV1aU1hcmtkb3duRWRpdG9yX190b2dnbGVDb250YWluZXJcIlxuICAgICAgICB7e3N0eWxlIGhlaWdodD10aGlzLmVkaXRvclRvZ2dsZUNvbnRhaW5lckhlaWdodH19XG4gICAgICA-XG4gICAgICAgIDxFdWlNYXJrZG93bkVkaXRvckRyb3Bab25lXG4gICAgICAgICAgQHVpUGx1Z2lucz17e3RoaXMudG9vbGJhclBsdWdpbnN9fVxuICAgICAgICAgIHt7cmVzaXplT2JzZXJ2ZXIgb25SZXNpemU9dGhpcy5vblJlc2l6ZX19XG4gICAgICAgID5cbiAgICAgICAgICA8RXVpTWFya2Rvd25FZGl0b3JUZXh0QXJlYVxuICAgICAgICAgICAge3tnZXRDdXJzb3JOb2RlTW9kaWZpZXIgdGhpcy52RmlsZSB0aGlzLnNldFNlbGVjdGVkTm9kZX19XG4gICAgICAgICAgICB7e2RpZFVwZGF0ZSB0aGlzLm9uUGFyc2UgdGhpcy5wYXJzZWR9fVxuICAgICAgICAgICAge3tkaWRJbnNlcnQgdGhpcy5zZXRUZXh0QXJlYVJlZn19XG4gICAgICAgICAgICBkaXNhYmxlZD17e0BkaXNhYmxlZH19XG4gICAgICAgICAgICBpZD17e3RoaXMuZWRpdG9ySWR9fVxuICAgICAgICAgICAgQGhlaWdodD17e3RoaXMudGV4dEFyZWFIZWlnaHR9fVxuICAgICAgICAgICAgQG1heEhlaWdodD17e3RoaXMudGV4dEFyZWFNYXhIZWlnaHR9fVxuICAgICAgICAgICAgdmFsdWU9e3tAdmFsdWV9fVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17e0BhcmlhTGFiZWx9fVxuICAgICAgICAgICAgYXJpYS1sYWJlbGxlZGJ5PXt7QGFyaWFMYWJlbGxlZEJ5fX1cbiAgICAgICAgICAgIGFyaWEtZGVzY3JpYmVkYnk9e3tAYXJpYURlc2NyaWJlZEJ5fX1cbiAgICAgICAgICAgIHt7b24gXCJpbnB1dFwiIChwaWNrIFwidGFyZ2V0LnZhbHVlXCIgQG9uQ2hhbmdlKX19XG4gICAgICAgICAgICB7e3ZhbGlkYXRhYmxlQ29udHJvbCBAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgIC4uLmF0dHJpYnV0ZXNcbiAgICAgICAgICAvPlxuICAgICAgICA8L0V1aU1hcmtkb3duRWRpdG9yRHJvcFpvbmU-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"],"names":["cached","macroCondition","dependencySatisfies","importSync","getCursorNode","textareaRef1","parsed1","selectionStart","selectionStart1","node1","result","contents","outer","children","i1","length","child1","position","start","offset","end","type","wrapper","textarea1","callback1","getCursorNodeModifier","modifier","getCursorNodeModifier1","onSelectedNode1","fn1","bind","addEventListener","removeEventListener","EuiMarkdownEditorComponent","Component","g","this","prototype","argOrDefaultDecorator","defaultParsingPlugins","i","void 0","defaultProcessingPlugins","tracked","args","editorId","guidFor","initialViewMode","MODE_EDITING","markdownActions","toolbarPlugins","MarkdownTooltipPlugin","uiPlugins","constructor","owner1","args1","MarkdownActions","currentHeight","height","previewHeight","editorFooterHeight","textAreaHeight","textAreaMaxHeight","maxHeight","editorToggleContainerHeight","editorToolbarHeight","onResize","textareaRef","isEditing","resizedTextareaHeight1","offsetHeight","update1","scheduleOnce","n","action","updateCurrentHeight","isPreviewing","isPreviewing1","autoExpandPreview","autoExpandPreview1","height1","previewRef","previewRef1","currentHeight1","scrollHeight","elementComputedStyle1","window","getComputedStyle","borderWidth1","parseFloat","borderTopWidth","borderBottomWidth","marginWidth1","marginTop","marginBottom","extraHeight1","setTextAreaRef","ref1","setEditorToolbarRef","editorToolbarRef","replaceNode","position1","next1","value1","value","leading1","substr","trailing1","onChange","viewMode","MODE_VIEWING","setViewMode","parser","Compiler1","tree1","identityCompiler1","this1","Compiler","unified","use","parsingPluginList","parsed","processSync","e1","vFile","onParse","parseError1","onParse1","messages1","messages","ast1","ast","setSelectedNode","selectedNode","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","didUpdate","EuiMarkdownEditorToolbar","didInsert","set","style","hash","EuiMarkdownFormat","EuiMarkdownEditorDropZone","resizeObserver","EuiMarkdownEditorTextArea","on","pick","validatableControl"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { macroCondition, dependencySatisfies, importSync } from '@embroider/macros';
|
|
1
2
|
import Component from '@glimmer/component';
|
|
2
|
-
import
|
|
3
|
+
import '@glimmer/tracking';
|
|
3
4
|
import { isArray } from '@ember/array';
|
|
4
5
|
import { EnsureSafeComponentHelper } from '@embroider/util';
|
|
5
6
|
import optional from 'ember-composable-helpers/helpers/optional';
|
|
@@ -12,6 +13,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
12
13
|
import { setComponentTemplate } from '@ember/component';
|
|
13
14
|
import { n } from 'decorator-transforms/runtime';
|
|
14
15
|
|
|
16
|
+
let cached = macroCondition(dependencySatisfies('ember-source', '>= 4.1.0-alpha.0')) ? importSync('@glimmer/tracking').cached : importSync('ember-cached-decorator-polyfill').cached;
|
|
15
17
|
class EuiMarkdownEditorToolbarComponent extends Component {
|
|
16
18
|
get parsingPluginList() {
|
|
17
19
|
return this.args.parsingPluginList || defaultParsingPlugins;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-format.js","sources":["../../src/components/eui-markdown-format.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { isArray } from '@ember/array';\nimport { EnsureSafeComponentHelper } from '@embroider/util';\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport unified from 'unified';\nimport { defaultParsingPlugins, defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport { toDOM } from '../utils/markdown/plugins/to-dom.ts';\nimport type { EuiMarkdownAstNodePosition, RehypeNode } from '../utils/markdown/markdown-types';\nimport type { Processor } from 'unified';\nexport type Replacer = (position: EuiMarkdownAstNodePosition, str: string) => void;\nexport interface EuiMarkdownEditorToolbarArgs {\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n replaceNode?: Replacer;\n value: string;\n //you can pass in a string or an array of strings to be added to the root element\n rootClasses?: string | string[];\n}\nexport default class EuiMarkdownEditorToolbarComponent extends Component<EuiMarkdownEditorToolbarArgs> {\n get parsingPluginList() {\n return this.args.parsingPluginList || defaultParsingPlugins;\n }\n get processingPluginList() {\n return this.args.processingPluginList || defaultProcessingPlugins;\n }\n @cached\n get processor() {\n const Compiler1 = (tree1: any)=>{\n return tree1;\n };\n function identityCompiler1(this1: Processor) {\n //eslint-disable-next-line\n this.Compiler = Compiler1;\n }\n return unified().use(this.parsingPluginList).use(this.processingPluginList).use(identityCompiler1);\n }\n get rootClasses(): string[] {\n let baseClasses1 = [\n 'euiMarkdownFormat',\n 'euiText',\n 'euiText--medium'\n ];\n if (this.args.rootClasses) {\n let rootClasses1 = isArray(this.args.rootClasses) ? this.args.rootClasses : (this.args.rootClasses as string)?.trim()?.split(' ') || [];\n baseClasses1 = baseClasses1.concat(rootClasses1);\n }\n return baseClasses1;\n }\n @cached\n get result() {\n try {\n const processed1 = this.processor.processSync(this.args.value);\n return toDOM(processed1['result'] as RehypeNode, {\n rootClasses: this.rootClasses\n });\n //eslint-disable-next-line\n } catch (e1) {\n console.warn(e1);\n }\n }\n static{\n template(`\n {{! This hbs was inspired by https://github.com/ampatspell/ember-cli-remark-static/blob/v3.0.5/addon/components/remark.hbs }}\n {{#if this.result}}\n {{this.result.element}}\n {{#each this.result.components as |CompNode|}}\n {{#in-element CompNode.element}}\n {{#if CompNode.componentName}}\n {{#let\n (component (EnsureSafeComponentHelper CompNode.componentName))\n as |DynamicComponent|\n }}\n <DynamicComponent\n @replaceNode={{optional @replaceNode}}\n @node={{CompNode}}\n />\n {{/let}}\n {{/if}}\n {{/in-element}}\n {{/each}}\n {{/if}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1mb3JtYXQuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdAZW1iZXIvYXJyYXknO1xuaW1wb3J0IHsgRW5zdXJlU2FmZUNvbXBvbmVudEhlbHBlciB9IGZyb20gJ0BlbWJyb2lkZXIvdXRpbCc7XG5cbmltcG9ydCBvcHRpb25hbCBmcm9tICdlbWJlci1jb21wb3NhYmxlLWhlbHBlcnMvaGVscGVycy9vcHRpb25hbCc7XG5pbXBvcnQgdW5pZmllZCBmcm9tICd1bmlmaWVkJztcblxuaW1wb3J0IHtcbiAgZGVmYXVsdFBhcnNpbmdQbHVnaW5zLFxuICBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnNcbn0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vcGx1Z2lucy9tYXJrZG93bi1kZWZhdWx0LXBsdWdpbnMvaW5kZXgudHMnO1xuaW1wb3J0IHsgdG9ET00gfSBmcm9tICcuLi91dGlscy9tYXJrZG93bi9wbHVnaW5zL3RvLWRvbS50cyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRXVpTWFya2Rvd25Bc3ROb2RlUG9zaXRpb24sXG4gIFJlaHlwZU5vZGV9IGZyb20gJy4uL3V0aWxzL21hcmtkb3duL21hcmtkb3duLXR5cGVzJztcbmltcG9ydCB0eXBlIHsgUHJvY2Vzc29yIH0gZnJvbSAndW5pZmllZCc7XG5cbmV4cG9ydCB0eXBlIFJlcGxhY2VyID0gKFxuICBwb3NpdGlvbjogRXVpTWFya2Rvd25Bc3ROb2RlUG9zaXRpb24sXG4gIHN0cjogc3RyaW5nXG4pID0-IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyQXJncyB7XG4gIHBhcnNpbmdQbHVnaW5MaXN0PzogdHlwZW9mIGRlZmF1bHRQYXJzaW5nUGx1Z2lucztcbiAgcHJvY2Vzc2luZ1BsdWdpbkxpc3Q_OiB0eXBlb2YgZGVmYXVsdFByb2Nlc3NpbmdQbHVnaW5zO1xuICByZXBsYWNlTm9kZT86IFJlcGxhY2VyO1xuICB2YWx1ZTogc3RyaW5nO1xuICAvL3lvdSBjYW4gcGFzcyBpbiBhIHN0cmluZyBvciBhbiBhcnJheSBvZiBzdHJpbmdzIHRvIGJlIGFkZGVkIHRvIHRoZSByb290IGVsZW1lbnRcbiAgcm9vdENsYXNzZXM_OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhckFyZ3M-IHtcbiAgZ2V0IHBhcnNpbmdQbHVnaW5MaXN0KCkge1xuICAgIHJldHVybiB0aGlzLmFyZ3MucGFyc2luZ1BsdWdpbkxpc3QgfHwgZGVmYXVsdFBhcnNpbmdQbHVnaW5zO1xuICB9XG5cbiAgZ2V0IHByb2Nlc3NpbmdQbHVnaW5MaXN0KCkge1xuICAgIHJldHVybiB0aGlzLmFyZ3MucHJvY2Vzc2luZ1BsdWdpbkxpc3QgfHwgZGVmYXVsdFByb2Nlc3NpbmdQbHVnaW5zO1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcHJvY2Vzc29yKCkge1xuICAgIGNvbnN0IENvbXBpbGVyID0gKHRyZWU6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHRyZWU7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGlkZW50aXR5Q29tcGlsZXIodGhpczogUHJvY2Vzc29yKSB7XG4gICAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgdGhpcy5Db21waWxlciA9IENvbXBpbGVyO1xuICAgIH1cblxuICAgIHJldHVybiB1bmlmaWVkKClcbiAgICAgIC51c2UodGhpcy5wYXJzaW5nUGx1Z2luTGlzdClcbiAgICAgIC51c2UodGhpcy5wcm9jZXNzaW5nUGx1Z2luTGlzdClcbiAgICAgIC51c2UoaWRlbnRpdHlDb21waWxlcik7XG4gIH1cblxuICBnZXQgcm9vdENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIGxldCBiYXNlQ2xhc3NlcyA9IFsnZXVpTWFya2Rvd25Gb3JtYXQnLCAnZXVpVGV4dCcsICdldWlUZXh0LS1tZWRpdW0nXTtcblxuICAgIGlmICh0aGlzLmFyZ3Mucm9vdENsYXNzZXMpIHtcbiAgICAgIGxldCByb290Q2xhc3NlcyA9IGlzQXJyYXkodGhpcy5hcmdzLnJvb3RDbGFzc2VzKVxuICAgICAgICA_IHRoaXMuYXJncy5yb290Q2xhc3Nlc1xuICAgICAgICA6ICh0aGlzLmFyZ3Mucm9vdENsYXNzZXMgYXMgc3RyaW5nKT8udHJpbSgpPy5zcGxpdCgnICcpIHx8IFtdO1xuXG4gICAgICBiYXNlQ2xhc3NlcyA9IGJhc2VDbGFzc2VzLmNvbmNhdChyb290Q2xhc3Nlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2VDbGFzc2VzO1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcmVzdWx0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWQgPSB0aGlzLnByb2Nlc3Nvci5wcm9jZXNzU3luYyh0aGlzLmFyZ3MudmFsdWUpO1xuXG4gICAgICByZXR1cm4gdG9ET00ocHJvY2Vzc2VkWydyZXN1bHQnXSBhcyBSZWh5cGVOb2RlLCB7XG4gICAgICAgIHJvb3RDbGFzc2VzOiB0aGlzLnJvb3RDbGFzc2VzXG4gICAgICB9KTtcbiAgICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKGUpO1xuICAgIH1cbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICB7eyEgVGhpcyBoYnMgd2FzIGluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9hbXBhdHNwZWxsL2VtYmVyLWNsaS1yZW1hcmstc3RhdGljL2Jsb2IvdjMuMC41L2FkZG9uL2NvbXBvbmVudHMvcmVtYXJrLmhicyB9fVxuICAgIHt7I2lmIHRoaXMucmVzdWx0fX1cbiAgICAgIHt7dGhpcy5yZXN1bHQuZWxlbWVudH19XG4gICAgICB7eyNlYWNoIHRoaXMucmVzdWx0LmNvbXBvbmVudHMgYXMgfENvbXBOb2RlfH19XG4gICAgICAgIHt7I2luLWVsZW1lbnQgQ29tcE5vZGUuZWxlbWVudH19XG4gICAgICAgICAge3sjaWYgQ29tcE5vZGUuY29tcG9uZW50TmFtZX19XG4gICAgICAgICAgICB7eyNsZXRcbiAgICAgICAgICAgICAgKGNvbXBvbmVudCAoRW5zdXJlU2FmZUNvbXBvbmVudEhlbHBlciBDb21wTm9kZS5jb21wb25lbnROYW1lKSlcbiAgICAgICAgICAgICAgYXMgfER5bmFtaWNDb21wb25lbnR8XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8RHluYW1pY0NvbXBvbmVudFxuICAgICAgICAgICAgICAgIEByZXBsYWNlTm9kZT17e29wdGlvbmFsIEByZXBsYWNlTm9kZX19XG4gICAgICAgICAgICAgICAgQG5vZGU9e3tDb21wTm9kZX19XG4gICAgICAgICAgICAgIC8-XG4gICAgICAgICAgICB7ey9sZXR9fVxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAge3svaW4tZWxlbWVudH19XG4gICAgICB7ey9lYWNofX1cbiAgICB7ey9pZn19XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxNQUFNLFFBQVEsb0JBQW9CO0FBQzNDLFNBQVMsT0FBTyxRQUFRLGVBQWU7QUFDdkMsU0FBUyx5QkFBeUIsUUFBUSxrQkFBa0I7QUFFNUQsT0FBTyxjQUFjLDRDQUE0QztBQUNqRSxPQUFPLGFBQWEsVUFBVTtBQUU5QixTQUNFLHFCQUFxQixFQUNyQix3QkFBd0IsUUFDbkIsOERBQThEO0FBQ3JFLFNBQVMsS0FBSyxRQUFRLHNDQUFzQztBQUU1RCxjQUNFLDBCQUEwQixFQUMxQixVQUFVLFFBQU8sbUNBQW1DO0FBQ3RELGNBQWMsU0FBUyxRQUFRLFVBQVU7QUFFekMsWUFBWSxZQUNWLFVBQVUsNEJBQ1YsS0FBSyxNQUFNLEtBQ1IsSUFBSTtBQUVULGlCQUFpQjtJQUNmLDJCQUEyQjtJQUMzQiw4QkFBOEI7SUFDOUIsY0FBYztJQUNkLE9BQU8sTUFBTTtJQUNiLGlGQUFpRjtJQUNqRixjQUFjLE1BQU0sR0FBRyxNQUFNOztBQUcvQixlQUFlLE1BQU0sMENBQTBDLFVBQVU7SUFDdkUsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJO0lBQ3hDO0lBRUEsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJO0lBQzNDO0lBRUEsQ0FBQztJQUFNLElBQ0gsWUFBWTtRQUNkLE1BQU0sWUFBVyxDQUFDLE9BQU0sR0FBRztZQUN6QixPQUFPO1FBQ1Q7UUFFQSxTQUFTLGtCQUFpQixPQUFNLFNBQVM7WUFDdkMsMEJBQTBCO1lBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUc7UUFDbEI7UUFFQSxPQUFPLFVBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFDMUIsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFDN0IsR0FBRyxDQUFDO0lBQ1Q7SUFFQSxJQUFJLGVBQWUsTUFBTSxHQUFHO1FBQzFCLElBQUksZUFBYztZQUFDO1lBQXFCO1lBQVc7U0FBa0I7UUFFckUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QixJQUFJLGVBQWMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQ3JCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxHQUFHLFFBQVEsTUFBTSxRQUFRLEVBQUU7WUFFL0QsZUFBYyxhQUFZLE1BQU0sQ0FBQztRQUNuQztRQUVBLE9BQU87SUFDVDtJQUVBLENBQUM7SUFBTSxJQUNILFNBQVM7UUFDWCxJQUFJO1lBQ0YsTUFBTSxhQUFZLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUU1RCxPQUFPLE1BQU0sVUFBUyxDQUFDLFNBQVMsSUFBSSxZQUFZO2dCQUM5QyxhQUFhLElBQUksQ0FBQyxXQUFXO1lBQy9CO1FBQ0EsMEJBQTBCO1FBQzVCLEVBQUUsT0FBTyxJQUFHO1lBQ1YsUUFBUSxJQUFJLENBQUM7UUFDZjtJQUNGO0lBRUEsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFvQlYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBcEJBO0FBcUJaIn0"],"names":["EuiMarkdownEditorToolbarComponent","Component","parsingPluginList","args","defaultParsingPlugins","processingPluginList","defaultProcessingPlugins","processor","Compiler1","tree1","identityCompiler1","this1","Compiler","unified","use","n","this","prototype","cached","rootClasses","baseClasses1","rootClasses1","isArray","trim","split","concat","result","processed1","processSync","value","toDOM","e1","console","warn","setComponentTemplate","precompileTemplate","strictMode","scope","EnsureSafeComponentHelper","optional"],"mappings":";;;;;;;;;;;;;;AAiCe,MAAMA,iCAAA,SAA0CC,SAAA,CAAU;AACvE,EAAA,IAAIC,oBAAoB;AACtB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,iBAAiB,IAAIE,qBAAA,CAAA;AACxC,GAAA;AAEA,EAAA,IAAIC,uBAAuB;AACzB,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,oBAAoB,IAAIC,wBAAA,CAAA;AAC3C,GAAA;AAEA,EAAA,IACIC,YAAY;IACd,MAAMC,SAAA,GAAYC,KAAS,IAAA;AACzB,MAAA,OAAOA,KAAA,CAAA;AACT,KAAA,CAAA;AAEA,IAAA,SAASC,kBAAiBC,KAAe,EAAA;AACvC;MACA,IAAI,CAACC,QAAQ,GAAGJ,SAAA,CAAA;AAClB,KAAA;AAEA,IAAA,OAAOK,OAAA,EACJC,CAAAA,GAAG,CAAC,IAAI,CAACZ,iBAAiB,CAAA,CAC1BY,GAAG,CAAC,IAAI,CAACT,oBAAoB,CAC7BS,CAAAA,GAAG,CAACJ,iBAAA,CAAA,CAAA;AACT,GAAA;AAAA,EAAA;AAAAK,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,gBAfCC,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAiBD,EAAA,IAAIC,cAAwB;AAC1B,IAAA,IAAIC,YAAA,GAAc,CAAC,mBAAA,EAAqB,WAAW,iBAAkB,CAAA,CAAA;AAErE,IAAA,IAAI,IAAI,CAACjB,IAAI,CAACgB,WAAW,EAAE;MACzB,IAAIE,YAAA,GAAcC,OAAA,CAAQ,IAAI,CAACnB,IAAI,CAACgB,WAAW,CAC3C,GAAA,IAAI,CAAChB,IAAI,CAACgB,WAAW,GACpB,IAAI,CAAChB,IAAI,CAACgB,WAAW,EAAaI,IAAA,EAAQC,EAAAA,KAAA,CAAM,GAAA,CAAA,IAAQ,EAAE,CAAA;AAE/DJ,MAAAA,YAAA,GAAcA,YAAA,CAAYK,MAAM,CAACJ,YAAA,CAAA,CAAA;AACnC,KAAA;AAEA,IAAA,OAAOD,YAAA,CAAA;AACT,GAAA;AAEA,EAAA,IACIM,SAAS;IACX,IAAI;AACF,MAAA,MAAMC,UAAA,GAAY,IAAI,CAACpB,SAAS,CAACqB,WAAW,CAAC,IAAI,CAACzB,IAAI,CAAC0B,KAAK,CAAA,CAAA;AAE5D,MAAA,OAAOC,KAAA,CAAMH,UAAS,CAAC,SAAS,EAAgB;QAC9CR,WAAA,EAAa,IAAI,CAACA,WAAAA;AACpB,OAAA,CAAA,CAAA;AACA;KACA,CAAA,OAAOY,EAAA,EAAG;MACVC,OAAA,CAAQC,IAAI,CAACF,EAAA,CAAA,CAAA;AACf,KAAA;AACF,GAAA;AAAA,EAAA;AAAAhB,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,aAZCC,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAcD,EAAA;IAAAgB,oBAAA,CAAAC,kBAAA,CAoBA,wnBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,yBAAA;AAAAC,QAAAA,QAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-markdown-format.js","sources":["../../src/components/eui-markdown-format.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached } from '@glimmer/tracking';\nimport { isArray } from '@ember/array';\nimport { EnsureSafeComponentHelper } from '@embroider/util';\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport unified from 'unified';\nimport { defaultParsingPlugins, defaultProcessingPlugins } from '../utils/markdown/plugins/markdown-default-plugins/index.ts';\nimport { toDOM } from '../utils/markdown/plugins/to-dom.ts';\nimport type { EuiMarkdownAstNodePosition, RehypeNode } from '../utils/markdown/markdown-types';\nimport type { Processor } from 'unified';\nexport type Replacer = (position: EuiMarkdownAstNodePosition, str: string) => void;\nexport interface EuiMarkdownEditorToolbarArgs {\n parsingPluginList?: typeof defaultParsingPlugins;\n processingPluginList?: typeof defaultProcessingPlugins;\n replaceNode?: Replacer;\n value: string;\n //you can pass in a string or an array of strings to be added to the root element\n rootClasses?: string | string[];\n}\nexport default class EuiMarkdownEditorToolbarComponent extends Component<EuiMarkdownEditorToolbarArgs> {\n get parsingPluginList() {\n return this.args.parsingPluginList || defaultParsingPlugins;\n }\n get processingPluginList() {\n return this.args.processingPluginList || defaultProcessingPlugins;\n }\n @cached\n get processor() {\n const Compiler1 = (tree1: any)=>{\n return tree1;\n };\n function identityCompiler1(this1: Processor) {\n //eslint-disable-next-line\n this.Compiler = Compiler1;\n }\n return unified().use(this.parsingPluginList).use(this.processingPluginList).use(identityCompiler1);\n }\n get rootClasses(): string[] {\n let baseClasses1 = [\n 'euiMarkdownFormat',\n 'euiText',\n 'euiText--medium'\n ];\n if (this.args.rootClasses) {\n let rootClasses1 = isArray(this.args.rootClasses) ? this.args.rootClasses : (this.args.rootClasses as string)?.trim()?.split(' ') || [];\n baseClasses1 = baseClasses1.concat(rootClasses1);\n }\n return baseClasses1;\n }\n @cached\n get result() {\n try {\n const processed1 = this.processor.processSync(this.args.value);\n return toDOM(processed1['result'] as RehypeNode, {\n rootClasses: this.rootClasses\n });\n //eslint-disable-next-line\n } catch (e1) {\n console.warn(e1);\n }\n }\n static{\n template(`\n {{! This hbs was inspired by https://github.com/ampatspell/ember-cli-remark-static/blob/v3.0.5/addon/components/remark.hbs }}\n {{#if this.result}}\n {{this.result.element}}\n {{#each this.result.components as |CompNode|}}\n {{#in-element CompNode.element}}\n {{#if CompNode.componentName}}\n {{#let\n (component (EnsureSafeComponentHelper CompNode.componentName))\n as |DynamicComponent|\n }}\n <DynamicComponent\n @replaceNode={{optional @replaceNode}}\n @node={{CompNode}}\n />\n {{/let}}\n {{/if}}\n {{/in-element}}\n {{/each}}\n {{/if}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1tYXJrZG93bi1mb3JtYXQuZ3RzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDb21wb25lbnQgZnJvbSAnQGdsaW1tZXIvY29tcG9uZW50JztcbmltcG9ydCB7IGNhY2hlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGlzQXJyYXkgfSBmcm9tICdAZW1iZXIvYXJyYXknO1xuaW1wb3J0IHsgRW5zdXJlU2FmZUNvbXBvbmVudEhlbHBlciB9IGZyb20gJ0BlbWJyb2lkZXIvdXRpbCc7XG5cbmltcG9ydCBvcHRpb25hbCBmcm9tICdlbWJlci1jb21wb3NhYmxlLWhlbHBlcnMvaGVscGVycy9vcHRpb25hbCc7XG5pbXBvcnQgdW5pZmllZCBmcm9tICd1bmlmaWVkJztcblxuaW1wb3J0IHtcbiAgZGVmYXVsdFBhcnNpbmdQbHVnaW5zLFxuICBkZWZhdWx0UHJvY2Vzc2luZ1BsdWdpbnNcbn0gZnJvbSAnLi4vdXRpbHMvbWFya2Rvd24vcGx1Z2lucy9tYXJrZG93bi1kZWZhdWx0LXBsdWdpbnMvaW5kZXgudHMnO1xuaW1wb3J0IHsgdG9ET00gfSBmcm9tICcuLi91dGlscy9tYXJrZG93bi9wbHVnaW5zL3RvLWRvbS50cyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRXVpTWFya2Rvd25Bc3ROb2RlUG9zaXRpb24sXG4gIFJlaHlwZU5vZGV9IGZyb20gJy4uL3V0aWxzL21hcmtkb3duL21hcmtkb3duLXR5cGVzJztcbmltcG9ydCB0eXBlIHsgUHJvY2Vzc29yIH0gZnJvbSAndW5pZmllZCc7XG5cbmV4cG9ydCB0eXBlIFJlcGxhY2VyID0gKFxuICBwb3NpdGlvbjogRXVpTWFya2Rvd25Bc3ROb2RlUG9zaXRpb24sXG4gIHN0cjogc3RyaW5nXG4pID0-IHZvaWQ7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyQXJncyB7XG4gIHBhcnNpbmdQbHVnaW5MaXN0PzogdHlwZW9mIGRlZmF1bHRQYXJzaW5nUGx1Z2lucztcbiAgcHJvY2Vzc2luZ1BsdWdpbkxpc3Q_OiB0eXBlb2YgZGVmYXVsdFByb2Nlc3NpbmdQbHVnaW5zO1xuICByZXBsYWNlTm9kZT86IFJlcGxhY2VyO1xuICB2YWx1ZTogc3RyaW5nO1xuICAvL3lvdSBjYW4gcGFzcyBpbiBhIHN0cmluZyBvciBhbiBhcnJheSBvZiBzdHJpbmdzIHRvIGJlIGFkZGVkIHRvIHRoZSByb290IGVsZW1lbnRcbiAgcm9vdENsYXNzZXM_OiBzdHJpbmcgfCBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXVpTWFya2Rvd25FZGl0b3JUb29sYmFyQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PEV1aU1hcmtkb3duRWRpdG9yVG9vbGJhckFyZ3M-IHtcbiAgZ2V0IHBhcnNpbmdQbHVnaW5MaXN0KCkge1xuICAgIHJldHVybiB0aGlzLmFyZ3MucGFyc2luZ1BsdWdpbkxpc3QgfHwgZGVmYXVsdFBhcnNpbmdQbHVnaW5zO1xuICB9XG5cbiAgZ2V0IHByb2Nlc3NpbmdQbHVnaW5MaXN0KCkge1xuICAgIHJldHVybiB0aGlzLmFyZ3MucHJvY2Vzc2luZ1BsdWdpbkxpc3QgfHwgZGVmYXVsdFByb2Nlc3NpbmdQbHVnaW5zO1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcHJvY2Vzc29yKCkge1xuICAgIGNvbnN0IENvbXBpbGVyID0gKHRyZWU6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHRyZWU7XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGlkZW50aXR5Q29tcGlsZXIodGhpczogUHJvY2Vzc29yKSB7XG4gICAgICAvL2VzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgICAgdGhpcy5Db21waWxlciA9IENvbXBpbGVyO1xuICAgIH1cblxuICAgIHJldHVybiB1bmlmaWVkKClcbiAgICAgIC51c2UodGhpcy5wYXJzaW5nUGx1Z2luTGlzdClcbiAgICAgIC51c2UodGhpcy5wcm9jZXNzaW5nUGx1Z2luTGlzdClcbiAgICAgIC51c2UoaWRlbnRpdHlDb21waWxlcik7XG4gIH1cblxuICBnZXQgcm9vdENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIGxldCBiYXNlQ2xhc3NlcyA9IFsnZXVpTWFya2Rvd25Gb3JtYXQnLCAnZXVpVGV4dCcsICdldWlUZXh0LS1tZWRpdW0nXTtcblxuICAgIGlmICh0aGlzLmFyZ3Mucm9vdENsYXNzZXMpIHtcbiAgICAgIGxldCByb290Q2xhc3NlcyA9IGlzQXJyYXkodGhpcy5hcmdzLnJvb3RDbGFzc2VzKVxuICAgICAgICA_IHRoaXMuYXJncy5yb290Q2xhc3Nlc1xuICAgICAgICA6ICh0aGlzLmFyZ3Mucm9vdENsYXNzZXMgYXMgc3RyaW5nKT8udHJpbSgpPy5zcGxpdCgnICcpIHx8IFtdO1xuXG4gICAgICBiYXNlQ2xhc3NlcyA9IGJhc2VDbGFzc2VzLmNvbmNhdChyb290Q2xhc3Nlcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2VDbGFzc2VzO1xuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgcmVzdWx0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWQgPSB0aGlzLnByb2Nlc3Nvci5wcm9jZXNzU3luYyh0aGlzLmFyZ3MudmFsdWUpO1xuXG4gICAgICByZXR1cm4gdG9ET00ocHJvY2Vzc2VkWydyZXN1bHQnXSBhcyBSZWh5cGVOb2RlLCB7XG4gICAgICAgIHJvb3RDbGFzc2VzOiB0aGlzLnJvb3RDbGFzc2VzXG4gICAgICB9KTtcbiAgICAgIC8vZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKGUpO1xuICAgIH1cbiAgfVxuXG4gIDx0ZW1wbGF0ZT5cbiAgICB7eyEgVGhpcyBoYnMgd2FzIGluc3BpcmVkIGJ5IGh0dHBzOi8vZ2l0aHViLmNvbS9hbXBhdHNwZWxsL2VtYmVyLWNsaS1yZW1hcmstc3RhdGljL2Jsb2IvdjMuMC41L2FkZG9uL2NvbXBvbmVudHMvcmVtYXJrLmhicyB9fVxuICAgIHt7I2lmIHRoaXMucmVzdWx0fX1cbiAgICAgIHt7dGhpcy5yZXN1bHQuZWxlbWVudH19XG4gICAgICB7eyNlYWNoIHRoaXMucmVzdWx0LmNvbXBvbmVudHMgYXMgfENvbXBOb2RlfH19XG4gICAgICAgIHt7I2luLWVsZW1lbnQgQ29tcE5vZGUuZWxlbWVudH19XG4gICAgICAgICAge3sjaWYgQ29tcE5vZGUuY29tcG9uZW50TmFtZX19XG4gICAgICAgICAgICB7eyNsZXRcbiAgICAgICAgICAgICAgKGNvbXBvbmVudCAoRW5zdXJlU2FmZUNvbXBvbmVudEhlbHBlciBDb21wTm9kZS5jb21wb25lbnROYW1lKSlcbiAgICAgICAgICAgICAgYXMgfER5bmFtaWNDb21wb25lbnR8XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA8RHluYW1pY0NvbXBvbmVudFxuICAgICAgICAgICAgICAgIEByZXBsYWNlTm9kZT17e29wdGlvbmFsIEByZXBsYWNlTm9kZX19XG4gICAgICAgICAgICAgICAgQG5vZGU9e3tDb21wTm9kZX19XG4gICAgICAgICAgICAgIC8-XG4gICAgICAgICAgICB7ey9sZXR9fVxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAge3svaW4tZWxlbWVudH19XG4gICAgICB7ey9lYWNofX1cbiAgICB7ey9pZn19XG4gIDwvdGVtcGxhdGU-XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sZUFBZSxxQkFBcUI7QUFDM0MsU0FBUyxNQUFNLFFBQVEsb0JBQW9CO0FBQzNDLFNBQVMsT0FBTyxRQUFRLGVBQWU7QUFDdkMsU0FBUyx5QkFBeUIsUUFBUSxrQkFBa0I7QUFFNUQsT0FBTyxjQUFjLDRDQUE0QztBQUNqRSxPQUFPLGFBQWEsVUFBVTtBQUU5QixTQUNFLHFCQUFxQixFQUNyQix3QkFBd0IsUUFDbkIsOERBQThEO0FBQ3JFLFNBQVMsS0FBSyxRQUFRLHNDQUFzQztBQUU1RCxjQUNFLDBCQUEwQixFQUMxQixVQUFVLFFBQU8sbUNBQW1DO0FBQ3RELGNBQWMsU0FBUyxRQUFRLFVBQVU7QUFFekMsWUFBWSxZQUNWLFVBQVUsNEJBQ1YsS0FBSyxNQUFNLEtBQ1IsSUFBSTtBQUVULGlCQUFpQjtJQUNmLDJCQUEyQjtJQUMzQiw4QkFBOEI7SUFDOUIsY0FBYztJQUNkLE9BQU8sTUFBTTtJQUNiLGlGQUFpRjtJQUNqRixjQUFjLE1BQU0sR0FBRyxNQUFNOztBQUcvQixlQUFlLE1BQU0sMENBQTBDLFVBQVU7SUFDdkUsSUFBSSxvQkFBb0I7UUFDdEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixJQUFJO0lBQ3hDO0lBRUEsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixJQUFJO0lBQzNDO0lBRUEsQ0FBQztJQUFNLElBQ0gsWUFBWTtRQUNkLE1BQU0sWUFBVyxDQUFDLE9BQU0sR0FBRztZQUN6QixPQUFPO1FBQ1Q7UUFFQSxTQUFTLGtCQUFpQixPQUFNLFNBQVM7WUFDdkMsMEJBQTBCO1lBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUc7UUFDbEI7UUFFQSxPQUFPLFVBQ0osR0FBRyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFDMUIsR0FBRyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFDN0IsR0FBRyxDQUFDO0lBQ1Q7SUFFQSxJQUFJLGVBQWUsTUFBTSxHQUFHO1FBQzFCLElBQUksZUFBYztZQUFDO1lBQXFCO1lBQVc7U0FBa0I7UUFFckUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QixJQUFJLGVBQWMsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsSUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEdBQ3JCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksTUFBTSxHQUFHLFFBQVEsTUFBTSxRQUFRLEVBQUU7WUFFL0QsZUFBYyxhQUFZLE1BQU0sQ0FBQztRQUNuQztRQUVBLE9BQU87SUFDVDtJQUVBLENBQUM7SUFBTSxJQUNILFNBQVM7UUFDWCxJQUFJO1lBQ0YsTUFBTSxhQUFZLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSztZQUU1RCxPQUFPLE1BQU0sVUFBUyxDQUFDLFNBQVMsSUFBSSxZQUFZO2dCQUM5QyxhQUFhLElBQUksQ0FBQyxXQUFXO1lBQy9CO1FBQ0EsMEJBQTBCO1FBQzVCLEVBQUUsT0FBTyxJQUFHO1lBQ1YsUUFBUSxJQUFJLENBQUM7UUFDZjtJQUNGO0lBRUEsTUFBQTtRQUFBLFNBQVUsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFvQlYsQ0FBQSxFQUFBO1lBQUEsV0FBQSxJQUFXO1lBQVg7Z0JBQUEsT0FBQSxLQUFBLFNBQUEsQ0FBQSxFQUFXO1lBQUQ7UUFBQTtJQUFBLENBcEJBO0FBcUJaIn0"],"names":["cached","macroCondition","dependencySatisfies","importSync","EuiMarkdownEditorToolbarComponent","Component","parsingPluginList","args","defaultParsingPlugins","processingPluginList","defaultProcessingPlugins","processor","Compiler1","tree1","identityCompiler1","this1","Compiler","unified","use","n","this","prototype","rootClasses","baseClasses1","rootClasses1","isArray","trim","split","concat","result","processed1","processSync","value","toDOM","e1","console","warn","setComponentTemplate","precompileTemplate","strictMode","scope","EnsureSafeComponentHelper","optional"],"mappings":";;;;;;;;;;;;;;;AAC2C,IAAAA,MAAA,GAAAC,cAAA,CAAAC,mBAAA,CAAA,cAAA,EAAA,kBAAA,CAAA,CAAA,GAAAC,UAAA,CAAA,mBAAA,CAAA,CAAAH,MAAA,GAAAG,UAAA,CAAA,iCAAA,CAAA,CAAAH,MAAA,CAAA;AAgC5B,MAAMI,iCAAA,SAA0CC,SAAA,CAAU;AACvE,EAAA,IAAIC,oBAAoB;AACtB,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,iBAAiB,IAAIE,qBAAA,CAAA;AACxC,GAAA;AAEA,EAAA,IAAIC,uBAAuB;AACzB,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,oBAAoB,IAAIC,wBAAA,CAAA;AAC3C,GAAA;AAEA,EAAA,IACIC,YAAY;IACd,MAAMC,SAAA,GAAYC,KAAS,IAAA;AACzB,MAAA,OAAOA,KAAA,CAAA;AACT,KAAA,CAAA;AAEA,IAAA,SAASC,kBAAiBC,KAAe,EAAA;AACvC;MACA,IAAI,CAACC,QAAQ,GAAGJ,SAAA,CAAA;AAClB,KAAA;AAEA,IAAA,OAAOK,OAAA,EACJC,CAAAA,GAAG,CAAC,IAAI,CAACZ,iBAAiB,CAAA,CAC1BY,GAAG,CAAC,IAAI,CAACT,oBAAoB,CAC7BS,CAAAA,GAAG,CAACJ,iBAAA,CAAA,CAAA;AACT,GAAA;AAAA,EAAA;AAAAK,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,gBAfCrB,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAiBD,EAAA,IAAIsB,cAAwB;AAC1B,IAAA,IAAIC,YAAA,GAAc,CAAC,mBAAA,EAAqB,WAAW,iBAAkB,CAAA,CAAA;AAErE,IAAA,IAAI,IAAI,CAAChB,IAAI,CAACe,WAAW,EAAE;MACzB,IAAIE,YAAA,GAAcC,OAAA,CAAQ,IAAI,CAAClB,IAAI,CAACe,WAAW,CAC3C,GAAA,IAAI,CAACf,IAAI,CAACe,WAAW,GACpB,IAAI,CAACf,IAAI,CAACe,WAAW,EAAaI,IAAA,EAAQC,EAAAA,KAAA,CAAM,GAAA,CAAA,IAAQ,EAAE,CAAA;AAE/DJ,MAAAA,YAAA,GAAcA,YAAA,CAAYK,MAAM,CAACJ,YAAA,CAAA,CAAA;AACnC,KAAA;AAEA,IAAA,OAAOD,YAAA,CAAA;AACT,GAAA;AAEA,EAAA,IACIM,SAAS;IACX,IAAI;AACF,MAAA,MAAMC,UAAA,GAAY,IAAI,CAACnB,SAAS,CAACoB,WAAW,CAAC,IAAI,CAACxB,IAAI,CAACyB,KAAK,CAAA,CAAA;AAE5D,MAAA,OAAOC,KAAA,CAAMH,UAAS,CAAC,SAAS,EAAgB;QAC9CR,WAAA,EAAa,IAAI,CAACA,WAAAA;AACpB,OAAA,CAAA,CAAA;AACA;KACA,CAAA,OAAOY,EAAA,EAAG;MACVC,OAAA,CAAQC,IAAI,CAACF,EAAA,CAAA,CAAA;AACf,KAAA;AACF,GAAA;AAAA,EAAA;AAAAf,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,aAZCrB,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAcD,EAAA;IAAAqC,oBAAA,CAAAC,kBAAA,CAoBA,wnBAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,yBAAA;AAAAC,QAAAA,QAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { macroCondition, dependencySatisfies, importSync } from '@embroider/macros';
|
|
1
2
|
import Component from '@glimmer/component';
|
|
2
|
-
import { tracked
|
|
3
|
+
import { tracked } from '@glimmer/tracking';
|
|
3
4
|
import { on } from '@ember/modifier';
|
|
4
5
|
import { action } from '@ember/object';
|
|
5
6
|
import { guidFor } from '@ember/object/internals';
|
|
@@ -18,6 +19,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
18
19
|
import { setComponentTemplate } from '@ember/component';
|
|
19
20
|
import { g, i, n } from 'decorator-transforms/runtime';
|
|
20
21
|
|
|
22
|
+
let cached = macroCondition(dependencySatisfies('ember-source', '>= 4.1.0-alpha.0')) ? importSync('@glimmer/tracking').cached : importSync('ember-cached-decorator-polyfill').cached;
|
|
21
23
|
const delayToMsMap = {
|
|
22
24
|
regular: 250,
|
|
23
25
|
long: 250 * 5
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-tool-tip.js","sources":["../../src/components/eui-tool-tip.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-insert';\nimport { cancel, later, next, scheduleOnce } from '@ember/runloop';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, or } from 'ember-truth-helpers';\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport { keys } from '../utils/keys.ts';\nimport { findPopoverPosition } from '../utils/popover/index.ts';\nimport EuiPortal from './eui-portal.gts';\nimport EuiToolTipPopover from './eui-tool-tip-popover.gts';\nimport type { EuiTooltipPopoverSignature } from './eui-tool-tip-popover';\nexport type ToolTipPositions = 'top' | 'right' | 'bottom' | 'left';\nexport type ToolTipDelay = 'regular' | 'long';\nconst delayToMsMap: {\n [key in ToolTipDelay]: number;\n} = {\n regular: 250,\n long: 250 * 5\n};\ninterface ToolTipStyles {\n top: string;\n left: string | 'auto';\n right?: string | 'auto';\n opacity?: string;\n visibility?: 'hidden';\n display?: 'inlineBlock';\n}\nconst displayToClassNameMap = {\n inlineBlock: undefined,\n block: 'euiToolTipAnchor--displayBlock'\n};\nconst DEFAULT_TOOLTIP_STYLES: ToolTipStyles = {\n // position the tooltip content near the top-left\n // corner of the window so it can't create scrollbars\n // 50,50 because who knows what negative margins, padding, etc\n top: '50px',\n left: '50px',\n // just in case, avoid any potential flicker by hiding\n // the tooltip before it is positioned\n opacity: '0',\n // prevent accidental mouse interaction while positioning\n visibility: 'hidden',\n display: 'inlineBlock'\n};\nexport type EuiTooltipArgs = {\n /**\n * Passes onto the the trigger.\n */ anchorClassName?: string;\n /**\n * Passes onto the tooltip itself, not the trigger.\n */ className?: string;\n /**\n * The main content of your tooltip.\n */ content?: string;\n /**\n * Common display alternatives for the anchor wrapper\n */ display?: keyof typeof displayToClassNameMap;\n /**\n * Delay before showing tooltip. Good for repeatable items.\n */ delay?: ToolTipDelay;\n /**\n * An optional title for your tooltip.\n */ title?: string;\n /**\n * Unless you provide one, this will be randomly generated.\n */ id?: string;\n /**\n * Suggested position. If there is not enough room for it this will be changed.\n */ position?: ToolTipPositions;\n attachTo?: undefined | HTMLElement | string | null;\n isShown?: boolean | undefined;\n /**\n * If supplied, called when mouse movement causes the tool tip to be\n * hidden.\n */ onMouseOut?: (event: MouseEvent) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n hasTitle?: boolean;\n};\nexport interface EuiToolTipSignature {\n Element: EuiTooltipPopoverSignature['Element'];\n Args: EuiTooltipArgs;\n Blocks: {\n default?: [id: string];\n title?: [];\n content?: [];\n anchor?: [id: string];\n };\n}\nexport default class EuiToolTip extends Component<EuiToolTipSignature> {\n anchor: null | HTMLElement = null;\n popover: null | HTMLElement = null;\n @argOrDefaultDecorator('top')\n position: ToolTipPositions;\n @argOrDefaultDecorator('regular')\n delay: ToolTipDelay;\n //STATE\n @tracked\n visible = false;\n @tracked\n hasFocus = false;\n @tracked\n calculatedPosition: ToolTipPositions = this.position;\n @tracked\n toolTipStyles: ToolTipStyles = DEFAULT_TOOLTIP_STYLES;\n @tracked\n arrowStyles: {\n left?: string;\n top?: string;\n } = {};\n @tracked\n id: string = this.args.id || guidFor({});\n @tracked\n _attachTo: undefined | HTMLElement | string | null = null;\n private timeoutId?: ReturnType<typeof later>;\n @action\n updateAttachTo(): void {\n if (!this.args.attachTo && this._attachTo) {\n this.removeAttachToHandlers();\n this._attachTo = null;\n return;\n }\n if (this.args.attachTo && this.args.attachTo !== this._attachTo) {\n next(()=>{\n this.removeAttachToHandlers();\n this._attachTo = this.args.attachTo;\n this.setupAttachToHandlers();\n });\n }\n }\n @action\n setupAttachToHandlers(): void {\n if (this._attachTo && this.attachTo) {\n this.attachTo.addEventListener('mousemove', this.showToolTip);\n this.attachTo.addEventListener('focusin', this.onFocus);\n //@ts-expect-error\n this.attachTo.addEventListener('mouseout', this.onMouseOut);\n this.attachTo.addEventListener('focusout', this.onBlur);\n this.positionToolTip();\n }\n }\n @action\n removeAttachToHandlers(): void {\n if (this._attachTo && this.attachTo) {\n this.attachTo.removeEventListener('mousemove', this.showToolTip);\n this.attachTo.removeEventListener('focusin', this.onFocus);\n //@ts-expect-error\n this.attachTo.removeEventListener('mouseout', this.onMouseOut);\n this.attachTo.removeEventListener('focusout', this.onBlur);\n }\n }\n @action\n clearAnimationTimeout(): void {\n if (this.timeoutId) {\n cancel(this.timeoutId);\n this.timeoutId = undefined;\n }\n }\n @action\n visibleDidUpdate(value1: boolean): void {\n if (this.visible === false && value1 === true) {\n requestAnimationFrame(this.testAnchor);\n }\n }\n willDestroy(): void {\n super.willDestroy();\n this.clearAnimationTimeout();\n this.removeAttachToHandlers();\n }\n @action\n testAnchor(): void {\n // when the tooltip is visible, this checks if the anchor is still part of document\n // this fixes when the react root is removed from the dom without unmounting\n // https://github.com/elastic/eui/issues/1105\n if (document.body.contains(this._anchor) === false) {\n // the anchor is no longer part of `document`\n this.hideToolTip();\n } else {\n if (this.visible) {\n // if still visible, keep checking\n requestAnimationFrame(this.testAnchor);\n }\n }\n }\n @action\n didInsertAnchor(ref1: HTMLElement): void {\n this.anchor = ref1;\n }\n @action\n setPopoverRef(ref1: HTMLElement | null): void {\n this.popover = ref1;\n // if the popover has been unmounted, clear\n // any previous knowledge about its size\n if (ref1 === null) {\n this.toolTipStyles = DEFAULT_TOOLTIP_STYLES;\n this.arrowStyles = {};\n } else {\n this.positionToolTip();\n }\n }\n @action\n showToolTip(): void {\n if (!this.timeoutId && !this.visible) {\n const fn1 = (): void =>{\n this.visible = true;\n };\n this.timeoutId = later(this, ()=>{\n scheduleOnce('afterRender', this, fn1);\n }, delayToMsMap[this.delay]);\n }\n }\n @cached\n get attachTo(): Element | null | undefined {\n if (typeof this._attachTo === 'string') {\n return document.querySelector(this._attachTo);\n } else {\n return this._attachTo;\n }\n }\n get _anchor(): Element | null {\n return this.attachTo || this.anchor;\n }\n @action\n positionToolTip(): void {\n const requestedPosition1 = this.position;\n if (!this._anchor || !this.popover) {\n return;\n }\n const { position: position1, left: left1, top: top1, arrow: arrow1 } = findPopoverPosition({\n anchor: this._anchor as HTMLElement,\n popover: this.popover,\n position: requestedPosition1,\n offset: 16,\n arrowConfig: {\n arrowWidth: 12,\n arrowBuffer: 4\n }\n });\n const windowWidth1 = document.documentElement.clientWidth || window.innerWidth;\n const useRightValue1 = windowWidth1 / 2 < left1;\n const toolTipStyles1: ToolTipStyles = {\n top: `${top1}px`,\n left: useRightValue1 ? 'auto' : `${left1}px`,\n right: useRightValue1 ? `${windowWidth1 - left1 - this.popover.offsetWidth}px` : 'auto'\n };\n this.visible = true;\n this.calculatedPosition = position1;\n this.toolTipStyles = toolTipStyles1;\n if (arrow1) {\n this.arrowStyles = {\n left: `${arrow1.left}px`,\n top: `${arrow1?.top}px`\n };\n }\n }\n @action\n hideToolTip(): void {\n if (this.args.isShown === true) {\n return;\n }\n this.clearAnimationTimeout();\n const fn1 = (): void =>{\n if (!this.isDestroying || !this.isDestroyed) {\n this.visible = false;\n }\n };\n scheduleOnce('afterRender', this, fn1);\n }\n @action\n hasFocusMouseMoveListener(): void {\n this.hideToolTip();\n window.removeEventListener('mousemove', this.hasFocusMouseMoveListener);\n }\n @action\n onKeyUp(event1: KeyboardEvent): void {\n if (event1.key === keys.TAB) {\n window.addEventListener('mousemove', this.hasFocusMouseMoveListener);\n }\n }\n @action\n onFocus(): void {\n this.hasFocus = true;\n this.showToolTip();\n }\n @action\n onBlur(): void {\n this.hasFocus = false;\n this.hideToolTip();\n }\n @action\n onMouseOut(event1: MouseEvent): void {\n // Prevent mousing over children from hiding the tooltip by testing for whether the mouse has\n // left the anchor for a non-child.\n if (this._anchor === event1.relatedTarget || (this._anchor != null && !this._anchor.contains(event1.relatedTarget as Node))) {\n if (!this.hasFocus) {\n this.hideToolTip();\n }\n }\n if (this.args.onMouseOut) {\n this.args.onMouseOut(event1);\n }\n }\n static{\n template(`\n {{#let\n (has-block \"content\") (has-block \"title\") (has-block \"anchor\")\n as |hasContentBlock hasTitleBlock hasAnchorBlock|\n }}\n {{#if @attachTo}}\n <span\n {{didInsert this.updateAttachTo}}\n {{didUpdate this.updateAttachTo @attachTo}}\n {{didUpdate\n (if (eq @isShown true) this.onFocus this.onBlur)\n @isShown\n }}\n {{didInsert (if (eq @isShown true) this.onFocus this.onBlur)}}\n ></span>\n {{else}}\n <span\n role=\"tooltip\"\n class={{classNames\n \"euiToolTipAnchor\"\n (if (eq @display \"block\") \"euiToolTipAnchor--displayBlock\")\n @anchorClassName\n }}\n {{didInsert this.didInsertAnchor}}\n {{on \"mouseover\" this.showToolTip}}\n {{on \"focusin\" this.onFocus}}\n {{on \"focusout\" this.onBlur}}\n {{on \"mouseout\" this.onMouseOut}}\n {{didUpdate\n (if (eq @isShown true) this.onFocus this.onBlur)\n @isShown\n }}\n {{didInsert (if (eq @isShown true) this.onFocus this.onBlur)}}\n >\n {{#if hasAnchorBlock}}\n {{yield this.id to=\"anchor\"}}\n {{else}}\n {{yield this.id}}\n {{/if}}\n </span>\n {{/if}}\n {{#if\n (and this.visible (or @title @content hasContentBlock hasTitleBlock))\n }}\n <EuiPortal>\n <EuiToolTipPopover\n class={{classNames\n \"euiToolTip\"\n @className\n componentName=\"EuiToolTip\"\n position=this.calculatedPosition\n }}\n @positionToolTip={{this.positionToolTip}}\n @popoverRef={{this.setPopoverRef}}\n id={{this.id}}\n @hasTitle={{if\n (and (argOrDefault @hasTitle true) (or hasTitleBlock @title))\n true\n }}\n role=\"tooltip\"\n ...attributes\n {{style this.toolTipStyles}}\n >\n <:title>\n {{#if hasTitleBlock}}\n {{yield to=\"title\"}}\n {{else}}\n {{@title}}\n {{/if}}\n </:title>\n <:content>\n <div class=\"euiToolTip__arrow\" {{style this.arrowStyles}}></div>\n <div {{resizeObserver onResize=this.positionToolTip}}>\n {{#if hasContentBlock}}\n {{yield to=\"content\"}}\n {{else}}\n {{@content}}\n {{/if}}\n </div>\n </:content>\n </EuiToolTipPopover>\n </EuiPortal>\n {{/if}}\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS10b29sLXRpcC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgY2FjaGVkLCB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgb24gfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xuaW1wb3J0IHsgYWN0aW9uIH0gZnJvbSAnQGVtYmVyL29iamVjdCc7XG5pbXBvcnQgeyBndWlkRm9yIH0gZnJvbSAnQGVtYmVyL29iamVjdC9pbnRlcm5hbHMnO1xuaW1wb3J0IGRpZEluc2VydCBmcm9tICdAZW1iZXIvcmVuZGVyLW1vZGlmaWVycy9tb2RpZmllcnMvZGlkLWluc2VydCc7XG5pbXBvcnQgZGlkVXBkYXRlIGZyb20gJ0BlbWJlci9yZW5kZXItbW9kaWZpZXJzL21vZGlmaWVycy9kaWQtaW5zZXJ0JztcbmltcG9ydCB7IGNhbmNlbCwgbGF0ZXIsIG5leHQsIHNjaGVkdWxlT25jZSB9IGZyb20gJ0BlbWJlci9ydW5sb29wJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJ2VtYmVyLXN0eWxlLW1vZGlmaWVyL21vZGlmaWVycy9zdHlsZSc7XG5pbXBvcnQgeyBhbmQsIGVxLCBvciB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuXG5pbXBvcnQgYXJnT3JEZWZhdWx0LCB7IGFyZ09yRGVmYXVsdERlY29yYXRvciB9IGZyb20gJy4uL2hlbHBlcnMvYXJnLW9yLWRlZmF1bHQudHMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnLi4vaGVscGVycy9jbGFzcy1uYW1lcy50cyc7XG5pbXBvcnQgcmVzaXplT2JzZXJ2ZXIgZnJvbSAnLi4vbW9kaWZpZXJzL3Jlc2l6ZS1vYnNlcnZlci50cyc7XG5pbXBvcnQgeyBrZXlzIH0gZnJvbSAnLi4vdXRpbHMva2V5cy50cyc7XG5pbXBvcnQgeyBmaW5kUG9wb3ZlclBvc2l0aW9uIH0gZnJvbSAnLi4vdXRpbHMvcG9wb3Zlci9pbmRleC50cyc7XG5pbXBvcnQgRXVpUG9ydGFsIGZyb20gJy4vZXVpLXBvcnRhbC5ndHMnO1xuaW1wb3J0IEV1aVRvb2xUaXBQb3BvdmVyIGZyb20gJy4vZXVpLXRvb2wtdGlwLXBvcG92ZXIuZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBFdWlUb29sdGlwUG9wb3ZlclNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXRvb2wtdGlwLXBvcG92ZXInO1xuXG5leHBvcnQgdHlwZSBUb29sVGlwUG9zaXRpb25zID0gJ3RvcCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgfCAnbGVmdCc7XG5cbmV4cG9ydCB0eXBlIFRvb2xUaXBEZWxheSA9ICdyZWd1bGFyJyB8ICdsb25nJztcblxuY29uc3QgZGVsYXlUb01zTWFwOiB7IFtrZXkgaW4gVG9vbFRpcERlbGF5XTogbnVtYmVyIH0gPSB7XG4gIHJlZ3VsYXI6IDI1MCxcbiAgbG9uZzogMjUwICogNVxufTtcblxuaW50ZXJmYWNlIFRvb2xUaXBTdHlsZXMge1xuICB0b3A6IHN0cmluZztcbiAgbGVmdDogc3RyaW5nIHwgJ2F1dG8nO1xuICByaWdodD86IHN0cmluZyB8ICdhdXRvJztcbiAgb3BhY2l0eT86IHN0cmluZztcbiAgdmlzaWJpbGl0eT86ICdoaWRkZW4nO1xuICBkaXNwbGF5PzogJ2lubGluZUJsb2NrJztcbn1cblxuY29uc3QgZGlzcGxheVRvQ2xhc3NOYW1lTWFwID0ge1xuICBpbmxpbmVCbG9jazogdW5kZWZpbmVkLFxuICBibG9jazogJ2V1aVRvb2xUaXBBbmNob3ItLWRpc3BsYXlCbG9jaydcbn07XG5cbmNvbnN0IERFRkFVTFRfVE9PTFRJUF9TVFlMRVM6IFRvb2xUaXBTdHlsZXMgPSB7XG4gIC8vIHBvc2l0aW9uIHRoZSB0b29sdGlwIGNvbnRlbnQgbmVhciB0aGUgdG9wLWxlZnRcbiAgLy8gY29ybmVyIG9mIHRoZSB3aW5kb3cgc28gaXQgY2FuJ3QgY3JlYXRlIHNjcm9sbGJhcnNcbiAgLy8gNTAsNTAgYmVjYXVzZSB3aG8ga25vd3Mgd2hhdCBuZWdhdGl2ZSBtYXJnaW5zLCBwYWRkaW5nLCBldGNcbiAgdG9wOiAnNTBweCcsXG4gIGxlZnQ6ICc1MHB4JyxcbiAgLy8ganVzdCBpbiBjYXNlLCBhdm9pZCBhbnkgcG90ZW50aWFsIGZsaWNrZXIgYnkgaGlkaW5nXG4gIC8vIHRoZSB0b29sdGlwIGJlZm9yZSBpdCBpcyBwb3NpdGlvbmVkXG4gIG9wYWNpdHk6ICcwJyxcbiAgLy8gcHJldmVudCBhY2NpZGVudGFsIG1vdXNlIGludGVyYWN0aW9uIHdoaWxlIHBvc2l0aW9uaW5nXG4gIHZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICBkaXNwbGF5OiAnaW5saW5lQmxvY2snXG59O1xuXG5leHBvcnQgdHlwZSBFdWlUb29sdGlwQXJncyA9IHtcbiAgLyoqXG4gICAqIFBhc3NlcyBvbnRvIHRoZSB0aGUgdHJpZ2dlci5cbiAgICovXG4gIGFuY2hvckNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhc3NlcyBvbnRvIHRoZSB0b29sdGlwIGl0c2VsZiwgbm90IHRoZSB0cmlnZ2VyLlxuICAgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG1haW4gY29udGVudCBvZiB5b3VyIHRvb2x0aXAuXG4gICAqL1xuICBjb250ZW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogQ29tbW9uIGRpc3BsYXkgYWx0ZXJuYXRpdmVzIGZvciB0aGUgYW5jaG9yIHdyYXBwZXJcbiAgICovXG4gIGRpc3BsYXk_OiBrZXlvZiB0eXBlb2YgZGlzcGxheVRvQ2xhc3NOYW1lTWFwO1xuICAvKipcbiAgICogRGVsYXkgYmVmb3JlIHNob3dpbmcgdG9vbHRpcC4gR29vZCBmb3IgcmVwZWF0YWJsZSBpdGVtcy5cbiAgICovXG4gIGRlbGF5PzogVG9vbFRpcERlbGF5O1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgdGl0bGUgZm9yIHlvdXIgdG9vbHRpcC5cbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKipcbiAgICogVW5sZXNzIHlvdSBwcm92aWRlIG9uZSwgdGhpcyB3aWxsIGJlIHJhbmRvbWx5IGdlbmVyYXRlZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogU3VnZ2VzdGVkIHBvc2l0aW9uLiBJZiB0aGVyZSBpcyBub3QgZW5vdWdoIHJvb20gZm9yIGl0IHRoaXMgd2lsbCBiZSBjaGFuZ2VkLlxuICAgKi9cbiAgcG9zaXRpb24_OiBUb29sVGlwUG9zaXRpb25zO1xuXG4gIGF0dGFjaFRvPzogdW5kZWZpbmVkIHwgSFRNTEVsZW1lbnQgfCBzdHJpbmcgfCBudWxsO1xuXG4gIGlzU2hvd24_OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJZiBzdXBwbGllZCwgY2FsbGVkIHdoZW4gbW91c2UgbW92ZW1lbnQgY2F1c2VzIHRoZSB0b29sIHRpcCB0byBiZVxuICAgKiBoaWRkZW4uXG4gICAqL1xuICBvbk1vdXNlT3V0PzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICBvbkZvY3VzPzogKCkgPT4gdm9pZDtcbiAgb25CbHVyPzogKCkgPT4gdm9pZDtcblxuICBoYXNUaXRsZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV1aVRvb2xUaXBTaWduYXR1cmUge1xuICBFbGVtZW50OiBFdWlUb29sdGlwUG9wb3ZlclNpZ25hdHVyZVsnRWxlbWVudCddO1xuICBBcmdzOiBFdWlUb29sdGlwQXJncztcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdD86IFtpZDogc3RyaW5nXTtcbiAgICB0aXRsZT86IFtdO1xuICAgIGNvbnRlbnQ_OiBbXTtcbiAgICBhbmNob3I_OiBbaWQ6IHN0cmluZ107XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aVRvb2xUaXAgZXh0ZW5kcyBDb21wb25lbnQ8RXVpVG9vbFRpcFNpZ25hdHVyZT4ge1xuICBhbmNob3I6IG51bGwgfCBIVE1MRWxlbWVudCA9IG51bGw7XG4gIHBvcG92ZXI6IG51bGwgfCBIVE1MRWxlbWVudCA9IG51bGw7XG5cbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcigndG9wJykgcG9zaXRpb24hOiBUb29sVGlwUG9zaXRpb25zO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKCdyZWd1bGFyJykgZGVsYXkhOiBUb29sVGlwRGVsYXk7XG5cbiAgLy9TVEFURVxuICBAdHJhY2tlZCB2aXNpYmxlID0gZmFsc2U7XG4gIEB0cmFja2VkIGhhc0ZvY3VzID0gZmFsc2U7XG4gIEB0cmFja2VkIGNhbGN1bGF0ZWRQb3NpdGlvbjogVG9vbFRpcFBvc2l0aW9ucyA9IHRoaXMucG9zaXRpb247XG4gIEB0cmFja2VkIHRvb2xUaXBTdHlsZXM6IFRvb2xUaXBTdHlsZXMgPSBERUZBVUxUX1RPT0xUSVBfU1RZTEVTO1xuICBAdHJhY2tlZCBhcnJvd1N0eWxlczogeyBsZWZ0Pzogc3RyaW5nOyB0b3A_OiBzdHJpbmcgfSA9IHt9O1xuICBAdHJhY2tlZCBpZDogc3RyaW5nID0gdGhpcy5hcmdzLmlkIHx8IGd1aWRGb3Ioe30pO1xuICBAdHJhY2tlZCBfYXR0YWNoVG86IHVuZGVmaW5lZCB8IEhUTUxFbGVtZW50IHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB0aW1lb3V0SWQ_OiBSZXR1cm5UeXBlPHR5cGVvZiBsYXRlcj47XG5cbiAgQGFjdGlvblxuICB1cGRhdGVBdHRhY2hUbygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXJncy5hdHRhY2hUbyAmJiB0aGlzLl9hdHRhY2hUbykge1xuICAgICAgdGhpcy5yZW1vdmVBdHRhY2hUb0hhbmRsZXJzKCk7XG4gICAgICB0aGlzLl9hdHRhY2hUbyA9IG51bGw7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hcmdzLmF0dGFjaFRvICYmIHRoaXMuYXJncy5hdHRhY2hUbyAhPT0gdGhpcy5fYXR0YWNoVG8pIHtcbiAgICAgIG5leHQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUF0dGFjaFRvSGFuZGxlcnMoKTtcbiAgICAgICAgdGhpcy5fYXR0YWNoVG8gPSB0aGlzLmFyZ3MuYXR0YWNoVG87XG4gICAgICAgIHRoaXMuc2V0dXBBdHRhY2hUb0hhbmRsZXJzKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBAYWN0aW9uXG4gIHNldHVwQXR0YWNoVG9IYW5kbGVycygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYXR0YWNoVG8gJiYgdGhpcy5hdHRhY2hUbykge1xuICAgICAgdGhpcy5hdHRhY2hUby5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLnNob3dUb29sVGlwKTtcbiAgICAgIHRoaXMuYXR0YWNoVG8uYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIHRoaXMub25Gb2N1cyk7XG4gICAgICAvL0B0cy1leHBlY3QtZXJyb3JcbiAgICAgIHRoaXMuYXR0YWNoVG8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCB0aGlzLm9uTW91c2VPdXQpO1xuICAgICAgdGhpcy5hdHRhY2hUby5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMub25CbHVyKTtcbiAgICAgIHRoaXMucG9zaXRpb25Ub29sVGlwKCk7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICByZW1vdmVBdHRhY2hUb0hhbmRsZXJzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hdHRhY2hUbyAmJiB0aGlzLmF0dGFjaFRvKSB7XG4gICAgICB0aGlzLmF0dGFjaFRvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuc2hvd1Rvb2xUaXApO1xuICAgICAgdGhpcy5hdHRhY2hUby5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c2luJywgdGhpcy5vbkZvY3VzKTtcbiAgICAgIC8vQHRzLWV4cGVjdC1lcnJvclxuICAgICAgdGhpcy5hdHRhY2hUby5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsIHRoaXMub25Nb3VzZU91dCk7XG4gICAgICB0aGlzLmF0dGFjaFRvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgdGhpcy5vbkJsdXIpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgY2xlYXJBbmltYXRpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpbWVvdXRJZCkge1xuICAgICAgY2FuY2VsKHRoaXMudGltZW91dElkKTtcbiAgICAgIHRoaXMudGltZW91dElkID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgdmlzaWJsZURpZFVwZGF0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLnZpc2libGUgPT09IGZhbHNlICYmIHZhbHVlID09PSB0cnVlKSB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy50ZXN0QW5jaG9yKTtcbiAgICB9XG4gIH1cblxuICB3aWxsRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci53aWxsRGVzdHJveSgpO1xuICAgIHRoaXMuY2xlYXJBbmltYXRpb25UaW1lb3V0KCk7XG4gICAgdGhpcy5yZW1vdmVBdHRhY2hUb0hhbmRsZXJzKCk7XG4gIH1cblxuICBAYWN0aW9uXG4gIHRlc3RBbmNob3IoKTogdm9pZCB7XG4gICAgLy8gd2hlbiB0aGUgdG9vbHRpcCBpcyB2aXNpYmxlLCB0aGlzIGNoZWNrcyBpZiB0aGUgYW5jaG9yIGlzIHN0aWxsIHBhcnQgb2YgZG9jdW1lbnRcbiAgICAvLyB0aGlzIGZpeGVzIHdoZW4gdGhlIHJlYWN0IHJvb3QgaXMgcmVtb3ZlZCBmcm9tIHRoZSBkb20gd2l0aG91dCB1bm1vdW50aW5nXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VsYXN0aWMvZXVpL2lzc3Vlcy8xMTA1XG4gICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnModGhpcy5fYW5jaG9yKSA9PT0gZmFsc2UpIHtcbiAgICAgIC8vIHRoZSBhbmNob3IgaXMgbm8gbG9uZ2VyIHBhcnQgb2YgYGRvY3VtZW50YFxuICAgICAgdGhpcy5oaWRlVG9vbFRpcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgIC8vIGlmIHN0aWxsIHZpc2libGUsIGtlZXAgY2hlY2tpbmdcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMudGVzdEFuY2hvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICBkaWRJbnNlcnRBbmNob3IocmVmOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuYW5jaG9yID0gcmVmO1xuICB9XG5cbiAgQGFjdGlvblxuICBzZXRQb3BvdmVyUmVmKHJlZjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gcmVmO1xuXG4gICAgLy8gaWYgdGhlIHBvcG92ZXIgaGFzIGJlZW4gdW5tb3VudGVkLCBjbGVhclxuICAgIC8vIGFueSBwcmV2aW91cyBrbm93bGVkZ2UgYWJvdXQgaXRzIHNpemVcbiAgICBpZiAocmVmID09PSBudWxsKSB7XG4gICAgICB0aGlzLnRvb2xUaXBTdHlsZXMgPSBERUZBVUxUX1RPT0xUSVBfU1RZTEVTO1xuICAgICAgdGhpcy5hcnJvd1N0eWxlcyA9IHt9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvc2l0aW9uVG9vbFRpcCgpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2hvd1Rvb2xUaXAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRpbWVvdXRJZCAmJiAhdGhpcy52aXNpYmxlKSB7XG4gICAgICBjb25zdCBmbiA9ICgpOiB2b2lkID0-IHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMudGltZW91dElkID0gbGF0ZXIoXG4gICAgICAgIHRoaXMsXG4gICAgICAgICgpID0-IHtcbiAgICAgICAgICBzY2hlZHVsZU9uY2UoJ2FmdGVyUmVuZGVyJywgdGhpcywgZm4pO1xuICAgICAgICB9LFxuICAgICAgICBkZWxheVRvTXNNYXBbdGhpcy5kZWxheV1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgYXR0YWNoVG8oKTogRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fYXR0YWNoVG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLl9hdHRhY2hUbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9hdHRhY2hUbztcbiAgICB9XG4gIH1cblxuICBnZXQgX2FuY2hvcigpOiBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoVG8gfHwgdGhpcy5hbmNob3I7XG4gIH1cblxuICBAYWN0aW9uXG4gIHBvc2l0aW9uVG9vbFRpcCgpOiB2b2lkIHtcbiAgICBjb25zdCByZXF1ZXN0ZWRQb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG5cbiAgICBpZiAoIXRoaXMuX2FuY2hvciB8fCAhdGhpcy5wb3BvdmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBwb3NpdGlvbiwgbGVmdCwgdG9wLCBhcnJvdyB9ID0gZmluZFBvcG92ZXJQb3NpdGlvbih7XG4gICAgICBhbmNob3I6IHRoaXMuX2FuY2hvciBhcyBIVE1MRWxlbWVudCxcbiAgICAgIHBvcG92ZXI6IHRoaXMucG9wb3ZlcixcbiAgICAgIHBvc2l0aW9uOiByZXF1ZXN0ZWRQb3NpdGlvbixcbiAgICAgIG9mZnNldDogMTYsIC8vIG9mZnNldCBwb3BvdmVyIDE2cHggZnJvbSB0aGUgYW5jaG9yXG4gICAgICBhcnJvd0NvbmZpZzoge1xuICAgICAgICBhcnJvd1dpZHRoOiAxMixcbiAgICAgICAgYXJyb3dCdWZmZXI6IDRcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHdpbmRvd1dpZHRoID1cbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICBjb25zdCB1c2VSaWdodFZhbHVlID0gd2luZG93V2lkdGggLyAyIDwgbGVmdDtcblxuICAgIGNvbnN0IHRvb2xUaXBTdHlsZXM6IFRvb2xUaXBTdHlsZXMgPSB7XG4gICAgICB0b3A6IGAke3RvcH1weGAsXG4gICAgICBsZWZ0OiB1c2VSaWdodFZhbHVlID8gJ2F1dG8nIDogYCR7bGVmdH1weGAsXG4gICAgICByaWdodDogdXNlUmlnaHRWYWx1ZVxuICAgICAgICA_IGAke3dpbmRvd1dpZHRoIC0gbGVmdCAtIHRoaXMucG9wb3Zlci5vZmZzZXRXaWR0aH1weGBcbiAgICAgICAgOiAnYXV0bydcbiAgICB9O1xuXG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB0aGlzLmNhbGN1bGF0ZWRQb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgIHRoaXMudG9vbFRpcFN0eWxlcyA9IHRvb2xUaXBTdHlsZXM7XG5cbiAgICBpZiAoYXJyb3cpIHtcbiAgICAgIHRoaXMuYXJyb3dTdHlsZXMgPSB7XG4gICAgICAgIGxlZnQ6IGAke2Fycm93LmxlZnR9cHhgLFxuICAgICAgICB0b3A6IGAke2Fycm93Py50b3B9cHhgXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgaGlkZVRvb2xUaXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXJncy5pc1Nob3duID09PSB0cnVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jbGVhckFuaW1hdGlvblRpbWVvdXQoKTtcblxuICAgIGNvbnN0IGZuID0gKCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzRGVzdHJveWluZyB8fCAhdGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgc2NoZWR1bGVPbmNlKCdhZnRlclJlbmRlcicsIHRoaXMsIGZuKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgaGFzRm9jdXNNb3VzZU1vdmVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVUb29sVGlwKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFzRm9jdXNNb3VzZU1vdmVMaXN0ZW5lcik7XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBrZXlzLlRBQikge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFzRm9jdXNNb3VzZU1vdmVMaXN0ZW5lcik7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICBvbkZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuICAgIHRoaXMuc2hvd1Rvb2xUaXAoKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaGFzRm9jdXMgPSBmYWxzZTtcbiAgICB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uTW91c2VPdXQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBQcmV2ZW50IG1vdXNpbmcgb3ZlciBjaGlsZHJlbiBmcm9tIGhpZGluZyB0aGUgdG9vbHRpcCBieSB0ZXN0aW5nIGZvciB3aGV0aGVyIHRoZSBtb3VzZSBoYXNcbiAgICAvLyBsZWZ0IHRoZSBhbmNob3IgZm9yIGEgbm9uLWNoaWxkLlxuICAgIGlmIChcbiAgICAgIHRoaXMuX2FuY2hvciA9PT0gZXZlbnQucmVsYXRlZFRhcmdldCB8fFxuICAgICAgKHRoaXMuX2FuY2hvciAhPSBudWxsICYmXG4gICAgICAgICF0aGlzLl9hbmNob3IuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSlcbiAgICApIHtcbiAgICAgIGlmICghdGhpcy5oYXNGb2N1cykge1xuICAgICAgICB0aGlzLmhpZGVUb29sVGlwKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYXJncy5vbk1vdXNlT3V0KSB7XG4gICAgICB0aGlzLmFyZ3Mub25Nb3VzZU91dChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgPHRlbXBsYXRlPlxuICAgIHt7I2xldFxuICAgICAgKGhhcy1ibG9jayBcImNvbnRlbnRcIikgKGhhcy1ibG9jayBcInRpdGxlXCIpIChoYXMtYmxvY2sgXCJhbmNob3JcIilcbiAgICAgIGFzIHxoYXNDb250ZW50QmxvY2sgaGFzVGl0bGVCbG9jayBoYXNBbmNob3JCbG9ja3xcbiAgICB9fVxuICAgICAge3sjaWYgQGF0dGFjaFRvfX1cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICB7e2RpZEluc2VydCB0aGlzLnVwZGF0ZUF0dGFjaFRvfX1cbiAgICAgICAgICB7e2RpZFVwZGF0ZSB0aGlzLnVwZGF0ZUF0dGFjaFRvIEBhdHRhY2hUb319XG4gICAgICAgICAge3tkaWRVcGRhdGVcbiAgICAgICAgICAgIChpZiAoZXEgQGlzU2hvd24gdHJ1ZSkgdGhpcy5vbkZvY3VzIHRoaXMub25CbHVyKVxuICAgICAgICAgICAgQGlzU2hvd25cbiAgICAgICAgICB9fVxuICAgICAgICAgIHt7ZGlkSW5zZXJ0IChpZiAoZXEgQGlzU2hvd24gdHJ1ZSkgdGhpcy5vbkZvY3VzIHRoaXMub25CbHVyKX19XG4gICAgICAgID48L3NwYW4-XG4gICAgICB7e2Vsc2V9fVxuICAgICAgICA8c3BhblxuICAgICAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgIFwiZXVpVG9vbFRpcEFuY2hvclwiXG4gICAgICAgICAgICAoaWYgKGVxIEBkaXNwbGF5IFwiYmxvY2tcIikgXCJldWlUb29sVGlwQW5jaG9yLS1kaXNwbGF5QmxvY2tcIilcbiAgICAgICAgICAgIEBhbmNob3JDbGFzc05hbWVcbiAgICAgICAgICB9fVxuICAgICAgICAgIHt7ZGlkSW5zZXJ0IHRoaXMuZGlkSW5zZXJ0QW5jaG9yfX1cbiAgICAgICAgICB7e29uIFwibW91c2VvdmVyXCIgdGhpcy5zaG93VG9vbFRpcH19XG4gICAgICAgICAge3tvbiBcImZvY3VzaW5cIiB0aGlzLm9uRm9jdXN9fVxuICAgICAgICAgIHt7b24gXCJmb2N1c291dFwiIHRoaXMub25CbHVyfX1cbiAgICAgICAgICB7e29uIFwibW91c2VvdXRcIiB0aGlzLm9uTW91c2VPdXR9fVxuICAgICAgICAgIHt7ZGlkVXBkYXRlXG4gICAgICAgICAgICAoaWYgKGVxIEBpc1Nob3duIHRydWUpIHRoaXMub25Gb2N1cyB0aGlzLm9uQmx1cilcbiAgICAgICAgICAgIEBpc1Nob3duXG4gICAgICAgICAgfX1cbiAgICAgICAgICB7e2RpZEluc2VydCAoaWYgKGVxIEBpc1Nob3duIHRydWUpIHRoaXMub25Gb2N1cyB0aGlzLm9uQmx1cil9fVxuICAgICAgICA-XG4gICAgICAgICAge3sjaWYgaGFzQW5jaG9yQmxvY2t9fVxuICAgICAgICAgICAge3t5aWVsZCB0aGlzLmlkIHRvPVwiYW5jaG9yXCJ9fVxuICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICB7e3lpZWxkIHRoaXMuaWR9fVxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAge3svaWZ9fVxuICAgICAge3sjaWZcbiAgICAgICAgKGFuZCB0aGlzLnZpc2libGUgKG9yIEB0aXRsZSBAY29udGVudCBoYXNDb250ZW50QmxvY2sgaGFzVGl0bGVCbG9jaykpXG4gICAgICB9fVxuICAgICAgICA8RXVpUG9ydGFsPlxuICAgICAgICAgIDxFdWlUb29sVGlwUG9wb3ZlclxuICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgIFwiZXVpVG9vbFRpcFwiXG4gICAgICAgICAgICAgIEBjbGFzc05hbWVcbiAgICAgICAgICAgICAgY29tcG9uZW50TmFtZT1cIkV1aVRvb2xUaXBcIlxuICAgICAgICAgICAgICBwb3NpdGlvbj10aGlzLmNhbGN1bGF0ZWRQb3NpdGlvblxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIEBwb3NpdGlvblRvb2xUaXA9e3t0aGlzLnBvc2l0aW9uVG9vbFRpcH19XG4gICAgICAgICAgICBAcG9wb3ZlclJlZj17e3RoaXMuc2V0UG9wb3ZlclJlZn19XG4gICAgICAgICAgICBpZD17e3RoaXMuaWR9fVxuICAgICAgICAgICAgQGhhc1RpdGxlPXt7aWZcbiAgICAgICAgICAgICAgKGFuZCAoYXJnT3JEZWZhdWx0IEBoYXNUaXRsZSB0cnVlKSAob3IgaGFzVGl0bGVCbG9jayBAdGl0bGUpKVxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgcm9sZT1cInRvb2x0aXBcIlxuICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAge3tzdHlsZSB0aGlzLnRvb2xUaXBTdHlsZXN9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDw6dGl0bGU-XG4gICAgICAgICAgICAgIHt7I2lmIGhhc1RpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJ0aXRsZVwifX1cbiAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICB7e0B0aXRsZX19XG4gICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgIDwvOnRpdGxlPlxuICAgICAgICAgICAgPDpjb250ZW50PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpVG9vbFRpcF9fYXJyb3dcIiB7e3N0eWxlIHRoaXMuYXJyb3dTdHlsZXN9fT48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiB7e3Jlc2l6ZU9ic2VydmVyIG9uUmVzaXplPXRoaXMucG9zaXRpb25Ub29sVGlwfX0-XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzQ29udGVudEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJjb250ZW50XCJ9fVxuICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICB7e0Bjb250ZW50fX1cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC86Y29udGVudD5cbiAgICAgICAgICA8L0V1aVRvb2xUaXBQb3BvdmVyPlxuICAgICAgICA8L0V1aVBvcnRhbD5cbiAgICAgIHt7L2lmfX1cbiAgICB7ey9sZXR9fVxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsTUFBTSxFQUFFLE9BQU8sUUFBUSxvQkFBb0I7QUFDcEQsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBQ3JDLFNBQVMsTUFBTSxRQUFRLGdCQUFnQjtBQUN2QyxTQUFTLE9BQU8sUUFBUSwwQkFBMEI7QUFDbEQsT0FBTyxlQUFlLCtDQUErQztBQUNyRSxPQUFPLGVBQWUsK0NBQStDO0FBQ3JFLFNBQVMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsWUFBWSxRQUFRLGlCQUFpQjtBQUVuRSxPQUFPLFdBQVcsdUNBQXVDO0FBQ3pELFNBQVMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsc0JBQXNCO0FBRWxELE9BQU8sZ0JBQWdCLHFCQUFxQixRQUFRLCtCQUErQjtBQUNuRixPQUFPLGdCQUFnQiw0QkFBNEI7QUFDbkQsT0FBTyxvQkFBb0Isa0NBQWtDO0FBQzdELFNBQVMsSUFBSSxRQUFRLG1CQUFtQjtBQUN4QyxTQUFTLG1CQUFtQixRQUFRLDRCQUE0QjtBQUNoRSxPQUFPLGVBQWUsbUJBQW1CO0FBQ3pDLE9BQU8sdUJBQXVCLDZCQUE2QjtBQUUzRCxjQUFjLDBCQUEwQixRQUFRLHlCQUF5QjtBQUV6RSxZQUFZLG1C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"],"names":["delayToMsMap","regular","long","DEFAULT_TOOLTIP_STYLES","top","left","opacity","visibility","display","EuiToolTip","Component","anchor","popover","g","this","prototype","argOrDefaultDecorator","i","void 0","tracked","position","args","id","guidFor","timeoutId","updateAttachTo","attachTo","_attachTo","removeAttachToHandlers","next","setupAttachToHandlers","n","action","addEventListener","showToolTip","onFocus","onMouseOut","onBlur","positionToolTip","removeEventListener","clearAnimationTimeout","cancel","undefined","visibleDidUpdate","value1","visible","requestAnimationFrame","testAnchor","willDestroy","document","body","contains","_anchor","hideToolTip","didInsertAnchor","ref1","setPopoverRef","toolTipStyles","arrowStyles","fn1","later","scheduleOnce","delay","querySelector","cached","requestedPosition1","position1","left1","top1","arrow","arrow1","findPopoverPosition","offset","arrowConfig","arrowWidth","arrowBuffer","windowWidth1","documentElement","clientWidth","window","innerWidth","useRightValue1","toolTipStyles1","right","offsetWidth","calculatedPosition","isShown","isDestroying","isDestroyed","hasFocusMouseMoveListener","onKeyUp","event1","key","keys","TAB","hasFocus","relatedTarget","setComponentTemplate","precompileTemplate","strictMode","scope","didInsert","didUpdate","eq","classNames","on","and","or","EuiPortal","EuiToolTipPopover","argOrDefault","style","resizeObserver"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-tool-tip.js","sources":["../../src/components/eui-tool-tip.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport didUpdate from '@ember/render-modifiers/modifiers/did-insert';\nimport { cancel, later, next, scheduleOnce } from '@ember/runloop';\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, or } from 'ember-truth-helpers';\nimport argOrDefault, { argOrDefaultDecorator } from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport resizeObserver from '../modifiers/resize-observer.ts';\nimport { keys } from '../utils/keys.ts';\nimport { findPopoverPosition } from '../utils/popover/index.ts';\nimport EuiPortal from './eui-portal.gts';\nimport EuiToolTipPopover from './eui-tool-tip-popover.gts';\nimport type { EuiTooltipPopoverSignature } from './eui-tool-tip-popover';\nexport type ToolTipPositions = 'top' | 'right' | 'bottom' | 'left';\nexport type ToolTipDelay = 'regular' | 'long';\nconst delayToMsMap: {\n [key in ToolTipDelay]: number;\n} = {\n regular: 250,\n long: 250 * 5\n};\ninterface ToolTipStyles {\n top: string;\n left: string | 'auto';\n right?: string | 'auto';\n opacity?: string;\n visibility?: 'hidden';\n display?: 'inlineBlock';\n}\nconst displayToClassNameMap = {\n inlineBlock: undefined,\n block: 'euiToolTipAnchor--displayBlock'\n};\nconst DEFAULT_TOOLTIP_STYLES: ToolTipStyles = {\n // position the tooltip content near the top-left\n // corner of the window so it can't create scrollbars\n // 50,50 because who knows what negative margins, padding, etc\n top: '50px',\n left: '50px',\n // just in case, avoid any potential flicker by hiding\n // the tooltip before it is positioned\n opacity: '0',\n // prevent accidental mouse interaction while positioning\n visibility: 'hidden',\n display: 'inlineBlock'\n};\nexport type EuiTooltipArgs = {\n /**\n * Passes onto the the trigger.\n */ anchorClassName?: string;\n /**\n * Passes onto the tooltip itself, not the trigger.\n */ className?: string;\n /**\n * The main content of your tooltip.\n */ content?: string;\n /**\n * Common display alternatives for the anchor wrapper\n */ display?: keyof typeof displayToClassNameMap;\n /**\n * Delay before showing tooltip. Good for repeatable items.\n */ delay?: ToolTipDelay;\n /**\n * An optional title for your tooltip.\n */ title?: string;\n /**\n * Unless you provide one, this will be randomly generated.\n */ id?: string;\n /**\n * Suggested position. If there is not enough room for it this will be changed.\n */ position?: ToolTipPositions;\n attachTo?: undefined | HTMLElement | string | null;\n isShown?: boolean | undefined;\n /**\n * If supplied, called when mouse movement causes the tool tip to be\n * hidden.\n */ onMouseOut?: (event: MouseEvent) => void;\n onFocus?: () => void;\n onBlur?: () => void;\n hasTitle?: boolean;\n};\nexport interface EuiToolTipSignature {\n Element: EuiTooltipPopoverSignature['Element'];\n Args: EuiTooltipArgs;\n Blocks: {\n default?: [id: string];\n title?: [];\n content?: [];\n anchor?: [id: string];\n };\n}\nexport default class EuiToolTip extends Component<EuiToolTipSignature> {\n anchor: null | HTMLElement = null;\n popover: null | HTMLElement = null;\n @argOrDefaultDecorator('top')\n position: ToolTipPositions;\n @argOrDefaultDecorator('regular')\n delay: ToolTipDelay;\n //STATE\n @tracked\n visible = false;\n @tracked\n hasFocus = false;\n @tracked\n calculatedPosition: ToolTipPositions = this.position;\n @tracked\n toolTipStyles: ToolTipStyles = DEFAULT_TOOLTIP_STYLES;\n @tracked\n arrowStyles: {\n left?: string;\n top?: string;\n } = {};\n @tracked\n id: string = this.args.id || guidFor({});\n @tracked\n _attachTo: undefined | HTMLElement | string | null = null;\n private timeoutId?: ReturnType<typeof later>;\n @action\n updateAttachTo(): void {\n if (!this.args.attachTo && this._attachTo) {\n this.removeAttachToHandlers();\n this._attachTo = null;\n return;\n }\n if (this.args.attachTo && this.args.attachTo !== this._attachTo) {\n next(()=>{\n this.removeAttachToHandlers();\n this._attachTo = this.args.attachTo;\n this.setupAttachToHandlers();\n });\n }\n }\n @action\n setupAttachToHandlers(): void {\n if (this._attachTo && this.attachTo) {\n this.attachTo.addEventListener('mousemove', this.showToolTip);\n this.attachTo.addEventListener('focusin', this.onFocus);\n //@ts-expect-error\n this.attachTo.addEventListener('mouseout', this.onMouseOut);\n this.attachTo.addEventListener('focusout', this.onBlur);\n this.positionToolTip();\n }\n }\n @action\n removeAttachToHandlers(): void {\n if (this._attachTo && this.attachTo) {\n this.attachTo.removeEventListener('mousemove', this.showToolTip);\n this.attachTo.removeEventListener('focusin', this.onFocus);\n //@ts-expect-error\n this.attachTo.removeEventListener('mouseout', this.onMouseOut);\n this.attachTo.removeEventListener('focusout', this.onBlur);\n }\n }\n @action\n clearAnimationTimeout(): void {\n if (this.timeoutId) {\n cancel(this.timeoutId);\n this.timeoutId = undefined;\n }\n }\n @action\n visibleDidUpdate(value1: boolean): void {\n if (this.visible === false && value1 === true) {\n requestAnimationFrame(this.testAnchor);\n }\n }\n willDestroy(): void {\n super.willDestroy();\n this.clearAnimationTimeout();\n this.removeAttachToHandlers();\n }\n @action\n testAnchor(): void {\n // when the tooltip is visible, this checks if the anchor is still part of document\n // this fixes when the react root is removed from the dom without unmounting\n // https://github.com/elastic/eui/issues/1105\n if (document.body.contains(this._anchor) === false) {\n // the anchor is no longer part of `document`\n this.hideToolTip();\n } else {\n if (this.visible) {\n // if still visible, keep checking\n requestAnimationFrame(this.testAnchor);\n }\n }\n }\n @action\n didInsertAnchor(ref1: HTMLElement): void {\n this.anchor = ref1;\n }\n @action\n setPopoverRef(ref1: HTMLElement | null): void {\n this.popover = ref1;\n // if the popover has been unmounted, clear\n // any previous knowledge about its size\n if (ref1 === null) {\n this.toolTipStyles = DEFAULT_TOOLTIP_STYLES;\n this.arrowStyles = {};\n } else {\n this.positionToolTip();\n }\n }\n @action\n showToolTip(): void {\n if (!this.timeoutId && !this.visible) {\n const fn1 = (): void =>{\n this.visible = true;\n };\n this.timeoutId = later(this, ()=>{\n scheduleOnce('afterRender', this, fn1);\n }, delayToMsMap[this.delay]);\n }\n }\n @cached\n get attachTo(): Element | null | undefined {\n if (typeof this._attachTo === 'string') {\n return document.querySelector(this._attachTo);\n } else {\n return this._attachTo;\n }\n }\n get _anchor(): Element | null {\n return this.attachTo || this.anchor;\n }\n @action\n positionToolTip(): void {\n const requestedPosition1 = this.position;\n if (!this._anchor || !this.popover) {\n return;\n }\n const { position: position1, left: left1, top: top1, arrow: arrow1 } = findPopoverPosition({\n anchor: this._anchor as HTMLElement,\n popover: this.popover,\n position: requestedPosition1,\n offset: 16,\n arrowConfig: {\n arrowWidth: 12,\n arrowBuffer: 4\n }\n });\n const windowWidth1 = document.documentElement.clientWidth || window.innerWidth;\n const useRightValue1 = windowWidth1 / 2 < left1;\n const toolTipStyles1: ToolTipStyles = {\n top: `${top1}px`,\n left: useRightValue1 ? 'auto' : `${left1}px`,\n right: useRightValue1 ? `${windowWidth1 - left1 - this.popover.offsetWidth}px` : 'auto'\n };\n this.visible = true;\n this.calculatedPosition = position1;\n this.toolTipStyles = toolTipStyles1;\n if (arrow1) {\n this.arrowStyles = {\n left: `${arrow1.left}px`,\n top: `${arrow1?.top}px`\n };\n }\n }\n @action\n hideToolTip(): void {\n if (this.args.isShown === true) {\n return;\n }\n this.clearAnimationTimeout();\n const fn1 = (): void =>{\n if (!this.isDestroying || !this.isDestroyed) {\n this.visible = false;\n }\n };\n scheduleOnce('afterRender', this, fn1);\n }\n @action\n hasFocusMouseMoveListener(): void {\n this.hideToolTip();\n window.removeEventListener('mousemove', this.hasFocusMouseMoveListener);\n }\n @action\n onKeyUp(event1: KeyboardEvent): void {\n if (event1.key === keys.TAB) {\n window.addEventListener('mousemove', this.hasFocusMouseMoveListener);\n }\n }\n @action\n onFocus(): void {\n this.hasFocus = true;\n this.showToolTip();\n }\n @action\n onBlur(): void {\n this.hasFocus = false;\n this.hideToolTip();\n }\n @action\n onMouseOut(event1: MouseEvent): void {\n // Prevent mousing over children from hiding the tooltip by testing for whether the mouse has\n // left the anchor for a non-child.\n if (this._anchor === event1.relatedTarget || (this._anchor != null && !this._anchor.contains(event1.relatedTarget as Node))) {\n if (!this.hasFocus) {\n this.hideToolTip();\n }\n }\n if (this.args.onMouseOut) {\n this.args.onMouseOut(event1);\n }\n }\n static{\n template(`\n {{#let\n (has-block \"content\") (has-block \"title\") (has-block \"anchor\")\n as |hasContentBlock hasTitleBlock hasAnchorBlock|\n }}\n {{#if @attachTo}}\n <span\n {{didInsert this.updateAttachTo}}\n {{didUpdate this.updateAttachTo @attachTo}}\n {{didUpdate\n (if (eq @isShown true) this.onFocus this.onBlur)\n @isShown\n }}\n {{didInsert (if (eq @isShown true) this.onFocus this.onBlur)}}\n ></span>\n {{else}}\n <span\n role=\"tooltip\"\n class={{classNames\n \"euiToolTipAnchor\"\n (if (eq @display \"block\") \"euiToolTipAnchor--displayBlock\")\n @anchorClassName\n }}\n {{didInsert this.didInsertAnchor}}\n {{on \"mouseover\" this.showToolTip}}\n {{on \"focusin\" this.onFocus}}\n {{on \"focusout\" this.onBlur}}\n {{on \"mouseout\" this.onMouseOut}}\n {{didUpdate\n (if (eq @isShown true) this.onFocus this.onBlur)\n @isShown\n }}\n {{didInsert (if (eq @isShown true) this.onFocus this.onBlur)}}\n >\n {{#if hasAnchorBlock}}\n {{yield this.id to=\"anchor\"}}\n {{else}}\n {{yield this.id}}\n {{/if}}\n </span>\n {{/if}}\n {{#if\n (and this.visible (or @title @content hasContentBlock hasTitleBlock))\n }}\n <EuiPortal>\n <EuiToolTipPopover\n class={{classNames\n \"euiToolTip\"\n @className\n componentName=\"EuiToolTip\"\n position=this.calculatedPosition\n }}\n @positionToolTip={{this.positionToolTip}}\n @popoverRef={{this.setPopoverRef}}\n id={{this.id}}\n @hasTitle={{if\n (and (argOrDefault @hasTitle true) (or hasTitleBlock @title))\n true\n }}\n role=\"tooltip\"\n ...attributes\n {{style this.toolTipStyles}}\n >\n <:title>\n {{#if hasTitleBlock}}\n {{yield to=\"title\"}}\n {{else}}\n {{@title}}\n {{/if}}\n </:title>\n <:content>\n <div class=\"euiToolTip__arrow\" {{style this.arrowStyles}}></div>\n <div {{resizeObserver onResize=this.positionToolTip}}>\n {{#if hasContentBlock}}\n {{yield to=\"content\"}}\n {{else}}\n {{@content}}\n {{/if}}\n </div>\n </:content>\n </EuiToolTipPopover>\n </EuiPortal>\n {{/if}}\n {{/let}}\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS10b29sLXRpcC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgY2FjaGVkLCB0cmFja2VkIH0gZnJvbSAnQGdsaW1tZXIvdHJhY2tpbmcnO1xuaW1wb3J0IHsgb24gfSBmcm9tICdAZW1iZXIvbW9kaWZpZXInO1xuaW1wb3J0IHsgYWN0aW9uIH0gZnJvbSAnQGVtYmVyL29iamVjdCc7XG5pbXBvcnQgeyBndWlkRm9yIH0gZnJvbSAnQGVtYmVyL29iamVjdC9pbnRlcm5hbHMnO1xuaW1wb3J0IGRpZEluc2VydCBmcm9tICdAZW1iZXIvcmVuZGVyLW1vZGlmaWVycy9tb2RpZmllcnMvZGlkLWluc2VydCc7XG5pbXBvcnQgZGlkVXBkYXRlIGZyb20gJ0BlbWJlci9yZW5kZXItbW9kaWZpZXJzL21vZGlmaWVycy9kaWQtaW5zZXJ0JztcbmltcG9ydCB7IGNhbmNlbCwgbGF0ZXIsIG5leHQsIHNjaGVkdWxlT25jZSB9IGZyb20gJ0BlbWJlci9ydW5sb29wJztcblxuaW1wb3J0IHN0eWxlIGZyb20gJ2VtYmVyLXN0eWxlLW1vZGlmaWVyL21vZGlmaWVycy9zdHlsZSc7XG5pbXBvcnQgeyBhbmQsIGVxLCBvciB9IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMnO1xuXG5pbXBvcnQgYXJnT3JEZWZhdWx0LCB7IGFyZ09yRGVmYXVsdERlY29yYXRvciB9IGZyb20gJy4uL2hlbHBlcnMvYXJnLW9yLWRlZmF1bHQudHMnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnLi4vaGVscGVycy9jbGFzcy1uYW1lcy50cyc7XG5pbXBvcnQgcmVzaXplT2JzZXJ2ZXIgZnJvbSAnLi4vbW9kaWZpZXJzL3Jlc2l6ZS1vYnNlcnZlci50cyc7XG5pbXBvcnQgeyBrZXlzIH0gZnJvbSAnLi4vdXRpbHMva2V5cy50cyc7XG5pbXBvcnQgeyBmaW5kUG9wb3ZlclBvc2l0aW9uIH0gZnJvbSAnLi4vdXRpbHMvcG9wb3Zlci9pbmRleC50cyc7XG5pbXBvcnQgRXVpUG9ydGFsIGZyb20gJy4vZXVpLXBvcnRhbC5ndHMnO1xuaW1wb3J0IEV1aVRvb2xUaXBQb3BvdmVyIGZyb20gJy4vZXVpLXRvb2wtdGlwLXBvcG92ZXIuZ3RzJztcblxuaW1wb3J0IHR5cGUgeyBFdWlUb29sdGlwUG9wb3ZlclNpZ25hdHVyZSB9IGZyb20gJy4vZXVpLXRvb2wtdGlwLXBvcG92ZXInO1xuXG5leHBvcnQgdHlwZSBUb29sVGlwUG9zaXRpb25zID0gJ3RvcCcgfCAncmlnaHQnIHwgJ2JvdHRvbScgfCAnbGVmdCc7XG5cbmV4cG9ydCB0eXBlIFRvb2xUaXBEZWxheSA9ICdyZWd1bGFyJyB8ICdsb25nJztcblxuY29uc3QgZGVsYXlUb01zTWFwOiB7IFtrZXkgaW4gVG9vbFRpcERlbGF5XTogbnVtYmVyIH0gPSB7XG4gIHJlZ3VsYXI6IDI1MCxcbiAgbG9uZzogMjUwICogNVxufTtcblxuaW50ZXJmYWNlIFRvb2xUaXBTdHlsZXMge1xuICB0b3A6IHN0cmluZztcbiAgbGVmdDogc3RyaW5nIHwgJ2F1dG8nO1xuICByaWdodD86IHN0cmluZyB8ICdhdXRvJztcbiAgb3BhY2l0eT86IHN0cmluZztcbiAgdmlzaWJpbGl0eT86ICdoaWRkZW4nO1xuICBkaXNwbGF5PzogJ2lubGluZUJsb2NrJztcbn1cblxuY29uc3QgZGlzcGxheVRvQ2xhc3NOYW1lTWFwID0ge1xuICBpbmxpbmVCbG9jazogdW5kZWZpbmVkLFxuICBibG9jazogJ2V1aVRvb2xUaXBBbmNob3ItLWRpc3BsYXlCbG9jaydcbn07XG5cbmNvbnN0IERFRkFVTFRfVE9PTFRJUF9TVFlMRVM6IFRvb2xUaXBTdHlsZXMgPSB7XG4gIC8vIHBvc2l0aW9uIHRoZSB0b29sdGlwIGNvbnRlbnQgbmVhciB0aGUgdG9wLWxlZnRcbiAgLy8gY29ybmVyIG9mIHRoZSB3aW5kb3cgc28gaXQgY2FuJ3QgY3JlYXRlIHNjcm9sbGJhcnNcbiAgLy8gNTAsNTAgYmVjYXVzZSB3aG8ga25vd3Mgd2hhdCBuZWdhdGl2ZSBtYXJnaW5zLCBwYWRkaW5nLCBldGNcbiAgdG9wOiAnNTBweCcsXG4gIGxlZnQ6ICc1MHB4JyxcbiAgLy8ganVzdCBpbiBjYXNlLCBhdm9pZCBhbnkgcG90ZW50aWFsIGZsaWNrZXIgYnkgaGlkaW5nXG4gIC8vIHRoZSB0b29sdGlwIGJlZm9yZSBpdCBpcyBwb3NpdGlvbmVkXG4gIG9wYWNpdHk6ICcwJyxcbiAgLy8gcHJldmVudCBhY2NpZGVudGFsIG1vdXNlIGludGVyYWN0aW9uIHdoaWxlIHBvc2l0aW9uaW5nXG4gIHZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICBkaXNwbGF5OiAnaW5saW5lQmxvY2snXG59O1xuXG5leHBvcnQgdHlwZSBFdWlUb29sdGlwQXJncyA9IHtcbiAgLyoqXG4gICAqIFBhc3NlcyBvbnRvIHRoZSB0aGUgdHJpZ2dlci5cbiAgICovXG4gIGFuY2hvckNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFBhc3NlcyBvbnRvIHRoZSB0b29sdGlwIGl0c2VsZiwgbm90IHRoZSB0cmlnZ2VyLlxuICAgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG1haW4gY29udGVudCBvZiB5b3VyIHRvb2x0aXAuXG4gICAqL1xuICBjb250ZW50Pzogc3RyaW5nO1xuICAvKipcbiAgICogQ29tbW9uIGRpc3BsYXkgYWx0ZXJuYXRpdmVzIGZvciB0aGUgYW5jaG9yIHdyYXBwZXJcbiAgICovXG4gIGRpc3BsYXk_OiBrZXlvZiB0eXBlb2YgZGlzcGxheVRvQ2xhc3NOYW1lTWFwO1xuICAvKipcbiAgICogRGVsYXkgYmVmb3JlIHNob3dpbmcgdG9vbHRpcC4gR29vZCBmb3IgcmVwZWF0YWJsZSBpdGVtcy5cbiAgICovXG4gIGRlbGF5PzogVG9vbFRpcERlbGF5O1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgdGl0bGUgZm9yIHlvdXIgdG9vbHRpcC5cbiAgICovXG4gIHRpdGxlPzogc3RyaW5nO1xuICAvKipcbiAgICogVW5sZXNzIHlvdSBwcm92aWRlIG9uZSwgdGhpcyB3aWxsIGJlIHJhbmRvbWx5IGdlbmVyYXRlZC5cbiAgICovXG4gIGlkPzogc3RyaW5nO1xuICAvKipcbiAgICogU3VnZ2VzdGVkIHBvc2l0aW9uLiBJZiB0aGVyZSBpcyBub3QgZW5vdWdoIHJvb20gZm9yIGl0IHRoaXMgd2lsbCBiZSBjaGFuZ2VkLlxuICAgKi9cbiAgcG9zaXRpb24_OiBUb29sVGlwUG9zaXRpb25zO1xuXG4gIGF0dGFjaFRvPzogdW5kZWZpbmVkIHwgSFRNTEVsZW1lbnQgfCBzdHJpbmcgfCBudWxsO1xuXG4gIGlzU2hvd24_OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJZiBzdXBwbGllZCwgY2FsbGVkIHdoZW4gbW91c2UgbW92ZW1lbnQgY2F1c2VzIHRoZSB0b29sIHRpcCB0byBiZVxuICAgKiBoaWRkZW4uXG4gICAqL1xuICBvbk1vdXNlT3V0PzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICBvbkZvY3VzPzogKCkgPT4gdm9pZDtcbiAgb25CbHVyPzogKCkgPT4gdm9pZDtcblxuICBoYXNUaXRsZT86IGJvb2xlYW47XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIEV1aVRvb2xUaXBTaWduYXR1cmUge1xuICBFbGVtZW50OiBFdWlUb29sdGlwUG9wb3ZlclNpZ25hdHVyZVsnRWxlbWVudCddO1xuICBBcmdzOiBFdWlUb29sdGlwQXJncztcbiAgQmxvY2tzOiB7XG4gICAgZGVmYXVsdD86IFtpZDogc3RyaW5nXTtcbiAgICB0aXRsZT86IFtdO1xuICAgIGNvbnRlbnQ_OiBbXTtcbiAgICBhbmNob3I_OiBbaWQ6IHN0cmluZ107XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV1aVRvb2xUaXAgZXh0ZW5kcyBDb21wb25lbnQ8RXVpVG9vbFRpcFNpZ25hdHVyZT4ge1xuICBhbmNob3I6IG51bGwgfCBIVE1MRWxlbWVudCA9IG51bGw7XG4gIHBvcG92ZXI6IG51bGwgfCBIVE1MRWxlbWVudCA9IG51bGw7XG5cbiAgQGFyZ09yRGVmYXVsdERlY29yYXRvcigndG9wJykgcG9zaXRpb24hOiBUb29sVGlwUG9zaXRpb25zO1xuICBAYXJnT3JEZWZhdWx0RGVjb3JhdG9yKCdyZWd1bGFyJykgZGVsYXkhOiBUb29sVGlwRGVsYXk7XG5cbiAgLy9TVEFURVxuICBAdHJhY2tlZCB2aXNpYmxlID0gZmFsc2U7XG4gIEB0cmFja2VkIGhhc0ZvY3VzID0gZmFsc2U7XG4gIEB0cmFja2VkIGNhbGN1bGF0ZWRQb3NpdGlvbjogVG9vbFRpcFBvc2l0aW9ucyA9IHRoaXMucG9zaXRpb247XG4gIEB0cmFja2VkIHRvb2xUaXBTdHlsZXM6IFRvb2xUaXBTdHlsZXMgPSBERUZBVUxUX1RPT0xUSVBfU1RZTEVTO1xuICBAdHJhY2tlZCBhcnJvd1N0eWxlczogeyBsZWZ0Pzogc3RyaW5nOyB0b3A_OiBzdHJpbmcgfSA9IHt9O1xuICBAdHJhY2tlZCBpZDogc3RyaW5nID0gdGhpcy5hcmdzLmlkIHx8IGd1aWRGb3Ioe30pO1xuICBAdHJhY2tlZCBfYXR0YWNoVG86IHVuZGVmaW5lZCB8IEhUTUxFbGVtZW50IHwgc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB0aW1lb3V0SWQ_OiBSZXR1cm5UeXBlPHR5cGVvZiBsYXRlcj47XG5cbiAgQGFjdGlvblxuICB1cGRhdGVBdHRhY2hUbygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuYXJncy5hdHRhY2hUbyAmJiB0aGlzLl9hdHRhY2hUbykge1xuICAgICAgdGhpcy5yZW1vdmVBdHRhY2hUb0hhbmRsZXJzKCk7XG4gICAgICB0aGlzLl9hdHRhY2hUbyA9IG51bGw7XG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5hcmdzLmF0dGFjaFRvICYmIHRoaXMuYXJncy5hdHRhY2hUbyAhPT0gdGhpcy5fYXR0YWNoVG8pIHtcbiAgICAgIG5leHQoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlbW92ZUF0dGFjaFRvSGFuZGxlcnMoKTtcbiAgICAgICAgdGhpcy5fYXR0YWNoVG8gPSB0aGlzLmFyZ3MuYXR0YWNoVG87XG4gICAgICAgIHRoaXMuc2V0dXBBdHRhY2hUb0hhbmRsZXJzKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBAYWN0aW9uXG4gIHNldHVwQXR0YWNoVG9IYW5kbGVycygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fYXR0YWNoVG8gJiYgdGhpcy5hdHRhY2hUbykge1xuICAgICAgdGhpcy5hdHRhY2hUby5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCB0aGlzLnNob3dUb29sVGlwKTtcbiAgICAgIHRoaXMuYXR0YWNoVG8uYWRkRXZlbnRMaXN0ZW5lcignZm9jdXNpbicsIHRoaXMub25Gb2N1cyk7XG4gICAgICAvL0B0cy1leHBlY3QtZXJyb3JcbiAgICAgIHRoaXMuYXR0YWNoVG8uYWRkRXZlbnRMaXN0ZW5lcignbW91c2VvdXQnLCB0aGlzLm9uTW91c2VPdXQpO1xuICAgICAgdGhpcy5hdHRhY2hUby5hZGRFdmVudExpc3RlbmVyKCdmb2N1c291dCcsIHRoaXMub25CbHVyKTtcbiAgICAgIHRoaXMucG9zaXRpb25Ub29sVGlwKCk7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICByZW1vdmVBdHRhY2hUb0hhbmRsZXJzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9hdHRhY2hUbyAmJiB0aGlzLmF0dGFjaFRvKSB7XG4gICAgICB0aGlzLmF0dGFjaFRvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuc2hvd1Rvb2xUaXApO1xuICAgICAgdGhpcy5hdHRhY2hUby5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1c2luJywgdGhpcy5vbkZvY3VzKTtcbiAgICAgIC8vQHRzLWV4cGVjdC1lcnJvclxuICAgICAgdGhpcy5hdHRhY2hUby5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW91dCcsIHRoaXMub25Nb3VzZU91dCk7XG4gICAgICB0aGlzLmF0dGFjaFRvLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgdGhpcy5vbkJsdXIpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgY2xlYXJBbmltYXRpb25UaW1lb3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRpbWVvdXRJZCkge1xuICAgICAgY2FuY2VsKHRoaXMudGltZW91dElkKTtcbiAgICAgIHRoaXMudGltZW91dElkID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgdmlzaWJsZURpZFVwZGF0ZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xuICAgIGlmICh0aGlzLnZpc2libGUgPT09IGZhbHNlICYmIHZhbHVlID09PSB0cnVlKSB7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUodGhpcy50ZXN0QW5jaG9yKTtcbiAgICB9XG4gIH1cblxuICB3aWxsRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci53aWxsRGVzdHJveSgpO1xuICAgIHRoaXMuY2xlYXJBbmltYXRpb25UaW1lb3V0KCk7XG4gICAgdGhpcy5yZW1vdmVBdHRhY2hUb0hhbmRsZXJzKCk7XG4gIH1cblxuICBAYWN0aW9uXG4gIHRlc3RBbmNob3IoKTogdm9pZCB7XG4gICAgLy8gd2hlbiB0aGUgdG9vbHRpcCBpcyB2aXNpYmxlLCB0aGlzIGNoZWNrcyBpZiB0aGUgYW5jaG9yIGlzIHN0aWxsIHBhcnQgb2YgZG9jdW1lbnRcbiAgICAvLyB0aGlzIGZpeGVzIHdoZW4gdGhlIHJlYWN0IHJvb3QgaXMgcmVtb3ZlZCBmcm9tIHRoZSBkb20gd2l0aG91dCB1bm1vdW50aW5nXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VsYXN0aWMvZXVpL2lzc3Vlcy8xMTA1XG4gICAgaWYgKGRvY3VtZW50LmJvZHkuY29udGFpbnModGhpcy5fYW5jaG9yKSA9PT0gZmFsc2UpIHtcbiAgICAgIC8vIHRoZSBhbmNob3IgaXMgbm8gbG9uZ2VyIHBhcnQgb2YgYGRvY3VtZW50YFxuICAgICAgdGhpcy5oaWRlVG9vbFRpcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgIC8vIGlmIHN0aWxsIHZpc2libGUsIGtlZXAgY2hlY2tpbmdcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMudGVzdEFuY2hvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICBkaWRJbnNlcnRBbmNob3IocmVmOiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgIHRoaXMuYW5jaG9yID0gcmVmO1xuICB9XG5cbiAgQGFjdGlvblxuICBzZXRQb3BvdmVyUmVmKHJlZjogSFRNTEVsZW1lbnQgfCBudWxsKTogdm9pZCB7XG4gICAgdGhpcy5wb3BvdmVyID0gcmVmO1xuXG4gICAgLy8gaWYgdGhlIHBvcG92ZXIgaGFzIGJlZW4gdW5tb3VudGVkLCBjbGVhclxuICAgIC8vIGFueSBwcmV2aW91cyBrbm93bGVkZ2UgYWJvdXQgaXRzIHNpemVcbiAgICBpZiAocmVmID09PSBudWxsKSB7XG4gICAgICB0aGlzLnRvb2xUaXBTdHlsZXMgPSBERUZBVUxUX1RPT0xUSVBfU1RZTEVTO1xuICAgICAgdGhpcy5hcnJvd1N0eWxlcyA9IHt9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnBvc2l0aW9uVG9vbFRpcCgpO1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2hvd1Rvb2xUaXAoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnRpbWVvdXRJZCAmJiAhdGhpcy52aXNpYmxlKSB7XG4gICAgICBjb25zdCBmbiA9ICgpOiB2b2lkID0-IHtcbiAgICAgICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMudGltZW91dElkID0gbGF0ZXIoXG4gICAgICAgIHRoaXMsXG4gICAgICAgICgpID0-IHtcbiAgICAgICAgICBzY2hlZHVsZU9uY2UoJ2FmdGVyUmVuZGVyJywgdGhpcywgZm4pO1xuICAgICAgICB9LFxuICAgICAgICBkZWxheVRvTXNNYXBbdGhpcy5kZWxheV1cbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgQGNhY2hlZFxuICBnZXQgYXR0YWNoVG8oKTogRWxlbWVudCB8IG51bGwgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgdGhpcy5fYXR0YWNoVG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLl9hdHRhY2hUbyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLl9hdHRhY2hUbztcbiAgICB9XG4gIH1cblxuICBnZXQgX2FuY2hvcigpOiBFbGVtZW50IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuYXR0YWNoVG8gfHwgdGhpcy5hbmNob3I7XG4gIH1cblxuICBAYWN0aW9uXG4gIHBvc2l0aW9uVG9vbFRpcCgpOiB2b2lkIHtcbiAgICBjb25zdCByZXF1ZXN0ZWRQb3NpdGlvbiA9IHRoaXMucG9zaXRpb247XG5cbiAgICBpZiAoIXRoaXMuX2FuY2hvciB8fCAhdGhpcy5wb3BvdmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBwb3NpdGlvbiwgbGVmdCwgdG9wLCBhcnJvdyB9ID0gZmluZFBvcG92ZXJQb3NpdGlvbih7XG4gICAgICBhbmNob3I6IHRoaXMuX2FuY2hvciBhcyBIVE1MRWxlbWVudCxcbiAgICAgIHBvcG92ZXI6IHRoaXMucG9wb3ZlcixcbiAgICAgIHBvc2l0aW9uOiByZXF1ZXN0ZWRQb3NpdGlvbixcbiAgICAgIG9mZnNldDogMTYsIC8vIG9mZnNldCBwb3BvdmVyIDE2cHggZnJvbSB0aGUgYW5jaG9yXG4gICAgICBhcnJvd0NvbmZpZzoge1xuICAgICAgICBhcnJvd1dpZHRoOiAxMixcbiAgICAgICAgYXJyb3dCdWZmZXI6IDRcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnN0IHdpbmRvd1dpZHRoID1cbiAgICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCB8fCB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICBjb25zdCB1c2VSaWdodFZhbHVlID0gd2luZG93V2lkdGggLyAyIDwgbGVmdDtcblxuICAgIGNvbnN0IHRvb2xUaXBTdHlsZXM6IFRvb2xUaXBTdHlsZXMgPSB7XG4gICAgICB0b3A6IGAke3RvcH1weGAsXG4gICAgICBsZWZ0OiB1c2VSaWdodFZhbHVlID8gJ2F1dG8nIDogYCR7bGVmdH1weGAsXG4gICAgICByaWdodDogdXNlUmlnaHRWYWx1ZVxuICAgICAgICA_IGAke3dpbmRvd1dpZHRoIC0gbGVmdCAtIHRoaXMucG9wb3Zlci5vZmZzZXRXaWR0aH1weGBcbiAgICAgICAgOiAnYXV0bydcbiAgICB9O1xuXG4gICAgdGhpcy52aXNpYmxlID0gdHJ1ZTtcbiAgICB0aGlzLmNhbGN1bGF0ZWRQb3NpdGlvbiA9IHBvc2l0aW9uO1xuICAgIHRoaXMudG9vbFRpcFN0eWxlcyA9IHRvb2xUaXBTdHlsZXM7XG5cbiAgICBpZiAoYXJyb3cpIHtcbiAgICAgIHRoaXMuYXJyb3dTdHlsZXMgPSB7XG4gICAgICAgIGxlZnQ6IGAke2Fycm93LmxlZnR9cHhgLFxuICAgICAgICB0b3A6IGAke2Fycm93Py50b3B9cHhgXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIEBhY3Rpb25cbiAgaGlkZVRvb2xUaXAoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYXJncy5pc1Nob3duID09PSB0cnVlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jbGVhckFuaW1hdGlvblRpbWVvdXQoKTtcblxuICAgIGNvbnN0IGZuID0gKCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCF0aGlzLmlzRGVzdHJveWluZyB8fCAhdGhpcy5pc0Rlc3Ryb3llZCkge1xuICAgICAgICB0aGlzLnZpc2libGUgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgc2NoZWR1bGVPbmNlKCdhZnRlclJlbmRlcicsIHRoaXMsIGZuKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgaGFzRm9jdXNNb3VzZU1vdmVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVUb29sVGlwKCk7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFzRm9jdXNNb3VzZU1vdmVMaXN0ZW5lcik7XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ID09PSBrZXlzLlRBQikge1xuICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIHRoaXMuaGFzRm9jdXNNb3VzZU1vdmVMaXN0ZW5lcik7XG4gICAgfVxuICB9XG5cbiAgQGFjdGlvblxuICBvbkZvY3VzKCk6IHZvaWQge1xuICAgIHRoaXMuaGFzRm9jdXMgPSB0cnVlO1xuICAgIHRoaXMuc2hvd1Rvb2xUaXAoKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgb25CbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuaGFzRm9jdXMgPSBmYWxzZTtcbiAgICB0aGlzLmhpZGVUb29sVGlwKCk7XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uTW91c2VPdXQoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAvLyBQcmV2ZW50IG1vdXNpbmcgb3ZlciBjaGlsZHJlbiBmcm9tIGhpZGluZyB0aGUgdG9vbHRpcCBieSB0ZXN0aW5nIGZvciB3aGV0aGVyIHRoZSBtb3VzZSBoYXNcbiAgICAvLyBsZWZ0IHRoZSBhbmNob3IgZm9yIGEgbm9uLWNoaWxkLlxuICAgIGlmIChcbiAgICAgIHRoaXMuX2FuY2hvciA9PT0gZXZlbnQucmVsYXRlZFRhcmdldCB8fFxuICAgICAgKHRoaXMuX2FuY2hvciAhPSBudWxsICYmXG4gICAgICAgICF0aGlzLl9hbmNob3IuY29udGFpbnMoZXZlbnQucmVsYXRlZFRhcmdldCBhcyBOb2RlKSlcbiAgICApIHtcbiAgICAgIGlmICghdGhpcy5oYXNGb2N1cykge1xuICAgICAgICB0aGlzLmhpZGVUb29sVGlwKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYXJncy5vbk1vdXNlT3V0KSB7XG4gICAgICB0aGlzLmFyZ3Mub25Nb3VzZU91dChldmVudCk7XG4gICAgfVxuICB9XG5cbiAgPHRlbXBsYXRlPlxuICAgIHt7I2xldFxuICAgICAgKGhhcy1ibG9jayBcImNvbnRlbnRcIikgKGhhcy1ibG9jayBcInRpdGxlXCIpIChoYXMtYmxvY2sgXCJhbmNob3JcIilcbiAgICAgIGFzIHxoYXNDb250ZW50QmxvY2sgaGFzVGl0bGVCbG9jayBoYXNBbmNob3JCbG9ja3xcbiAgICB9fVxuICAgICAge3sjaWYgQGF0dGFjaFRvfX1cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICB7e2RpZEluc2VydCB0aGlzLnVwZGF0ZUF0dGFjaFRvfX1cbiAgICAgICAgICB7e2RpZFVwZGF0ZSB0aGlzLnVwZGF0ZUF0dGFjaFRvIEBhdHRhY2hUb319XG4gICAgICAgICAge3tkaWRVcGRhdGVcbiAgICAgICAgICAgIChpZiAoZXEgQGlzU2hvd24gdHJ1ZSkgdGhpcy5vbkZvY3VzIHRoaXMub25CbHVyKVxuICAgICAgICAgICAgQGlzU2hvd25cbiAgICAgICAgICB9fVxuICAgICAgICAgIHt7ZGlkSW5zZXJ0IChpZiAoZXEgQGlzU2hvd24gdHJ1ZSkgdGhpcy5vbkZvY3VzIHRoaXMub25CbHVyKX19XG4gICAgICAgID48L3NwYW4-XG4gICAgICB7e2Vsc2V9fVxuICAgICAgICA8c3BhblxuICAgICAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgIFwiZXVpVG9vbFRpcEFuY2hvclwiXG4gICAgICAgICAgICAoaWYgKGVxIEBkaXNwbGF5IFwiYmxvY2tcIikgXCJldWlUb29sVGlwQW5jaG9yLS1kaXNwbGF5QmxvY2tcIilcbiAgICAgICAgICAgIEBhbmNob3JDbGFzc05hbWVcbiAgICAgICAgICB9fVxuICAgICAgICAgIHt7ZGlkSW5zZXJ0IHRoaXMuZGlkSW5zZXJ0QW5jaG9yfX1cbiAgICAgICAgICB7e29uIFwibW91c2VvdmVyXCIgdGhpcy5zaG93VG9vbFRpcH19XG4gICAgICAgICAge3tvbiBcImZvY3VzaW5cIiB0aGlzLm9uRm9jdXN9fVxuICAgICAgICAgIHt7b24gXCJmb2N1c291dFwiIHRoaXMub25CbHVyfX1cbiAgICAgICAgICB7e29uIFwibW91c2VvdXRcIiB0aGlzLm9uTW91c2VPdXR9fVxuICAgICAgICAgIHt7ZGlkVXBkYXRlXG4gICAgICAgICAgICAoaWYgKGVxIEBpc1Nob3duIHRydWUpIHRoaXMub25Gb2N1cyB0aGlzLm9uQmx1cilcbiAgICAgICAgICAgIEBpc1Nob3duXG4gICAgICAgICAgfX1cbiAgICAgICAgICB7e2RpZEluc2VydCAoaWYgKGVxIEBpc1Nob3duIHRydWUpIHRoaXMub25Gb2N1cyB0aGlzLm9uQmx1cil9fVxuICAgICAgICA-XG4gICAgICAgICAge3sjaWYgaGFzQW5jaG9yQmxvY2t9fVxuICAgICAgICAgICAge3t5aWVsZCB0aGlzLmlkIHRvPVwiYW5jaG9yXCJ9fVxuICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICB7e3lpZWxkIHRoaXMuaWR9fVxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAge3svaWZ9fVxuICAgICAge3sjaWZcbiAgICAgICAgKGFuZCB0aGlzLnZpc2libGUgKG9yIEB0aXRsZSBAY29udGVudCBoYXNDb250ZW50QmxvY2sgaGFzVGl0bGVCbG9jaykpXG4gICAgICB9fVxuICAgICAgICA8RXVpUG9ydGFsPlxuICAgICAgICAgIDxFdWlUb29sVGlwUG9wb3ZlclxuICAgICAgICAgICAgY2xhc3M9e3tjbGFzc05hbWVzXG4gICAgICAgICAgICAgIFwiZXVpVG9vbFRpcFwiXG4gICAgICAgICAgICAgIEBjbGFzc05hbWVcbiAgICAgICAgICAgICAgY29tcG9uZW50TmFtZT1cIkV1aVRvb2xUaXBcIlxuICAgICAgICAgICAgICBwb3NpdGlvbj10aGlzLmNhbGN1bGF0ZWRQb3NpdGlvblxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIEBwb3NpdGlvblRvb2xUaXA9e3t0aGlzLnBvc2l0aW9uVG9vbFRpcH19XG4gICAgICAgICAgICBAcG9wb3ZlclJlZj17e3RoaXMuc2V0UG9wb3ZlclJlZn19XG4gICAgICAgICAgICBpZD17e3RoaXMuaWR9fVxuICAgICAgICAgICAgQGhhc1RpdGxlPXt7aWZcbiAgICAgICAgICAgICAgKGFuZCAoYXJnT3JEZWZhdWx0IEBoYXNUaXRsZSB0cnVlKSAob3IgaGFzVGl0bGVCbG9jayBAdGl0bGUpKVxuICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgcm9sZT1cInRvb2x0aXBcIlxuICAgICAgICAgICAgLi4uYXR0cmlidXRlc1xuICAgICAgICAgICAge3tzdHlsZSB0aGlzLnRvb2xUaXBTdHlsZXN9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDw6dGl0bGU-XG4gICAgICAgICAgICAgIHt7I2lmIGhhc1RpdGxlQmxvY2t9fVxuICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJ0aXRsZVwifX1cbiAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICB7e0B0aXRsZX19XG4gICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgIDwvOnRpdGxlPlxuICAgICAgICAgICAgPDpjb250ZW50PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZXVpVG9vbFRpcF9fYXJyb3dcIiB7e3N0eWxlIHRoaXMuYXJyb3dTdHlsZXN9fT48L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiB7e3Jlc2l6ZU9ic2VydmVyIG9uUmVzaXplPXRoaXMucG9zaXRpb25Ub29sVGlwfX0-XG4gICAgICAgICAgICAgICAge3sjaWYgaGFzQ29udGVudEJsb2NrfX1cbiAgICAgICAgICAgICAgICAgIHt7eWllbGQgdG89XCJjb250ZW50XCJ9fVxuICAgICAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgICAgICB7e0Bjb250ZW50fX1cbiAgICAgICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC86Y29udGVudD5cbiAgICAgICAgICA8L0V1aVRvb2xUaXBQb3BvdmVyPlxuICAgICAgICA8L0V1aVBvcnRhbD5cbiAgICAgIHt7L2lmfX1cbiAgICB7ey9sZXR9fVxuICA8L3RlbXBsYXRlPlxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGVBQWUscUJBQXFCO0FBQzNDLFNBQVMsTUFBTSxFQUFFLE9BQU8sUUFBUSxvQkFBb0I7QUFDcEQsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBQ3JDLFNBQVMsTUFBTSxRQUFRLGdCQUFnQjtBQUN2QyxTQUFTLE9BQU8sUUFBUSwwQkFBMEI7QUFDbEQsT0FBTyxlQUFlLCtDQUErQztBQUNyRSxPQUFPLGVBQWUsK0NBQStDO0FBQ3JFLFNBQVMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsWUFBWSxRQUFRLGlCQUFpQjtBQUVuRSxPQUFPLFdBQVcsdUNBQXVDO0FBQ3pELFNBQVMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsc0JBQXNCO0FBRWxELE9BQU8sZ0JBQWdCLHFCQUFxQixRQUFRLCtCQUErQjtBQUNuRixPQUFPLGdCQUFnQiw0QkFBNEI7QUFDbkQsT0FBTyxvQkFBb0Isa0NBQWtDO0FBQzdELFNBQVMsSUFBSSxRQUFRLG1CQUFtQjtBQUN4QyxTQUFTLG1CQUFtQixRQUFRLDRCQUE0QjtBQUNoRSxPQUFPLGVBQWUsbUJBQW1CO0FBQ3pDLE9BQU8sdUJBQXVCLDZCQUE2QjtBQUUzRCxjQUFjLDBCQUEwQixRQUFRLHlCQUF5QjtBQUV6RSxZQUFZLG1C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"],"names":["cached","macroCondition","dependencySatisfies","importSync","delayToMsMap","regular","long","DEFAULT_TOOLTIP_STYLES","top","left","opacity","visibility","display","EuiToolTip","Component","anchor","popover","g","this","prototype","argOrDefaultDecorator","i","void 0","tracked","position","args","id","guidFor","timeoutId","updateAttachTo","attachTo","_attachTo","removeAttachToHandlers","next","setupAttachToHandlers","n","action","addEventListener","showToolTip","onFocus","onMouseOut","onBlur","positionToolTip","removeEventListener","clearAnimationTimeout","cancel","undefined","visibleDidUpdate","value1","visible","requestAnimationFrame","testAnchor","willDestroy","document","body","contains","_anchor","hideToolTip","didInsertAnchor","ref1","setPopoverRef","toolTipStyles","arrowStyles","fn1","later","scheduleOnce","delay","querySelector","requestedPosition1","position1","left1","top1","arrow","arrow1","findPopoverPosition","offset","arrowConfig","arrowWidth","arrowBuffer","windowWidth1","documentElement","clientWidth","window","innerWidth","useRightValue1","toolTipStyles1","right","offsetWidth","calculatedPosition","isShown","isDestroying","isDestroyed","hasFocusMouseMoveListener","onKeyUp","event1","key","keys","TAB","hasFocus","relatedTarget","setComponentTemplate","precompileTemplate","strictMode","scope","didInsert","didUpdate","eq","classNames","on","and","or","EuiPortal","EuiToolTipPopover","argOrDefault","style","resizeObserver"],"mappings":"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"}
|