@ember-eui/core 8.0.0-beta.0 → 8.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/addon-main.cjs +5 -0
  2. package/declarations/components/eui-code-block/controls.d.ts.map +1 -1
  3. package/declarations/components/eui-health.d.ts +6 -0
  4. package/declarations/components/eui-health.d.ts.map +1 -1
  5. package/declarations/components/eui-icon.d.ts +1 -1
  6. package/dist/_rollupPluginBabelHelpers-_w_srC8C.js +63 -0
  7. package/dist/_rollupPluginBabelHelpers-_w_srC8C.js.map +1 -0
  8. package/dist/components/eui-accordion.js +1 -5
  9. package/dist/components/eui-accordion.js.map +1 -1
  10. package/dist/components/eui-auto-sizer.js +1 -5
  11. package/dist/components/eui-auto-sizer.js.map +1 -1
  12. package/dist/components/eui-bottom-bar.js +1 -2
  13. package/dist/components/eui-bottom-bar.js.map +1 -1
  14. package/dist/components/eui-breadcrumbs.js +1 -5
  15. package/dist/components/eui-breadcrumbs.js.map +1 -1
  16. package/dist/components/eui-card.js +1 -5
  17. package/dist/components/eui-card.js.map +1 -1
  18. package/dist/components/eui-code-block/controls.js.map +1 -1
  19. package/dist/components/eui-code-block/virtualized.js +1 -3
  20. package/dist/components/eui-code-block/virtualized.js.map +1 -1
  21. package/dist/components/eui-code-block.js +1 -2
  22. package/dist/components/eui-code-block.js.map +1 -1
  23. package/dist/components/eui-code.js +1 -5
  24. package/dist/components/eui-code.js.map +1 -1
  25. package/dist/components/eui-collapsible-nav.js +1 -2
  26. package/dist/components/eui-collapsible-nav.js.map +1 -1
  27. package/dist/components/eui-combo-box/create-option.js +1 -3
  28. package/dist/components/eui-combo-box/create-option.js.map +1 -1
  29. package/dist/components/eui-combo-box/options.js +1 -5
  30. package/dist/components/eui-combo-box/options.js.map +1 -1
  31. package/dist/components/eui-combo-box/trigger/input.js +1 -1
  32. package/dist/components/eui-combo-box.js +1 -5
  33. package/dist/components/eui-combo-box.js.map +1 -1
  34. package/dist/components/eui-context-menu-item.js +1 -2
  35. package/dist/components/eui-context-menu-item.js.map +1 -1
  36. package/dist/components/eui-copy.js +1 -2
  37. package/dist/components/eui-copy.js.map +1 -1
  38. package/dist/components/eui-dual-range.js +1 -5
  39. package/dist/components/eui-dual-range.js.map +1 -1
  40. package/dist/components/eui-field-search.js +1 -2
  41. package/dist/components/eui-field-search.js.map +1 -1
  42. package/dist/components/eui-file-picker.js +1 -2
  43. package/dist/components/eui-file-picker.js.map +1 -1
  44. package/dist/components/eui-flyout.js +1 -2
  45. package/dist/components/eui-flyout.js.map +1 -1
  46. package/dist/components/eui-global-toast-list.js +1 -5
  47. package/dist/components/eui-global-toast-list.js.map +1 -1
  48. package/dist/components/eui-header-links.js +1 -2
  49. package/dist/components/eui-header-links.js.map +1 -1
  50. package/dist/components/eui-header-section-item-button.js +1 -5
  51. package/dist/components/eui-header-section-item-button.js.map +1 -1
  52. package/dist/components/eui-health.js.map +1 -1
  53. package/dist/components/eui-hide-for.js +1 -3
  54. package/dist/components/eui-hide-for.js.map +1 -1
  55. package/dist/components/eui-i18n.js +1 -2
  56. package/dist/components/eui-i18n.js.map +1 -1
  57. package/dist/components/eui-icon.js +1 -2
  58. package/dist/components/eui-icon.js.map +1 -1
  59. package/dist/components/eui-image.js +1 -2
  60. package/dist/components/eui-image.js.map +1 -1
  61. package/dist/components/eui-inner-text.js +1 -5
  62. package/dist/components/eui-inner-text.js.map +1 -1
  63. package/dist/components/eui-input-popover.js +1 -2
  64. package/dist/components/eui-input-popover.js.map +1 -1
  65. package/dist/components/eui-markdown-editor-footer.js +1 -2
  66. package/dist/components/eui-markdown-editor-footer.js.map +1 -1
  67. package/dist/components/eui-markdown-editor-toolbar.js +1 -4
  68. package/dist/components/eui-markdown-editor-toolbar.js.map +1 -1
  69. package/dist/components/eui-markdown-editor.js +1 -5
  70. package/dist/components/eui-markdown-editor.js.map +1 -1
  71. package/dist/components/eui-markdown-format.js +1 -1
  72. package/dist/components/eui-overlay-mask.js +1 -5
  73. package/dist/components/eui-overlay-mask.js.map +1 -1
  74. package/dist/components/eui-page-header-content.js +1 -2
  75. package/dist/components/eui-page-header-content.js.map +1 -1
  76. package/dist/components/eui-page-template.js +1 -5
  77. package/dist/components/eui-page-template.js.map +1 -1
  78. package/dist/components/eui-pagination.js +1 -3
  79. package/dist/components/eui-pagination.js.map +1 -1
  80. package/dist/components/eui-popover.js +1 -5
  81. package/dist/components/eui-popover.js.map +1 -1
  82. package/dist/components/eui-portal.js +1 -2
  83. package/dist/components/eui-portal.js.map +1 -1
  84. package/dist/components/eui-range-levels.js +1 -1
  85. package/dist/components/eui-range-track.js +1 -2
  86. package/dist/components/eui-range-track.js.map +1 -1
  87. package/dist/components/eui-range.js +1 -5
  88. package/dist/components/eui-range.js.map +1 -1
  89. package/dist/components/eui-show-for.js +1 -5
  90. package/dist/components/eui-show-for.js.map +1 -1
  91. package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js +1 -2
  92. package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js.map +1 -1
  93. package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js +1 -5
  94. package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js.map +1 -1
  95. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js +1 -2
  96. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js.map +1 -1
  97. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js +1 -5
  98. package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js.map +1 -1
  99. package/dist/components/eui-super-date-picker/date-popover/relative-tab.js +1 -5
  100. package/dist/components/eui-super-date-picker/date-popover/relative-tab.js.map +1 -1
  101. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js +1 -2
  102. package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js.map +1 -1
  103. package/dist/components/eui-super-date-picker/eui-quick-select-popover.js +1 -2
  104. package/dist/components/eui-super-date-picker/eui-quick-select-popover.js.map +1 -1
  105. package/dist/components/eui-super-date-picker.js +1 -2
  106. package/dist/components/eui-super-date-picker.js.map +1 -1
  107. package/dist/components/eui-switch.js +1 -1
  108. package/dist/components/eui-tabbed-content.js +1 -5
  109. package/dist/components/eui-tabbed-content.js.map +1 -1
  110. package/dist/components/eui-tool-tip-popover.js +1 -4
  111. package/dist/components/eui-tool-tip-popover.js.map +1 -1
  112. package/dist/components/eui-tool-tip.js +1 -5
  113. package/dist/components/eui-tool-tip.js.map +1 -1
  114. package/dist/helpers/get-eui-config.js +1 -2
  115. package/dist/helpers/get-eui-config.js.map +1 -1
  116. package/dist/helpers/use-state.js +1 -2
  117. package/dist/helpers/use-state.js.map +1 -1
  118. package/dist/modifiers/outside-click-detector.js +1 -4
  119. package/dist/modifiers/outside-click-detector.js.map +1 -1
  120. package/dist/modifiers/resize-observer.js +1 -4
  121. package/dist/modifiers/resize-observer.js.map +1 -1
  122. package/dist/services/eui-config.js +1 -2
  123. package/dist/services/eui-config.js.map +1 -1
  124. package/dist/services/eui-i18n.js +1 -4
  125. package/dist/services/eui-i18n.js.map +1 -1
  126. package/dist/services/eui-toaster.js +1 -2
  127. package/dist/services/eui-toaster.js.map +1 -1
  128. package/dist/utils/markdown/markdown-actions.js +1 -4
  129. package/dist/utils/markdown/markdown-actions.js.map +1 -1
  130. package/dist/utils/timer.js +1 -3
  131. package/dist/utils/timer.js.map +1 -1
  132. package/package.json +5 -3
