@ember-eui/core 12.0.10 → 12.0.11
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/declarations/components/eui-flyout.d.ts +1 -1
- package/declarations/components/eui-flyout.d.ts.map +1 -1
- package/declarations/components/eui-markdown-editor-footer.d.ts.map +1 -1
- package/declarations/components/eui-markdown-editor-toolbar.d.ts.map +1 -1
- package/declarations/components/eui-range.d.ts +2 -2
- package/declarations/components/eui-range.d.ts.map +1 -1
- package/dist/components/eui-flyout.js.map +1 -1
- package/dist/components/eui-markdown-editor-footer.js +14 -5
- package/dist/components/eui-markdown-editor-footer.js.map +1 -1
- package/dist/components/eui-markdown-editor-toolbar.js +4 -2
- package/dist/components/eui-markdown-editor-toolbar.js.map +1 -1
- package/dist/components/eui-range.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-flyout.d.ts","sourceRoot":"","sources":["../../src/components/eui-flyout.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AA0B3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,MAAM,MAAM,aAAa,GAAG;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAAC;IAC9C;;OAEG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAEvB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAExB,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B,mBAAmB,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAE3C,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B,gBAAgB,CAAC,EAAE;QACjB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;QAClC,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAE9B,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"eui-flyout.d.ts","sourceRoot":"","sources":["../../src/components/eui-flyout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor-footer.d.ts","sourceRoot":"","sources":["../../src/components/eui-markdown-editor-footer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor-footer.d.ts","sourceRoot":"","sources":["../../src/components/eui-markdown-editor-footer.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAsB3C,MAAM,WAAW,gCAAgC;IAC/C,IAAI,EAAE;QACJ,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC;KACnB,CAAC;CACH;AAUD,MAAM,CAAC,OAAO,OAAO,gCAAiC,SAAQ,SAAS,CAAC,gCAAgC,CAAC;IAC9F,aAAa,UAAS;IACtB,aAAa,UAAS;CA4KhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor-toolbar.d.ts","sourceRoot":"","sources":["../../src/components/eui-markdown-editor-toolbar.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor-toolbar.d.ts","sourceRoot":"","sources":["../../src/components/eui-markdown-editor-toolbar.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAiB3C,OAAO,KAAK,eAAe,MAAM,oCAAoC,CAAC;AACtE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAElF,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,EAAE,GAAG,EAAE,CAAC;IACjB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,yBAAyB,KAAK,IAAI,CAAC;IAC/D,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,YAAY,EAAE,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,4BAA4B,CAAC;IACnC,MAAM,EAAE;QACN,OAAO,EAAE,EAAE,CAAC;KACb,CAAC;CACH;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EACJ,MAAM,GACN;QACE,SAAS,EAAE,GAAG,CAAC;KAChB,CAAC;IACN,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,CAAC,OAAO,OAAO,iCAAkC,SAAQ,SAAS,CAAC,iCAAiC,CAAC;IACzG,kBAAkB;;;;;QAahB;IAEF,IACI,WAAW;;;;;;;;;;;;;;SAwBd;IAED,oBAAoB;;;;;QAmBlB;IAEF,IAAI,SAAS,UAEZ;IAED,IAAI,YAAY,YAEf;IAGD,mBAAmB,CAAC,UAAU,EAAE,MAAM;IAMtC,aAAa,CAAC,IAAI,EAAE,4BAA4B;CAkMjD"}
|
|
@@ -5,7 +5,7 @@ export interface EuiRangeArgs {
|
|
|
5
5
|
compressed?: boolean;
|
|
6
6
|
readOnly?: boolean;
|
|
7
7
|
fullWidth?: boolean;
|
|
8
|
-
id
|
|
8
|
+
id?: string;
|
|
9
9
|
/**
|
|
10
10
|
* Create colored indicators for certain intervals
|
|
11
11
|
*/
|
|
@@ -37,7 +37,7 @@ export interface EuiRangeArgs {
|
|
|
37
37
|
/**
|
|
38
38
|
* Specified ticks at specified values
|
|
39
39
|
*/
|
|
40
|
-
ticks
|
|
40
|
+
ticks?: EuiRangeTick[];
|
|
41
41
|
/**
|
|
42
42
|
* Modifies the number of tick marks and at what interval
|
|
43
43
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-range.d.ts","sourceRoot":"","sources":["../../src/components/eui-range.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AA0B3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"eui-range.d.ts","sourceRoot":"","sources":["../../src/components/eui-range.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-flyout.js","sources":["../../src/components/eui-flyout.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { concat } from '@ember/helper';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { throttle } from '@ember/runloop';\n\nimport { element } from 'ember-element-helper';\nimport { focusTrap } from 'ember-focus-trap';\nimport onKey from 'ember-keyboard/modifiers/on-key';\nimport { modifier as modBuilder } from 'ember-modifier';\nimport styleModifier from 'ember-style-modifier/modifiers/style';\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport outsideClickDetectorModifier from '../modifiers/outside-click-detector.ts';\nimport resizeObserverModifier from '../modifiers/resize-observer.ts';\nimport { isWithinMinBreakpoint } from '../utils/breakpoint.ts';\nimport { sizeMapping } from '../utils/css-mappings/eui-flyout.ts';\nimport { keysOf } from './common.ts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport EuiOverlayMask from './eui-overlay-mask.gts';\nimport EuiPortal from './eui-portal.gts';\n\nimport type { EuiBreakpointSize } from '../utils/breakpoint.ts';\n\nexport type EuiFlyoutArgs = {\n closeAriaLabel?: string;\n /**\n * Shows the navigation flyout\n */\n isOpen?: boolean;\n /**\n * Keeps navigation flyout visible and push `<body>` content via padding\n */\n isDocked?: boolean;\n /**\n * Named breakpoint or pixel value for customizing the minimum window width to enable docking\n */\n dockedBreakpoint?: EuiBreakpointSize | number;\n /**\n * Keeps the display of toggle button when in docked state\n */\n showButtonIfDocked?: boolean;\n\n isFocusTrapActive?: boolean;\n\n as?: string;\n\n size?: number | string;\n\n side?: 'left' | 'right';\n\n role?: null | string;\n\n ownFocus?: boolean;\n\n outsideClickCloses?: boolean;\n\n closeButtonPosition?: 'outside' | 'inside';\n\n paddingSize?: string;\n\n hideCloseButton?: boolean;\n\n closeButtonProps?: {\n className?: string;\n onClick?: (e: MouseEvent) => void;\n classes?: string;\n };\n\n closeButtonAriaLabel?: string;\n\n onClose: () => void;\n\n maxWidth?: boolean | number;\n\n maskProps?: Record<string, unknown>;\n\n type?: string;\n\n pushMinBreakpoint?: number | EuiBreakpointSize;\n\n shouldSelfFocus?: boolean;\n\n focusTrapOptions?: {\n allowOutsideClick?: boolean;\n clickOutsideDeactivates?: boolean;\n initialFocus?: string | HTMLElement | (() => HTMLElement);\n fallbackFocus?: string | HTMLElement | (() => HTMLElement);\n escapeDeactivates?: boolean;\n returnFocusOnDeactivate?: boolean;\n preventScroll?: boolean;\n };\n};\n\nconst classesModifier = modBuilder(\n (\n _element: Element,\n _pos,\n {\n type,\n isPushed,\n side,\n dimensions = {},\n functionToCallOnWindowResize\n }: {\n type: string;\n isPushed: boolean;\n side: string;\n dimensions?: { width?: number };\n functionToCallOnWindowResize: () => void;\n }\n ) => {\n // This class doesn't actually do anything by EUI, but is nice to add for consumers (JIC)\n document.body.classList.add('euiBody--hasFlyout');\n\n /**\n * Accomodate for the `isPushed` state by adding padding to the body equal to the width of the element\n */\n if (type === 'push') {\n // Only add the event listener if we'll need to accommodate with padding\n window.addEventListener('resize', functionToCallOnWindowResize);\n\n if (isPushed && dimensions.width) {\n if (side === 'right') {\n document.body.style.paddingRight = `${dimensions.width}px`;\n } else if (side === 'left') {\n document.body.style.paddingLeft = `${dimensions.width}px`;\n }\n }\n }\n\n return () => {\n document.body.classList.remove('euiBody--hasFlyout');\n\n if (type === 'push') {\n window.removeEventListener('resize', functionToCallOnWindowResize);\n\n if (side === 'right') {\n document.body.style.paddingRight = '';\n } else if (side === 'left') {\n document.body.style.paddingLeft = '';\n }\n }\n };\n }\n);\n\nexport const SIZES = keysOf(sizeMapping);\nexport type EuiFlyoutSize = (typeof SIZES)[number];\n\nfunction isEuiFlyoutSizeNamed(value: any): value is EuiFlyoutSize {\n return SIZES.includes(value);\n}\n\nexport interface EuiFlyoutSignature {\n Element: any;\n Args: EuiFlyoutArgs;\n Blocks: {\n default: [];\n };\n}\n\nexport default class EuiFlyoutComponent extends Component<EuiFlyoutSignature> {\n @tracked windowIsLargeEnoughToPush = isWithinMinBreakpoint(\n typeof window === 'undefined' ? -Infinity : window.innerWidth,\n this.pushMinBreakpoint\n );\n\n @tracked dimensions?: { width?: number; height?: number };\n\n get as() {\n return this.args.as ?? 'div';\n }\n\n get hideCloseButton() {\n return this.args.hideCloseButton ?? false;\n }\n\n get closeButtonPosition() {\n return this.args.closeButtonPosition ?? 'inside';\n }\n\n get ownFocus() {\n return this.args.ownFocus ?? true;\n }\n\n get side() {\n return this.args.side ?? 'right';\n }\n\n get size() {\n return this.args.size ?? 'm';\n }\n\n get paddingSize() {\n return this.args.paddingSize ?? 'l';\n }\n\n get maxWidth() {\n return this.args.maxWidth ?? false;\n }\n\n get type() {\n return this.args.type ?? 'overlay';\n }\n\n get outsideClickCloses() {\n return this.args.outsideClickCloses ?? false;\n }\n\n get role() {\n return this.args.role ?? 'dialog';\n }\n\n get pushMinBreakpoint() {\n return this.args.pushMinBreakpoint ?? 'l';\n }\n\n get isPushed() {\n return this.type === 'push' && this.windowIsLargeEnoughToPush;\n }\n\n get styles() {\n let newStyle: { [key: string]: unknown } = {};\n\n if (this.maxWidth !== false) {\n const value =\n typeof this.maxWidth === 'number'\n ? `${this.maxWidth}px`\n : this.maxWidth;\n\n newStyle = { maxWidth: value };\n }\n\n if (!isEuiFlyoutSizeNamed(this.size) && newStyle) {\n newStyle['width'] = this.size;\n } else {\n newStyle = { width: this.size };\n }\n\n return newStyle;\n }\n\n @action\n functionToCallOnWindowResize() {\n throttle(() => {\n if (isWithinMinBreakpoint(window.innerWidth, this.pushMinBreakpoint)) {\n this.windowIsLargeEnoughToPush = true;\n } else {\n this.windowIsLargeEnoughToPush = false;\n }\n }, 50);\n }\n\n @action\n onClose() {\n this.args.onClose?.();\n }\n\n @action\n onButtonCloseClicked(e: MouseEvent) {\n this.onClose();\n this.args.closeButtonProps?.onClick?.(e);\n }\n\n @action\n onResize(dimensions: { width: number; height: number }) {\n this.dimensions = dimensions;\n }\n\n <template>\n {{#let\n (classNames\n (if (eq this.maxWidth true) \"euiFlyout--maxWidth-default\")\n componentName=\"EuiFlyout\"\n type=this.type\n side=this.side\n size=this.size\n padding=this.paddingSize\n )\n (classNames\n \"euiFlyout__closeButton\"\n (concat \"euiFlyout__closeButton--\" this.closeButtonPosition)\n (or @closeButtonProps.className @closeButtonProps.classes)\n )\n (modifier\n focusTrap\n isActive=(argOrDefault @isFocusTrapActive true)\n shouldSelfFocus=(argOrDefault @shouldSelfFocus true)\n isPaused=this.isPushed\n focusTrapOptions=(argOrDefault\n @focusTrapOptions\n (hash\n allowOutsideClick=true clickOutsideDeactivates=(not this.ownFocus)\n )\n )\n )\n (modifier\n outsideClickDetectorModifier\n isDisabled=(or this.isPushed (not this.outsideClickCloses))\n onOutsideClick=this.onClose\n )\n (modifier styleModifier this.styles)\n (modifier onKey \"Escape\" this.onClose)\n (modifier\n classesModifier\n type=this.type\n isPushed=this.isPushed\n side=this.side\n dimensions=this.dimensions\n functionToCallOnWindowResize=this.functionToCallOnWindowResize\n )\n (modifier resizeObserverModifier onResize=this.onResize)\n (element this.as)\n as |classes closeButtonClasses focusTrapModifier outsideClickDetector currentStyles onEscape classesModifier resizeObserver TheElement|\n }}\n\n {{#if (and this.ownFocus (not this.isPushed))}}\n <EuiOverlayMask @headerZindexLocation=\"below\" @onClick={{this.onClose}}>\n <TheElement\n role={{this.role}}\n class={{classes}}\n tabindex={{-1}}\n {{!@glint-expect-error}}\n {{currentStyles}}\n {{!@glint-expect-error}}\n {{focusTrapModifier}}\n {{outsideClickDetector}}\n {{classesModifier}}\n {{resizeObserver}}\n ...attributes\n >\n {{#if (and @onClose (not @hideCloseButton))}}\n <EuiButtonIcon\n @display={{if\n (eq this.closeButtonPosition \"outside\")\n \"fill\"\n \"empty\"\n }}\n @iconType=\"cross\"\n @color=\"text\"\n aria-label={{or @closeButtonAriaLabel @closeAriaLabel}}\n data-test-subj=\"euiFlyoutCloseButton\"\n class={{closeButtonClasses}}\n {{on \"click\" this.onButtonCloseClicked}}\n />\n {{/if}}\n {{yield}}\n </TheElement>\n </EuiOverlayMask>\n {{else if (not this.isPushed)}}\n <EuiPortal>\n <TheElement\n role={{this.role}}\n class={{classes}}\n tabindex={{-1}}\n {{currentStyles}}\n {{!@glint-expect-error}}\n {{focusTrapModifier}}\n {{outsideClickDetector}}\n {{classesModifier}}\n {{resizeObserver}}\n ...attributes\n >\n {{#if (and @onClose (not @hideCloseButton))}}\n <EuiButtonIcon\n @display={{if\n (eq this.closeButtonPosition \"outside\")\n \"fill\"\n \"empty\"\n }}\n @iconType=\"cross\"\n @color=\"text\"\n aria-label={{or @closeButtonAriaLabel @closeAriaLabel}}\n data-test-subj=\"euiFlyoutCloseButton\"\n class={{closeButtonClasses}}\n {{on \"click\" this.onButtonCloseClicked}}\n />\n {{/if}}\n {{yield}}\n </TheElement>\n </EuiPortal>\n {{else}}\n <TheElement\n role={{this.role}}\n class={{classes}}\n tabindex={{-1}}\n {{currentStyles}}\n {{!@glint-expect-error}}\n {{focusTrapModifier}}\n {{outsideClickDetector}}\n {{onEscape}}\n {{classesModifier}}\n {{resizeObserver}}\n ...attributes\n >\n {{#if (and @onClose (not @hideCloseButton))}}\n <EuiButtonIcon\n @display={{if\n (eq this.closeButtonPosition \"outside\")\n \"fill\"\n \"empty\"\n }}\n @iconType=\"cross\"\n @color=\"text\"\n aria-label={{or @closeButtonAriaLabel @closeAriaLabel}}\n data-test-subj=\"euiFlyoutCloseButton\"\n class={{closeButtonClasses}}\n {{on \"click\" this.onButtonCloseClicked}}\n />\n {{/if}}\n {{yield}}\n </TheElement>\n {{/if}}\n {{/let}}\n </template>\n}\n"],"names":["classesModifier","modBuilder","_element","_pos","type","isPushed","side","dimensions","functionToCallOnWindowResize","document","body","classList","add","window","addEventListener","width","style","paddingRight","paddingLeft","remove","removeEventListener","SIZES","keysOf","sizeMapping","isEuiFlyoutSizeNamed","value","includes","EuiFlyoutComponent","Component","g","prototype","tracked","isWithinMinBreakpoint","Infinity","innerWidth","pushMinBreakpoint","i","void 0","as","args","hideCloseButton","closeButtonPosition","ownFocus","size","paddingSize","maxWidth","outsideClickCloses","role","windowIsLargeEnoughToPush","styles","newStyle","throttle","n","action","onClose","onButtonCloseClicked","e","closeButtonProps","onClick","onResize","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","concat","or","focusTrap","argOrDefault","hash","not","outsideClickDetectorModifier","styleModifier","onKey","resizeObserverModifier","element","and","EuiOverlayMask","EuiButtonIcon","on","EuiPortal"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAkGA,MAAMA,kBAAkBC,QACtB,CAAA,CACEC,QAAU,EACVC,MACA;EACEC,IAAI;EACJC,QAAQ;EACRC,IAAI;EACJC,aAAa,EAAE;AACfC,EAAAA;AAOD,CAAA,KAAA;AAED;EACAC,QAAA,CAASC,IAAI,CAACC,SAAS,CAACC,GAAG,CAAC,oBAAA,CAAA;AAE5B;;;EAGA,IAAIR,SAAS,MAAQ,EAAA;AACnB;AACAS,IAAAA,MAAO,CAAAC,gBAAgB,CAAC,QAAU,EAAAN,4BAAA,CAAA;AAElC,IAAA,IAAIH,QAAA,IAAYE,UAAW,CAAAQ,KAAK,EAAE;MAChC,IAAIT,SAAS,OAAS,EAAA;QACpBG,QAAA,CAASC,IAAI,CAACM,KAAK,CAACC,YAAY,GAAG,CAAGV,EAAAA,UAAW,CAAAQ,KAAK,CAAI,EAAA,CAAA;AAC5D,OAAO,MAAA,IAAIT,SAAS,MAAQ,EAAA;QAC1BG,QAAA,CAASC,IAAI,CAACM,KAAK,CAACE,WAAW,GAAG,CAAGX,EAAAA,UAAW,CAAAQ,KAAK,CAAI,EAAA,CAAA;AAC3D;AACF;AACF;AAEA,EAAA,OAAO,MAAA;IACLN,QAAA,CAASC,IAAI,CAACC,SAAS,CAACQ,MAAM,CAAC,oBAAA,CAAA;IAE/B,IAAIf,SAAS,MAAQ,EAAA;AACnBS,MAAAA,MAAO,CAAAO,mBAAmB,CAAC,QAAU,EAAAZ,4BAAA,CAAA;MAErC,IAAIF,SAAS,OAAS,EAAA;AACpBG,QAAAA,QAAA,CAASC,IAAI,CAACM,KAAK,CAACC,YAAY,GAAG,EAAA;AACrC,OAAO,MAAA,IAAIX,SAAS,MAAQ,EAAA;AAC1BG,QAAAA,QAAA,CAASC,IAAI,CAACM,KAAK,CAACE,WAAW,GAAG,EAAA;AACpC;AACF;GACF;AACF,CAAA,CAAA;MAGWG,KAAQ,GAAAC,MAAA,CAAOC,WAAa;AAGzC,SAASC,oBAAqBA,CAAAC,KAAU,EAAY;AAClD,EAAA,OAAOJ,KAAA,CAAMK,QAAQ,CAACD,KAAA,CAAA;AACxB;AAUe,MAAME,2BAA2BC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,2BAAA,EAAA,CACvDC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAoCC,qBACnC,CAAA,OAAOnB,MAAW,KAAA,WAAA,GAAc,CAACoB,QAAA,GAAWpB,MAAO,CAAAqB,UAAU,EAC7D,IAAI,CAACC,iBAAiB,CACtB;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,0BAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,2BAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAR,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,YAAA,EAAA,CAEDC,OAAA,CAAA,CAAA;AAAA;AAAA,EAAA,WAAA,IAAAK,CAAA,CAAA,IAAA,EAAA,YAAA,CAAA,EAAAC,MAAA;EAED,IAAIC,EAAKA,GAAA;AACP,IAAA,OAAO,IAAI,CAACC,IAAI,CAACD,EAAE,IAAI,KAAA;AACzB;EAEA,IAAIE,eAAkBA,GAAA;AACpB,IAAA,OAAO,IAAI,CAACD,IAAI,CAACC,eAAe,IAAI,KAAA;AACtC;EAEA,IAAIC,mBAAsBA,GAAA;AACxB,IAAA,OAAO,IAAI,CAACF,IAAI,CAACE,mBAAmB,IAAI,QAAA;AAC1C;EAEA,IAAIC,QAAWA,GAAA;AACb,IAAA,OAAO,IAAI,CAACH,IAAI,CAACG,QAAQ,IAAI,IAAA;AAC/B;EAEA,IAAIpC,IAAOA,GAAA;AACT,IAAA,OAAO,IAAI,CAACiC,IAAI,CAACjC,IAAI,IAAI,OAAA;AAC3B;EAEA,IAAIqC,IAAOA,GAAA;AACT,IAAA,OAAO,IAAI,CAACJ,IAAI,CAACI,IAAI,IAAI,GAAA;AAC3B;EAEA,IAAIC,WAAcA,GAAA;AAChB,IAAA,OAAO,IAAI,CAACL,IAAI,CAACK,WAAW,IAAI,GAAA;AAClC;EAEA,IAAIC,QAAWA,GAAA;AACb,IAAA,OAAO,IAAI,CAACN,IAAI,CAACM,QAAQ,IAAI,KAAA;AAC/B;EAEA,IAAIzC,IAAOA,GAAA;AACT,IAAA,OAAO,IAAI,CAACmC,IAAI,CAACnC,IAAI,IAAI,SAAA;AAC3B;EAEA,IAAI0C,kBAAqBA,GAAA;AACvB,IAAA,OAAO,IAAI,CAACP,IAAI,CAACO,kBAAkB,IAAI,KAAA;AACzC;EAEA,IAAIC,IAAOA,GAAA;AACT,IAAA,OAAO,IAAI,CAACR,IAAI,CAACQ,IAAI,IAAI,QAAA;AAC3B;EAEA,IAAIZ,iBAAoBA,GAAA;AACtB,IAAA,OAAO,IAAI,CAACI,IAAI,CAACJ,iBAAiB,IAAI,GAAA;AACxC;EAEA,IAAI9B,QAAWA,GAAA;IACb,OAAO,IAAI,CAACD,IAAI,KAAK,MAAU,IAAA,IAAI,CAAC4C,yBAAyB;AAC/D;EAEA,IAAIC,MAASA,GAAA;IACX,IAAIC,WAAuC,EAAC;AAE5C,IAAA,IAAI,IAAI,CAACL,QAAQ,KAAK,KAAO,EAAA;AAC3B,MAAA,MAAMpB,QACJ,OAAO,IAAI,CAACoB,QAAQ,KAAK,WACrB,CAAA,EAAG,IAAI,CAACA,QAAQ,IAAI,GACpB,IAAI,CAACA,QAAQ;AAEnBK,MAAAA,QAAW,GAAA;AAAEL,QAAAA,QAAU,EAAApB;OAAM;AAC/B;IAEA,IAAI,CAACD,oBAAqB,CAAA,IAAI,CAACmB,IAAI,KAAKO,QAAU,EAAA;AAChDA,MAAAA,QAAQ,CAAC,OAAA,CAAQ,GAAG,IAAI,CAACP,IAAI;AAC/B,KAAO,MAAA;AACLO,MAAAA,QAAW,GAAA;QAAEnC,KAAO,EAAA,IAAI,CAAC4B;OAAK;AAChC;AAEA,IAAA,OAAOO,QAAA;AACT;AAGA1C,EAAAA,4BAA+BA,GAAA;AAC7B2C,IAAAA,QAAS,CAAA,MAAA;MACP,IAAInB,sBAAsBnB,MAAO,CAAAqB,UAAU,EAAE,IAAI,CAACC,iBAAiB,CAAG,EAAA;QACpE,IAAI,CAACa,yBAAyB,GAAG,IAAA;AACnC,OAAO,MAAA;QACL,IAAI,CAACA,yBAAyB,GAAG,KAAA;AACnC;KACC,EAAA,EAAA,CAAA;AACL;AAAA,EAAA;IAAAI,CAAA,CAAA,IAAA,CAAAtB,SAAA,EAAA,8BAAA,EAAA,CATCuB,MAAA,CAAA,CAAA;AAAA;AAYDC,EAAAA,OAAUA,GAAA;AACR,IAAA,IAAI,CAACf,IAAI,CAACe,OAAO,IAAA;AACnB;AAAA,EAAA;IAAAF,CAAA,CAAA,IAAA,CAAAtB,SAAA,EAAA,SAAA,EAAA,CAHCuB,MAAA,CAAA,CAAA;AAAA;EAMDE,oBAAqBA,CAAAC,CAAa,EAAE;IAClC,IAAI,CAACF,OAAO,EAAA;IACZ,IAAI,CAACf,IAAI,CAACkB,gBAAgB,EAAEC,OAAU,GAAAF,CAAA,CAAA;AACxC;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAtB,SAAA,EAAA,sBAAA,EAAA,CAJCuB,MAAA,CAAA,CAAA;AAAA;EAODM,QAASA,CAAApD,UAA6C,EAAE;IACtD,IAAI,CAACA,UAAU,GAAGA,UAAA;AACpB;AAAA,EAAA;IAAA6C,CAAA,CAAA,IAAA,CAAAtB,SAAA,EAAA,UAAA,EAAA,CAHCuB,MAAA,CAAA,CAAA;AAAA;AAKD,EAAA;IAAAO,oBAAA,CAAAC,kBAAA,CAiJA,68GAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,UAAA;QAAAC,EAAA;QAAAC,MAAA;QAAAC,EAAA;QAAAC,SAAA;QAAAC,YAAA;QAAAC,IAAA;QAAAC,GAAA;sCAAAC,oBAAA;uBAAAC,KAAA;QAAAC,KAAA;QAAA1E,eAAA;gCAAA2E,cAAA;QAAAC,OAAA;QAAAC,GAAA;wBAAAC,uBAAA;QAAAC,aAAA;QAAAC,EAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-flyout.js","sources":["../../src/components/eui-flyout.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { concat } from '@ember/helper';\nimport { hash } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { throttle } from '@ember/runloop';\n\nimport { element } from 'ember-element-helper';\nimport { focusTrap } from 'ember-focus-trap';\nimport onKey from 'ember-keyboard/modifiers/on-key';\nimport { modifier as modBuilder } from 'ember-modifier';\nimport styleModifier from 'ember-style-modifier/modifiers/style';\nimport { and, eq, not, or } from 'ember-truth-helpers';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport outsideClickDetectorModifier from '../modifiers/outside-click-detector.ts';\nimport resizeObserverModifier from '../modifiers/resize-observer.ts';\nimport { isWithinMinBreakpoint } from '../utils/breakpoint.ts';\nimport { sizeMapping } from '../utils/css-mappings/eui-flyout.ts';\nimport { keysOf } from './common.ts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport EuiOverlayMask from './eui-overlay-mask.gts';\nimport EuiPortal from './eui-portal.gts';\n\nimport type { EuiBreakpointSize } from '../utils/breakpoint.ts';\n\nexport type EuiFlyoutArgs = {\n closeAriaLabel?: string;\n /**\n * Shows the navigation flyout\n */\n isOpen?: boolean;\n /**\n * Keeps navigation flyout visible and push `<body>` content via padding\n */\n isDocked?: boolean;\n /**\n * Named breakpoint or pixel value for customizing the minimum window width to enable docking\n */\n dockedBreakpoint?: EuiBreakpointSize | number;\n /**\n * Keeps the display of toggle button when in docked state\n */\n showButtonIfDocked?: boolean;\n\n isFocusTrapActive?: boolean;\n\n as?: string;\n\n size?: number | string;\n\n side?: 'left' | 'right';\n\n role?: null | string;\n\n ownFocus?: boolean;\n\n outsideClickCloses?: boolean;\n\n closeButtonPosition?: 'outside' | 'inside';\n\n paddingSize?: string;\n\n hideCloseButton?: boolean;\n\n closeButtonProps?: {\n className?: string;\n onClick?: (e: MouseEvent) => void;\n classes?: string;\n };\n\n closeButtonAriaLabel?: string;\n\n onClose?: () => void;\n\n maxWidth?: boolean | number;\n\n maskProps?: Record<string, unknown>;\n\n type?: string;\n\n pushMinBreakpoint?: number | EuiBreakpointSize;\n\n shouldSelfFocus?: boolean;\n\n focusTrapOptions?: {\n allowOutsideClick?: boolean;\n clickOutsideDeactivates?: boolean;\n initialFocus?: string | HTMLElement | (() => HTMLElement);\n fallbackFocus?: string | HTMLElement | (() => HTMLElement);\n escapeDeactivates?: boolean;\n returnFocusOnDeactivate?: boolean;\n preventScroll?: boolean;\n };\n};\n\nconst classesModifier = modBuilder(\n (\n _element: Element,\n _pos,\n {\n type,\n isPushed,\n side,\n dimensions = {},\n functionToCallOnWindowResize\n }: {\n type: string;\n isPushed: boolean;\n side: string;\n dimensions?: { width?: number };\n functionToCallOnWindowResize: () => void;\n }\n ) => {\n // This class doesn't actually do anything by EUI, but is nice to add for consumers (JIC)\n document.body.classList.add('euiBody--hasFlyout');\n\n /**\n * Accomodate for the `isPushed` state by adding padding to the body equal to the width of the element\n */\n if (type === 'push') {\n // Only add the event listener if we'll need to accommodate with padding\n window.addEventListener('resize', functionToCallOnWindowResize);\n\n if (isPushed && dimensions.width) {\n if (side === 'right') {\n document.body.style.paddingRight = `${dimensions.width}px`;\n } else if (side === 'left') {\n document.body.style.paddingLeft = `${dimensions.width}px`;\n }\n }\n }\n\n return () => {\n document.body.classList.remove('euiBody--hasFlyout');\n\n if (type === 'push') {\n window.removeEventListener('resize', functionToCallOnWindowResize);\n\n if (side === 'right') {\n document.body.style.paddingRight = '';\n } else if (side === 'left') {\n document.body.style.paddingLeft = '';\n }\n }\n };\n }\n);\n\nexport const SIZES = keysOf(sizeMapping);\nexport type EuiFlyoutSize = (typeof SIZES)[number];\n\nfunction isEuiFlyoutSizeNamed(value: any): value is EuiFlyoutSize {\n return SIZES.includes(value);\n}\n\nexport interface EuiFlyoutSignature {\n Element: any;\n Args: EuiFlyoutArgs;\n Blocks: {\n default: [];\n };\n}\n\nexport default class EuiFlyoutComponent extends Component<EuiFlyoutSignature> {\n @tracked windowIsLargeEnoughToPush = isWithinMinBreakpoint(\n typeof window === 'undefined' ? -Infinity : window.innerWidth,\n this.pushMinBreakpoint\n );\n\n @tracked dimensions?: { width?: number; height?: number };\n\n get as() {\n return this.args.as ?? 'div';\n }\n\n get hideCloseButton() {\n return this.args.hideCloseButton ?? false;\n }\n\n get closeButtonPosition() {\n return this.args.closeButtonPosition ?? 'inside';\n }\n\n get ownFocus() {\n return this.args.ownFocus ?? true;\n }\n\n get side() {\n return this.args.side ?? 'right';\n }\n\n get size() {\n return this.args.size ?? 'm';\n }\n\n get paddingSize() {\n return this.args.paddingSize ?? 'l';\n }\n\n get maxWidth() {\n return this.args.maxWidth ?? false;\n }\n\n get type() {\n return this.args.type ?? 'overlay';\n }\n\n get outsideClickCloses() {\n return this.args.outsideClickCloses ?? false;\n }\n\n get role() {\n return this.args.role ?? 'dialog';\n }\n\n get pushMinBreakpoint() {\n return this.args.pushMinBreakpoint ?? 'l';\n }\n\n get isPushed() {\n return this.type === 'push' && this.windowIsLargeEnoughToPush;\n }\n\n get styles() {\n let newStyle: { [key: string]: unknown } = {};\n\n if (this.maxWidth !== false) {\n const value =\n typeof this.maxWidth === 'number'\n ? `${this.maxWidth}px`\n : this.maxWidth;\n\n newStyle = { maxWidth: value };\n }\n\n if (!isEuiFlyoutSizeNamed(this.size) && newStyle) {\n newStyle['width'] = this.size;\n } else {\n newStyle = { width: this.size };\n }\n\n return newStyle;\n }\n\n @action\n functionToCallOnWindowResize() {\n throttle(() => {\n if (isWithinMinBreakpoint(window.innerWidth, this.pushMinBreakpoint)) {\n this.windowIsLargeEnoughToPush = true;\n } else {\n this.windowIsLargeEnoughToPush = false;\n }\n }, 50);\n }\n\n @action\n onClose() {\n this.args.onClose?.();\n }\n\n @action\n onButtonCloseClicked(e: MouseEvent) {\n this.onClose();\n this.args.closeButtonProps?.onClick?.(e);\n }\n\n @action\n onResize(dimensions: { width: number; height: number }) {\n this.dimensions = dimensions;\n }\n\n <template>\n {{#let\n (classNames\n (if (eq this.maxWidth true) \"euiFlyout--maxWidth-default\")\n componentName=\"EuiFlyout\"\n type=this.type\n side=this.side\n size=this.size\n padding=this.paddingSize\n )\n (classNames\n \"euiFlyout__closeButton\"\n (concat \"euiFlyout__closeButton--\" this.closeButtonPosition)\n (or @closeButtonProps.className @closeButtonProps.classes)\n )\n (modifier\n focusTrap\n isActive=(argOrDefault @isFocusTrapActive true)\n shouldSelfFocus=(argOrDefault @shouldSelfFocus true)\n isPaused=this.isPushed\n focusTrapOptions=(argOrDefault\n @focusTrapOptions\n (hash\n allowOutsideClick=true clickOutsideDeactivates=(not this.ownFocus)\n )\n )\n )\n (modifier\n outsideClickDetectorModifier\n isDisabled=(or this.isPushed (not this.outsideClickCloses))\n onOutsideClick=this.onClose\n )\n (modifier styleModifier this.styles)\n (modifier onKey \"Escape\" this.onClose)\n (modifier\n classesModifier\n type=this.type\n isPushed=this.isPushed\n side=this.side\n dimensions=this.dimensions\n functionToCallOnWindowResize=this.functionToCallOnWindowResize\n )\n (modifier resizeObserverModifier onResize=this.onResize)\n (element this.as)\n as |classes closeButtonClasses focusTrapModifier outsideClickDetector currentStyles onEscape classesModifier resizeObserver TheElement|\n }}\n\n {{#if (and this.ownFocus (not this.isPushed))}}\n <EuiOverlayMask @headerZindexLocation=\"below\" @onClick={{this.onClose}}>\n <TheElement\n role={{this.role}}\n class={{classes}}\n tabindex={{-1}}\n {{!@glint-expect-error}}\n {{currentStyles}}\n {{!@glint-expect-error}}\n {{focusTrapModifier}}\n {{outsideClickDetector}}\n {{classesModifier}}\n {{resizeObserver}}\n ...attributes\n >\n {{#if (and @onClose (not @hideCloseButton))}}\n <EuiButtonIcon\n @display={{if\n (eq this.closeButtonPosition \"outside\")\n \"fill\"\n \"empty\"\n }}\n @iconType=\"cross\"\n @color=\"text\"\n aria-label={{or @closeButtonAriaLabel @closeAriaLabel}}\n data-test-subj=\"euiFlyoutCloseButton\"\n class={{closeButtonClasses}}\n {{on \"click\" this.onButtonCloseClicked}}\n />\n {{/if}}\n {{yield}}\n </TheElement>\n </EuiOverlayMask>\n {{else if (not this.isPushed)}}\n <EuiPortal>\n <TheElement\n role={{this.role}}\n class={{classes}}\n tabindex={{-1}}\n {{currentStyles}}\n {{!@glint-expect-error}}\n {{focusTrapModifier}}\n {{outsideClickDetector}}\n {{classesModifier}}\n {{resizeObserver}}\n ...attributes\n >\n {{#if (and @onClose (not @hideCloseButton))}}\n <EuiButtonIcon\n @display={{if\n (eq this.closeButtonPosition \"outside\")\n \"fill\"\n \"empty\"\n }}\n @iconType=\"cross\"\n @color=\"text\"\n aria-label={{or @closeButtonAriaLabel @closeAriaLabel}}\n data-test-subj=\"euiFlyoutCloseButton\"\n class={{closeButtonClasses}}\n {{on \"click\" this.onButtonCloseClicked}}\n />\n {{/if}}\n {{yield}}\n </TheElement>\n </EuiPortal>\n {{else}}\n <TheElement\n role={{this.role}}\n class={{classes}}\n tabindex={{-1}}\n {{currentStyles}}\n {{!@glint-expect-error}}\n {{focusTrapModifier}}\n {{outsideClickDetector}}\n {{onEscape}}\n {{classesModifier}}\n {{resizeObserver}}\n ...attributes\n >\n {{#if (and @onClose (not @hideCloseButton))}}\n <EuiButtonIcon\n @display={{if\n (eq this.closeButtonPosition \"outside\")\n \"fill\"\n \"empty\"\n }}\n @iconType=\"cross\"\n @color=\"text\"\n aria-label={{or @closeButtonAriaLabel @closeAriaLabel}}\n data-test-subj=\"euiFlyoutCloseButton\"\n class={{closeButtonClasses}}\n {{on \"click\" this.onButtonCloseClicked}}\n />\n {{/if}}\n {{yield}}\n </TheElement>\n {{/if}}\n {{/let}}\n </template>\n}\n"],"names":["classesModifier","modBuilder","_element","_pos","type","isPushed","side","dimensions","functionToCallOnWindowResize","document","body","classList","add","window","addEventListener","width","style","paddingRight","paddingLeft","remove","removeEventListener","SIZES","keysOf","sizeMapping","isEuiFlyoutSizeNamed","value","includes","EuiFlyoutComponent","Component","g","prototype","tracked","isWithinMinBreakpoint","Infinity","innerWidth","pushMinBreakpoint","i","void 0","as","args","hideCloseButton","closeButtonPosition","ownFocus","size","paddingSize","maxWidth","outsideClickCloses","role","windowIsLargeEnoughToPush","styles","newStyle","throttle","n","action","onClose","onButtonCloseClicked","e","closeButtonProps","onClick","onResize","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","eq","concat","or","focusTrap","argOrDefault","hash","not","outsideClickDetectorModifier","styleModifier","onKey","resizeObserverModifier","element","and","EuiOverlayMask","EuiButtonIcon","on","EuiPortal"],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import MarkdownLogo from './eui-markdown-editor-footer/icons/markdown-logo.js';
|
|
|
7
7
|
import EuiButtonEmpty from './eui-button-empty.js';
|
|
8
8
|
import EuiButtonIcon from './eui-button-icon.js';
|
|
9
9
|
import EuiHorizontalRule from './eui-horizontal-rule.js';
|
|
10
|
+
import EuiI18nComponent from './eui-i18n.js';
|
|
10
11
|
import EuiLoadingSpinner from './eui-loading-spinner.js';
|
|
11
12
|
import EuiMarkdownEditorToolbarComponent from './eui-markdown-format.js';
|
|
12
13
|
import EuiModal from './eui-modal.js';
|
|
@@ -14,12 +15,19 @@ import EuiModalBody from './eui-modal-body.js';
|
|
|
14
15
|
import EuiModalHeader from './eui-modal-header.js';
|
|
15
16
|
import EuiPopoverComponent from './eui-popover.js';
|
|
16
17
|
import EuiSpacer from './eui-spacer.js';
|
|
17
|
-
import
|
|
18
|
+
import './eui-text.js';
|
|
18
19
|
import EuiTitle from './eui-title.js';
|
|
19
20
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
20
21
|
import { setComponentTemplate } from '@ember/component';
|
|
21
22
|
import { g, i } from 'decorator-transforms/runtime';
|
|
22
23
|
|
|
24
|
+
const defaultMarkdownSyntaxHelp = `
|
|
25
|
+
The editor uses
|
|
26
|
+
|
|
27
|
+
[Github flavored markdown](https://github.github.com/gfm/).
|
|
28
|
+
|
|
29
|
+
You can also utilize these additional syntax plugins to add rich content to your text.
|
|
30
|
+
`;
|
|
23
31
|
class EuiMarkdownEditorFooterComponent extends Component {
|
|
24
32
|
static {
|
|
25
33
|
g(this.prototype, "isPopoverOpen", [tracked], function () {
|
|
@@ -34,7 +42,7 @@ class EuiMarkdownEditorFooterComponent extends Component {
|
|
|
34
42
|
}
|
|
35
43
|
#isShowingHelp = (i(this, "isShowingHelp"), void 0);
|
|
36
44
|
static {
|
|
37
|
-
setComponentTemplate(precompileTemplate("\n <div class=\"euiMarkdownEditorFooter\">\n <div class=\"euiMarkdownEditorFooter__actions\">\n\n {{#if @isUploadingFiles}}\n {{!-- pending implementation--}}\n <EuiButtonIcon @iconType={{component EuiLoadingSpinner}} @useComponent={{true}} {{!-- aria-label={ariaLabels.uploadingFiles} --}} />\n {{/if}}\n {{#if (and @errors @errors.length)}}\n <EuiPopover @isOpen={{this.isPopoverOpen}} @closePopover={{set this \"isPopoverOpen\" false}}>\n <:button>\n <EuiButtonEmpty @iconType=\"error\" @size=\"s\" @color=\"danger\" {{!-- aria-label={ariaLabels.showSyntaxErrors} --}} {{on \"click\" (set this \"isPopoverOpen\" (not this.isPopoverOpen))}}>\n {{@errors.length}}\n </EuiButtonEmpty>\n </:button>\n </EuiPopover>\n {{/if}}\n </div>\n <EuiButtonIcon class=\"euiMarkdownEditorFooter__help\" @iconType={{component MarkdownLogo}} @useComponent={{true}} @color=\"text\" @useSvg={{true}} {{!-- aria-label={ariaLabels.showMarkdownHelp} --}} {{on \"click\" (set this \"isShowingHelp\" (not this.isShowingHelp))}} />\n\n {{#if this.isShowingHelp}}\n\n <EuiModal @onClose={{set this \"isShowingHelp\" false}}>\n <EuiModalHeader>\n <EuiTitle>\n <h3>\n
|
|
45
|
+
setComponentTemplate(precompileTemplate("\n <div class=\"euiMarkdownEditorFooter\">\n <div class=\"euiMarkdownEditorFooter__actions\">\n\n {{#if @isUploadingFiles}}\n {{!-- pending implementation--}}\n <EuiButtonIcon @iconType={{component EuiLoadingSpinner}} @useComponent={{true}} {{!-- aria-label={ariaLabels.uploadingFiles} --}} />\n {{/if}}\n {{#if (and @errors @errors.length)}}\n <EuiPopover @isOpen={{this.isPopoverOpen}} @closePopover={{set this \"isPopoverOpen\" false}}>\n <:button>\n <EuiButtonEmpty @iconType=\"error\" @size=\"s\" @color=\"danger\" {{!-- aria-label={ariaLabels.showSyntaxErrors} --}} {{on \"click\" (set this \"isPopoverOpen\" (not this.isPopoverOpen))}}>\n {{@errors.length}}\n </EuiButtonEmpty>\n </:button>\n </EuiPopover>\n {{/if}}\n </div>\n <EuiButtonIcon class=\"euiMarkdownEditorFooter__help\" @iconType={{component MarkdownLogo}} @useComponent={{true}} @color=\"text\" @useSvg={{true}} {{!-- aria-label={ariaLabels.showMarkdownHelp} --}} {{on \"click\" (set this \"isShowingHelp\" (not this.isShowingHelp))}} />\n\n {{#if this.isShowingHelp}}\n\n <EuiModal @onClose={{set this \"isShowingHelp\" false}}>\n <EuiModalHeader>\n <EuiTitle>\n <h3>\n <EuiI18n @token=\"euiMarkdownEditorFooter.syntaxTitle\" @default=\"Syntax Help\" as |Token|>\n <Token as |value|>\n {{value}}\n </Token>\n </EuiI18n>\n </h3>\n </EuiTitle>\n </EuiModalHeader>\n <EuiModalBody>\n\n <EuiI18n @token=\"euiMarkdownEditorFooter.syntaxHelp\" @default={{defaultMarkdownSyntaxHelp}} as |Token|>\n <Token as |value|>\n <EuiMarkdownFormat @value={{value}} />\n </Token>\n </EuiI18n>\n\n <EuiHorizontalRule />\n {{#each @uiPlugins as |uiPlugin|}}\n {{#if uiPlugin.helpText}}\n <EuiTitle size=\"xxs\">\n <p>\n <strong>{{uiPlugin.name}}</strong>\n </p>\n </EuiTitle>\n <EuiSpacer size=\"s\" />\n <EuiMarkdownFormat @value={{uiPlugin.helpText}} />\n <EuiSpacer size=\"l\" />\n\n {{/if}}\n {{/each}}\n </EuiModalBody>\n </EuiModal>\n\n {{/if}}\n </div>\n ", {
|
|
38
46
|
strictMode: true,
|
|
39
47
|
scope: () => ({
|
|
40
48
|
EuiButtonIcon,
|
|
@@ -49,11 +57,12 @@ class EuiMarkdownEditorFooterComponent extends Component {
|
|
|
49
57
|
EuiModal,
|
|
50
58
|
EuiModalHeader,
|
|
51
59
|
EuiTitle,
|
|
60
|
+
EuiI18n: EuiI18nComponent,
|
|
52
61
|
EuiModalBody,
|
|
53
|
-
|
|
62
|
+
defaultMarkdownSyntaxHelp,
|
|
63
|
+
EuiMarkdownFormat: EuiMarkdownEditorToolbarComponent,
|
|
54
64
|
EuiHorizontalRule,
|
|
55
|
-
EuiSpacer
|
|
56
|
-
EuiMarkdownFormat: EuiMarkdownEditorToolbarComponent
|
|
65
|
+
EuiSpacer
|
|
57
66
|
})
|
|
58
67
|
}), this);
|
|
59
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor-footer.js","sources":["../../src/components/eui-markdown-editor-footer.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { on } from '@ember/modifier';\n\nimport set from 'ember-set-helper/helpers/set';\nimport { and, not } from 'ember-truth-helpers';\n\nimport MarkdownLogo from '../components/eui-markdown-editor-footer/icons/markdown-logo.gts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport EuiHorizontalRule from './eui-horizontal-rule.gts';\nimport EuiLoadingSpinner from './eui-loading-spinner.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport EuiModal from './eui-modal.gts';\nimport EuiModalBody from './eui-modal-body.gts';\nimport EuiModalHeader from './eui-modal-header.gts';\nimport EuiPopover from './eui-popover.gts';\nimport EuiSpacer from './eui-spacer.gts';\nimport EuiText from './eui-text.gts';\nimport EuiTitle from './eui-title.gts';\n\nexport interface EuiMarkdownEditorFooterSignature {\n Args: {\n isUploadingFiles?: boolean;\n errors?: string[];\n uiPlugins?: any[];\n };\n}\n\nexport default class EuiMarkdownEditorFooterComponent extends Component<EuiMarkdownEditorFooterSignature> {\n @tracked isPopoverOpen = false;\n @tracked isShowingHelp = false;\n\n <template>\n <div class=\"euiMarkdownEditorFooter\">\n <div class=\"euiMarkdownEditorFooter__actions\">\n\n {{#if @isUploadingFiles}}\n {{! pending implementation}}\n <EuiButtonIcon\n @iconType={{component EuiLoadingSpinner}}\n @useComponent={{true}}\n {{! aria-label={ariaLabels.uploadingFiles} }}\n />\n {{/if}}\n {{#if (and @errors @errors.length)}}\n <EuiPopover\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{set this \"isPopoverOpen\" false}}\n >\n <:button>\n <EuiButtonEmpty\n @iconType=\"error\"\n @size=\"s\"\n @color=\"danger\"\n {{! aria-label={ariaLabels.showSyntaxErrors} }}\n {{on\n \"click\"\n (set this \"isPopoverOpen\" (not this.isPopoverOpen))\n }}\n >\n {{@errors.length}}\n </EuiButtonEmpty>\n </:button>\n </EuiPopover>\n {{/if}}\n </div>\n <EuiButtonIcon\n class=\"euiMarkdownEditorFooter__help\"\n @iconType={{component MarkdownLogo}}\n @useComponent={{true}}\n @color=\"text\"\n @useSvg={{true}}\n {{! aria-label={ariaLabels.showMarkdownHelp} }}\n {{on \"click\" (set this \"isShowingHelp\" (not this.isShowingHelp))}}\n />\n\n {{#if this.isShowingHelp}}\n\n <EuiModal @onClose={{set this \"isShowingHelp\" false}}>\n <EuiModalHeader>\n <EuiTitle>\n <h3>\n
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor-footer.js","sources":["../../src/components/eui-markdown-editor-footer.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { on } from '@ember/modifier';\n\nimport set from 'ember-set-helper/helpers/set';\nimport { and, not } from 'ember-truth-helpers';\n\nimport MarkdownLogo from '../components/eui-markdown-editor-footer/icons/markdown-logo.gts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport EuiHorizontalRule from './eui-horizontal-rule.gts';\nimport EuiI18n from './eui-i18n.gts';\nimport EuiLoadingSpinner from './eui-loading-spinner.gts';\nimport EuiMarkdownFormat from './eui-markdown-format.gts';\nimport EuiModal from './eui-modal.gts';\nimport EuiModalBody from './eui-modal-body.gts';\nimport EuiModalHeader from './eui-modal-header.gts';\nimport EuiPopover from './eui-popover.gts';\nimport EuiSpacer from './eui-spacer.gts';\nimport EuiText from './eui-text.gts';\nimport EuiTitle from './eui-title.gts';\n\nexport interface EuiMarkdownEditorFooterSignature {\n Args: {\n isUploadingFiles?: boolean;\n errors?: string[];\n uiPlugins?: any[];\n };\n}\n\nconst defaultMarkdownSyntaxHelp = `\nThe editor uses \n\n[Github flavored markdown](https://github.github.com/gfm/).\n\nYou can also utilize these additional syntax plugins to add rich content to your text.\n`;\n\nexport default class EuiMarkdownEditorFooterComponent extends Component<EuiMarkdownEditorFooterSignature> {\n @tracked isPopoverOpen = false;\n @tracked isShowingHelp = false;\n\n <template>\n <div class=\"euiMarkdownEditorFooter\">\n <div class=\"euiMarkdownEditorFooter__actions\">\n\n {{#if @isUploadingFiles}}\n {{! pending implementation}}\n <EuiButtonIcon\n @iconType={{component EuiLoadingSpinner}}\n @useComponent={{true}}\n {{! aria-label={ariaLabels.uploadingFiles} }}\n />\n {{/if}}\n {{#if (and @errors @errors.length)}}\n <EuiPopover\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{set this \"isPopoverOpen\" false}}\n >\n <:button>\n <EuiButtonEmpty\n @iconType=\"error\"\n @size=\"s\"\n @color=\"danger\"\n {{! aria-label={ariaLabels.showSyntaxErrors} }}\n {{on\n \"click\"\n (set this \"isPopoverOpen\" (not this.isPopoverOpen))\n }}\n >\n {{@errors.length}}\n </EuiButtonEmpty>\n </:button>\n </EuiPopover>\n {{/if}}\n </div>\n <EuiButtonIcon\n class=\"euiMarkdownEditorFooter__help\"\n @iconType={{component MarkdownLogo}}\n @useComponent={{true}}\n @color=\"text\"\n @useSvg={{true}}\n {{! aria-label={ariaLabels.showMarkdownHelp} }}\n {{on \"click\" (set this \"isShowingHelp\" (not this.isShowingHelp))}}\n />\n\n {{#if this.isShowingHelp}}\n\n <EuiModal @onClose={{set this \"isShowingHelp\" false}}>\n <EuiModalHeader>\n <EuiTitle>\n <h3>\n <EuiI18n\n @token=\"euiMarkdownEditorFooter.syntaxTitle\"\n @default=\"Syntax Help\"\n as |Token|\n >\n <Token as |value|>\n {{value}}\n </Token>\n </EuiI18n>\n </h3>\n </EuiTitle>\n </EuiModalHeader>\n <EuiModalBody>\n\n <EuiI18n\n @token=\"euiMarkdownEditorFooter.syntaxHelp\"\n @default={{defaultMarkdownSyntaxHelp}}\n as |Token|\n >\n <Token as |value|>\n <EuiMarkdownFormat @value={{value}} />\n </Token>\n </EuiI18n>\n\n <EuiHorizontalRule />\n {{#each @uiPlugins as |uiPlugin|}}\n {{#if uiPlugin.helpText}}\n <EuiTitle size=\"xxs\">\n <p>\n <strong>{{uiPlugin.name}}</strong>\n </p>\n </EuiTitle>\n <EuiSpacer size=\"s\" />\n <EuiMarkdownFormat @value={{uiPlugin.helpText}} />\n <EuiSpacer size=\"l\" />\n\n {{/if}}\n {{/each}}\n </EuiModalBody>\n </EuiModal>\n\n {{/if}}\n </div>\n </template>\n}\n"],"names":["defaultMarkdownSyntaxHelp","EuiMarkdownEditorFooterComponent","Component","g","prototype","tracked","i","void 0","setComponentTemplate","precompileTemplate","strictMode","scope","EuiButtonIcon","EuiLoadingSpinner","and","EuiPopover","set","EuiButtonEmpty","on","not","MarkdownLogo","EuiModal","EuiModalHeader","EuiTitle","EuiI18n","EuiModalBody","EuiMarkdownFormat","EuiHorizontalRule","EuiSpacer"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA8BA,MAAMA,4BAA4B;;;;;;AAMlC,CAAC;AAEc,MAAMC,yCAAyCC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,eAAA,EAAA,CACrEC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAwB,KAAM;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAAC,MAAA;AAAA,EAAA;IAAAJ,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,eAAA,EAAA,CAC9BC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAwB,KAAM;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,cAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,eAAA,CAAA,EAAAC,MAAA;AAE/B,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CA6FA,08EAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,aAAA;QAAAC,iBAAA;QAAAC,GAAA;oBAAAC,mBAAA;QAAAC,GAAA;QAAAC,cAAA;QAAAC,EAAA;QAAAC,GAAA;QAAAC,YAAA;QAAAC,QAAA;QAAAC,cAAA;QAAAC,QAAA;iBAAAC,gBAAA;QAAAC,YAAA;QAAAzB,yBAAA;2BAAA0B,iCAAA;QAAAC,iBAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -8,6 +8,7 @@ import { eq, and, gte } from 'ember-truth-helpers';
|
|
|
8
8
|
import { MODE_VIEWING } from '../utils/markdown/markdown-modes.js';
|
|
9
9
|
import EuiButtonEmpty from './eui-button-empty.js';
|
|
10
10
|
import EuiButtonIcon from './eui-button-icon.js';
|
|
11
|
+
import EuiI18nComponent from './eui-i18n.js';
|
|
11
12
|
import MarkdownCheckmark from './eui-markdown-editor-toolbar/icons/markdown-checkmark.js';
|
|
12
13
|
import EuiToolTip from './eui-tool-tip.js';
|
|
13
14
|
import { precompileTemplate } from '@ember/template-compilation';
|
|
@@ -84,7 +85,7 @@ class EuiMarkdownEditorToolbarComponent extends Component {
|
|
|
84
85
|
return item.iconType.component;
|
|
85
86
|
}
|
|
86
87
|
static {
|
|
87
|
-
setComponentTemplate(precompileTemplate("\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 @color=\"text\" {{on \"click\" (fn this.handleMdButtonClick item.id)}} @iconType={{item.iconType}} aria-label={{item.label}} @isDisabled={{this.isPreviewing}} />\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 @color=\"text\" {{on \"click\" (fn this.handleMdButtonClick item.id)}} @iconType={{this.itemComponent item}} {{!--@glint-expect-error--}} @useComponent={{if item.iconType.component true}} aria-label={{item.label}} @useSvg={{item.useSvg}} @isDisabled={{this.isPreviewing}} />\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 @color=\"text\" {{on \"click\" (fn this.handleMdButtonClick item.id)}} @iconType={{item.iconType}} aria-label={{item.label}} @isDisabled={{this.isPreviewing}} />\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 (and @selectedNode (eq @selectedNode.type plugin.name)) as |isSelectedNodeType|}}\n <EuiToolTip @content={{plugin.button.label}} @delay=\"long\">\n <EuiButtonIcon @color=\"text\" {{style (if isSelectedNodeType (hash background=\"rgba(0, 0, 0, 0.15)\"))}} {{on \"click\" (fn this.handleMdButtonClick plugin.name)}} @iconType={{plugin.button.iconType}} aria-label={{plugin.button.label}} @isDisabled={{this.isPreviewing}} />\n </EuiToolTip>\n {{/let}}\n {{/each}}\n {{/if}}\n </div>\n\n {{#if this.isPreviewing}}\n <EuiButtonEmpty @iconType=\"editorCodeBlock\" @color=\"text\" @size=\"s\" {{on \"click\" @onClickPreview}}>\n Editor\n </EuiButtonEmpty>\n\n {{else}}\n <EuiButtonEmpty @iconType=\"eye\" @color=\"text\" @size=\"s\" {{on \"click\" @onClickPreview}}>\n Preview\n </EuiButtonEmpty>\n {{/if}}\n </div>\n ", {
|
|
88
|
+
setComponentTemplate(precompileTemplate("\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 @color=\"text\" {{on \"click\" (fn this.handleMdButtonClick item.id)}} @iconType={{item.iconType}} aria-label={{item.label}} @isDisabled={{this.isPreviewing}} />\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 @color=\"text\" {{on \"click\" (fn this.handleMdButtonClick item.id)}} @iconType={{this.itemComponent item}} {{!--@glint-expect-error--}} @useComponent={{if item.iconType.component true}} aria-label={{item.label}} @useSvg={{item.useSvg}} @isDisabled={{this.isPreviewing}} />\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 @color=\"text\" {{on \"click\" (fn this.handleMdButtonClick item.id)}} @iconType={{item.iconType}} aria-label={{item.label}} @isDisabled={{this.isPreviewing}} />\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 (and @selectedNode (eq @selectedNode.type plugin.name)) as |isSelectedNodeType|}}\n <EuiToolTip @content={{plugin.button.label}} @delay=\"long\">\n <EuiButtonIcon @color=\"text\" {{style (if isSelectedNodeType (hash background=\"rgba(0, 0, 0, 0.15)\"))}} {{on \"click\" (fn this.handleMdButtonClick plugin.name)}} @iconType={{plugin.button.iconType}} aria-label={{plugin.button.label}} @isDisabled={{this.isPreviewing}} />\n </EuiToolTip>\n {{/let}}\n {{/each}}\n {{/if}}\n </div>\n\n {{#if this.isPreviewing}}\n <EuiButtonEmpty @iconType=\"editorCodeBlock\" @color=\"text\" @size=\"s\" {{on \"click\" @onClickPreview}}>\n\n <EuiI18n @token=\"euiMarkdownEditorToolbar.editor\" @default=\"Editor\" as |Token|>\n <Token as |value|>\n {{value}}\n </Token>\n </EuiI18n>\n </EuiButtonEmpty>\n\n {{else}}\n <EuiButtonEmpty @iconType=\"eye\" @color=\"text\" @size=\"s\" {{on \"click\" @onClickPreview}}>\n <EuiI18n @token=\"euiMarkdownEditorToolbar.preview\" @default=\"Preview\" as |Token|>\n <Token as |value|>\n {{value}}\n </Token>\n </EuiI18n>\n </EuiButtonEmpty>\n {{/if}}\n </div>\n ", {
|
|
88
89
|
strictMode: true,
|
|
89
90
|
scope: () => ({
|
|
90
91
|
EuiToolTip,
|
|
@@ -96,7 +97,8 @@ class EuiMarkdownEditorToolbarComponent extends Component {
|
|
|
96
97
|
eq,
|
|
97
98
|
style,
|
|
98
99
|
hash,
|
|
99
|
-
EuiButtonEmpty
|
|
100
|
+
EuiButtonEmpty,
|
|
101
|
+
EuiI18n: EuiI18nComponent
|
|
100
102
|
})
|
|
101
103
|
}), this);
|
|
102
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-markdown-editor-toolbar.js","sources":["../../src/components/eui-markdown-editor-toolbar.gts"],"sourcesContent":["import 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';\n\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, gte, or } from 'ember-truth-helpers';\n\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';\n\nimport type MarkdownActions from '../utils/markdown/markdown-actions';\nimport type { EuiMarkdownEditorUiPlugin } from '../utils/markdown/markdown-types';\n\nexport interface EuiMarkdownEditorToolbarArgs {\n viewMode?: string;\n markdownActions: MarkdownActions;\n uiPlugins: any[];\n openPluginEditor?: (plugin: EuiMarkdownEditorUiPlugin) => void;\n onClickPreview: () => void;\n selectedNode: any;\n}\n\nexport interface EuiMarkdownEditorToolbarSignature {\n Element: HTMLDivElement;\n Args: EuiMarkdownEditorToolbarArgs;\n Blocks: {\n default: [];\n };\n}\n\nexport interface EuiMarkdownEditorToolbarItem {\n id: string;\n label: string;\n name: string;\n iconType:\n | string\n | {\n component: any;\n };\n useSvg?: boolean;\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\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\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\n get uiPlugins() {\n return this.args.uiPlugins || [];\n }\n\n get isPreviewing() {\n return this.args.viewMode === MODE_VIEWING;\n }\n\n @action\n handleMdButtonClick(mdButtonId: string) {\n const actionResult = this.args.markdownActions.do(mdButtonId);\n\n if (actionResult !== true) this.args.openPluginEditor?.(actionResult!);\n }\n\n itemComponent(item: EuiMarkdownEditorToolbarItem) {\n if (typeof item.iconType === 'string') return item.iconType;\n\n return item.iconType.component;\n }\n\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.itemComponent 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 </template>\n}\n"],"names":["EuiMarkdownEditorToolbarComponent","Component","boldItalicsButtons","id","label","name","iconType","listButtons","useSvg","component","MarkdownCheckmark","n","prototype","cached","quoteCodeLinkButtons","uiPlugins","args","isPreviewing","viewMode","MODE_VIEWING","handleMdButtonClick","mdButtonId","actionResult","markdownActions","do","openPluginEditor","action","itemComponent","item","setComponentTemplate","precompileTemplate","strictMode","scope","EuiToolTip","EuiButtonIcon","on","fn","gte","and","eq","style","hash","EuiButtonEmpty"],"mappings":"
|
|
1
|
+
{"version":3,"file":"eui-markdown-editor-toolbar.js","sources":["../../src/components/eui-markdown-editor-toolbar.gts"],"sourcesContent":["import 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';\n\nimport style from 'ember-style-modifier/modifiers/style';\nimport { and, eq, gte, or } from 'ember-truth-helpers';\n\nimport { MODE_VIEWING } from '../utils/markdown/markdown-modes.ts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiButtonIcon from './eui-button-icon.gts';\nimport EuiI18n from './eui-i18n.gts';\nimport MarkdownCheckmark from './eui-markdown-editor-toolbar/icons/markdown-checkmark.gts';\nimport EuiToolTip from './eui-tool-tip.gts';\n\nimport type MarkdownActions from '../utils/markdown/markdown-actions';\nimport type { EuiMarkdownEditorUiPlugin } from '../utils/markdown/markdown-types';\n\nexport interface EuiMarkdownEditorToolbarArgs {\n viewMode?: string;\n markdownActions: MarkdownActions;\n uiPlugins: any[];\n openPluginEditor?: (plugin: EuiMarkdownEditorUiPlugin) => void;\n onClickPreview: () => void;\n selectedNode: any;\n}\n\nexport interface EuiMarkdownEditorToolbarSignature {\n Element: HTMLDivElement;\n Args: EuiMarkdownEditorToolbarArgs;\n Blocks: {\n default: [];\n };\n}\n\nexport interface EuiMarkdownEditorToolbarItem {\n id: string;\n label: string;\n name: string;\n iconType:\n | string\n | {\n component: any;\n };\n useSvg?: boolean;\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\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\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\n get uiPlugins() {\n return this.args.uiPlugins || [];\n }\n\n get isPreviewing() {\n return this.args.viewMode === MODE_VIEWING;\n }\n\n @action\n handleMdButtonClick(mdButtonId: string) {\n const actionResult = this.args.markdownActions.do(mdButtonId);\n\n if (actionResult !== true) this.args.openPluginEditor?.(actionResult!);\n }\n\n itemComponent(item: EuiMarkdownEditorToolbarItem) {\n if (typeof item.iconType === 'string') return item.iconType;\n\n return item.iconType.component;\n }\n\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.itemComponent 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\n <EuiI18n\n @token=\"euiMarkdownEditorToolbar.editor\"\n @default=\"Editor\"\n as |Token|\n >\n <Token as |value|>\n {{value}}\n </Token>\n </EuiI18n>\n </EuiButtonEmpty>\n\n {{else}}\n <EuiButtonEmpty\n @iconType=\"eye\"\n @color=\"text\"\n @size=\"s\"\n {{on \"click\" @onClickPreview}}\n >\n <EuiI18n\n @token=\"euiMarkdownEditorToolbar.preview\"\n @default=\"Preview\"\n as |Token|\n >\n <Token as |value|>\n {{value}}\n </Token>\n </EuiI18n>\n </EuiButtonEmpty>\n {{/if}}\n </div>\n </template>\n}\n"],"names":["EuiMarkdownEditorToolbarComponent","Component","boldItalicsButtons","id","label","name","iconType","listButtons","useSvg","component","MarkdownCheckmark","n","prototype","cached","quoteCodeLinkButtons","uiPlugins","args","isPreviewing","viewMode","MODE_VIEWING","handleMdButtonClick","mdButtonId","actionResult","markdownActions","do","openPluginEditor","action","itemComponent","item","setComponentTemplate","precompileTemplate","strictMode","scope","EuiToolTip","EuiButtonIcon","on","fn","gte","and","eq","style","hash","EuiButtonEmpty","EuiI18n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-range.js","sources":["../../src/components/eui-range.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { later } from '@ember/runloop';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { and, eq, not } from 'ember-truth-helpers';\n\nimport argOrDefault, {\n argOrDefaultDecorator\n} from '../helpers/arg-or-default.ts';\nimport castTo from '../helpers/cast-to.ts';\nimport classNames from '../helpers/class-names.ts';\nimport { isWithinRange } from '../utils/number/index.ts';\nimport EuiInputPopover from './eui-input-popover.gts';\nimport EuiRangeHighlight from './eui-range-highlight.gts';\nimport EuiRangeInput from './eui-range-input.gts';\nimport EuiRangeLabel from './eui-range-label.gts';\nimport EuiRangeSlider from './eui-range-slider.gts';\nimport EuiRangeTooltip from './eui-range-tooltip.gts';\nimport EuiRangeTrack from './eui-range-track.gts';\nimport EuiRangeWrapper from './eui-range-wrapper.gts';\n\nimport type { EuiRangeLevel } from './eui-range-levels';\nimport type { EuiRangeTick } from './eui-range-ticks';\n\nexport interface EuiRangeArgs {\n compressed?: boolean;\n readOnly?: boolean;\n fullWidth?: boolean;\n id: string;\n /**\n * Create colored indicators for certain intervals\n */\n levels?: EuiRangeLevel[];\n step?: number;\n /**\n * Pass `true` to displays an extra input control for direct manipulation.\n * Pass `'inputWithPopover'` to only show the input but show the range in a dropdown.\n */\n showInput?: boolean | 'inputWithPopover';\n /**\n * Shows static min/max labels on the sides of the range slider\n */\n showLabels?: boolean;\n /**\n * Shows a thick line from min to value\n */\n showRange?: boolean;\n /**\n * Shows clickable tick marks and labels at the given interval (`step`/`tickInterval`)\n */\n showTicks?: boolean;\n\n min?: number;\n max?: number;\n /**\n * Shows a tooltip styled value\n */\n showValue?: boolean;\n /**\n * Specified ticks at specified values\n */\n ticks: EuiRangeTick[];\n /**\n * Modifies the number of tick marks and at what interval\n */\n tickInterval?: number;\n /**\n * Appends to the tooltip\n */\n valueAppend?: any;\n /**\n * Prepends to the tooltip\n */\n valuePrepend?: any;\n\n onChange?: (event: Event, isValid: boolean) => void;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n\n value?: number;\n\n disabled?: boolean;\n\n isPrependProvided?: boolean;\n isAppendProvided?: boolean;\n isFakeMaxBlock?: boolean;\n isFakeMinBlock?: boolean;\n isFakeValueBlock?: boolean;\n isFakeValueAppendBlock?: boolean;\n isFakeValuePrependBlock?: boolean;\n isInvalid?: boolean;\n name?: string;\n isLoading?: boolean;\n}\n\nexport interface EuiRangeSignature {\n Element: HTMLInputElement;\n Args: EuiRangeArgs;\n Blocks: {\n min: [min: number];\n max: [max: number];\n value: [];\n valueAppend: [];\n valuePrepend: [];\n prepend: [classes: string];\n append: [classes: string];\n input: [];\n content: [];\n };\n}\n\nexport default class EuiRangeComponent extends Component<EuiRangeSignature> {\n // Defaults\n @argOrDefaultDecorator(0) min!: number;\n @argOrDefaultDecorator(100) max!: number;\n @argOrDefaultDecorator(1) step!: number;\n @argOrDefaultDecorator(false) fullWidth!: boolean;\n @argOrDefaultDecorator(false) compressed!: boolean;\n @argOrDefaultDecorator(false) isLoading!: boolean;\n @argOrDefaultDecorator(false) showLabels!: boolean;\n @argOrDefaultDecorator(false) showInput!: boolean | string;\n @argOrDefaultDecorator(false) showRange!: boolean;\n @argOrDefaultDecorator(false) showTicks!: boolean;\n @argOrDefaultDecorator(false) showValue!: boolean;\n @argOrDefaultDecorator([]) levels!: EuiRangeLevel[];\n\n preventPopoverClose = false;\n\n //State\n @tracked id: string = this.args.id || guidFor({});\n @tracked isPopoverOpen = false;\n ///\n\n @action\n handleOnChange(e: Event): void {\n const isValid = isWithinRange(\n this.min,\n this.max,\n (e.currentTarget as HTMLInputElement).value\n );\n\n if (this.args.onChange) {\n this.args.onChange(e, isValid);\n }\n }\n\n get isValid(): boolean {\n return isWithinRange(this.min, this.max, this.args.value || '');\n }\n\n get digitTolerance(): number {\n return Math.max(String(this.min).length, String(this.max).length);\n }\n\n get showInputOnly(): boolean {\n return this.showInput === 'inputWithPopover';\n }\n\n get canShowDropdown(): boolean {\n return this.showInputOnly && !this.args.readOnly && !this.args.disabled;\n }\n\n get showRangeTooltip(): boolean {\n return (\n this.showValue &&\n !!String(this.args.value).length &&\n this.args.value !== undefined\n );\n }\n\n @action\n onInputFocus(e: Event): void {\n if (this.args.onFocus) {\n this.args.onFocus(e);\n }\n\n this.isPopoverOpen = true;\n }\n\n @action\n onInputBlur(e: Event): void {\n later(\n this,\n () => {\n // Safari does not recognize any focus-related eventing for input[type=range]\n // making it impossible to capture its state using active/focus/relatedTarget\n // Instead, a prevention flag is set on mousedown, with a waiting period here.\n // Mousedown is viable because in the popover case, it is inaccessible via keyboard (intentionally)\n if (this.preventPopoverClose) {\n this.preventPopoverClose = false;\n\n return;\n }\n\n if (this.args.onBlur) {\n this.args.onBlur(e);\n }\n\n this.closePopover();\n },\n 200\n );\n }\n\n @action\n setPreventPopover(val: boolean): void {\n this.preventPopoverClose = val;\n }\n\n @action\n closePopover(): void {\n this.preventPopoverClose = false;\n this.isPopoverOpen = false;\n }\n\n @action\n setPreventPopoverClose(bool: boolean): void {\n this.preventPopoverClose = bool;\n }\n\n <template>\n {{#let\n (and (argOrDefault @isPrependProvided true) (has-block \"prepend\"))\n (and (argOrDefault @isAppendProvided true) (has-block \"append\"))\n (and (not (argOrDefault @isFakeMaxBlock false)) (has-block \"max\"))\n (and (not (argOrDefault @isFakeMinBlock false)) (has-block \"min\"))\n (and (not (argOrDefault @isFakeValueBlock false)) (has-block \"value\"))\n (and\n (not (argOrDefault @isFakeValueAppendBlock false))\n (has-block \"valueAppend\")\n )\n (and\n (not (argOrDefault @isFakeValuePrependBlock false))\n (has-block \"valuePrepend\")\n )\n as |hasPrepend hasAppend hasMaxBlock hasMinBlock hasValueBlock hasValueAppendBlock hasValuePrependBlock|\n }}\n {{#if this.showInputOnly}}\n <EuiInputPopover\n class=\"euiRange__popover\"\n @fullWidth={{@fullWidth}}\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{this.closePopover}}\n @disableFocusTrap={{true}}\n >\n <:input>\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if this.canShowDropdown this.onInputFocus (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n </:input>\n <:content>\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{eq this.showInput true}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) true false}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly\n (fn this.setPreventPopoverClose true)\n (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown\n this.onInputFocus\n (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if\n this.canShowDropdown this.onInputBlur (optional @onBlur)\n )\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n </:content>\n </EuiInputPopover>\n {{else}}\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{eq this.showInput true}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) true false}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly (fn this.setPreventPopover true) (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown this.onInputFocus (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n {{/if}}\n {{/let}}\n </template>\n}\n"],"names":["EuiRangeComponent","Component","g","prototype","argOrDefaultDecorator","i","void 0","preventPopoverClose","tracked","args","id","guidFor","handleOnChange","e","isValid","isWithinRange","min","max","currentTarget","value","onChange","n","action","digitTolerance","Math","String","length","showInputOnly","showInput","canShowDropdown","readOnly","disabled","showRangeTooltip","showValue","undefined","onInputFocus","onFocus","isPopoverOpen","onInputBlur","later","onBlur","closePopover","setPreventPopover","val","setPreventPopoverClose","bool","setComponentTemplate","precompileTemplate","strictMode","scope","and","argOrDefault","not","EuiInputPopover","EuiRangeInput","on","optional","EuiRangeWrapper","classNames","EuiRangeLabel","EuiRangeTrack","eq","EuiRangeHighlight","castTo","EuiRangeSlider","fn","EuiRangeTooltip"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-range.js","sources":["../../src/components/eui-range.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport { later } from '@ember/runloop';\n\nimport optional from '@nullvoxpopuli/ember-composable-helpers/helpers/optional';\nimport { and, eq, not } from 'ember-truth-helpers';\n\nimport argOrDefault, {\n argOrDefaultDecorator\n} from '../helpers/arg-or-default.ts';\nimport castTo from '../helpers/cast-to.ts';\nimport classNames from '../helpers/class-names.ts';\nimport { isWithinRange } from '../utils/number/index.ts';\nimport EuiInputPopover from './eui-input-popover.gts';\nimport EuiRangeHighlight from './eui-range-highlight.gts';\nimport EuiRangeInput from './eui-range-input.gts';\nimport EuiRangeLabel from './eui-range-label.gts';\nimport EuiRangeSlider from './eui-range-slider.gts';\nimport EuiRangeTooltip from './eui-range-tooltip.gts';\nimport EuiRangeTrack from './eui-range-track.gts';\nimport EuiRangeWrapper from './eui-range-wrapper.gts';\n\nimport type { EuiRangeLevel } from './eui-range-levels';\nimport type { EuiRangeTick } from './eui-range-ticks';\n\nexport interface EuiRangeArgs {\n compressed?: boolean;\n readOnly?: boolean;\n fullWidth?: boolean;\n id?: string;\n /**\n * Create colored indicators for certain intervals\n */\n levels?: EuiRangeLevel[];\n step?: number;\n /**\n * Pass `true` to displays an extra input control for direct manipulation.\n * Pass `'inputWithPopover'` to only show the input but show the range in a dropdown.\n */\n showInput?: boolean | 'inputWithPopover';\n /**\n * Shows static min/max labels on the sides of the range slider\n */\n showLabels?: boolean;\n /**\n * Shows a thick line from min to value\n */\n showRange?: boolean;\n /**\n * Shows clickable tick marks and labels at the given interval (`step`/`tickInterval`)\n */\n showTicks?: boolean;\n\n min?: number;\n max?: number;\n /**\n * Shows a tooltip styled value\n */\n showValue?: boolean;\n /**\n * Specified ticks at specified values\n */\n ticks?: EuiRangeTick[];\n /**\n * Modifies the number of tick marks and at what interval\n */\n tickInterval?: number;\n /**\n * Appends to the tooltip\n */\n valueAppend?: any;\n /**\n * Prepends to the tooltip\n */\n valuePrepend?: any;\n\n onChange?: (event: Event, isValid: boolean) => void;\n onBlur?: (event: Event) => void;\n onFocus?: (event: Event) => void;\n\n value?: number;\n\n disabled?: boolean;\n\n isPrependProvided?: boolean;\n isAppendProvided?: boolean;\n isFakeMaxBlock?: boolean;\n isFakeMinBlock?: boolean;\n isFakeValueBlock?: boolean;\n isFakeValueAppendBlock?: boolean;\n isFakeValuePrependBlock?: boolean;\n isInvalid?: boolean;\n name?: string;\n isLoading?: boolean;\n}\n\nexport interface EuiRangeSignature {\n Element: HTMLInputElement;\n Args: EuiRangeArgs;\n Blocks: {\n min: [min: number];\n max: [max: number];\n value: [];\n valueAppend: [];\n valuePrepend: [];\n prepend: [classes: string];\n append: [classes: string];\n input: [];\n content: [];\n };\n}\n\nexport default class EuiRangeComponent extends Component<EuiRangeSignature> {\n // Defaults\n @argOrDefaultDecorator(0) min!: number;\n @argOrDefaultDecorator(100) max!: number;\n @argOrDefaultDecorator(1) step!: number;\n @argOrDefaultDecorator(false) fullWidth!: boolean;\n @argOrDefaultDecorator(false) compressed!: boolean;\n @argOrDefaultDecorator(false) isLoading!: boolean;\n @argOrDefaultDecorator(false) showLabels!: boolean;\n @argOrDefaultDecorator(false) showInput!: boolean | string;\n @argOrDefaultDecorator(false) showRange!: boolean;\n @argOrDefaultDecorator(false) showTicks!: boolean;\n @argOrDefaultDecorator(false) showValue!: boolean;\n @argOrDefaultDecorator([]) levels!: EuiRangeLevel[];\n\n preventPopoverClose = false;\n\n //State\n @tracked id: string = this.args.id || guidFor({});\n @tracked isPopoverOpen = false;\n ///\n\n @action\n handleOnChange(e: Event): void {\n const isValid = isWithinRange(\n this.min,\n this.max,\n (e.currentTarget as HTMLInputElement).value\n );\n\n if (this.args.onChange) {\n this.args.onChange(e, isValid);\n }\n }\n\n get isValid(): boolean {\n return isWithinRange(this.min, this.max, this.args.value || '');\n }\n\n get digitTolerance(): number {\n return Math.max(String(this.min).length, String(this.max).length);\n }\n\n get showInputOnly(): boolean {\n return this.showInput === 'inputWithPopover';\n }\n\n get canShowDropdown(): boolean {\n return this.showInputOnly && !this.args.readOnly && !this.args.disabled;\n }\n\n get showRangeTooltip(): boolean {\n return (\n this.showValue &&\n !!String(this.args.value).length &&\n this.args.value !== undefined\n );\n }\n\n @action\n onInputFocus(e: Event): void {\n if (this.args.onFocus) {\n this.args.onFocus(e);\n }\n\n this.isPopoverOpen = true;\n }\n\n @action\n onInputBlur(e: Event): void {\n later(\n this,\n () => {\n // Safari does not recognize any focus-related eventing for input[type=range]\n // making it impossible to capture its state using active/focus/relatedTarget\n // Instead, a prevention flag is set on mousedown, with a waiting period here.\n // Mousedown is viable because in the popover case, it is inaccessible via keyboard (intentionally)\n if (this.preventPopoverClose) {\n this.preventPopoverClose = false;\n\n return;\n }\n\n if (this.args.onBlur) {\n this.args.onBlur(e);\n }\n\n this.closePopover();\n },\n 200\n );\n }\n\n @action\n setPreventPopover(val: boolean): void {\n this.preventPopoverClose = val;\n }\n\n @action\n closePopover(): void {\n this.preventPopoverClose = false;\n this.isPopoverOpen = false;\n }\n\n @action\n setPreventPopoverClose(bool: boolean): void {\n this.preventPopoverClose = bool;\n }\n\n <template>\n {{#let\n (and (argOrDefault @isPrependProvided true) (has-block \"prepend\"))\n (and (argOrDefault @isAppendProvided true) (has-block \"append\"))\n (and (not (argOrDefault @isFakeMaxBlock false)) (has-block \"max\"))\n (and (not (argOrDefault @isFakeMinBlock false)) (has-block \"min\"))\n (and (not (argOrDefault @isFakeValueBlock false)) (has-block \"value\"))\n (and\n (not (argOrDefault @isFakeValueAppendBlock false))\n (has-block \"valueAppend\")\n )\n (and\n (not (argOrDefault @isFakeValuePrependBlock false))\n (has-block \"valuePrepend\")\n )\n as |hasPrepend hasAppend hasMaxBlock hasMinBlock hasValueBlock hasValueAppendBlock hasValuePrependBlock|\n }}\n {{#if this.showInputOnly}}\n <EuiInputPopover\n class=\"euiRange__popover\"\n @fullWidth={{@fullWidth}}\n @isOpen={{this.isPopoverOpen}}\n @closePopover={{this.closePopover}}\n @disableFocusTrap={{true}}\n >\n <:input>\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if this.canShowDropdown this.onInputFocus (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n </:input>\n <:content>\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{eq this.showInput true}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) true false}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly\n (fn this.setPreventPopoverClose true)\n (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown\n this.onInputFocus\n (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if\n this.canShowDropdown this.onInputBlur (optional @onBlur)\n )\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n </:content>\n </EuiInputPopover>\n {{else}}\n <EuiRangeWrapper\n class={{classNames\n \"euiRange\"\n (if this.showInput \"euiRange--hasInput\")\n }}\n @fullWidth={{@fullWidth}}\n @compressed={{@compressed}}\n >\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"min\" @disabled={{@disabled}}>\n {{#if hasMinBlock}}\n {{yield this.min to=\"min\"}}\n {{else}}\n {{this.min}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n <EuiRangeTrack\n aria-hidden={{eq this.showInput true}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @max={{this.max}}\n @min={{this.min}}\n @step={{this.step}}\n @showTicks={{this.showTicks}}\n @tickInterval={{@tickInterval}}\n @ticks={{@ticks}}\n @levels={{this.levels}}\n @onChange={{this.handleOnChange}}\n @value={{@value}}\n >\n {{#if (and this.showRange this.isValid)}}\n <EuiRangeHighlight\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n {{!@glint-expect-error}}\n @min={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @max={{castTo this.max to=\"number\"}}\n {{!@glint-expect-error}}\n @lowerValue={{castTo this.min to=\"number\"}}\n {{!@glint-expect-error}}\n @upperValue={{castTo @value to=\"number\"}}\n />\n {{/if}}\n <EuiRangeSlider\n aria-hidden={{if (eq this.showInput true) true false}}\n tabindex={{if (eq this.showInput true) \"-1\"}}\n @id={{if this.showInput undefined this.id}}\n @name={{@name}}\n @min={{this.min}}\n @max={{this.max}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @showTicks={{this.showTicks}}\n @showRange={{this.showRange}}\n ...attributes\n {{on\n \"mousedown\"\n (if\n this.showInputOnly (fn this.setPreventPopover true) (optional)\n )\n }}\n {{on\n \"focus\"\n (if (eq this.showInput true) (optional) (optional @onFocus))\n }}\n {{on\n \"blur\"\n (if this.showInputOnly this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n />\n {{#if this.showRangeTooltip}}\n <EuiRangeTooltip\n @compressed={{@compressed}}\n @value={{@value}}\n @max={{this.max}}\n @min={{this.min}}\n @name={{@name}}\n @showTicks={{this.showTicks}}\n >\n <:valuePrepend>\n {{#if hasValuePrependBlock}}\n {{yield to=\"valuePrepend\"}}\n {{else}}\n {{@valuePrepend}}\n {{/if}}\n </:valuePrepend>\n <:value>\n {{#if hasValueBlock}}\n {{yield to=\"value\"}}\n {{else}}\n {{@value}}\n {{/if}}\n </:value>\n <:valueAppend>\n {{#if hasValueAppendBlock}}\n {{yield to=\"valueAppend\"}}\n {{else}}\n {{@valueAppend}}\n {{/if}}\n </:valueAppend>\n </EuiRangeTooltip>\n {{/if}}\n </EuiRangeTrack>\n {{#if this.showLabels}}\n <EuiRangeLabel @side=\"max\" @disabled={{@disabled}}>\n {{#if hasMaxBlock}}\n {{yield this.max to=\"max\"}}\n {{else}}\n {{this.max}}\n {{/if}}\n </EuiRangeLabel>\n {{/if}}\n {{#if (and this.showInput (not this.showInputOnly))}}\n <div class=\"euiRange__horizontalSpacer\"></div>\n {{#if this.showInput}}\n <EuiRangeInput\n id={{this.id}}\n @min={{this.min}}\n @max={{this.max}}\n @digitTolerance={{this.digitTolerance}}\n @readOnly={{@readOnly}}\n @step={{this.step}}\n @value={{@value}}\n @disabled={{@disabled}}\n @compressed={{@compressed}}\n @name={{@name}}\n @fullWidth={{and this.showInputOnly this.fullWidth}}\n @isLoading={{and this.showInputOnly @isLoading}}\n @isInvalid={{@isInvalid}}\n @autoSize={{not this.showInputOnly}}\n @isPrependProvided={{hasPrepend}}\n @isAppendProvided={{hasAppend}}\n ...attributes\n {{on\n \"focus\"\n (if\n this.canShowDropdown this.onInputFocus (optional @onFocus)\n )\n }}\n {{on\n \"blur\"\n (if this.canShowDropdown this.onInputBlur (optional @onBlur))\n }}\n {{on \"input\" this.handleOnChange}}\n >\n <:prepend as |classes|>\n {{yield classes to=\"prepend\"}}\n </:prepend>\n <:append as |classes|>\n {{yield classes to=\"append\"}}\n </:append>\n </EuiRangeInput>\n {{/if}}\n {{/if}}\n </EuiRangeWrapper>\n {{/if}}\n {{/let}}\n </template>\n}\n"],"names":["EuiRangeComponent","Component","g","prototype","argOrDefaultDecorator","i","void 0","preventPopoverClose","tracked","args","id","guidFor","handleOnChange","e","isValid","isWithinRange","min","max","currentTarget","value","onChange","n","action","digitTolerance","Math","String","length","showInputOnly","showInput","canShowDropdown","readOnly","disabled","showRangeTooltip","showValue","undefined","onInputFocus","onFocus","isPopoverOpen","onInputBlur","later","onBlur","closePopover","setPreventPopover","val","setPreventPopoverClose","bool","setComponentTemplate","precompileTemplate","strictMode","scope","and","argOrDefault","not","EuiInputPopover","EuiRangeInput","on","optional","EuiRangeWrapper","classNames","EuiRangeLabel","EuiRangeTrack","eq","EuiRangeHighlight","castTo","EuiRangeSlider","fn","EuiRangeTooltip"],"mappings":"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"}
|