@@ -1 +1 @@
1
- {"version":3,"file":"outside-click-detector.js","sources":["../../src/modifiers/outside-click-detector.ts"],"sourcesContent":["import { registerDestructor } from '@ember/destroyable';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\n\nimport Modifier from 'ember-modifier';\n\ninterface Named {\n onOutsideClick: (event: Event) => void;\n isDisabled?: boolean;\n onMouseDown?: (event: MouseEvent | TouchEvent) => void;\n onMouseUp?: (event: MouseEvent | TouchEvent) => void;\n onTouchStart?: (event: MouseEvent | TouchEvent) => void;\n onTouchEnd?: (event: MouseEvent | TouchEvent) => void;\n}\n\ntype Positional = [];\n\ninterface OutsideClickDetectorModifierArgs {\n Element: Element;\n Args: {\n Positional: Positional;\n Named: Named;\n };\n}\n\nexport interface EuiEvent extends Event {\n euiGeneratedBy: string[];\n}\n\nexport default class OutsideClickDetector extends Modifier<OutsideClickDetectorModifierArgs> {\n id!: string;\n capturedDownIds: string[] = [];\n\n element?: HTMLElement;\n named?: Named;\n positional?: Positional;\n\n @action\n onClickOutside(e: Event): void {\n const { isDisabled, onOutsideClick } = this.named!;\n\n if (isDisabled) {\n this.capturedDownIds = [];\n return;\n }\n\n const event = e as unknown as EuiEvent;\n\n if (\n (event.euiGeneratedBy && event.euiGeneratedBy.includes(this.id)) ||\n this.capturedDownIds.includes(this.id)\n ) {\n this.capturedDownIds = [];\n return;\n }\n\n this.capturedDownIds = [];\n return onOutsideClick(event);\n }\n\n modify(element: HTMLElement, positional: Positional, named: Named): void {\n this.element = element;\n this.named = named;\n this.positional = positional;\n this._setup();\n registerDestructor(this, () => this._teardown());\n }\n\n _setup(): void {\n this.id = guidFor({});\n document.addEventListener('mouseup', this.onClickOutside);\n document.addEventListener('touchend', this.onClickOutside);\n this.addElementEvents();\n }\n\n _teardown(): void {\n document.removeEventListener('mouseup', this.onClickOutside);\n document.removeEventListener('touchend', this.onClickOutside);\n this.removeElementEvents();\n }\n\n addElementEvents(): void {\n if (this.element) {\n this.element.addEventListener('mousedown', this.onChildMouseDown);\n this.element.addEventListener('touchstart', this.onChildMouseDown);\n this.element.addEventListener('mouseup', this.onChildMouseUp);\n this.element.addEventListener('touchend', this.onChildMouseUp);\n }\n }\n\n removeElementEvents(): void {\n if (this.element) {\n this.element.removeEventListener('mousedown', this.onChildMouseDown);\n this.element.removeEventListener('touchstart', this.onChildMouseDown);\n this.element.removeEventListener('mouseup', this.onChildMouseUp);\n this.element.removeEventListener('touchend', this.onChildMouseUp);\n }\n }\n\n @action\n onChildClick(\n event: MouseEvent | TouchEvent,\n cb: (event: MouseEvent | TouchEvent) => void\n ): void {\n // to support nested click detectors, build an array\n // of detector ids that have been encountered;\n\n if (event.hasOwnProperty('euiGeneratedBy')) {\n (event as unknown as EuiEvent).euiGeneratedBy.push(this.id);\n } else {\n (event as unknown as EuiEvent).euiGeneratedBy = [this.id];\n }\n if (cb) cb(event);\n }\n\n @action\n onChildMouseDown(event: MouseEvent | TouchEvent): any {\n this.onChildClick(event, (e) => {\n const nativeEvent = e as unknown as EuiEvent;\n this.capturedDownIds = nativeEvent.euiGeneratedBy;\n this.named?.onMouseDown?.(e);\n this.named?.onTouchStart?.(e);\n });\n }\n\n @action\n onChildMouseUp(event: TouchEvent | MouseEvent): any {\n this.onChildClick(event, (e) => {\n this.named?.onMouseUp?.(e);\n this.named?.onTouchEnd?.(e);\n });\n }\n}\n"],"names":["OutsideClickDetector","_class","Modifier","constructor","args","_defineProperty","onClickOutside","e","isDisabled","onOutsideClick","named","capturedDownIds","event","euiGeneratedBy","includes","id","modify","element","positional","_setup","registerDestructor","_teardown","guidFor","document","addEventListener","addElementEvents","removeEventListener","removeElementEvents","onChildMouseDown","onChildMouseUp","onChildClick","cb","hasOwnProperty","push","nativeEvent","onMouseDown","onTouchStart","onMouseUp","onTouchEnd","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor"],"mappings":"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"}
1
+ {"version":3,"file":"outside-click-detector.js","sources":["../../src/modifiers/outside-click-detector.ts"],"sourcesContent":["import { registerDestructor } from '@ember/destroyable';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\n\nimport Modifier from 'ember-modifier';\n\ninterface Named {\n onOutsideClick: (event: Event) => void;\n isDisabled?: boolean;\n onMouseDown?: (event: MouseEvent | TouchEvent) => void;\n onMouseUp?: (event: MouseEvent | TouchEvent) => void;\n onTouchStart?: (event: MouseEvent | TouchEvent) => void;\n onTouchEnd?: (event: MouseEvent | TouchEvent) => void;\n}\n\ntype Positional = [];\n\ninterface OutsideClickDetectorModifierArgs {\n Element: Element;\n Args: {\n Positional: Positional;\n Named: Named;\n };\n}\n\nexport interface EuiEvent extends Event {\n euiGeneratedBy: string[];\n}\n\nexport default class OutsideClickDetector extends Modifier<OutsideClickDetectorModifierArgs> {\n id!: string;\n capturedDownIds: string[] = [];\n\n element?: HTMLElement;\n named?: Named;\n positional?: Positional;\n\n @action\n onClickOutside(e: Event): void {\n const { isDisabled, onOutsideClick } = this.named!;\n\n if (isDisabled) {\n this.capturedDownIds = [];\n return;\n }\n\n const event = e as unknown as EuiEvent;\n\n if (\n (event.euiGeneratedBy && event.euiGeneratedBy.includes(this.id)) ||\n this.capturedDownIds.includes(this.id)\n ) {\n this.capturedDownIds = [];\n return;\n }\n\n this.capturedDownIds = [];\n return onOutsideClick(event);\n }\n\n modify(element: HTMLElement, positional: Positional, named: Named): void {\n this.element = element;\n this.named = named;\n this.positional = positional;\n this._setup();\n registerDestructor(this, () => this._teardown());\n }\n\n _setup(): void {\n this.id = guidFor({});\n document.addEventListener('mouseup', this.onClickOutside);\n document.addEventListener('touchend', this.onClickOutside);\n this.addElementEvents();\n }\n\n _teardown(): void {\n document.removeEventListener('mouseup', this.onClickOutside);\n document.removeEventListener('touchend', this.onClickOutside);\n this.removeElementEvents();\n }\n\n addElementEvents(): void {\n if (this.element) {\n this.element.addEventListener('mousedown', this.onChildMouseDown);\n this.element.addEventListener('touchstart', this.onChildMouseDown);\n this.element.addEventListener('mouseup', this.onChildMouseUp);\n this.element.addEventListener('touchend', this.onChildMouseUp);\n }\n }\n\n removeElementEvents(): void {\n if (this.element) {\n this.element.removeEventListener('mousedown', this.onChildMouseDown);\n this.element.removeEventListener('touchstart', this.onChildMouseDown);\n this.element.removeEventListener('mouseup', this.onChildMouseUp);\n this.element.removeEventListener('touchend', this.onChildMouseUp);\n }\n }\n\n @action\n onChildClick(\n event: MouseEvent | TouchEvent,\n cb: (event: MouseEvent | TouchEvent) => void\n ): void {\n // to support nested click detectors, build an array\n // of detector ids that have been encountered;\n\n if (event.hasOwnProperty('euiGeneratedBy')) {\n (event as unknown as EuiEvent).euiGeneratedBy.push(this.id);\n } else {\n (event as unknown as EuiEvent).euiGeneratedBy = [this.id];\n }\n if (cb) cb(event);\n }\n\n @action\n onChildMouseDown(event: MouseEvent | TouchEvent): any {\n this.onChildClick(event, (e) => {\n const nativeEvent = e as unknown as EuiEvent;\n this.capturedDownIds = nativeEvent.euiGeneratedBy;\n this.named?.onMouseDown?.(e);\n this.named?.onTouchStart?.(e);\n });\n }\n\n @action\n onChildMouseUp(event: TouchEvent | MouseEvent): any {\n this.onChildClick(event, (e) => {\n this.named?.onMouseUp?.(e);\n this.named?.onTouchEnd?.(e);\n });\n }\n}\n"],"names":["OutsideClickDetector","_class","Modifier","constructor","args","_defineProperty","onClickOutside","e","isDisabled","onOutsideClick","named","capturedDownIds","event","euiGeneratedBy","includes","id","modify","element","positional","_setup","registerDestructor","_teardown","guidFor","document","addEventListener","addElementEvents","removeEventListener","removeElementEvents","onChildMouseDown","onChildMouseUp","onChildClick","cb","hasOwnProperty","push","nativeEvent","onMouseDown","onTouchStart","onMouseUp","onTouchEnd","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor"],"mappings":"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"}
@@ -1,12 +1,9 @@
1
+ import { _ as _applyDecoratedDescriptor, b as _defineProperty } from '../_rollupPluginBabelHelpers-_w_srC8C.js';
1
2
  import Modifier from 'ember-modifier';
2
3
  import { action } from '@ember/object';
3
4
  import { registerDestructor } from '@ember/destroyable';
4
5
 
5
6
  var _class;
6
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
8
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
9
- function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
10
7
 
11
8
  // IE11 and Safari don't support the `ResizeObserver` API at the time of writing
12
9
  const hasResizeObserver = typeof window !== 'undefined' && typeof window.ResizeObserver !== 'undefined';
@@ -1 +1 @@
1
- {"version":3,"file":"resize-observer.js","sources":["../../src/modifiers/resize-observer.ts"],"sourcesContent":["import Modifier from 'ember-modifier';\nimport { action } from '@ember/object';\nimport { registerDestructor } from '@ember/destroyable';\n\n// IE11 and Safari don't support the `ResizeObserver` API at the time of writing\nconst hasResizeObserver =\n typeof window !== 'undefined' &&\n typeof (window as any).ResizeObserver !== 'undefined';\n\nexport interface Observer {\n disconnect: () => void;\n observe: (element: Element, options?: { [key: string]: any }) => void;\n}\n\nconst mutationObserverOptions = {\n // [MutationObserverInit](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserverInit)\n attributes: true, // Account for style changes from `className` or `style`\n characterData: true, // Account for text content size differences\n childList: true, // Account for adding/removing child nodes\n subtree: true // Account for deep child nodes\n};\n\ninterface ResizeObserverSignature {\n Element: Element;\n Args: {\n Positional: [('width' | 'height')] | [];\n Named: {\n onResize: (dimensions: { height: number; width: number }) => void;\n };\n }\n}\n\nconst makeCompatibleObserver = (node: Element, callback: () => void) => {\n const observer = new MutationObserver(callback);\n //eslint-disable-next-line\n observer.observe(node, mutationObserverOptions);\n\n window.addEventListener('resize', callback);\n\n const _disconnect = observer.disconnect.bind(observer);\n observer.disconnect = () => {\n _disconnect();\n window.removeEventListener('resize', callback);\n };\n\n return observer;\n};\n\nconst makeResizeObserver = (node: Element, callback: () => void) => {\n let observer: Observer | undefined;\n if (hasResizeObserver) {\n observer = new (window as any).ResizeObserver(callback);\n observer!.observe(node);\n } else {\n observer = makeCompatibleObserver(node, callback);\n requestAnimationFrame(callback); // Mimic ResizeObserver behavior of triggering a resize event on init\n }\n return observer;\n};\n\nexport default class ResizeObserver extends Modifier<ResizeObserverSignature> {\n height: number = 0;\n width: number = 0;\n observer: Observer | null = null;\n\n element!: Element;\n named!: ResizeObserverSignature['Args']['Named'];\n positional!: ResizeObserverSignature['Args']['Positional'];\n\n @action\n setSize({ width, height }: { width: number; height: number }) {\n let [dimension] = this.positional;\n const doesWidthMatter = dimension !== 'height';\n const doesHeightMatter = dimension !== 'width';\n if (\n (doesWidthMatter && width !== this.width) ||\n (doesHeightMatter && height !== this.height)\n ) {\n this.width = width;\n this.height = height;\n this.named?.onResize({ width, height });\n }\n }\n\n\n modify(\n element: Element,\n positional: ResizeObserverSignature['Args']['Positional'] = [],\n named: ResizeObserverSignature['Args']['Named']\n ) {\n this.element = element;\n this.named = named;\n this.positional = positional;\n this._setup();\n registerDestructor(this, () => this._teardown());\n }\n\n _setup() {\n let { setSize, element } = this;\n if (element != null) {\n // ResizeObserver's first call to the observation callback is scheduled in the future\n // so find the element's initial dimensions now\n const boundingRect = element.getBoundingClientRect();\n setSize({\n width: boundingRect.width,\n height: boundingRect.height\n });\n\n this.observer = makeResizeObserver(element, () => {\n const boundingRect = element.getBoundingClientRect();\n setSize({\n width: boundingRect.width,\n height: boundingRect.height\n });\n })!;\n } else {\n setSize({\n width: 0,\n height: 0\n });\n }\n }\n\n _teardown() {\n this.observer?.disconnect();\n }\n}\n"],"names":["hasResizeObserver","window","ResizeObserver","mutationObserverOptions","attributes","characterData","childList","subtree","makeCompatibleObserver","node","callback","observer","MutationObserver","observe","addEventListener","_disconnect","disconnect","bind","removeEventListener","makeResizeObserver","requestAnimationFrame","_class","Modifier","constructor","args","_defineProperty","setSize","width","height","dimension","positional","doesWidthMatter","doesHeightMatter","named","onResize","modify","element","_setup","registerDestructor","_teardown","boundingRect","getBoundingClientRect","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor"],"mappings":"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"}
1
+ {"version":3,"file":"resize-observer.js","sources":["../../src/modifiers/resize-observer.ts"],"sourcesContent":["import Modifier from 'ember-modifier';\nimport { action } from '@ember/object';\nimport { registerDestructor } from '@ember/destroyable';\n\n// IE11 and Safari don't support the `ResizeObserver` API at the time of writing\nconst hasResizeObserver =\n typeof window !== 'undefined' &&\n typeof (window as any).ResizeObserver !== 'undefined';\n\nexport interface Observer {\n disconnect: () => void;\n observe: (element: Element, options?: { [key: string]: any }) => void;\n}\n\nconst mutationObserverOptions = {\n // [MutationObserverInit](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserverInit)\n attributes: true, // Account for style changes from `className` or `style`\n characterData: true, // Account for text content size differences\n childList: true, // Account for adding/removing child nodes\n subtree: true // Account for deep child nodes\n};\n\ninterface ResizeObserverSignature {\n Element: Element;\n Args: {\n Positional: [('width' | 'height')] | [];\n Named: {\n onResize: (dimensions: { height: number; width: number }) => void;\n };\n }\n}\n\nconst makeCompatibleObserver = (node: Element, callback: () => void) => {\n const observer = new MutationObserver(callback);\n //eslint-disable-next-line\n observer.observe(node, mutationObserverOptions);\n\n window.addEventListener('resize', callback);\n\n const _disconnect = observer.disconnect.bind(observer);\n observer.disconnect = () => {\n _disconnect();\n window.removeEventListener('resize', callback);\n };\n\n return observer;\n};\n\nconst makeResizeObserver = (node: Element, callback: () => void) => {\n let observer: Observer | undefined;\n if (hasResizeObserver) {\n observer = new (window as any).ResizeObserver(callback);\n observer!.observe(node);\n } else {\n observer = makeCompatibleObserver(node, callback);\n requestAnimationFrame(callback); // Mimic ResizeObserver behavior of triggering a resize event on init\n }\n return observer;\n};\n\nexport default class ResizeObserver extends Modifier<ResizeObserverSignature> {\n height: number = 0;\n width: number = 0;\n observer: Observer | null = null;\n\n element!: Element;\n named!: ResizeObserverSignature['Args']['Named'];\n positional!: ResizeObserverSignature['Args']['Positional'];\n\n @action\n setSize({ width, height }: { width: number; height: number }) {\n let [dimension] = this.positional;\n const doesWidthMatter = dimension !== 'height';\n const doesHeightMatter = dimension !== 'width';\n if (\n (doesWidthMatter && width !== this.width) ||\n (doesHeightMatter && height !== this.height)\n ) {\n this.width = width;\n this.height = height;\n this.named?.onResize({ width, height });\n }\n }\n\n\n modify(\n element: Element,\n positional: ResizeObserverSignature['Args']['Positional'] = [],\n named: ResizeObserverSignature['Args']['Named']\n ) {\n this.element = element;\n this.named = named;\n this.positional = positional;\n this._setup();\n registerDestructor(this, () => this._teardown());\n }\n\n _setup() {\n let { setSize, element } = this;\n if (element != null) {\n // ResizeObserver's first call to the observation callback is scheduled in the future\n // so find the element's initial dimensions now\n const boundingRect = element.getBoundingClientRect();\n setSize({\n width: boundingRect.width,\n height: boundingRect.height\n });\n\n this.observer = makeResizeObserver(element, () => {\n const boundingRect = element.getBoundingClientRect();\n setSize({\n width: boundingRect.width,\n height: boundingRect.height\n });\n })!;\n } else {\n setSize({\n width: 0,\n height: 0\n });\n }\n }\n\n _teardown() {\n this.observer?.disconnect();\n }\n}\n"],"names":["hasResizeObserver","window","ResizeObserver","mutationObserverOptions","attributes","characterData","childList","subtree","makeCompatibleObserver","node","callback","observer","MutationObserver","observe","addEventListener","_disconnect","disconnect","bind","removeEventListener","makeResizeObserver","requestAnimationFrame","_class","Modifier","constructor","args","_defineProperty","setSize","width","height","dimension","positional","doesWidthMatter","doesHeightMatter","named","onResize","modify","element","_setup","registerDestructor","_teardown","boundingRect","getBoundingClientRect","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor"],"mappings":"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"}
@@ -1,10 +1,9 @@
1
+ import { _ as _applyDecoratedDescriptor, a as _initializerDefineProperty } from '../_rollupPluginBabelHelpers-_w_srC8C.js';
1
2
  import Service from '@ember/service';
2
3
  import { tracked } from '@glimmer/tracking';
3
4
  import { merge } from 'lodash-es';
4
5
 
5
6
  var _class, _descriptor;
6
- function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
7
- function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
8
7
  const DEFAULT_CONFIG = {
9
8
  'euiIcon.useSvg': true,
10
9
  euiIconUseSvg: true,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-config.js","sources":["../../src/services/eui-config.ts"],"sourcesContent":["import Service from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { merge } from 'lodash-es';\nimport type { EuiButtonIconSignature } from '../components/eui-button-icon';\n\nexport interface EuiConfig {\n 'euiIcon.useSvg'?: boolean;\n euiIconUseSvg?: boolean;\n 'euiButtonIcon.size'?: EuiButtonIconSignature['Args']['iconSize'];\n euiButtonIconSize?: EuiButtonIconSignature['Args']['iconSize'];\n euiComboBoxOptionsHeight?: number;\n}\n\nconst DEFAULT_CONFIG: EuiConfig = {\n 'euiIcon.useSvg': true,\n euiIconUseSvg: true,\n euiComboBoxOptionsHeight: 33\n};\n\nexport default class EuiConfigService extends Service {\n @tracked private _config: EuiConfig = DEFAULT_CONFIG;\n\n getConfig<T extends keyof EuiConfig>(key: T): EuiConfig[T] | undefined {\n return this._config[key];\n }\n\n updateConfig(config: Partial<EuiConfig>) {\n this._config = merge<Partial<EuiConfig>, EuiConfig, Partial<EuiConfig>>(\n {},\n this._config,\n config\n );\n }\n\n setConfig(config: EuiConfig) {\n this._config = config;\n }\n}\n"],"names":["DEFAULT_CONFIG","euiIconUseSvg","euiComboBoxOptionsHeight","EuiConfigService","_class","Service","constructor","args","_initializerDefineProperty","_descriptor","getConfig","key","_config","updateConfig","config","merge","setConfig","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer"],"mappings":";;;;;;;AAaA,MAAMA,cAAyB,GAAG;AAChC,EAAA,gBAAgB,EAAE,IAAI;AACtBC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,wBAAwB,EAAE,EAAA;AAC5B,CAAC,CAAA;AAEoBC,IAAAA,gBAAgB,IAAAC,MAAA,GAAtB,MAAMD,gBAAgB,SAASE,OAAO,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,kBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;EAGpDC,SAASA,CAA4BC,GAAM,EAA4B;AACrE,IAAA,OAAO,IAAI,CAACC,OAAO,CAACD,GAAG,CAAC,CAAA;AAC1B,GAAA;EAEAE,YAAYA,CAACC,MAA0B,EAAE;AACvC,IAAA,IAAI,CAACF,OAAO,GAAGG,KAAK,CAClB,EAAE,EACF,IAAI,CAACH,OAAO,EACZE,MACF,CAAC,CAAA;AACH,GAAA;EAEAE,SAASA,CAACF,MAAiB,EAAE;IAC3B,IAAI,CAACF,OAAO,GAAGE,MAAM,CAAA;AACvB,GAAA;AACF,CAAC,GAAAL,WAAA,GAAAQ,yBAAA,CAAAb,MAAA,CAAAc,SAAA,EAAA,SAAA,EAAA,CAjBEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAA8BvB,cAAc,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,GAAAI,MAAA;;;;"}
1
+ {"version":3,"file":"eui-config.js","sources":["../../src/services/eui-config.ts"],"sourcesContent":["import Service from '@ember/service';\nimport { tracked } from '@glimmer/tracking';\nimport { merge } from 'lodash-es';\nimport type { EuiButtonIconSignature } from '../components/eui-button-icon';\n\nexport interface EuiConfig {\n 'euiIcon.useSvg'?: boolean;\n euiIconUseSvg?: boolean;\n 'euiButtonIcon.size'?: EuiButtonIconSignature['Args']['iconSize'];\n euiButtonIconSize?: EuiButtonIconSignature['Args']['iconSize'];\n euiComboBoxOptionsHeight?: number;\n}\n\nconst DEFAULT_CONFIG: EuiConfig = {\n 'euiIcon.useSvg': true,\n euiIconUseSvg: true,\n euiComboBoxOptionsHeight: 33\n};\n\nexport default class EuiConfigService extends Service {\n @tracked private _config: EuiConfig = DEFAULT_CONFIG;\n\n getConfig<T extends keyof EuiConfig>(key: T): EuiConfig[T] | undefined {\n return this._config[key];\n }\n\n updateConfig(config: Partial<EuiConfig>) {\n this._config = merge<Partial<EuiConfig>, EuiConfig, Partial<EuiConfig>>(\n {},\n this._config,\n config\n );\n }\n\n setConfig(config: EuiConfig) {\n this._config = config;\n }\n}\n"],"names":["DEFAULT_CONFIG","euiIconUseSvg","euiComboBoxOptionsHeight","EuiConfigService","_class","Service","constructor","args","_initializerDefineProperty","_descriptor","getConfig","key","_config","updateConfig","config","merge","setConfig","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer"],"mappings":";;;;;;AAaA,MAAMA,cAAyB,GAAG;AAChC,EAAA,gBAAgB,EAAE,IAAI;AACtBC,EAAAA,aAAa,EAAE,IAAI;AACnBC,EAAAA,wBAAwB,EAAE,EAAA;AAC5B,CAAC,CAAA;AAEoBC,IAAAA,gBAAgB,IAAAC,MAAA,GAAtB,MAAMD,gBAAgB,SAASE,OAAO,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,kBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;EAGpDC,SAASA,CAA4BC,GAAM,EAA4B;AACrE,IAAA,OAAO,IAAI,CAACC,OAAO,CAACD,GAAG,CAAC,CAAA;AAC1B,GAAA;EAEAE,YAAYA,CAACC,MAA0B,EAAE;AACvC,IAAA,IAAI,CAACF,OAAO,GAAGG,KAAK,CAClB,EAAE,EACF,IAAI,CAACH,OAAO,EACZE,MACF,CAAC,CAAA;AACH,GAAA;EAEAE,SAASA,CAACF,MAAiB,EAAE;IAC3B,IAAI,CAACF,OAAO,GAAGE,MAAM,CAAA;AACvB,GAAA;AACF,CAAC,GAAAL,WAAA,GAAAQ,yBAAA,CAAAb,MAAA,CAAAc,SAAA,EAAA,SAAA,EAAA,CAjBEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAA8BvB,cAAc,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,GAAAI,MAAA;;;;"}
@@ -1,12 +1,9 @@
1
+ import { _ as _applyDecoratedDescriptor, b as _defineProperty } from '../_rollupPluginBabelHelpers-_w_srC8C.js';
1
2
  import Service from '@ember/service';
2
3
  import { action } from '@ember/object';
3
4
  import { processStringToChildren } from '../i18n/util.js';
4
5
 
5
6
  var _class;
6
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
7
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
8
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
9
- function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
10
7
  function flatten(acc = {}, obj, path = '') {
11
8
  path = path.length > 0 ? path + '.' : path;
12
9
  for (const key in obj) {
@@ -1 +1 @@
1
- {"version":3,"file":"eui-i18n.js","sources":["../../src/services/eui-i18n.ts"],"sourcesContent":["import Service from '@ember/service';\nimport { action } from '@ember/object';\nimport { processStringToChildren } from '../i18n/util';\n\ninterface LookupTokenOptions {\n token: string;\n i18nMapping?: Record<string, string>;\n valueDefault: string | ((values: Record<string, unknown>) => string);\n values?: Record<string, unknown>;\n}\n\nfunction flatten(\n acc: Record<string, unknown> = {},\n obj: Record<string, unknown>,\n path = ''\n) {\n path = path.length > 0 ? path + '.' : path;\n\n for (const key in obj) {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n flatten(acc, obj[key] as Record<string, unknown>, path + key);\n } else {\n acc[path + key] = obj[key];\n }\n }\n return acc;\n}\n\nexport default class EuiI18n extends Service {\n translations = {};\n @action addTranslations(translations: Record<string, unknown>) {\n // TODO: deep merge?\n this.translations = {\n ...this.translations,\n ...flatten({}, translations)\n };\n }\n\n get mapping() {\n return this.translations;\n }\n\n @action\n lookupToken(\n token: string,\n valueDefault: string | ((values: { [key: string]: unknown }) => string),\n values?: Record<string, any>\n ): string {\n return this._lookupToken({\n token,\n valueDefault,\n values\n });\n }\n\n getTokenFromMapping(\n token: LookupTokenOptions['token'],\n valueDefault: LookupTokenOptions['valueDefault'],\n _values: LookupTokenOptions['values'],\n i18nMapping: LookupTokenOptions['i18nMapping']\n ) {\n return (i18nMapping && i18nMapping[token]) || valueDefault;\n }\n\n @action\n _lookupToken(options: LookupTokenOptions) {\n const {\n token,\n i18nMapping = this.mapping,\n valueDefault,\n values = {}\n } = options;\n\n let renderable = this.getTokenFromMapping(\n token,\n valueDefault,\n values,\n i18nMapping\n );\n\n if (typeof renderable === 'function') {\n renderable = renderable(values);\n }\n\n const children = processStringToChildren(renderable, values);\n\n return children as string;\n }\n}\n\ndeclare module '@ember/service' {\n interface Registry {\n 'eui-i18n': EuiI18n;\n }\n}\n"],"names":["flatten","acc","obj","path","length","key","EuiI18n","_class","Service","constructor","args","_defineProperty","addTranslations","translations","mapping","lookupToken","token","valueDefault","values","_lookupToken","getTokenFromMapping","_values","i18nMapping","options","renderable","children","processStringToChildren","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor"],"mappings":"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"}
1
+ {"version":3,"file":"eui-i18n.js","sources":["../../src/services/eui-i18n.ts"],"sourcesContent":["import Service from '@ember/service';\nimport { action } from '@ember/object';\nimport { processStringToChildren } from '../i18n/util';\n\ninterface LookupTokenOptions {\n token: string;\n i18nMapping?: Record<string, string>;\n valueDefault: string | ((values: Record<string, unknown>) => string);\n values?: Record<string, unknown>;\n}\n\nfunction flatten(\n acc: Record<string, unknown> = {},\n obj: Record<string, unknown>,\n path = ''\n) {\n path = path.length > 0 ? path + '.' : path;\n\n for (const key in obj) {\n if (typeof obj[key] === 'object' && obj[key] !== null) {\n flatten(acc, obj[key] as Record<string, unknown>, path + key);\n } else {\n acc[path + key] = obj[key];\n }\n }\n return acc;\n}\n\nexport default class EuiI18n extends Service {\n translations = {};\n @action addTranslations(translations: Record<string, unknown>) {\n // TODO: deep merge?\n this.translations = {\n ...this.translations,\n ...flatten({}, translations)\n };\n }\n\n get mapping() {\n return this.translations;\n }\n\n @action\n lookupToken(\n token: string,\n valueDefault: string | ((values: { [key: string]: unknown }) => string),\n values?: Record<string, any>\n ): string {\n return this._lookupToken({\n token,\n valueDefault,\n values\n });\n }\n\n getTokenFromMapping(\n token: LookupTokenOptions['token'],\n valueDefault: LookupTokenOptions['valueDefault'],\n _values: LookupTokenOptions['values'],\n i18nMapping: LookupTokenOptions['i18nMapping']\n ) {\n return (i18nMapping && i18nMapping[token]) || valueDefault;\n }\n\n @action\n _lookupToken(options: LookupTokenOptions) {\n const {\n token,\n i18nMapping = this.mapping,\n valueDefault,\n values = {}\n } = options;\n\n let renderable = this.getTokenFromMapping(\n token,\n valueDefault,\n values,\n i18nMapping\n );\n\n if (typeof renderable === 'function') {\n renderable = renderable(values);\n }\n\n const children = processStringToChildren(renderable, values);\n\n return children as string;\n }\n}\n\ndeclare module '@ember/service' {\n interface Registry {\n 'eui-i18n': EuiI18n;\n }\n}\n"],"names":["flatten","acc","obj","path","length","key","EuiI18n","_class","Service","constructor","args","_defineProperty","addTranslations","translations","mapping","lookupToken","token","valueDefault","values","_lookupToken","getTokenFromMapping","_values","i18nMapping","options","renderable","children","processStringToChildren","_applyDecoratedDescriptor","prototype","action","Object","getOwnPropertyDescriptor"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
+ import { _ as _applyDecoratedDescriptor, a as _initializerDefineProperty } from '../_rollupPluginBabelHelpers-_w_srC8C.js';
1
2
  import { tracked } from '@glimmer/tracking';
2
3
  import { action } from '@ember/object';
3
4
  import { guidFor } from '@ember/object/internals';
4
5
  import Service from '@ember/service';
5
6
 
6
7
  var _class, _descriptor;
7
- function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
8
- function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
9
8
  let EuiToasterService = (_class = class EuiToasterService extends Service {
10
9
  constructor(...args) {
11
10
  super(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"eui-toaster.js","sources":["../../src/services/eui-toaster.ts"],"sourcesContent":["import { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport Service from '@ember/service';\n\ntype ToastColor = 'primary' | 'success' | 'warning' | 'danger';\n\nexport interface EuiToastProps {\n id: string;\n title: string;\n color?: ToastColor;\n body?: string;\n iconType?: string;\n toastLifeTimeMs?: number;\n useMarkdownFormat?: boolean;\n onClose?: () => void;\n}\n\nexport default class EuiToasterService extends Service {\n @tracked toasts: EuiToastProps[] = [];\n\n @action\n show(props: EuiToastProps): void {\n if (!props.id) {\n props.id = guidFor(props);\n }\n\n this.toasts = [...this.toasts, props];\n }\n\n @action\n remove(toastToRemove: EuiToastProps): void {\n this.toasts = this.toasts.filter((toast) => toast !== toastToRemove);\n }\n}\n"],"names":["EuiToasterService","_class","Service","constructor","args","_initializerDefineProperty","_descriptor","show","props","id","guidFor","toasts","remove","toastToRemove","filter","toast","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor"],"mappings":";;;;;;;;AAkBqBA,IAAAA,iBAAiB,IAAAC,MAAA,GAAvB,MAAMD,iBAAiB,SAASE,OAAO,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,iBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;EAIrDC,IAAIA,CAACC,KAAoB,EAAQ;AAC/B,IAAA,IAAI,CAACA,KAAK,CAACC,EAAE,EAAE;AACbD,MAAAA,KAAK,CAACC,EAAE,GAAGC,OAAO,CAACF,KAAK,CAAC,CAAA;AAC3B,KAAA;IAEA,IAAI,CAACG,MAAM,GAAG,CAAC,GAAG,IAAI,CAACA,MAAM,EAAEH,KAAK,CAAC,CAAA;AACvC,GAAA;EAGAI,MAAMA,CAACC,aAA4B,EAAQ;AACzC,IAAA,IAAI,CAACF,MAAM,GAAG,IAAI,CAACA,MAAM,CAACG,MAAM,CAAEC,KAAK,IAAKA,KAAK,KAAKF,aAAa,CAAC,CAAA;AACtE,GAAA;AACF,CAAC,GAAAP,WAAA,GAAAU,yBAAA,CAAAf,MAAA,CAAAgB,SAAA,EAAA,QAAA,EAAA,CAfEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAA2B,EAAE,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,EAAAN,yBAAA,CAAAf,MAAA,CAAAgB,SAAA,EAAA,MAAA,EAAA,CAEpCM,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAAxB,MAAA,CAAAgB,SAAA,EAAAhB,MAAAA,CAAAA,EAAAA,MAAA,CAAAgB,SAAA,CAAA,EAAAD,yBAAA,CAAAf,MAAA,CAAAgB,SAAA,aASNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAAxB,MAAA,CAAAgB,SAAA,EAAA,QAAA,CAAA,EAAAhB,MAAA,CAAAgB,SAAA,IAAAhB,MAAA;;;;"}
1
+ {"version":3,"file":"eui-toaster.js","sources":["../../src/services/eui-toaster.ts"],"sourcesContent":["import { tracked } from '@glimmer/tracking';\nimport { action } from '@ember/object';\nimport { guidFor } from '@ember/object/internals';\nimport Service from '@ember/service';\n\ntype ToastColor = 'primary' | 'success' | 'warning' | 'danger';\n\nexport interface EuiToastProps {\n id: string;\n title: string;\n color?: ToastColor;\n body?: string;\n iconType?: string;\n toastLifeTimeMs?: number;\n useMarkdownFormat?: boolean;\n onClose?: () => void;\n}\n\nexport default class EuiToasterService extends Service {\n @tracked toasts: EuiToastProps[] = [];\n\n @action\n show(props: EuiToastProps): void {\n if (!props.id) {\n props.id = guidFor(props);\n }\n\n this.toasts = [...this.toasts, props];\n }\n\n @action\n remove(toastToRemove: EuiToastProps): void {\n this.toasts = this.toasts.filter((toast) => toast !== toastToRemove);\n }\n}\n"],"names":["EuiToasterService","_class","Service","constructor","args","_initializerDefineProperty","_descriptor","show","props","id","guidFor","toasts","remove","toastToRemove","filter","toast","_applyDecoratedDescriptor","prototype","tracked","configurable","enumerable","writable","initializer","action","Object","getOwnPropertyDescriptor"],"mappings":";;;;;;;AAkBqBA,IAAAA,iBAAiB,IAAAC,MAAA,GAAvB,MAAMD,iBAAiB,SAASE,OAAO,CAAC;AAAAC,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA,CAAA;AAAAC,IAAAA,0BAAA,iBAAAC,WAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;EAIrDC,IAAIA,CAACC,KAAoB,EAAQ;AAC/B,IAAA,IAAI,CAACA,KAAK,CAACC,EAAE,EAAE;AACbD,MAAAA,KAAK,CAACC,EAAE,GAAGC,OAAO,CAACF,KAAK,CAAC,CAAA;AAC3B,KAAA;IAEA,IAAI,CAACG,MAAM,GAAG,CAAC,GAAG,IAAI,CAACA,MAAM,EAAEH,KAAK,CAAC,CAAA;AACvC,GAAA;EAGAI,MAAMA,CAACC,aAA4B,EAAQ;AACzC,IAAA,IAAI,CAACF,MAAM,GAAG,IAAI,CAACA,MAAM,CAACG,MAAM,CAAEC,KAAK,IAAKA,KAAK,KAAKF,aAAa,CAAC,CAAA;AACtE,GAAA;AACF,CAAC,GAAAP,WAAA,GAAAU,yBAAA,CAAAf,MAAA,CAAAgB,SAAA,EAAA,QAAA,EAAA,CAfEC,OAAO,CAAA,EAAA;EAAAC,YAAA,EAAA,IAAA;EAAAC,UAAA,EAAA,IAAA;EAAAC,QAAA,EAAA,IAAA;AAAAC,EAAAA,WAAA,cAAA;AAAA,IAAA,OAA2B,EAAE,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,EAAAN,yBAAA,CAAAf,MAAA,CAAAgB,SAAA,EAAA,MAAA,EAAA,CAEpCM,MAAM,CAAAC,EAAAA,MAAA,CAAAC,wBAAA,CAAAxB,MAAA,CAAAgB,SAAA,EAAAhB,MAAAA,CAAAA,EAAAA,MAAA,CAAAgB,SAAA,CAAA,EAAAD,yBAAA,CAAAf,MAAA,CAAAgB,SAAA,aASNM,MAAM,CAAA,EAAAC,MAAA,CAAAC,wBAAA,CAAAxB,MAAA,CAAAgB,SAAA,EAAA,QAAA,CAAA,EAAAhB,MAAA,CAAAgB,SAAA,IAAAhB,MAAA;;;;"}
@@ -1,9 +1,6 @@
1
+ import { b as _defineProperty } from '../../_rollupPluginBabelHelpers-_w_srC8C.js';
1
2
  import { isPluginWithImmediateFormatting } from './markdown-types.js';
2
3
 
3
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
-
7
4
  /**
8
5
  * Class for applying styles to a text editor. Accepts the HTML ID for the textarea
9
6
  * desired, and exposes the `.do(ACTION)` method for manipulating the text.
@@ -1 +1 @@
1
- {"version":3,"file":"markdown-actions.js","sources":["../../../src/utils/markdown/markdown-actions.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// The text-formatting logic & code in this file come from\n// https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\n// under the following MIT license\n/*\nCopyright (c) 2017-2018 GitHub, Inc.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\n\nimport type {\n EuiMarkdownEditorUiPlugin,\n EuiMarkdownFormatting\n} from './markdown-types';\nimport { isPluginWithImmediateFormatting } from './markdown-types';\n\n/**\n * Class for applying styles to a text editor. Accepts the HTML ID for the textarea\n * desired, and exposes the `.do(ACTION)` method for manipulating the text.\n *\n * @class MarkdownActions\n * @param {string} editorID\n */\nclass MarkdownActions {\n styles: Record<string, EuiMarkdownEditorUiPlugin>;\n editorID: string = '';\n\n constructor(editorID: string, uiPlugins: EuiMarkdownEditorUiPlugin[]) {\n this.editorID = editorID;\n /**\n * This object is in the format:\n * [nameOfAction]: {[styles to apply]}\n */\n this.styles = {\n ...uiPlugins.reduce<MarkdownActions['styles']>(\n (mappedPlugins, plugin) => {\n mappedPlugins[plugin.name] = plugin;\n return mappedPlugins;\n },\n {}\n ),\n mdBold: {\n name: 'mdBold',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '**',\n suffix: '**',\n trimFirst: true\n }\n },\n mdItalic: {\n name: 'mdItalic',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '_',\n suffix: '_',\n trimFirst: true\n }\n },\n mdQuote: {\n name: 'mdQuote',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '> ',\n multiline: true,\n surroundWithNewlines: true\n }\n },\n mdCode: {\n name: 'mdCode',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '`',\n suffix: '`',\n blockPrefix: '```',\n blockSuffix: '```'\n }\n },\n mdLink: {\n name: 'mdLink',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '[',\n suffix: '](url)',\n replaceNext: 'url',\n scanFor: 'https?://'\n }\n },\n mdUl: {\n name: 'mdUl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '- ',\n multiline: true,\n surroundWithNewlines: true\n }\n },\n mdOl: {\n name: 'mdOl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '1. ',\n multiline: true,\n orderedList: true\n }\n },\n mdTl: {\n name: 'mdTl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '- [ ] ',\n multiline: true,\n surroundWithNewlines: true\n }\n }\n };\n }\n\n /**\n * .do() accepts a string and retrieves the correlating style object (defined in the\n * constructor). It passes this to applyStyle() that does the text manipulation.\n *\n * @param {string} pluginName\n * @memberof MarkdownActions\n */\n do(pluginName: string) {\n const plugin = this.styles[pluginName];\n if (isPluginWithImmediateFormatting(plugin!)) {\n this.applyStyle(plugin.formatting);\n return true;\n } else {\n return plugin;\n }\n }\n\n /**\n * Sets the default styling object and then superimposes the changes to make on top of\n * it. Calls the `styleSelectedText` helper function that does the heavy lifting.\n * Adapted from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\n *\n * @param {object} incomingStyle\n * @memberof MarkdownActions\n */\n applyStyle(incomingStyle: EuiMarkdownFormatting) {\n const defaults = {\n prefix: '',\n suffix: '',\n blockPrefix: '',\n blockSuffix: '',\n multiline: false,\n replaceNext: '',\n prefixSpace: false,\n scanFor: '',\n surroundWithNewlines: false,\n orderedList: false,\n trimFirst: false\n };\n\n const outgoingStyle = {\n ...defaults,\n ...incomingStyle\n };\n const editor = document.getElementById(\n this.editorID\n ) as HTMLTextAreaElement;\n\n if (editor) {\n editor.focus();\n styleSelectedText(editor, outgoingStyle);\n }\n }\n}\n\n/**\n * The following helper functions and types were copied from the GitHub Markdown Toolbar\n * Element project. The project is MIT-licensed. See it here:\n * https://github.com/github/markdown-toolbar-element\n */\n\ninterface Newlines {\n newlinesToAppend: string;\n newlinesToPrepend: string;\n}\n\ninterface SelectionRange {\n text: string;\n selectionStart?: number;\n selectionEnd?: number;\n}\n\ninterface StyleArgs {\n prefix: string;\n suffix: string;\n blockPrefix: string;\n blockSuffix: string;\n multiline: boolean;\n replaceNext: string;\n prefixSpace: boolean;\n scanFor: string;\n surroundWithNewlines: boolean;\n orderedList: boolean;\n trimFirst: boolean;\n}\n\nfunction isMultipleLines(string: string): boolean {\n return string.trim().split('\\n').length > 1;\n}\n\nfunction repeat(string: string, n: number): string {\n return Array(n + 1).join(string);\n}\n\nfunction wordSelectionStart(text: string, i: number): number {\n let index = i;\n while (\n text[index] &&\n text[index - 1] != null &&\n !text[index - 1]!.match(/\\s/)\n ) {\n index--;\n }\n return index;\n}\n\nfunction wordSelectionEnd(text: string, i: number, multiline: boolean): number {\n let index = i;\n const breakpoint = multiline ? /\\n/ : /\\s/;\n while (text[index] && !text[index]!.match(breakpoint)) {\n index++;\n }\n return index;\n}\n\nconst MAX_TRIES = 10;\nconst TRY_TIMEOUT = 10; /*ms*/\n// modified from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\nexport function insertText(\n textarea: HTMLTextAreaElement,\n { text, selectionStart, selectionEnd }: SelectionRange\n) {\n const originalSelectionStart = textarea.selectionStart;\n const before = textarea.value.slice(0, originalSelectionStart);\n const after = textarea.value.slice(textarea.selectionEnd);\n\n // configuration modal/dialog will continue intercepting focus in Safari\n // need to wait until the textarea can receive focus\n let tries = 0;\n\n const insertText = () => {\n const insertResult = document.execCommand('insertText', false, text);\n\n if (insertResult === false) {\n /**\n * Fallback for Firefox; this kills undo/redo but at least updates the value\n *\n * Note that we're using the native HTMLTextAreaElement.set() method to play nicely with\n * React's synthetic event system.\n * https://hustle.bizongo.in/simulate-react-on-change-on-controlled-components-baa336920e04\n */\n const inputEvent = new Event('input', { bubbles: true });\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLTextAreaElement.prototype,\n 'value'\n )!.set;\n nativeInputValueSetter!.call(textarea, before + text + after);\n textarea.dispatchEvent(inputEvent);\n }\n\n if (selectionStart != null && selectionEnd != null) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n } else {\n textarea.setSelectionRange(originalSelectionStart, textarea.selectionEnd);\n }\n };\n\n const focusTextarea = () => {\n textarea.focus();\n if (document.activeElement === textarea) {\n insertText();\n } else if (++tries === MAX_TRIES) {\n insertText();\n } else {\n setTimeout(focusTextarea, TRY_TIMEOUT);\n }\n };\n\n focusTextarea();\n}\n\n// from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\nfunction styleSelectedText(\n textarea: HTMLTextAreaElement,\n styleArgs: StyleArgs\n) {\n const text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n\n let result;\n if (styleArgs.orderedList) {\n result = orderedList(textarea);\n } else if (styleArgs.multiline && isMultipleLines(text)) {\n result = multilineStyle(textarea, styleArgs);\n } else {\n result = blockStyle(textarea, styleArgs);\n }\n\n insertText(textarea, result);\n}\n\nfunction expandSelectedText(\n textarea: HTMLTextAreaElement,\n prefixToUse: string,\n suffixToUse: string,\n multiline: boolean = false\n): string {\n if (textarea.selectionStart === textarea.selectionEnd) {\n textarea.selectionStart = wordSelectionStart(\n textarea.value,\n textarea.selectionStart\n );\n textarea.selectionEnd = wordSelectionEnd(\n textarea.value,\n textarea.selectionEnd,\n multiline\n );\n } else {\n const expandedSelectionStart = textarea.selectionStart - prefixToUse.length;\n const expandedSelectionEnd = textarea.selectionEnd + suffixToUse.length;\n const beginsWithPrefix =\n textarea.value.slice(expandedSelectionStart, textarea.selectionStart) ===\n prefixToUse;\n const endsWithSuffix =\n textarea.value.slice(textarea.selectionEnd, expandedSelectionEnd) ===\n suffixToUse;\n if (beginsWithPrefix && endsWithSuffix) {\n textarea.selectionStart = expandedSelectionStart;\n textarea.selectionEnd = expandedSelectionEnd;\n }\n }\n return textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n}\n\nfunction newlinesToSurroundSelectedText(\n textarea: HTMLTextAreaElement\n): Newlines {\n const beforeSelection = textarea.value.slice(0, textarea.selectionStart);\n const afterSelection = textarea.value.slice(textarea.selectionEnd);\n\n const breaksBefore = beforeSelection.match(/\\n*$/);\n const breaksAfter = afterSelection.match(/^\\n*/);\n const newlinesBeforeSelection = breaksBefore ? breaksBefore[0].length : 0;\n const newlinesAfterSelection = breaksAfter ? breaksAfter[0].length : 0;\n\n let newlinesToAppend;\n let newlinesToPrepend;\n\n if (beforeSelection.match(/\\S/) && newlinesBeforeSelection < 2) {\n newlinesToAppend = repeat('\\n', 2 - newlinesBeforeSelection);\n }\n\n if (afterSelection.match(/\\S/) && newlinesAfterSelection < 2) {\n newlinesToPrepend = repeat('\\n', 2 - newlinesAfterSelection);\n }\n\n if (newlinesToAppend == null) {\n newlinesToAppend = '';\n }\n\n if (newlinesToPrepend == null) {\n newlinesToPrepend = '';\n }\n\n return { newlinesToAppend, newlinesToPrepend };\n}\n\nfunction blockStyle(\n textarea: HTMLTextAreaElement,\n arg: StyleArgs\n): SelectionRange {\n let newlinesToAppend;\n let newlinesToPrepend;\n\n const {\n prefix,\n suffix,\n blockPrefix,\n blockSuffix,\n replaceNext,\n prefixSpace,\n scanFor,\n surroundWithNewlines\n } = arg;\n const originalSelectionStart = textarea.selectionStart;\n const originalSelectionEnd = textarea.selectionEnd;\n\n let selectedText = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let prefixToUse =\n isMultipleLines(selectedText) && blockPrefix.length > 0\n ? `${blockPrefix}\\n`\n : prefix;\n let suffixToUse =\n isMultipleLines(selectedText) && blockSuffix.length > 0\n ? `\\n${blockSuffix}`\n : suffix;\n\n if (prefixSpace) {\n const beforeSelection = textarea.value[textarea.selectionStart - 1];\n if (\n textarea.selectionStart !== 0 &&\n beforeSelection != null &&\n !beforeSelection.match(/\\s/)\n ) {\n prefixToUse = ` ${prefixToUse}`;\n }\n }\n selectedText = expandSelectedText(\n textarea,\n prefixToUse,\n suffixToUse,\n arg.multiline\n );\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const hasReplaceNext =\n replaceNext.length > 0 &&\n suffixToUse.indexOf(replaceNext) > -1 &&\n selectedText.length > 0;\n if (surroundWithNewlines) {\n const ref = newlinesToSurroundSelectedText(textarea);\n newlinesToAppend = ref.newlinesToAppend;\n newlinesToPrepend = ref.newlinesToPrepend;\n prefixToUse = newlinesToAppend + prefix;\n suffixToUse += newlinesToPrepend;\n }\n\n if (\n selectedText.startsWith(prefixToUse) &&\n selectedText.endsWith(suffixToUse)\n ) {\n const replacementText = selectedText.slice(\n prefixToUse.length,\n selectedText.length - suffixToUse.length\n );\n if (originalSelectionStart === originalSelectionEnd) {\n let position = originalSelectionStart - prefixToUse.length;\n position = Math.max(position, selectionStart);\n position = Math.min(position, selectionStart + replacementText.length);\n selectionStart = selectionEnd = position;\n } else {\n selectionEnd = selectionStart + replacementText.length;\n }\n return { text: replacementText, selectionStart, selectionEnd };\n } else if (!hasReplaceNext) {\n let replacementText = prefixToUse + selectedText + suffixToUse;\n selectionStart = originalSelectionStart + prefixToUse.length;\n selectionEnd = originalSelectionEnd + prefixToUse.length;\n const whitespaceEdges = selectedText.match(/^\\s*|\\s*$/g);\n if (arg.trimFirst && whitespaceEdges) {\n const leadingWhitespace = whitespaceEdges[0] || '';\n const trailingWhitespace = whitespaceEdges[1] || '';\n replacementText =\n leadingWhitespace +\n prefixToUse +\n selectedText.trim() +\n suffixToUse +\n trailingWhitespace;\n selectionStart += leadingWhitespace.length;\n selectionEnd -= trailingWhitespace.length;\n }\n return { text: replacementText, selectionStart, selectionEnd };\n } else if (scanFor.length > 0 && selectedText.match(scanFor)) {\n suffixToUse = suffixToUse.replace(replaceNext, selectedText);\n const replacementText = prefixToUse + suffixToUse;\n selectionStart = selectionEnd = selectionStart + prefixToUse.length;\n return { text: replacementText, selectionStart, selectionEnd };\n } else {\n const replacementText = prefixToUse + selectedText + suffixToUse;\n selectionStart =\n selectionStart +\n prefixToUse.length +\n selectedText.length +\n suffixToUse.indexOf(replaceNext);\n selectionEnd = selectionStart + replaceNext.length;\n return { text: replacementText, selectionStart, selectionEnd };\n }\n}\n\nfunction multilineStyle(textarea: HTMLTextAreaElement, arg: StyleArgs) {\n const { prefix, suffix, surroundWithNewlines } = arg;\n let text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const lines = text.split('\\n');\n const undoStyle = lines.every(\n (line) => line.startsWith(prefix) && line.endsWith(suffix)\n );\n\n if (undoStyle) {\n text = lines\n .map((line) => line.slice(prefix.length, line.length - suffix.length))\n .join('\\n');\n selectionEnd = selectionStart + text.length;\n } else {\n text = lines.map((line) => prefix + line + suffix).join('\\n');\n if (surroundWithNewlines) {\n const { newlinesToAppend, newlinesToPrepend } =\n newlinesToSurroundSelectedText(textarea);\n selectionStart += newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n }\n\n return { text, selectionStart, selectionEnd };\n}\n\nfunction orderedList(textarea: HTMLTextAreaElement): SelectionRange {\n const orderedListRegex = /^\\d+\\.\\s+/;\n const noInitialSelection = textarea.selectionStart === textarea.selectionEnd;\n let selectionEnd;\n let selectionStart;\n let text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let textToUnstyle = text;\n let lines = text.split('\\n');\n let startOfLine;\n let endOfLine;\n if (noInitialSelection) {\n const linesBefore = textarea.value\n .slice(0, textarea.selectionStart)\n .split(/\\n/);\n startOfLine =\n textarea.selectionStart - linesBefore[linesBefore.length - 1]!.length;\n endOfLine = wordSelectionEnd(textarea.value, textarea.selectionStart, true);\n textToUnstyle = textarea.value.slice(startOfLine, endOfLine);\n }\n const linesToUnstyle = textToUnstyle.split('\\n');\n const undoStyling = linesToUnstyle.every((line) =>\n orderedListRegex.test(line)\n );\n\n if (undoStyling) {\n lines = linesToUnstyle.map((line) => line.replace(orderedListRegex, ''));\n text = lines.join('\\n');\n if (noInitialSelection && startOfLine && endOfLine) {\n const lengthDiff = linesToUnstyle[0]!.length - lines[0]!.length;\n selectionStart = selectionEnd = textarea.selectionStart - lengthDiff;\n textarea.selectionStart = startOfLine;\n textarea.selectionEnd = endOfLine;\n }\n } else {\n lines = (function () {\n let i;\n let len;\n let index;\n const results = [];\n for (index = i = 0, len = lines.length; i < len; index = ++i) {\n const line = lines[index];\n results.push(`${index + 1}. ${line}`);\n }\n return results;\n })();\n text = lines.join('\\n');\n const { newlinesToAppend, newlinesToPrepend } =\n newlinesToSurroundSelectedText(textarea);\n selectionStart = textarea.selectionStart + newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n if (noInitialSelection) selectionStart = selectionEnd;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n\n return { text, selectionStart, selectionEnd };\n}\n\nexport default MarkdownActions;\n"],"names":["MarkdownActions","constructor","editorID","uiPlugins","_defineProperty","styles","reduce","mappedPlugins","plugin","name","mdBold","button","label","iconType","formatting","prefix","suffix","trimFirst","mdItalic","mdQuote","multiline","surroundWithNewlines","mdCode","blockPrefix","blockSuffix","mdLink","replaceNext","scanFor","mdUl","mdOl","orderedList","mdTl","do","pluginName","isPluginWithImmediateFormatting","applyStyle","incomingStyle","defaults","prefixSpace","outgoingStyle","editor","document","getElementById","focus","styleSelectedText","isMultipleLines","string","trim","split","length","repeat","n","Array","join","wordSelectionStart","text","i","index","match","wordSelectionEnd","breakpoint","MAX_TRIES","TRY_TIMEOUT","insertText","textarea","selectionStart","selectionEnd","originalSelectionStart","before","value","slice","after","tries","insertResult","execCommand","inputEvent","Event","bubbles","nativeInputValueSetter","Object","getOwnPropertyDescriptor","window","HTMLTextAreaElement","prototype","set","call","dispatchEvent","setSelectionRange","focusTextarea","activeElement","setTimeout","styleArgs","result","multilineStyle","blockStyle","expandSelectedText","prefixToUse","suffixToUse","expandedSelectionStart","expandedSelectionEnd","beginsWithPrefix","endsWithSuffix","newlinesToSurroundSelectedText","beforeSelection","afterSelection","breaksBefore","breaksAfter","newlinesBeforeSelection","newlinesAfterSelection","newlinesToAppend","newlinesToPrepend","arg","originalSelectionEnd","selectedText","hasReplaceNext","indexOf","ref","startsWith","endsWith","replacementText","position","Math","max","min","whitespaceEdges","leadingWhitespace","trailingWhitespace","replace","lines","undoStyle","every","line","map","orderedListRegex","noInitialSelection","textToUnstyle","startOfLine","endOfLine","linesBefore","linesToUnstyle","undoStyling","test","lengthDiff","len","results","push"],"mappings":"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"}
1
+ {"version":3,"file":"markdown-actions.js","sources":["../../../src/utils/markdown/markdown-actions.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// The text-formatting logic & code in this file come from\n// https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\n// under the following MIT license\n/*\nCopyright (c) 2017-2018 GitHub, Inc.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\n\nimport type {\n EuiMarkdownEditorUiPlugin,\n EuiMarkdownFormatting\n} from './markdown-types';\nimport { isPluginWithImmediateFormatting } from './markdown-types';\n\n/**\n * Class for applying styles to a text editor. Accepts the HTML ID for the textarea\n * desired, and exposes the `.do(ACTION)` method for manipulating the text.\n *\n * @class MarkdownActions\n * @param {string} editorID\n */\nclass MarkdownActions {\n styles: Record<string, EuiMarkdownEditorUiPlugin>;\n editorID: string = '';\n\n constructor(editorID: string, uiPlugins: EuiMarkdownEditorUiPlugin[]) {\n this.editorID = editorID;\n /**\n * This object is in the format:\n * [nameOfAction]: {[styles to apply]}\n */\n this.styles = {\n ...uiPlugins.reduce<MarkdownActions['styles']>(\n (mappedPlugins, plugin) => {\n mappedPlugins[plugin.name] = plugin;\n return mappedPlugins;\n },\n {}\n ),\n mdBold: {\n name: 'mdBold',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '**',\n suffix: '**',\n trimFirst: true\n }\n },\n mdItalic: {\n name: 'mdItalic',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '_',\n suffix: '_',\n trimFirst: true\n }\n },\n mdQuote: {\n name: 'mdQuote',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '> ',\n multiline: true,\n surroundWithNewlines: true\n }\n },\n mdCode: {\n name: 'mdCode',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '`',\n suffix: '`',\n blockPrefix: '```',\n blockSuffix: '```'\n }\n },\n mdLink: {\n name: 'mdLink',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '[',\n suffix: '](url)',\n replaceNext: 'url',\n scanFor: 'https?://'\n }\n },\n mdUl: {\n name: 'mdUl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '- ',\n multiline: true,\n surroundWithNewlines: true\n }\n },\n mdOl: {\n name: 'mdOl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '1. ',\n multiline: true,\n orderedList: true\n }\n },\n mdTl: {\n name: 'mdTl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '- [ ] ',\n multiline: true,\n surroundWithNewlines: true\n }\n }\n };\n }\n\n /**\n * .do() accepts a string and retrieves the correlating style object (defined in the\n * constructor). It passes this to applyStyle() that does the text manipulation.\n *\n * @param {string} pluginName\n * @memberof MarkdownActions\n */\n do(pluginName: string) {\n const plugin = this.styles[pluginName];\n if (isPluginWithImmediateFormatting(plugin!)) {\n this.applyStyle(plugin.formatting);\n return true;\n } else {\n return plugin;\n }\n }\n\n /**\n * Sets the default styling object and then superimposes the changes to make on top of\n * it. Calls the `styleSelectedText` helper function that does the heavy lifting.\n * Adapted from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\n *\n * @param {object} incomingStyle\n * @memberof MarkdownActions\n */\n applyStyle(incomingStyle: EuiMarkdownFormatting) {\n const defaults = {\n prefix: '',\n suffix: '',\n blockPrefix: '',\n blockSuffix: '',\n multiline: false,\n replaceNext: '',\n prefixSpace: false,\n scanFor: '',\n surroundWithNewlines: false,\n orderedList: false,\n trimFirst: false\n };\n\n const outgoingStyle = {\n ...defaults,\n ...incomingStyle\n };\n const editor = document.getElementById(\n this.editorID\n ) as HTMLTextAreaElement;\n\n if (editor) {\n editor.focus();\n styleSelectedText(editor, outgoingStyle);\n }\n }\n}\n\n/**\n * The following helper functions and types were copied from the GitHub Markdown Toolbar\n * Element project. The project is MIT-licensed. See it here:\n * https://github.com/github/markdown-toolbar-element\n */\n\ninterface Newlines {\n newlinesToAppend: string;\n newlinesToPrepend: string;\n}\n\ninterface SelectionRange {\n text: string;\n selectionStart?: number;\n selectionEnd?: number;\n}\n\ninterface StyleArgs {\n prefix: string;\n suffix: string;\n blockPrefix: string;\n blockSuffix: string;\n multiline: boolean;\n replaceNext: string;\n prefixSpace: boolean;\n scanFor: string;\n surroundWithNewlines: boolean;\n orderedList: boolean;\n trimFirst: boolean;\n}\n\nfunction isMultipleLines(string: string): boolean {\n return string.trim().split('\\n').length > 1;\n}\n\nfunction repeat(string: string, n: number): string {\n return Array(n + 1).join(string);\n}\n\nfunction wordSelectionStart(text: string, i: number): number {\n let index = i;\n while (\n text[index] &&\n text[index - 1] != null &&\n !text[index - 1]!.match(/\\s/)\n ) {\n index--;\n }\n return index;\n}\n\nfunction wordSelectionEnd(text: string, i: number, multiline: boolean): number {\n let index = i;\n const breakpoint = multiline ? /\\n/ : /\\s/;\n while (text[index] && !text[index]!.match(breakpoint)) {\n index++;\n }\n return index;\n}\n\nconst MAX_TRIES = 10;\nconst TRY_TIMEOUT = 10; /*ms*/\n// modified from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\nexport function insertText(\n textarea: HTMLTextAreaElement,\n { text, selectionStart, selectionEnd }: SelectionRange\n) {\n const originalSelectionStart = textarea.selectionStart;\n const before = textarea.value.slice(0, originalSelectionStart);\n const after = textarea.value.slice(textarea.selectionEnd);\n\n // configuration modal/dialog will continue intercepting focus in Safari\n // need to wait until the textarea can receive focus\n let tries = 0;\n\n const insertText = () => {\n const insertResult = document.execCommand('insertText', false, text);\n\n if (insertResult === false) {\n /**\n * Fallback for Firefox; this kills undo/redo but at least updates the value\n *\n * Note that we're using the native HTMLTextAreaElement.set() method to play nicely with\n * React's synthetic event system.\n * https://hustle.bizongo.in/simulate-react-on-change-on-controlled-components-baa336920e04\n */\n const inputEvent = new Event('input', { bubbles: true });\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLTextAreaElement.prototype,\n 'value'\n )!.set;\n nativeInputValueSetter!.call(textarea, before + text + after);\n textarea.dispatchEvent(inputEvent);\n }\n\n if (selectionStart != null && selectionEnd != null) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n } else {\n textarea.setSelectionRange(originalSelectionStart, textarea.selectionEnd);\n }\n };\n\n const focusTextarea = () => {\n textarea.focus();\n if (document.activeElement === textarea) {\n insertText();\n } else if (++tries === MAX_TRIES) {\n insertText();\n } else {\n setTimeout(focusTextarea, TRY_TIMEOUT);\n }\n };\n\n focusTextarea();\n}\n\n// from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\nfunction styleSelectedText(\n textarea: HTMLTextAreaElement,\n styleArgs: StyleArgs\n) {\n const text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n\n let result;\n if (styleArgs.orderedList) {\n result = orderedList(textarea);\n } else if (styleArgs.multiline && isMultipleLines(text)) {\n result = multilineStyle(textarea, styleArgs);\n } else {\n result = blockStyle(textarea, styleArgs);\n }\n\n insertText(textarea, result);\n}\n\nfunction expandSelectedText(\n textarea: HTMLTextAreaElement,\n prefixToUse: string,\n suffixToUse: string,\n multiline: boolean = false\n): string {\n if (textarea.selectionStart === textarea.selectionEnd) {\n textarea.selectionStart = wordSelectionStart(\n textarea.value,\n textarea.selectionStart\n );\n textarea.selectionEnd = wordSelectionEnd(\n textarea.value,\n textarea.selectionEnd,\n multiline\n );\n } else {\n const expandedSelectionStart = textarea.selectionStart - prefixToUse.length;\n const expandedSelectionEnd = textarea.selectionEnd + suffixToUse.length;\n const beginsWithPrefix =\n textarea.value.slice(expandedSelectionStart, textarea.selectionStart) ===\n prefixToUse;\n const endsWithSuffix =\n textarea.value.slice(textarea.selectionEnd, expandedSelectionEnd) ===\n suffixToUse;\n if (beginsWithPrefix && endsWithSuffix) {\n textarea.selectionStart = expandedSelectionStart;\n textarea.selectionEnd = expandedSelectionEnd;\n }\n }\n return textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n}\n\nfunction newlinesToSurroundSelectedText(\n textarea: HTMLTextAreaElement\n): Newlines {\n const beforeSelection = textarea.value.slice(0, textarea.selectionStart);\n const afterSelection = textarea.value.slice(textarea.selectionEnd);\n\n const breaksBefore = beforeSelection.match(/\\n*$/);\n const breaksAfter = afterSelection.match(/^\\n*/);\n const newlinesBeforeSelection = breaksBefore ? breaksBefore[0].length : 0;\n const newlinesAfterSelection = breaksAfter ? breaksAfter[0].length : 0;\n\n let newlinesToAppend;\n let newlinesToPrepend;\n\n if (beforeSelection.match(/\\S/) && newlinesBeforeSelection < 2) {\n newlinesToAppend = repeat('\\n', 2 - newlinesBeforeSelection);\n }\n\n if (afterSelection.match(/\\S/) && newlinesAfterSelection < 2) {\n newlinesToPrepend = repeat('\\n', 2 - newlinesAfterSelection);\n }\n\n if (newlinesToAppend == null) {\n newlinesToAppend = '';\n }\n\n if (newlinesToPrepend == null) {\n newlinesToPrepend = '';\n }\n\n return { newlinesToAppend, newlinesToPrepend };\n}\n\nfunction blockStyle(\n textarea: HTMLTextAreaElement,\n arg: StyleArgs\n): SelectionRange {\n let newlinesToAppend;\n let newlinesToPrepend;\n\n const {\n prefix,\n suffix,\n blockPrefix,\n blockSuffix,\n replaceNext,\n prefixSpace,\n scanFor,\n surroundWithNewlines\n } = arg;\n const originalSelectionStart = textarea.selectionStart;\n const originalSelectionEnd = textarea.selectionEnd;\n\n let selectedText = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let prefixToUse =\n isMultipleLines(selectedText) && blockPrefix.length > 0\n ? `${blockPrefix}\\n`\n : prefix;\n let suffixToUse =\n isMultipleLines(selectedText) && blockSuffix.length > 0\n ? `\\n${blockSuffix}`\n : suffix;\n\n if (prefixSpace) {\n const beforeSelection = textarea.value[textarea.selectionStart - 1];\n if (\n textarea.selectionStart !== 0 &&\n beforeSelection != null &&\n !beforeSelection.match(/\\s/)\n ) {\n prefixToUse = ` ${prefixToUse}`;\n }\n }\n selectedText = expandSelectedText(\n textarea,\n prefixToUse,\n suffixToUse,\n arg.multiline\n );\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const hasReplaceNext =\n replaceNext.length > 0 &&\n suffixToUse.indexOf(replaceNext) > -1 &&\n selectedText.length > 0;\n if (surroundWithNewlines) {\n const ref = newlinesToSurroundSelectedText(textarea);\n newlinesToAppend = ref.newlinesToAppend;\n newlinesToPrepend = ref.newlinesToPrepend;\n prefixToUse = newlinesToAppend + prefix;\n suffixToUse += newlinesToPrepend;\n }\n\n if (\n selectedText.startsWith(prefixToUse) &&\n selectedText.endsWith(suffixToUse)\n ) {\n const replacementText = selectedText.slice(\n prefixToUse.length,\n selectedText.length - suffixToUse.length\n );\n if (originalSelectionStart === originalSelectionEnd) {\n let position = originalSelectionStart - prefixToUse.length;\n position = Math.max(position, selectionStart);\n position = Math.min(position, selectionStart + replacementText.length);\n selectionStart = selectionEnd = position;\n } else {\n selectionEnd = selectionStart + replacementText.length;\n }\n return { text: replacementText, selectionStart, selectionEnd };\n } else if (!hasReplaceNext) {\n let replacementText = prefixToUse + selectedText + suffixToUse;\n selectionStart = originalSelectionStart + prefixToUse.length;\n selectionEnd = originalSelectionEnd + prefixToUse.length;\n const whitespaceEdges = selectedText.match(/^\\s*|\\s*$/g);\n if (arg.trimFirst && whitespaceEdges) {\n const leadingWhitespace = whitespaceEdges[0] || '';\n const trailingWhitespace = whitespaceEdges[1] || '';\n replacementText =\n leadingWhitespace +\n prefixToUse +\n selectedText.trim() +\n suffixToUse +\n trailingWhitespace;\n selectionStart += leadingWhitespace.length;\n selectionEnd -= trailingWhitespace.length;\n }\n return { text: replacementText, selectionStart, selectionEnd };\n } else if (scanFor.length > 0 && selectedText.match(scanFor)) {\n suffixToUse = suffixToUse.replace(replaceNext, selectedText);\n const replacementText = prefixToUse + suffixToUse;\n selectionStart = selectionEnd = selectionStart + prefixToUse.length;\n return { text: replacementText, selectionStart, selectionEnd };\n } else {\n const replacementText = prefixToUse + selectedText + suffixToUse;\n selectionStart =\n selectionStart +\n prefixToUse.length +\n selectedText.length +\n suffixToUse.indexOf(replaceNext);\n selectionEnd = selectionStart + replaceNext.length;\n return { text: replacementText, selectionStart, selectionEnd };\n }\n}\n\nfunction multilineStyle(textarea: HTMLTextAreaElement, arg: StyleArgs) {\n const { prefix, suffix, surroundWithNewlines } = arg;\n let text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const lines = text.split('\\n');\n const undoStyle = lines.every(\n (line) => line.startsWith(prefix) && line.endsWith(suffix)\n );\n\n if (undoStyle) {\n text = lines\n .map((line) => line.slice(prefix.length, line.length - suffix.length))\n .join('\\n');\n selectionEnd = selectionStart + text.length;\n } else {\n text = lines.map((line) => prefix + line + suffix).join('\\n');\n if (surroundWithNewlines) {\n const { newlinesToAppend, newlinesToPrepend } =\n newlinesToSurroundSelectedText(textarea);\n selectionStart += newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n }\n\n return { text, selectionStart, selectionEnd };\n}\n\nfunction orderedList(textarea: HTMLTextAreaElement): SelectionRange {\n const orderedListRegex = /^\\d+\\.\\s+/;\n const noInitialSelection = textarea.selectionStart === textarea.selectionEnd;\n let selectionEnd;\n let selectionStart;\n let text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let textToUnstyle = text;\n let lines = text.split('\\n');\n let startOfLine;\n let endOfLine;\n if (noInitialSelection) {\n const linesBefore = textarea.value\n .slice(0, textarea.selectionStart)\n .split(/\\n/);\n startOfLine =\n textarea.selectionStart - linesBefore[linesBefore.length - 1]!.length;\n endOfLine = wordSelectionEnd(textarea.value, textarea.selectionStart, true);\n textToUnstyle = textarea.value.slice(startOfLine, endOfLine);\n }\n const linesToUnstyle = textToUnstyle.split('\\n');\n const undoStyling = linesToUnstyle.every((line) =>\n orderedListRegex.test(line)\n );\n\n if (undoStyling) {\n lines = linesToUnstyle.map((line) => line.replace(orderedListRegex, ''));\n text = lines.join('\\n');\n if (noInitialSelection && startOfLine && endOfLine) {\n const lengthDiff = linesToUnstyle[0]!.length - lines[0]!.length;\n selectionStart = selectionEnd = textarea.selectionStart - lengthDiff;\n textarea.selectionStart = startOfLine;\n textarea.selectionEnd = endOfLine;\n }\n } else {\n lines = (function () {\n let i;\n let len;\n let index;\n const results = [];\n for (index = i = 0, len = lines.length; i < len; index = ++i) {\n const line = lines[index];\n results.push(`${index + 1}. ${line}`);\n }\n return results;\n })();\n text = lines.join('\\n');\n const { newlinesToAppend, newlinesToPrepend } =\n newlinesToSurroundSelectedText(textarea);\n selectionStart = textarea.selectionStart + newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n if (noInitialSelection) selectionStart = selectionEnd;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n\n return { text, selectionStart, selectionEnd };\n}\n\nexport default MarkdownActions;\n"],"names":["MarkdownActions","constructor","editorID","uiPlugins","_defineProperty","styles","reduce","mappedPlugins","plugin","name","mdBold","button","label","iconType","formatting","prefix","suffix","trimFirst","mdItalic","mdQuote","multiline","surroundWithNewlines","mdCode","blockPrefix","blockSuffix","mdLink","replaceNext","scanFor","mdUl","mdOl","orderedList","mdTl","do","pluginName","isPluginWithImmediateFormatting","applyStyle","incomingStyle","defaults","prefixSpace","outgoingStyle","editor","document","getElementById","focus","styleSelectedText","isMultipleLines","string","trim","split","length","repeat","n","Array","join","wordSelectionStart","text","i","index","match","wordSelectionEnd","breakpoint","MAX_TRIES","TRY_TIMEOUT","insertText","textarea","selectionStart","selectionEnd","originalSelectionStart","before","value","slice","after","tries","insertResult","execCommand","inputEvent","Event","bubbles","nativeInputValueSetter","Object","getOwnPropertyDescriptor","window","HTMLTextAreaElement","prototype","set","call","dispatchEvent","setSelectionRange","focusTextarea","activeElement","setTimeout","styleArgs","result","multilineStyle","blockStyle","expandSelectedText","prefixToUse","suffixToUse","expandedSelectionStart","expandedSelectionEnd","beginsWithPrefix","endsWithSuffix","newlinesToSurroundSelectedText","beforeSelection","afterSelection","breaksBefore","breaksAfter","newlinesBeforeSelection","newlinesAfterSelection","newlinesToAppend","newlinesToPrepend","arg","originalSelectionEnd","selectedText","hasReplaceNext","indexOf","ref","startsWith","endsWith","replacementText","position","Math","max","min","whitespaceEdges","leadingWhitespace","trailingWhitespace","replace","lines","undoStyle","every","line","map","orderedListRegex","noInitialSelection","textToUnstyle","startOfLine","endOfLine","linesBefore","linesToUnstyle","undoStyling","test","lengthDiff","len","results","push"],"mappings":"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"}
@@ -1,8 +1,6 @@
1
+ import { b as _defineProperty } from '../_rollupPluginBabelHelpers-_w_srC8C.js';
1
2
  import { later, cancel } from '@ember/runloop';
2
3
 
3
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
4
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
5
- function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
4
  class Timer {
7
5
  constructor(callback, timeMs) {
8
6
  // In a browser this is a number, but in node it's a NodeJS.Time (a
@@ -1 +1 @@
1
- {"version":3,"file":"timer.js","sources":["../../src/utils/timer.ts"],"sourcesContent":["import { later, cancel } from '@ember/runloop';\nexport default class Timer {\n // In a browser this is a number, but in node it's a NodeJS.Time (a\n // class). We don't care about this difference.\n id: ReturnType<typeof later> | undefined;\n callback: undefined | (() => void);\n finishTime: number | undefined;\n timeRemaining: number | undefined;\n\n constructor(callback: () => void, timeMs: number) {\n this.id = later(this.finish, timeMs);\n this.callback = callback;\n this.finishTime = Date.now() + timeMs;\n this.timeRemaining = undefined;\n }\n\n pause = (): void => {\n cancel(this.id as ReturnType<typeof later>);\n this.id = undefined;\n this.timeRemaining = (this.finishTime || 0) - Date.now();\n };\n\n resume = (): void => {\n this.id = later(this.finish, this.timeRemaining as number);\n this.finishTime = Date.now() + (this.timeRemaining || 0);\n this.timeRemaining = undefined;\n };\n\n clear = (): void => {\n cancel(this.id as ReturnType<typeof later>);\n this.id = undefined;\n this.callback = undefined;\n this.finishTime = undefined;\n this.timeRemaining = undefined;\n };\n\n finish = (): void => {\n if (this.callback) {\n this.callback();\n }\n this.clear();\n };\n}\n"],"names":["Timer","constructor","callback","timeMs","_defineProperty","cancel","id","undefined","timeRemaining","finishTime","Date","now","later","finish","clear"],"mappings":";;;;;AACe,MAAMA,KAAK,CAAC;AAQzBC,EAAAA,WAAWA,CAACC,QAAoB,EAAEC,MAAc,EAAE;AAPlD;AACA;IAAAC,eAAA,CAAA,IAAA,EAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAAAA,eAAA,CAAA,IAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAAAA,eAAA,CAAA,IAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAAAA,eAAA,CAAA,IAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAAAA,IAAAA,eAAA,gBAaQ,MAAY;AAClBC,MAAAA,MAAM,CAAC,IAAI,CAACC,EAA8B,CAAC,CAAA;MAC3C,IAAI,CAACA,EAAE,GAAGC,SAAS,CAAA;AACnB,MAAA,IAAI,CAACC,aAAa,GAAG,CAAC,IAAI,CAACC,UAAU,IAAI,CAAC,IAAIC,IAAI,CAACC,GAAG,EAAE,CAAA;KACzD,CAAA,CAAA;AAAAP,IAAAA,eAAA,iBAEQ,MAAY;AACnB,MAAA,IAAI,CAACE,EAAE,GAAGM,KAAK,CAAC,IAAI,CAACC,MAAM,EAAE,IAAI,CAACL,aAAuB,CAAC,CAAA;AAC1D,MAAA,IAAI,CAACC,UAAU,GAAGC,IAAI,CAACC,GAAG,EAAE,IAAI,IAAI,CAACH,aAAa,IAAI,CAAC,CAAC,CAAA;MACxD,IAAI,CAACA,aAAa,GAAGD,SAAS,CAAA;KAC/B,CAAA,CAAA;AAAAH,IAAAA,eAAA,gBAEO,MAAY;AAClBC,MAAAA,MAAM,CAAC,IAAI,CAACC,EAA8B,CAAC,CAAA;MAC3C,IAAI,CAACA,EAAE,GAAGC,SAAS,CAAA;MACnB,IAAI,CAACL,QAAQ,GAAGK,SAAS,CAAA;MACzB,IAAI,CAACE,UAAU,GAAGF,SAAS,CAAA;MAC3B,IAAI,CAACC,aAAa,GAAGD,SAAS,CAAA;KAC/B,CAAA,CAAA;AAAAH,IAAAA,eAAA,iBAEQ,MAAY;MACnB,IAAI,IAAI,CAACF,QAAQ,EAAE;QACjB,IAAI,CAACA,QAAQ,EAAE,CAAA;AACjB,OAAA;MACA,IAAI,CAACY,KAAK,EAAE,CAAA;KACb,CAAA,CAAA;IA/BC,IAAI,CAACR,EAAE,GAAGM,KAAK,CAAC,IAAI,CAACC,MAAM,EAAEV,MAAM,CAAC,CAAA;IACpC,IAAI,CAACD,QAAQ,GAAGA,QAAQ,CAAA;IACxB,IAAI,CAACO,UAAU,GAAGC,IAAI,CAACC,GAAG,EAAE,GAAGR,MAAM,CAAA;IACrC,IAAI,CAACK,aAAa,GAAGD,SAAS,CAAA;AAChC,GAAA;AA4BF;;;;"}
1
+ {"version":3,"file":"timer.js","sources":["../../src/utils/timer.ts"],"sourcesContent":["import { later, cancel } from '@ember/runloop';\nexport default class Timer {\n // In a browser this is a number, but in node it's a NodeJS.Time (a\n // class). We don't care about this difference.\n id: ReturnType<typeof later> | undefined;\n callback: undefined | (() => void);\n finishTime: number | undefined;\n timeRemaining: number | undefined;\n\n constructor(callback: () => void, timeMs: number) {\n this.id = later(this.finish, timeMs);\n this.callback = callback;\n this.finishTime = Date.now() + timeMs;\n this.timeRemaining = undefined;\n }\n\n pause = (): void => {\n cancel(this.id as ReturnType<typeof later>);\n this.id = undefined;\n this.timeRemaining = (this.finishTime || 0) - Date.now();\n };\n\n resume = (): void => {\n this.id = later(this.finish, this.timeRemaining as number);\n this.finishTime = Date.now() + (this.timeRemaining || 0);\n this.timeRemaining = undefined;\n };\n\n clear = (): void => {\n cancel(this.id as ReturnType<typeof later>);\n this.id = undefined;\n this.callback = undefined;\n this.finishTime = undefined;\n this.timeRemaining = undefined;\n };\n\n finish = (): void => {\n if (this.callback) {\n this.callback();\n }\n this.clear();\n };\n}\n"],"names":["Timer","constructor","callback","timeMs","_defineProperty","cancel","id","undefined","timeRemaining","finishTime","Date","now","later","finish","clear"],"mappings":";;;AACe,MAAMA,KAAK,CAAC;AAQzBC,EAAAA,WAAWA,CAACC,QAAoB,EAAEC,MAAc,EAAE;AAPlD;AACA;IAAAC,eAAA,CAAA,IAAA,EAAA,IAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAAAA,eAAA,CAAA,IAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAAAA,eAAA,CAAA,IAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;IAAAA,eAAA,CAAA,IAAA,EAAA,eAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAAAA,IAAAA,eAAA,gBAaQ,MAAY;AAClBC,MAAAA,MAAM,CAAC,IAAI,CAACC,EAA8B,CAAC,CAAA;MAC3C,IAAI,CAACA,EAAE,GAAGC,SAAS,CAAA;AACnB,MAAA,IAAI,CAACC,aAAa,GAAG,CAAC,IAAI,CAACC,UAAU,IAAI,CAAC,IAAIC,IAAI,CAACC,GAAG,EAAE,CAAA;KACzD,CAAA,CAAA;AAAAP,IAAAA,eAAA,iBAEQ,MAAY;AACnB,MAAA,IAAI,CAACE,EAAE,GAAGM,KAAK,CAAC,IAAI,CAACC,MAAM,EAAE,IAAI,CAACL,aAAuB,CAAC,CAAA;AAC1D,MAAA,IAAI,CAACC,UAAU,GAAGC,IAAI,CAACC,GAAG,EAAE,IAAI,IAAI,CAACH,aAAa,IAAI,CAAC,CAAC,CAAA;MACxD,IAAI,CAACA,aAAa,GAAGD,SAAS,CAAA;KAC/B,CAAA,CAAA;AAAAH,IAAAA,eAAA,gBAEO,MAAY;AAClBC,MAAAA,MAAM,CAAC,IAAI,CAACC,EAA8B,CAAC,CAAA;MAC3C,IAAI,CAACA,EAAE,GAAGC,SAAS,CAAA;MACnB,IAAI,CAACL,QAAQ,GAAGK,SAAS,CAAA;MACzB,IAAI,CAACE,UAAU,GAAGF,SAAS,CAAA;MAC3B,IAAI,CAACC,aAAa,GAAGD,SAAS,CAAA;KAC/B,CAAA,CAAA;AAAAH,IAAAA,eAAA,iBAEQ,MAAY;MACnB,IAAI,IAAI,CAACF,QAAQ,EAAE;QACjB,IAAI,CAACA,QAAQ,EAAE,CAAA;AACjB,OAAA;MACA,IAAI,CAACY,KAAK,EAAE,CAAA;KACb,CAAA,CAAA;IA/BC,IAAI,CAACR,EAAE,GAAGM,KAAK,CAAC,IAAI,CAACC,MAAM,EAAEV,MAAM,CAAC,CAAA;IACpC,IAAI,CAACD,QAAQ,GAAGA,QAAQ,CAAA;IACxB,IAAI,CAACO,UAAU,GAAGC,IAAI,CAACC,GAAG,EAAE,GAAGR,MAAM,CAAA;IACrC,IAAI,CAACK,aAAa,GAAGD,SAAS,CAAA;AAChC,GAAA;AA4BF;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ember-eui/core",
3
- "version": "8.0.0-beta.0",
3
+ "version": "8.0.0-beta.2",
4
4
  "description": "Ember Components for Elastic UI",
5
5
  "keywords": [
6
6
  "ember-addon",
@@ -41,12 +41,14 @@
41
41
  "dist"
42
42
  ],
43
43
  "scripts": {
44
- "build": "rollup --config",
44
+ "build": "concurrently 'npm:build:*'",
45
+ "build:js": "rollup --config",
46
+ "build:types": "glint --declaration",
45
47
  "lint": "eslint . --cache",
46
48
  "lint:fix": "eslint . --fix",
47
49
  "lint:js": "eslint . --cache",
48
50
  "lint:js:fix": "eslint . --fix",
49
- "prepublishOnly": "rollup --config",
51
+ "prepublishOnly": "pnpm run build",
50
52
  "start": "concurrently 'npm:start:*'",
51
53
  "start:js": "rollup --config --watch",
52
54
  "start:types": "glint --build --watch"