q2-tecton-elements 1.52.3 → 1.52.4

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 (65) hide show
  1. package/dist/cjs/click-elsewhere_2.cjs.entry.js +7 -3
  2. package/dist/cjs/click-elsewhere_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/loader.cjs.js +1 -1
  4. package/dist/cjs/q2-badge_7.cjs.entry.js +8 -0
  5. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  6. package/dist/cjs/q2-dropdown.cjs.entry.js +9 -11
  7. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  8. package/dist/cjs/q2-editable-field.cjs.entry.js +6 -7
  9. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  10. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  11. package/dist/cjs/q2-textarea.cjs.entry.js +2 -1
  12. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  13. package/dist/collection/components/q2-btn/q2-btn.js +4 -0
  14. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  15. package/dist/collection/components/q2-dropdown/q2-dropdown.js +9 -11
  16. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  17. package/dist/collection/components/q2-editable-field/q2-editable-field.js +12 -7
  18. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  19. package/dist/collection/components/q2-icon/q2-icon.js +4 -0
  20. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  21. package/dist/collection/components/q2-popover/q2-popover.js +7 -3
  22. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  23. package/dist/collection/components/q2-textarea/q2-textarea.js +2 -1
  24. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  25. package/dist/components/q2-btn2.js +4 -0
  26. package/dist/components/q2-btn2.js.map +1 -1
  27. package/dist/components/q2-dropdown.js +9 -11
  28. package/dist/components/q2-dropdown.js.map +1 -1
  29. package/dist/components/q2-editable-field.js +7 -8
  30. package/dist/components/q2-editable-field.js.map +1 -1
  31. package/dist/components/q2-icon2.js +4 -0
  32. package/dist/components/q2-icon2.js.map +1 -1
  33. package/dist/components/q2-popover2.js +7 -3
  34. package/dist/components/q2-popover2.js.map +1 -1
  35. package/dist/components/q2-textarea.js +2 -1
  36. package/dist/components/q2-textarea.js.map +1 -1
  37. package/dist/esm/click-elsewhere_2.entry.js +7 -3
  38. package/dist/esm/click-elsewhere_2.entry.js.map +1 -1
  39. package/dist/esm/loader.js +1 -1
  40. package/dist/esm/q2-badge_7.entry.js +8 -0
  41. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  42. package/dist/esm/q2-dropdown.entry.js +9 -11
  43. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  44. package/dist/esm/q2-editable-field.entry.js +6 -7
  45. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  46. package/dist/esm/q2-tecton-elements.js +1 -1
  47. package/dist/esm/q2-textarea.entry.js +2 -1
  48. package/dist/esm/q2-textarea.entry.js.map +1 -1
  49. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js +30 -24
  50. package/dist/q2-tecton-elements/click-elsewhere_2.entry.js.map +1 -1
  51. package/dist/q2-tecton-elements/q2-badge_7.entry.js +8 -0
  52. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
  53. package/dist/q2-tecton-elements/q2-dropdown.entry.js +13 -15
  54. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  55. package/dist/q2-tecton-elements/q2-editable-field.entry.js +32 -23
  56. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  57. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  58. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  59. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -2
  60. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  61. package/dist/types/components/q2-btn/q2-btn.d.ts +1 -0
  62. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +1 -4
  63. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +2 -1
  64. package/dist/types/components/q2-icon/q2-icon.d.ts +1 -0
  65. package/package.json +3 -3
@@ -303,10 +303,6 @@ const Q2Dropdown = class {
303
303
  const targetItem = dropdownItems[targetIndex];
304
304
  targetItem && targetItem.dispatchEvent(new Event('focus'));
305
305
  }
306
- navigateTo(featureName, moduleName, queryParams) {
307
- var _a, _b;
308
- return (_b = (_a = window.TectonElements) === null || _a === void 0 ? void 0 : _a.navigateTo) === null || _b === void 0 ? void 0 : _b.call(_a, featureName, moduleName, queryParams);
309
- }
310
306
  orchestrateResolvedMenuItems() {
311
307
  if (!this.name || !this.context) {
312
308
  // this is only for contextual menu outlets
@@ -345,10 +341,16 @@ const Q2Dropdown = class {
345
341
  }
346
342
  switch (menuItemData.action) {
347
343
  case 'navigateTo':
348
- onClickFn = () => this.navigateTo(menuItemData.featureName, menuItemData.moduleName, queryParams);
344
+ onClickFn = function () {
345
+ var _a, _b;
346
+ return (_b = (_a = window.TectonElements) === null || _a === void 0 ? void 0 : _a.navigateTo) === null || _b === void 0 ? void 0 : _b.call(_a, menuItemData.featureName, menuItemData.moduleName, queryParams);
347
+ };
349
348
  break;
350
349
  case 'showOverpanel':
351
- onClickFn = () => this.showOverpanel(`${menuItemData.featureName}.${menuItemData.moduleName}`, queryParams);
350
+ onClickFn = function () {
351
+ var _a, _b;
352
+ return (_b = (_a = window.TectonElements) === null || _a === void 0 ? void 0 : _a.showOverpanel) === null || _b === void 0 ? void 0 : _b.call(_a, `${menuItemData.featureName}.${menuItemData.moduleName}`, queryParams, undefined, true);
353
+ };
352
354
  break;
353
355
  }
354
356
  const newDropdownItem = document.createElement('q2-dropdown-item');
@@ -360,15 +362,11 @@ const Q2Dropdown = class {
360
362
  });
361
363
  });
362
364
  }
363
- showOverpanel(overpanelPath, params) {
364
- var _a, _b;
365
- return (_b = (_a = window.TectonElements) === null || _a === void 0 ? void 0 : _a.showOverpanel) === null || _b === void 0 ? void 0 : _b.call(_a, overpanelPath, params, undefined, true);
366
- }
367
365
  // #endregion
368
366
  // #region Render Methods
369
367
  render() {
370
368
  const btnProps = this.toggleButtonProps;
371
- return (h("click-elsewhere", { key: '9d6def955bd72208a856de2e4676adc934efea87', class: this.open ? 'dropdown-open' : '', onChange: this.onClickElsewhere, "test-id": "dropdownContainer" }, h("q2-btn", { key: 'dfb9de1b4d0762b370ae1bc06e3e89e9b8753f5a', ref: el => (this.controlElement = el), class: btnProps.className, onClick: this.onToggleClick, onKeyDown: this.onToggleKeydown, fab: btnProps.fab, intent: btnProps.intent, active: btnProps.active, disabled: btnProps.disabled, ariaExpanded: `${!!btnProps.ariaExpanded}`, label: this.hideLabel && this.label ? loc(this.label) : undefined, hideLabel: this.hideLabel, ariaHasPopup: "menu", "test-id": "dropdownButton", block: this.block, description: loc('tecton.element.dropdown.itemCount', [this.determineDropdownItemCount]) }, this.hasCustomControl ? (h("div", { "test-id": "dropdownControl", class: btnProps.custom ? '' : 'hidden' }, h("slot", { name: "control" }))) : (h(Fragment, null, this.icon ? h("q2-icon", { type: this.icon }) : ' ', this.label && !this.hideLabel && (h("span", { class: "dropdown-button-text" }, loc(this.label)))))), h("q2-popover", { key: 'eb196e420c5379ff094926c230a56922beef0d76', ref: el => (this.popoverElement = el), controlElement: this.controlElement, open: this.open, "max-height": this.popoverMaxHeight, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment, mode: this.popoverMode || undefined, block: this.block }, h("div", { key: '7289ddbab50723b054dd1fbeb033c11c2e240439', onClick: this.onDropdownMenuClick, onKeyDown: this.onDropdownMenuKeydown, role: "menu", "aria-label": loc(this.label) || undefined }, h("slot", { key: 'c04e31c427b32aca47c7fb1b2f44eb761d39a42e' })))));
369
+ return (h("click-elsewhere", { key: '8e1168806f48fde1b2c0f549f013b3313f4bb04b', class: this.open ? 'dropdown-open' : '', onChange: this.onClickElsewhere, "test-id": "dropdownContainer" }, h("q2-btn", { key: 'bb9a31da210c6fa1afae6fbf1f0b8f98b6425ccd', ref: el => (this.controlElement = el), class: btnProps.className, onClick: this.onToggleClick, onKeyDown: this.onToggleKeydown, fab: btnProps.fab, intent: btnProps.intent, active: btnProps.active, disabled: btnProps.disabled, ariaExpanded: `${!!btnProps.ariaExpanded}`, label: this.hideLabel && this.label ? loc(this.label) : undefined, hideLabel: this.hideLabel, ariaHasPopup: "menu", "test-id": "dropdownButton", block: this.block, description: loc('tecton.element.dropdown.itemCount', [this.determineDropdownItemCount]) }, this.hasCustomControl ? (h("div", { "test-id": "dropdownControl", class: btnProps.custom ? '' : 'hidden' }, h("slot", { name: "control" }))) : (h(Fragment, null, this.icon ? h("q2-icon", { type: this.icon }) : ' ', this.label && !this.hideLabel && (h("span", { class: "dropdown-button-text" }, loc(this.label)))))), h("q2-popover", { key: '7d5aa6bca5b4d6b494d556c49ec0c84e6e3f37b6', ref: el => (this.popoverElement = el), controlElement: this.controlElement, open: this.open, "max-height": this.popoverMaxHeight, minHeight: this.popoverMinHeight, direction: this.popoverDirection, align: this.popoverAlignment, mode: this.popoverMode || undefined, block: this.block }, h("div", { key: 'b548e62ef46ca01018d742c443fc3aea42ab8875', onClick: this.onDropdownMenuClick, onKeyDown: this.onDropdownMenuKeydown, role: "menu", "aria-label": loc(this.label) || undefined }, h("slot", { key: 'ef88abd2fd3d358b3f9e3464b4b5066bb373b31e' })))));
372
370
  }
373
371
  get hostElement() { return getElement(this); }
374
372
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"q2-dropdown.entry.js","mappings":"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","names":[],"sources":["src/components/q2-dropdown/q2-dropdown.scss?tag=q2-dropdown&encapsulation=shadow","src/components/q2-dropdown/q2-dropdown.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-flex;\n}\n\n:host([block]) {\n display: block;\n}\n\nq2-icon {\n pointer-events: none;\n margin-block: -100px;\n}\n\nclick-elsewhere {\n position: relative;\n display: block;\n}\n\nq2-popover {\n --tct-popover-min-width: #{var-list(var-prefixer(dropdown-width))};\n}\n","import { Component, ComponentInterface, Prop, Method, Element, Watch, h, Fragment, Listen } from '@stencil/core';\nimport { IDict } from 'src/util';\nimport {\n handleAriaLabel,\n handleRenamedProp,\n isEventFromElement,\n loc,\n overrideFocus,\n waitForNextPaint,\n} from 'src/utils';\n\n@Component({ tag: 'q2-dropdown', shadow: true, styleUrl: 'q2-dropdown.scss' })\nexport class Q2Dropdown implements ComponentInterface {\n // #region Own Properties\n\n controlElement?: HTMLQ2BtnElement;\n dropdownItemSelector: string = 'q2-dropdown-item:not([disabled]):not([separator])';\n popoverElement?: HTMLQ2PopoverElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n @Prop({ reflect: true })\n additionalContext: string;\n\n /** @deprecated */\n @Prop({ reflect: true })\n alignment: 'left' | 'right';\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** If `true`, component expands to fill the width of its parent element. */\n @Prop({ reflect: true })\n block: boolean;\n\n /**\n * Tells the outlet what the type of object being passed in as contextValue.\n * This will allow for the hierarchy resolution logic to work to determine if an option should or should not be shown.\n *\n * @info\n * Only applicable when using `<q2-dropdown>` for outlets.\n */\n @Prop({ reflect: true })\n context: string;\n\n /**\n * Passes important information to the outlet (e.g., pass an account id that your platform can use to look up what module to show for that account type).\n *\n * @info\n * Only applicable when using `<q2-dropdown>` for outlets.\n */\n @Prop({ reflect: true })\n contextValue: string;\n\n /** Indicates the menu cannot be focused or interacted with. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Hide's the field's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /** The icon that will render within the toggle button. You may use any of the `q2-icon` types. */\n @Prop({ reflect: true })\n icon: string;\n\n /**\n * The text that appears within the button.\n * @warning\n * This property should not be used if the `type` is `icon`.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /**\n * Identifies this menu as an outlet. Used in conjunction with context and, optionally, `contextValue`.\n * @info\n * Only applicable when using `<q2-dropdown>` for outlets.\n */\n @Prop({ reflect: true })\n name: string;\n\n /**\n * Determine whether the popover is open or closed.\n *\n * @readonly\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean;\n\n /** @deprecated */\n @Prop({ reflect: true })\n popDirection: 'up' | 'down';\n\n /** Aligns the popover dropdown to the left or right side of the input field. */\n @Prop({ mutable: true })\n popoverAlignment: 'left' | 'right' = 'left'; // being used in dropdown.scss\n\n /**\n * Force the direction of the popover dropdown when it opens.\n * If no value is passed, the component will auto-detect the direction based on available space.\n */\n @Prop({ mutable: true })\n popoverDirection: 'up' | 'down';\n\n /**\n * Force the maximum height of the popover. This value will be interpreted as pixels.\n * If no value is passed, or the value exceeds available space, the component will auto-detect the maximum height based on available space.\n */\n @Prop()\n popoverMaxHeight: number;\n\n /** @deprecated */\n @Prop()\n popoverMinHeight: number;\n\n /**\n * Determines the display mode of the popover.\n *\n * Providing a value of `legacy` instructs the popover to use absolute positioning instead of fixed positioning.\n *\n * @info\n * This is a temporary solution to work around styling issues related to using fixed positioning for the popover\n * when nested inside of elements with transform properties. This will be removed once the popover API is available\n * for use.\n */\n @Prop({ mutable: true })\n popoverMode: 'legacy' = null;\n\n /**\n * Use with `context` to tell the outlet where it appears. It will be matched with the appropriately configured module for that context.\n * @info\n * Only applicable when using `<q2-dropdown>` for outlets.\n */\n @Prop({ reflect: true })\n resolvedType: string;\n\n /** The type of button used as the menu toggle.\n * @info\n * Type must be \"custom\" to use the custom button slot.\n */\n @Prop({ reflect: true })\n type: 'icon' | 'fab' | 'custom' | 'primary' | 'secondary' | 'neutral' = 'icon';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.popDirectionHandler();\n this.alignmentHandler();\n this.ariaLabelHandler();\n }\n\n componentDidLoad() {\n this.orchestrateResolvedMenuItems();\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusToggle();\n }\n\n @Listen('popoverStateChanged')\n popoverStateHandler({ detail: { open } }: CustomEvent<{ open: boolean }>) {\n if (this.open !== open) this.open = open;\n this.popoverElement?.scrollContainerTo({ top: 0 });\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the dropdown `<button>` to hide the popover if it is showing.\n * @testOnly\n */\n @Method()\n async closePopover() {\n if (!this.open || this.disabled) return;\n this._togglePopover();\n }\n\n /**\n * Emulates clicking the dropdown `<button>` to show the popover if it is hidden.\n * @testOnly\n */\n @Method()\n async openPopover() {\n if (this.open || this.disabled) return;\n this._togglePopover();\n }\n\n /**\n * Emulates opening the dropdown and selecting a [Dropdown Item](https://tecton.q2developer.com/design-system/q2-dropdown-item/).\n *\n * If the dropdown is closed, this will open it before selecting the item.\n *\n * If the value does not match any item's value, this method does nothing.\n * @testOnly\n */\n @Method()\n async selectItem(value: string) {\n const item = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}[value=\"${value}\"]`\n );\n const itemBtn = item?.shadowRoot.querySelector<HTMLButtonElement>('.dropdown-item');\n if (!item || this.disabled) return;\n if (!this.open) {\n this.controlElement?.click();\n await waitForNextPaint();\n }\n itemBtn.click();\n await waitForNextPaint();\n }\n\n /**\n * Emulates opening the dropdown and selecting a [Dropdown Item](https://tecton.q2developer.com/design-system/q2-dropdown-item/)'s *remove* button.\n *\n * If the dropdown is closed, this will open it before selecting the remove item button.\n *\n * Requirements for this method to work properly:\n * - Provided `value` matches the item's `value` property\n * - Item has the `removable` property enabled\n * @testOnly\n */\n @Method()\n async selectRemoveItem(value: string) {\n const item = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}[value=\"${value}\"]`\n );\n const removeButton = item?.shadowRoot.querySelector<HTMLButtonElement>('.remove-dropdown-item');\n if (!item || !removeButton || this.disabled) return;\n if (!this.open) {\n this.controlElement?.click();\n await waitForNextPaint();\n }\n removeButton.click();\n await waitForNextPaint();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('additionalContext')\n additionalContextHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('alignment')\n alignmentHandler() {\n handleRenamedProp(this, 'alignment', 'popoverAlignment');\n }\n\n @Watch('ariaLabel')\n ariaLabelHandler() {\n handleAriaLabel(this);\n }\n\n @Watch('context')\n contextHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('contextValue')\n contextValueHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('name')\n nameHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('popDirection')\n popDirectionHandler() {\n handleRenamedProp(this, 'popDirection', 'popoverDirection');\n }\n\n @Watch('resolvedType')\n resolvedTypeHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n // #endregion\n // #region Local Methods\n\n get determineDropdownItemCount() {\n return this.hostElement.querySelectorAll(this.dropdownItemSelector).length;\n }\n\n get hasCustomControl() {\n return !!this.hostElement.querySelector('[slot=control]');\n }\n\n get toggleButtonProps() {\n const allowedIntents = ['primary', 'secondary', 'neutral'];\n const allowedTypes = ['icon', 'fab', 'custom', ...allowedIntents];\n const type = allowedTypes.includes(this.type) ? this.type : '';\n const icon = type === 'icon';\n const fab = type === 'fab';\n const custom = type === 'custom';\n let intent;\n if (allowedIntents.includes(type)) {\n intent = type === 'neutral' ? type : `workflow-${type}`;\n }\n const active = this.open;\n const disabled = !!this.disabled;\n const ariaExpanded = this.open;\n const className = !icon && !fab && !intent ? 'unstyled' : '';\n\n return {\n icon,\n fab,\n intent,\n active,\n disabled,\n ariaExpanded,\n className,\n custom,\n };\n }\n\n _togglePopover() {\n const { controlElement } = this;\n if (!controlElement) return;\n controlElement.click();\n controlElement.focus();\n controlElement.dispatchEvent(new FocusEvent('focus'));\n }\n\n closeDropdown = () => {\n if (!this.open) return;\n this.open = false;\n };\n\n focusAdjacentItem(activeItem: HTMLQ2DropdownItemElement, direction: 'next' | 'prev') {\n const dropdownItems: HTMLQ2DropdownItemElement[] = Array.from(\n this.hostElement.querySelectorAll(this.dropdownItemSelector)\n );\n\n const activeIndex = dropdownItems.indexOf(activeItem);\n\n if (activeIndex === -1) {\n return;\n }\n\n let targetIndex: number = 0;\n if (direction === 'next') {\n targetIndex = activeIndex < dropdownItems.length - 1 ? activeIndex + 1 : 0;\n } else if (direction === 'prev') {\n if (activeIndex > 0) {\n targetIndex = activeIndex - 1;\n } else {\n targetIndex = dropdownItems.length - 1;\n }\n }\n const targetItem = dropdownItems[targetIndex];\n targetItem && targetItem.dispatchEvent(new Event('focus'));\n }\n\n focusFirstItem = async () => {\n const firstItem = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}:first-child`\n );\n if (!firstItem) return;\n await waitForNextPaint();\n firstItem.dispatchEvent(new FocusEvent('focus'));\n };\n\n focusLastItem = async () => {\n const lastItem = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}:last-child`\n );\n if (!lastItem) return;\n await waitForNextPaint();\n lastItem.dispatchEvent(new FocusEvent('focus'));\n };\n\n focusToggle = () => {\n this.controlElement.focus();\n };\n\n navigateTo(featureName: string, moduleName?: string, queryParams?: IDict<string>) {\n return window.TectonElements?.navigateTo?.(featureName, moduleName, queryParams);\n }\n\n onClickElsewhere = (event: CustomEvent) => {\n const target = event.target as HTMLClickElsewhereElement;\n if (target.localName === 'click-elsewhere') {\n event.stopPropagation();\n const { popoverElement } = this;\n if (!popoverElement) return;\n popoverElement.open = false;\n }\n };\n\n onDropdownMenuClick = async (event: MouseEvent | CustomEvent) => {\n const item = event.target as HTMLQ2DropdownItemElement;\n if (item.disabled || item.separator) return;\n this.closeDropdown();\n await waitForNextPaint();\n this.focusToggle();\n };\n\n onDropdownMenuKeydown = (event: KeyboardEvent) => {\n const item = event.target as HTMLQ2DropdownItemElement;\n switch (event.key) {\n case 'Escape':\n this.closeDropdown();\n this.focusToggle();\n break;\n\n case 'Tab':\n this.closeDropdown();\n break;\n\n case 'ArrowUp':\n event.preventDefault();\n this.focusAdjacentItem(item, 'prev');\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n this.focusAdjacentItem(item, 'next');\n break;\n\n default:\n break;\n }\n };\n\n onToggleClick = () => {\n if (this.open) {\n this.closeDropdown();\n } else {\n this.openDropdown();\n }\n };\n\n onToggleKeydown = async (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n this.openDropdown();\n await waitForNextPaint();\n this.focusLastItem();\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n this.openDropdown();\n await waitForNextPaint();\n this.focusFirstItem();\n return;\n\n case 'Escape':\n event.preventDefault();\n this.closeDropdown();\n break;\n\n case 'Tab':\n if (this.open) this.closeDropdown();\n break;\n\n default:\n break;\n }\n };\n\n openDropdown = () => {\n if (this.open) return;\n this.open = true;\n };\n\n orchestrateResolvedMenuItems() {\n if (!this.name || !this.context) {\n // this is only for contextual menu outlets\n this.removeResolvedElements();\n return;\n }\n\n this.resolveMenuItemElements()\n .then(data => {\n this.removeResolvedElements();\n data.forEach(element => {\n this.hostElement.appendChild(element);\n });\n })\n .catch(err => {\n this.removeResolvedElements();\n throw err;\n });\n }\n\n removeResolvedElements() {\n const resolvedElements = this.hostElement.querySelectorAll('q2-dropdown-item.resolved-menu-item');\n resolvedElements.forEach(element => this.hostElement.removeChild(element));\n }\n\n resolveMenu() {\n return (\n this.name &&\n window.TectonElements &&\n window.TectonElements.resolveMenu(this.name, this.contextValue, this.resolvedType, this.additionalContext)\n );\n }\n\n resolveMenuItemElements() {\n return this.resolveMenu().then(datas => {\n return datas.map(menuItemData => {\n let onClickFn;\n let queryParams;\n if (menuItemData['tct-ctxid']) {\n queryParams = {};\n queryParams[menuItemData.contextIdParamName] = menuItemData['tct-ctxid'];\n }\n\n switch (menuItemData.action) {\n case 'navigateTo':\n onClickFn = () =>\n this.navigateTo(menuItemData.featureName, menuItemData.moduleName, queryParams);\n break;\n case 'showOverpanel':\n onClickFn = () =>\n this.showOverpanel(`${menuItemData.featureName}.${menuItemData.moduleName}`, queryParams);\n break;\n }\n\n const newDropdownItem = document.createElement('q2-dropdown-item');\n newDropdownItem.setAttribute('value', menuItemData.itemLabel);\n newDropdownItem.classList.add('resolved-menu-item');\n newDropdownItem.textContent = menuItemData.itemLabel;\n newDropdownItem.onclick = onClickFn;\n\n return newDropdownItem;\n });\n });\n }\n\n showOverpanel(overpanelPath: string, params: IDict<string>) {\n return window.TectonElements?.showOverpanel?.(overpanelPath, params, undefined, true);\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const btnProps = this.toggleButtonProps;\n\n return (\n <click-elsewhere\n class={this.open ? 'dropdown-open' : ''}\n onChange={this.onClickElsewhere}\n test-id=\"dropdownContainer\"\n >\n <q2-btn\n ref={el => (this.controlElement = el)}\n class={btnProps.className}\n onClick={this.onToggleClick}\n onKeyDown={this.onToggleKeydown}\n fab={btnProps.fab}\n intent={btnProps.intent}\n active={btnProps.active}\n disabled={btnProps.disabled}\n ariaExpanded={`${!!btnProps.ariaExpanded}`}\n label={this.hideLabel && this.label ? loc(this.label) : undefined}\n hideLabel={this.hideLabel}\n ariaHasPopup=\"menu\"\n test-id=\"dropdownButton\"\n block={this.block}\n description={loc('tecton.element.dropdown.itemCount', [this.determineDropdownItemCount])}\n >\n {this.hasCustomControl ? (\n <div\n test-id=\"dropdownControl\"\n class={btnProps.custom ? '' : 'hidden'}\n >\n <slot name=\"control\" />\n </div>\n ) : (\n <Fragment>\n {this.icon ? <q2-icon type={this.icon} /> : ' '}\n {this.label && !this.hideLabel && (\n <span class=\"dropdown-button-text\">{loc(this.label)}</span>\n )}\n </Fragment>\n )}\n </q2-btn>\n <q2-popover\n ref={el => (this.popoverElement = el)}\n controlElement={this.controlElement}\n open={this.open}\n max-height={this.popoverMaxHeight}\n minHeight={this.popoverMinHeight}\n direction={this.popoverDirection}\n align={this.popoverAlignment}\n mode={this.popoverMode || undefined}\n block={this.block}\n >\n <div\n onClick={this.onDropdownMenuClick}\n onKeyDown={this.onDropdownMenuKeydown}\n role=\"menu\"\n aria-label={loc(this.label) || undefined}\n >\n <slot />\n </div>\n </q2-popover>\n </click-elsewhere>\n );\n }\n\n // #endregion\n}\n"],"version":3}
1
+ {"file":"q2-dropdown.entry.js","mappings":"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","names":[],"sources":["src/components/q2-dropdown/q2-dropdown.scss?tag=q2-dropdown&encapsulation=shadow","src/components/q2-dropdown/q2-dropdown.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n@import '../../styles/functions';\n\n:host {\n display: inline-flex;\n}\n\n:host([block]) {\n display: block;\n}\n\nq2-icon {\n pointer-events: none;\n margin-block: -100px;\n}\n\nclick-elsewhere {\n position: relative;\n display: block;\n}\n\nq2-popover {\n --tct-popover-min-width: #{var-list(var-prefixer(dropdown-width))};\n}\n","import { Component, ComponentInterface, Prop, Method, Element, Watch, h, Fragment, Listen } from '@stencil/core';\nimport {\n handleAriaLabel,\n handleRenamedProp,\n isEventFromElement,\n loc,\n overrideFocus,\n waitForNextPaint,\n} from 'src/utils';\n\n@Component({ tag: 'q2-dropdown', shadow: true, styleUrl: 'q2-dropdown.scss' })\nexport class Q2Dropdown implements ComponentInterface {\n // #region Own Properties\n\n controlElement?: HTMLQ2BtnElement;\n dropdownItemSelector: string = 'q2-dropdown-item:not([disabled]):not([separator])';\n popoverElement?: HTMLQ2PopoverElement;\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region Public Property API\n\n @Prop({ reflect: true })\n additionalContext: string;\n\n /** @deprecated */\n @Prop({ reflect: true })\n alignment: 'left' | 'right';\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** If `true`, component expands to fill the width of its parent element. */\n @Prop({ reflect: true })\n block: boolean;\n\n /**\n * Tells the outlet what the type of object being passed in as contextValue.\n * This will allow for the hierarchy resolution logic to work to determine if an option should or should not be shown.\n *\n * @info\n * Only applicable when using `<q2-dropdown>` for outlets.\n */\n @Prop({ reflect: true })\n context: string;\n\n /**\n * Passes important information to the outlet (e.g., pass an account id that your platform can use to look up what module to show for that account type).\n *\n * @info\n * Only applicable when using `<q2-dropdown>` for outlets.\n */\n @Prop({ reflect: true })\n contextValue: string;\n\n /** Indicates the menu cannot be focused or interacted with. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Hide's the field's `<label>` element from view.\n * @warning\n * Only use when a visible label is impractical.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /** The icon that will render within the toggle button. You may use any of the `q2-icon` types. */\n @Prop({ reflect: true })\n icon: string;\n\n /**\n * The text that appears within the button.\n * @warning\n * This property should not be used if the `type` is `icon`.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /**\n * Identifies this menu as an outlet. Used in conjunction with context and, optionally, `contextValue`.\n * @info\n * Only applicable when using `<q2-dropdown>` for outlets.\n */\n @Prop({ reflect: true })\n name: string;\n\n /**\n * Determine whether the popover is open or closed.\n *\n * @readonly\n */\n @Prop({ reflect: true, mutable: true })\n open: boolean;\n\n /** @deprecated */\n @Prop({ reflect: true })\n popDirection: 'up' | 'down';\n\n /** Aligns the popover dropdown to the left or right side of the input field. */\n @Prop({ mutable: true })\n popoverAlignment: 'left' | 'right' = 'left'; // being used in dropdown.scss\n\n /**\n * Force the direction of the popover dropdown when it opens.\n * If no value is passed, the component will auto-detect the direction based on available space.\n */\n @Prop({ mutable: true })\n popoverDirection: 'up' | 'down';\n\n /**\n * Force the maximum height of the popover. This value will be interpreted as pixels.\n * If no value is passed, or the value exceeds available space, the component will auto-detect the maximum height based on available space.\n */\n @Prop()\n popoverMaxHeight: number;\n\n /** @deprecated */\n @Prop()\n popoverMinHeight: number;\n\n /**\n * Determines the display mode of the popover.\n *\n * Providing a value of `legacy` instructs the popover to use absolute positioning instead of fixed positioning.\n *\n * @info\n * This is a temporary solution to work around styling issues related to using fixed positioning for the popover\n * when nested inside of elements with transform properties. This will be removed once the popover API is available\n * for use.\n */\n @Prop({ mutable: true })\n popoverMode: 'legacy' = null;\n\n /**\n * Use with `context` to tell the outlet where it appears. It will be matched with the appropriately configured module for that context.\n * @info\n * Only applicable when using `<q2-dropdown>` for outlets.\n */\n @Prop({ reflect: true })\n resolvedType: string;\n\n /** The type of button used as the menu toggle.\n * @info\n * Type must be \"custom\" to use the custom button slot.\n */\n @Prop({ reflect: true })\n type: 'icon' | 'fab' | 'custom' | 'primary' | 'secondary' | 'neutral' = 'icon';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.popDirectionHandler();\n this.alignmentHandler();\n this.ariaLabelHandler();\n }\n\n componentDidLoad() {\n this.orchestrateResolvedMenuItems();\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.focusToggle();\n }\n\n @Listen('popoverStateChanged')\n popoverStateHandler({ detail: { open } }: CustomEvent<{ open: boolean }>) {\n if (this.open !== open) this.open = open;\n this.popoverElement?.scrollContainerTo({ top: 0 });\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the dropdown `<button>` to hide the popover if it is showing.\n * @testOnly\n */\n @Method()\n async closePopover() {\n if (!this.open || this.disabled) return;\n this._togglePopover();\n }\n\n /**\n * Emulates clicking the dropdown `<button>` to show the popover if it is hidden.\n * @testOnly\n */\n @Method()\n async openPopover() {\n if (this.open || this.disabled) return;\n this._togglePopover();\n }\n\n /**\n * Emulates opening the dropdown and selecting a [Dropdown Item](https://tecton.q2developer.com/design-system/q2-dropdown-item/).\n *\n * If the dropdown is closed, this will open it before selecting the item.\n *\n * If the value does not match any item's value, this method does nothing.\n * @testOnly\n */\n @Method()\n async selectItem(value: string) {\n const item = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}[value=\"${value}\"]`\n );\n const itemBtn = item?.shadowRoot.querySelector<HTMLButtonElement>('.dropdown-item');\n if (!item || this.disabled) return;\n if (!this.open) {\n this.controlElement?.click();\n await waitForNextPaint();\n }\n itemBtn.click();\n await waitForNextPaint();\n }\n\n /**\n * Emulates opening the dropdown and selecting a [Dropdown Item](https://tecton.q2developer.com/design-system/q2-dropdown-item/)'s *remove* button.\n *\n * If the dropdown is closed, this will open it before selecting the remove item button.\n *\n * Requirements for this method to work properly:\n * - Provided `value` matches the item's `value` property\n * - Item has the `removable` property enabled\n * @testOnly\n */\n @Method()\n async selectRemoveItem(value: string) {\n const item = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}[value=\"${value}\"]`\n );\n const removeButton = item?.shadowRoot.querySelector<HTMLButtonElement>('.remove-dropdown-item');\n if (!item || !removeButton || this.disabled) return;\n if (!this.open) {\n this.controlElement?.click();\n await waitForNextPaint();\n }\n removeButton.click();\n await waitForNextPaint();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('additionalContext')\n additionalContextHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('alignment')\n alignmentHandler() {\n handleRenamedProp(this, 'alignment', 'popoverAlignment');\n }\n\n @Watch('ariaLabel')\n ariaLabelHandler() {\n handleAriaLabel(this);\n }\n\n @Watch('context')\n contextHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('contextValue')\n contextValueHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('name')\n nameHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n @Watch('popDirection')\n popDirectionHandler() {\n handleRenamedProp(this, 'popDirection', 'popoverDirection');\n }\n\n @Watch('resolvedType')\n resolvedTypeHandler() {\n this.orchestrateResolvedMenuItems();\n }\n\n // #endregion\n // #region Local Methods\n\n get determineDropdownItemCount() {\n return this.hostElement.querySelectorAll(this.dropdownItemSelector).length;\n }\n\n get hasCustomControl() {\n return !!this.hostElement.querySelector('[slot=control]');\n }\n\n get toggleButtonProps() {\n const allowedIntents = ['primary', 'secondary', 'neutral'];\n const allowedTypes = ['icon', 'fab', 'custom', ...allowedIntents];\n const type = allowedTypes.includes(this.type) ? this.type : '';\n const icon = type === 'icon';\n const fab = type === 'fab';\n const custom = type === 'custom';\n let intent;\n if (allowedIntents.includes(type)) {\n intent = type === 'neutral' ? type : `workflow-${type}`;\n }\n const active = this.open;\n const disabled = !!this.disabled;\n const ariaExpanded = this.open;\n const className = !icon && !fab && !intent ? 'unstyled' : '';\n\n return {\n icon,\n fab,\n intent,\n active,\n disabled,\n ariaExpanded,\n className,\n custom,\n };\n }\n\n _togglePopover() {\n const { controlElement } = this;\n if (!controlElement) return;\n controlElement.click();\n controlElement.focus();\n controlElement.dispatchEvent(new FocusEvent('focus'));\n }\n\n closeDropdown = () => {\n if (!this.open) return;\n this.open = false;\n };\n\n focusAdjacentItem(activeItem: HTMLQ2DropdownItemElement, direction: 'next' | 'prev') {\n const dropdownItems: HTMLQ2DropdownItemElement[] = Array.from(\n this.hostElement.querySelectorAll(this.dropdownItemSelector)\n );\n\n const activeIndex = dropdownItems.indexOf(activeItem);\n\n if (activeIndex === -1) {\n return;\n }\n\n let targetIndex: number = 0;\n if (direction === 'next') {\n targetIndex = activeIndex < dropdownItems.length - 1 ? activeIndex + 1 : 0;\n } else if (direction === 'prev') {\n if (activeIndex > 0) {\n targetIndex = activeIndex - 1;\n } else {\n targetIndex = dropdownItems.length - 1;\n }\n }\n const targetItem = dropdownItems[targetIndex];\n targetItem && targetItem.dispatchEvent(new Event('focus'));\n }\n\n focusFirstItem = async () => {\n const firstItem = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}:first-child`\n );\n if (!firstItem) return;\n await waitForNextPaint();\n firstItem.dispatchEvent(new FocusEvent('focus'));\n };\n\n focusLastItem = async () => {\n const lastItem = this.hostElement.querySelector<HTMLQ2DropdownItemElement>(\n `${this.dropdownItemSelector}:last-child`\n );\n if (!lastItem) return;\n await waitForNextPaint();\n lastItem.dispatchEvent(new FocusEvent('focus'));\n };\n\n focusToggle = () => {\n this.controlElement.focus();\n };\n\n onClickElsewhere = (event: CustomEvent) => {\n const target = event.target as HTMLClickElsewhereElement;\n if (target.localName === 'click-elsewhere') {\n event.stopPropagation();\n const { popoverElement } = this;\n if (!popoverElement) return;\n popoverElement.open = false;\n }\n };\n\n onDropdownMenuClick = async (event: MouseEvent | CustomEvent) => {\n const item = event.target as HTMLQ2DropdownItemElement;\n if (item.disabled || item.separator) return;\n this.closeDropdown();\n await waitForNextPaint();\n this.focusToggle();\n };\n\n onDropdownMenuKeydown = (event: KeyboardEvent) => {\n const item = event.target as HTMLQ2DropdownItemElement;\n switch (event.key) {\n case 'Escape':\n this.closeDropdown();\n this.focusToggle();\n break;\n\n case 'Tab':\n this.closeDropdown();\n break;\n\n case 'ArrowUp':\n event.preventDefault();\n this.focusAdjacentItem(item, 'prev');\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n this.focusAdjacentItem(item, 'next');\n break;\n\n default:\n break;\n }\n };\n\n onToggleClick = () => {\n if (this.open) {\n this.closeDropdown();\n } else {\n this.openDropdown();\n }\n };\n\n onToggleKeydown = async (event: KeyboardEvent) => {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault();\n this.openDropdown();\n await waitForNextPaint();\n this.focusLastItem();\n break;\n\n case 'ArrowDown':\n event.preventDefault();\n this.openDropdown();\n await waitForNextPaint();\n this.focusFirstItem();\n return;\n\n case 'Escape':\n event.preventDefault();\n this.closeDropdown();\n break;\n\n case 'Tab':\n if (this.open) this.closeDropdown();\n break;\n\n default:\n break;\n }\n };\n\n openDropdown = () => {\n if (this.open) return;\n this.open = true;\n };\n\n orchestrateResolvedMenuItems() {\n if (!this.name || !this.context) {\n // this is only for contextual menu outlets\n this.removeResolvedElements();\n return;\n }\n\n this.resolveMenuItemElements()\n .then(data => {\n this.removeResolvedElements();\n data.forEach(element => {\n this.hostElement.appendChild(element);\n });\n })\n .catch(err => {\n this.removeResolvedElements();\n throw err;\n });\n }\n\n removeResolvedElements() {\n const resolvedElements = this.hostElement.querySelectorAll('q2-dropdown-item.resolved-menu-item');\n resolvedElements.forEach(element => this.hostElement.removeChild(element));\n }\n\n resolveMenu() {\n return (\n this.name &&\n window.TectonElements &&\n window.TectonElements.resolveMenu(this.name, this.contextValue, this.resolvedType, this.additionalContext)\n );\n }\n\n resolveMenuItemElements() {\n return this.resolveMenu().then(datas => {\n return datas.map(menuItemData => {\n let onClickFn;\n let queryParams;\n if (menuItemData['tct-ctxid']) {\n queryParams = {};\n queryParams[menuItemData.contextIdParamName] = menuItemData['tct-ctxid'];\n }\n\n switch (menuItemData.action) {\n case 'navigateTo':\n onClickFn = function () {\n return window.TectonElements?.navigateTo?.(\n menuItemData.featureName,\n menuItemData.moduleName,\n queryParams\n );\n };\n break;\n case 'showOverpanel':\n onClickFn = function () {\n return window.TectonElements?.showOverpanel?.(\n `${menuItemData.featureName}.${menuItemData.moduleName}`,\n queryParams,\n undefined,\n true\n );\n };\n break;\n }\n\n const newDropdownItem = document.createElement('q2-dropdown-item');\n newDropdownItem.setAttribute('value', menuItemData.itemLabel);\n newDropdownItem.classList.add('resolved-menu-item');\n newDropdownItem.textContent = menuItemData.itemLabel;\n newDropdownItem.onclick = onClickFn;\n\n return newDropdownItem;\n });\n });\n }\n\n // #endregion\n // #region Render Methods\n\n render() {\n const btnProps = this.toggleButtonProps;\n\n return (\n <click-elsewhere\n class={this.open ? 'dropdown-open' : ''}\n onChange={this.onClickElsewhere}\n test-id=\"dropdownContainer\"\n >\n <q2-btn\n ref={el => (this.controlElement = el)}\n class={btnProps.className}\n onClick={this.onToggleClick}\n onKeyDown={this.onToggleKeydown}\n fab={btnProps.fab}\n intent={btnProps.intent}\n active={btnProps.active}\n disabled={btnProps.disabled}\n ariaExpanded={`${!!btnProps.ariaExpanded}`}\n label={this.hideLabel && this.label ? loc(this.label) : undefined}\n hideLabel={this.hideLabel}\n ariaHasPopup=\"menu\"\n test-id=\"dropdownButton\"\n block={this.block}\n description={loc('tecton.element.dropdown.itemCount', [this.determineDropdownItemCount])}\n >\n {this.hasCustomControl ? (\n <div\n test-id=\"dropdownControl\"\n class={btnProps.custom ? '' : 'hidden'}\n >\n <slot name=\"control\" />\n </div>\n ) : (\n <Fragment>\n {this.icon ? <q2-icon type={this.icon} /> : ' '}\n {this.label && !this.hideLabel && (\n <span class=\"dropdown-button-text\">{loc(this.label)}</span>\n )}\n </Fragment>\n )}\n </q2-btn>\n <q2-popover\n ref={el => (this.popoverElement = el)}\n controlElement={this.controlElement}\n open={this.open}\n max-height={this.popoverMaxHeight}\n minHeight={this.popoverMinHeight}\n direction={this.popoverDirection}\n align={this.popoverAlignment}\n mode={this.popoverMode || undefined}\n block={this.block}\n >\n <div\n onClick={this.onDropdownMenuClick}\n onKeyDown={this.onDropdownMenuKeydown}\n role=\"menu\"\n aria-label={loc(this.label) || undefined}\n >\n <slot />\n </div>\n </q2-popover>\n </click-elsewhere>\n );\n }\n\n // #endregion\n}\n"],"version":3}
@@ -82,7 +82,6 @@ const Q2EditableField = class {
82
82
  componentDidRender() {
83
83
  this.scheduledAfterRender.forEach(fn => fn());
84
84
  this.scheduledAfterRender = [];
85
- this.formattedValue = this.inputElement.formattedValue;
86
85
  }
87
86
  // #endregion
88
87
  // #region Listeners
@@ -114,6 +113,9 @@ const Q2EditableField = class {
114
113
  return;
115
114
  this.hostElement.shadowRoot.querySelector(this.editing ? 'q2-input' : 'q2-btn.begin-edit').focus();
116
115
  }
116
+ inputFormatted(event) {
117
+ this.formattedValue = event.detail.formattedValue;
118
+ }
117
119
  // #endregion
118
120
  // #region Public Methods API
119
121
  /**
@@ -198,22 +200,19 @@ const Q2EditableField = class {
198
200
  get wrapperClass() {
199
201
  return `q2-editable-field-wrapper ${this.editing ? 'editing' : ''}`;
200
202
  }
201
- generateEditBtn() {
202
- return (h("q2-btn", { ref: el => (this.editBtnElement = el), class: "begin-edit", label: `${loc('tecton.element.editableField.edit')} ${this.locLabel}`, "hide-label": true, disabled: this.disabled, "test-id": "editButton", onClick: this.editClick }, h("q2-icon", { type: "edit" })));
203
- }
204
203
  generateEditStateDOM() {
205
204
  return (h("div", { class: this.wrapperClass, hidden: !this.editing }, h("q2-input", { ref: el => (this.inputElement = el), label: this.locLabel, hideLabel: this.hideLabel, value: this.value, hints: this.hasHints ? this.hints : undefined, errors: this.hasErrors ? this.errors : undefined, type: this.type, disabled: this.disabled, formatModifier: this.formatModifier, maxlength: this.maxlength, "test-id": "editableInput", onInput: this.inputInput, onChange: this.inputChange, onKeyDown: this.inputKeyDown, onClick: this.inputClick }), h("q2-btn", { ref: el => (this.cancelBtnElement = el), class: "cancel-edit", label: `${loc('tecton.element.editableField.cancel')} ${this.locLabel}`, "hide-label": true, "test-id": "cancelButton", onClick: this.cancelClick }, h("q2-icon", { type: "close" })), h("q2-btn", { ref: el => (this.saveBtnElement = el), class: "save-edit", label: `${loc('tecton.element.editableField.save')} ${this.locLabel}`, "hide-label": true, "test-id": "saveButton", onClick: this.saveClick }, h("q2-icon", { type: "checkmark" }))));
206
205
  }
207
206
  generateReadStateDOM() {
208
207
  if (this.persistentLabel && this.locLabel) {
209
- return (h("div", { class: this.wrapperClass, hidden: this.editing }, h("dl", null, h("dt", { class: "read-state-label" }, this.locLabel), h("dd", null, h("span", { class: "text-wrapper" }, this.formattedValue || this.value), this.generateEditBtn()))));
208
+ return (h("div", { class: this.wrapperClass, hidden: this.editing }, h("dl", null, h("dt", { class: "read-state-label" }, this.locLabel), h("dd", null, h("span", { class: "text-wrapper" }, this.formattedValue || this.value), h("q2-btn", { ref: el => (this.editBtnElement = el), class: "begin-edit", label: `${loc('tecton.element.editableField.edit')} ${this.locLabel}`, "hide-label": true, disabled: this.disabled, "test-id": "editButton", onClick: this.editClick }, h("q2-icon", { type: "edit" }))))));
210
209
  }
211
- return (h("div", { class: this.wrapperClass, hidden: this.editing }, h("div", { class: "text-wrapper" }, this.formattedValue || this.value), this.generateEditBtn()));
210
+ return (h("div", { class: this.wrapperClass, hidden: this.editing }, h("div", { class: "text-wrapper" }, this.formattedValue || this.value), h("q2-btn", { ref: el => (this.editBtnElement = el), class: "begin-edit", label: `${loc('tecton.element.editableField.edit')} ${this.locLabel}`, "hide-label": true, disabled: this.disabled, "test-id": "editButton", onClick: this.editClick }, h("q2-icon", { type: "edit" }))));
212
211
  }
213
212
  // #endregion
214
213
  // #region Render Methods
215
214
  render() {
216
- return (h("div", { key: '255dac3b6e39618e37fc129ef0a743aca1aefc88' }, this.generateEditStateDOM(), this.generateReadStateDOM()));
215
+ return (h("div", { key: '4dd832e58ab37f49b7026b6b297de802c83f630b' }, this.generateEditStateDOM(), this.generateReadStateDOM()));
217
216
  }
218
217
  get hostElement() { return getElement(this); }
219
218
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"q2-editable-field.entry.js","mappings":"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","names":[],"sources":["src/components/q2-editable-field/q2-editable-field.scss?tag=q2-editable-field&encapsulation=shadow","src/components/q2-editable-field/q2-editable-field.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n\n:host {\n display: inline-block;\n max-width: 100%;\n}\n\n.q2-editable-field-wrapper:not([hidden]) {\n display: flex;\n}\n\n.q2-editable-field-wrapper.editing {\n align-items: flex-end;\n}\n\n:host([block]) {\n display:block;\n width: 100%;\n .q2-editable-field-wrapper:not([hidden]) {\n display: grid;\n grid-template-columns: 1fr auto auto;\n }\n}\n\nq2-input,\n.text-wrapper {\n margin: 0 var(--tct-scale-2, var(--app-scale-2x, 10px)) 0 0;\n}\n\nq2-input {\n flex: 1 1 auto;\n min-width: 170px;\n}\n\n.text-wrapper {\n flex: 0 auto;\n align-self: center;\n display: inline-block;\n}\n\n:host([truncated]) .text-wrapper {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\nq2-btn {\n flex: 0 0 44px;\n}\n\ndl {\n margin: var(--tct-scale-0, var(--app-scale-0x, 0));\n}\n\ndt {\n font-weight: 600;\n}\n\ndd {\n margin-left: var(--tct-scale-0, var(--app-scale-0x, 0));\n display: flex;\n align-items: center;\n}\n","import { Component, State, Prop, h, Listen, Element, Event, EventEmitter, Method, Watch } from '@stencil/core';\nimport { IEventDetail, Q2InputCustomEvent } from 'src/components';\nimport { handleAriaLabel, isEventFromElement, loc, overrideFocus, waitForNextPaint } from 'src/utils';\nimport { Q2Input } from '../q2-input/q2-input';\nimport { IFormatterValueObject } from '../q2-input/q2-input-types';\n\ninterface IExtendedQ2InputElement extends HTMLQ2InputElement {\n formattedValue: IFormatterValueObject['formattedValue'];\n}\n\n@Component({ tag: 'q2-editable-field', shadow: true, styleUrl: 'q2-editable-field.scss' })\nexport class Q2EditableField {\n // #region Own Properties\n\n cancelBtnElement: HTMLQ2BtnElement;\n defaultValue: string;\n editBtnElement: HTMLQ2BtnElement;\n innerValue: string;\n inputElement: HTMLQ2InputElement;\n saveBtnElement: HTMLQ2BtnElement;\n scheduledAfterRender: (() => void)[] = [];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n formattedValue: string;\n\n // #endregion\n // #region Public Property API\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** If `true`, component expands to fill the width of its parent element. */\n @Prop({ reflect: true })\n block: boolean;\n\n /** Disables the edit button and field. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Controls the edit state of the element. */\n @Prop({ reflect: true, mutable: true })\n editing: boolean = false;\n\n /**\n * Determines the `errors` applied to the `q2-input` element.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for more information.\n */\n @Prop()\n errors: string[];\n\n /**\n * Determines the `formatModifier` applied to the `q2-input` element.\n * @info\n * Only applicable when `type=\"currency\"`.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for more information.\n */\n @Prop({ reflect: true })\n formatModifier: string;\n\n /** Hide's the field's `<label>` element from view. */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * Determines the `hints` applied to the `q2-input` element.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for more information.\n */\n @Prop()\n hints: string[];\n\n /**\n * The visible descriptor for the element.\n * Serves as the input label while in the edit state and as a decorative label for the read state when `persistentLabel` is `true`.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string = '';\n\n /**\n * Determines the `maxLength` applied to the `q2-input`.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for more information.\n */\n @Prop({ reflect: true })\n maxlength: number;\n\n /** Displays the provided label in the read state. */\n @Prop({ reflect: true })\n persistentLabel: boolean;\n\n /** Shortens long values with ellipses instead of splitting into multiple lines. */\n @Prop({ reflect: true })\n truncated: boolean;\n\n /**\n * Determines the `type` applied to the `q2-input` element.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for all `type` values.\n */\n @Prop({ reflect: true })\n type: Q2Input['type'];\n\n /** Serves as the visible text while in the read state, and the default value of the input while in the edit state. */\n @Prop({ reflect: true, mutable: true })\n value: string = '';\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the 'Edit', 'Cancel', or 'Save' buttons are clicked.\n *\n * The event detail will not include a `value` or `formattedValue` if the event name is 'edit' or 'cancel'.\n *@info\n * If you are utilizing events to provide input validation, it is recommended you use the `input` event, not the `change` event.\n */\n @Event()\n change: EventEmitter<{\n editing: boolean;\n name: 'edit' | 'cancel' | 'save';\n value?: string;\n formattedValue?: string;\n }>;\n\n /**\n * Emitted when the user updates the `q2-input` element in the editing state.\n */\n @Event()\n input: EventEmitter<{ formattedValue: string; value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n\n this.defaultValue = this.value;\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n this.formattedValue = (this.inputElement as IExtendedQ2InputElement).formattedValue;\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (!isEventFromElement(event, this.hostElement) || this.hostElement.onchange) return;\n queueMicrotask(() => {\n switch (event.detail.name) {\n case 'save':\n if (this.hasErrors) {\n this.inputElement.focus();\n break;\n }\n this.value = event.detail.value;\n this.editing = event.detail.editing;\n break;\n\n case 'cancel':\n this.inputElement.value = this.value;\n this.editing = event.detail.editing;\n break;\n\n case 'edit':\n this.editing = event.detail.editing;\n break;\n }\n });\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector<HTMLElement>(this.editing ? 'q2-input' : 'q2-btn.begin-edit').focus();\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the cancel button, which will hide the `<q2-input>` field.\n *\n * @testOnly\n */\n @Method()\n clickCancel() {\n if (!this.editing) return;\n this.cancelBtnElement?.click();\n }\n\n /**\n * Emulates clicking the edit button, which will display the `<q2-input>` field.\n *\n * @testOnly\n */\n @Method()\n clickEdit() {\n if (this.editing) return;\n this.editBtnElement?.click();\n }\n\n /**\n * Emulates clicking the save button, saving value in the `<q2-input>` field, and emitting a `change` event.\n *\n * @testOnly\n */\n @Method()\n clickSave() {\n if (!this.editing) return;\n this.saveBtnElement?.click();\n }\n\n /**\n * Emulates clicking the edit button, and setting the value of the `<q2-input>` field.\n *\n * If the `clickSave` argument is `true` (default), the save button will be clicked after the value is set, and a\\\n * `change` event will be emitted.\n *\n * @testOnly\n */\n @Method()\n async setValue(value: string, options: { clickSave?: boolean } = { clickSave: true }) {\n await this.clickEdit();\n await waitForNextPaint();\n\n await this.inputElement.setValue(value);\n\n if (options.clickSave) {\n await this.clickSave();\n await waitForNextPaint();\n }\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('editing')\n observesEditing(newValue: boolean, oldValue: boolean) {\n if (newValue === oldValue) return;\n this.scheduledAfterRender.push(this.hostElement.focus);\n }\n\n @Watch('errors')\n errorsObserver() {\n const { editing, hasErrors } = this;\n const focusedElement = this.hostElement.shadowRoot.activeElement;\n const isInputFocused = focusedElement?.tagName === 'Q2-INPUT';\n if (isInputFocused || !focusedElement || !editing || !hasErrors) return;\n this.inputElement.focus();\n }\n\n // #endregion\n // #region Local Methods\n\n get hasErrors(): boolean {\n return Array.isArray(this.errors) && !!this.errors.length;\n }\n\n get hasHints(): boolean {\n return Array.isArray(this.hints) && !!this.hints.length;\n }\n\n get locLabel() {\n return (this.label && loc(this.label)) || '';\n }\n\n get wrapperClass() {\n return `q2-editable-field-wrapper ${this.editing ? 'editing' : ''}`;\n }\n\n cancelClick = (event?: MouseEvent) => {\n event?.stopPropagation();\n this.change.emit({ editing: false, name: 'cancel' });\n this.inputElement.setValue(this.defaultValue);\n };\n\n editClick = (event: MouseEvent) => {\n event?.stopPropagation();\n this.change.emit({ editing: true, name: 'edit' });\n };\n\n generateEditBtn() {\n return (\n <q2-btn\n ref={el => (this.editBtnElement = el)}\n class=\"begin-edit\"\n label={`${loc('tecton.element.editableField.edit')} ${this.locLabel}`}\n hide-label\n disabled={this.disabled}\n test-id=\"editButton\"\n onClick={this.editClick}\n >\n <q2-icon type=\"edit\" />\n </q2-btn>\n );\n }\n\n generateEditStateDOM() {\n return (\n <div\n class={this.wrapperClass}\n hidden={!this.editing}\n >\n <q2-input\n ref={el => (this.inputElement = el)}\n label={this.locLabel}\n hideLabel={this.hideLabel}\n value={this.value}\n hints={this.hasHints ? this.hints : undefined}\n errors={this.hasErrors ? this.errors : undefined}\n type={this.type}\n disabled={this.disabled}\n formatModifier={this.formatModifier}\n maxlength={this.maxlength}\n test-id=\"editableInput\"\n onInput={this.inputInput}\n onChange={this.inputChange}\n onKeyDown={this.inputKeyDown}\n onClick={this.inputClick}\n />\n <q2-btn\n ref={el => (this.cancelBtnElement = el)}\n class=\"cancel-edit\"\n label={`${loc('tecton.element.editableField.cancel')} ${this.locLabel}`}\n hide-label\n test-id=\"cancelButton\"\n onClick={this.cancelClick}\n >\n <q2-icon type=\"close\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.saveBtnElement = el)}\n class=\"save-edit\"\n label={`${loc('tecton.element.editableField.save')} ${this.locLabel}`}\n hide-label\n test-id=\"saveButton\"\n onClick={this.saveClick}\n >\n <q2-icon type=\"checkmark\" />\n </q2-btn>\n </div>\n );\n }\n\n generateReadStateDOM() {\n if (this.persistentLabel && this.locLabel) {\n return (\n <div\n class={this.wrapperClass}\n hidden={this.editing}\n >\n <dl>\n <dt class=\"read-state-label\">{this.locLabel}</dt>\n <dd>\n <span class=\"text-wrapper\">{this.formattedValue || this.value}</span>\n {this.generateEditBtn()}\n </dd>\n </dl>\n </div>\n );\n }\n return (\n <div\n class={this.wrapperClass}\n hidden={this.editing}\n >\n <div class=\"text-wrapper\">{this.formattedValue || this.value}</div>\n {this.generateEditBtn()}\n </div>\n );\n }\n\n inputChange = (e: CustomEvent) => {\n e.stopPropagation();\n };\n\n inputClick = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n inputInput = (event: Q2InputCustomEvent<IEventDetail> & InputEvent) => {\n event.stopPropagation();\n this.input.emit(event.detail);\n this.formattedValue = event.detail.formattedValue;\n this.innerValue = event.detail.value;\n };\n\n inputKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.preventDefault();\n this.cancelClick();\n return;\n }\n\n if (e.key === 'Enter') {\n e.preventDefault();\n this.saveClick();\n return;\n }\n };\n\n saveClick = (event?: MouseEvent) => {\n event && event.stopPropagation();\n const valueFromInputProp = this.hostElement.shadowRoot.querySelector('q2-input').value;\n this.defaultValue = valueFromInputProp;\n this.change.emit({\n editing: false,\n name: 'save',\n value: this.innerValue || valueFromInputProp,\n formattedValue: this.formattedValue || valueFromInputProp,\n });\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div>\n {this.generateEditStateDOM()}\n {this.generateReadStateDOM()}\n </div>\n );\n }\n\n // #endregion\n}\n"],"version":3}
1
+ {"file":"q2-editable-field.entry.js","mappings":"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","names":[],"sources":["src/components/q2-editable-field/q2-editable-field.scss?tag=q2-editable-field&encapsulation=shadow","src/components/q2-editable-field/q2-editable-field.tsx"],"sourcesContent":["@import '../../styles/host.scss';\n\n:host {\n display: inline-block;\n max-width: 100%;\n}\n\n.q2-editable-field-wrapper:not([hidden]) {\n display: flex;\n}\n\n.q2-editable-field-wrapper.editing {\n align-items: flex-end;\n}\n\n:host([block]) {\n display:block;\n width: 100%;\n .q2-editable-field-wrapper:not([hidden]) {\n display: grid;\n grid-template-columns: 1fr auto auto;\n }\n}\n\nq2-input,\n.text-wrapper {\n margin: 0 var(--tct-scale-2, var(--app-scale-2x, 10px)) 0 0;\n}\n\nq2-input {\n flex: 1 1 auto;\n min-width: 170px;\n}\n\n.text-wrapper {\n flex: 0 auto;\n align-self: center;\n display: inline-block;\n}\n\n:host([truncated]) .text-wrapper {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\nq2-btn {\n flex: 0 0 44px;\n}\n\ndl {\n margin: var(--tct-scale-0, var(--app-scale-0x, 0));\n}\n\ndt {\n font-weight: 600;\n}\n\ndd {\n margin-left: var(--tct-scale-0, var(--app-scale-0x, 0));\n display: flex;\n align-items: center;\n}\n","import { Component, State, Prop, h, Listen, Element, Event, EventEmitter, Method, Watch } from '@stencil/core';\nimport { IEventDetail, Q2InputCustomEvent } from 'src/components';\nimport { handleAriaLabel, isEventFromElement, loc, overrideFocus, waitForNextPaint } from 'src/utils';\nimport { Q2Input } from '../q2-input/q2-input';\nimport { IFormatterValueObject } from '../q2-input/q2-input-types';\n\n@Component({ tag: 'q2-editable-field', shadow: true, styleUrl: 'q2-editable-field.scss' })\nexport class Q2EditableField {\n // #region Own Properties\n\n cancelBtnElement: HTMLQ2BtnElement;\n defaultValue: string;\n editBtnElement: HTMLQ2BtnElement;\n innerValue: string;\n inputElement: HTMLQ2InputElement;\n saveBtnElement: HTMLQ2BtnElement;\n scheduledAfterRender: (() => void)[] = [];\n\n // #endregion\n // #region Host HTML Element\n\n @Element()\n hostElement: HTMLElement;\n\n // #endregion\n // #region State Properties\n\n @State()\n formattedValue: string;\n\n // #endregion\n // #region Public Property API\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n /** If `true`, component expands to fill the width of its parent element. */\n @Prop({ reflect: true })\n block: boolean;\n\n /** Disables the edit button and field. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** Controls the edit state of the element. */\n @Prop({ reflect: true, mutable: true })\n editing: boolean = false;\n\n /**\n * Determines the `errors` applied to the `q2-input` element.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for more information.\n */\n @Prop()\n errors: string[];\n\n /**\n * Determines the `formatModifier` applied to the `q2-input` element.\n * @info\n * Only applicable when `type=\"currency\"`.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for more information.\n */\n @Prop({ reflect: true })\n formatModifier: string;\n\n /** Hide's the field's `<label>` element from view. */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * Determines the `hints` applied to the `q2-input` element.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for more information.\n */\n @Prop()\n hints: string[];\n\n /**\n * The visible descriptor for the element.\n * Serves as the input label while in the edit state and as a decorative label for the read state when `persistentLabel` is `true`.\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string = '';\n\n /**\n * Determines the `maxLength` applied to the `q2-input`.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for more information.\n */\n @Prop({ reflect: true })\n maxlength: number;\n\n /** Displays the provided label in the read state. */\n @Prop({ reflect: true })\n persistentLabel: boolean;\n\n /** Shortens long values with ellipses instead of splitting into multiple lines. */\n @Prop({ reflect: true })\n truncated: boolean;\n\n /**\n * Determines the `type` applied to the `q2-input` element.\n *\n * See [q2-input](https://tecton.q2developer.com/design-system/q2-input/) for all `type` values.\n */\n @Prop({ reflect: true })\n type: Q2Input['type'];\n\n /** Serves as the visible text while in the read state, and the default value of the input while in the edit state. */\n @Prop({ reflect: true, mutable: true })\n value: string = '';\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the 'Edit', 'Cancel', or 'Save' buttons are clicked.\n *\n * The event detail will not include a `value` or `formattedValue` if the event name is 'edit' or 'cancel'.\n *@info\n * If you are utilizing events to provide input validation, it is recommended you use the `input` event, not the `change` event.\n */\n @Event()\n change: EventEmitter<{\n editing: boolean;\n name: 'edit' | 'cancel' | 'save';\n value?: string;\n formattedValue?: string;\n }>;\n\n /**\n * Emitted when the user updates the `q2-input` element in the editing state.\n */\n @Event()\n input: EventEmitter<{ formattedValue: string; value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n handleAriaLabel(this);\n\n this.defaultValue = this.value;\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.forEach(fn => fn());\n this.scheduledAfterRender = [];\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('change')\n onHostElementChange(event: CustomEvent) {\n if (!isEventFromElement(event, this.hostElement) || this.hostElement.onchange) return;\n queueMicrotask(() => {\n switch (event.detail.name) {\n case 'save':\n if (this.hasErrors) {\n this.inputElement.focus();\n break;\n }\n this.value = event.detail.value;\n this.editing = event.detail.editing;\n break;\n\n case 'cancel':\n this.inputElement.value = this.value;\n this.editing = event.detail.editing;\n break;\n\n case 'edit':\n this.editing = event.detail.editing;\n break;\n }\n });\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.hostElement.shadowRoot.querySelector<HTMLElement>(this.editing ? 'q2-input' : 'q2-btn.begin-edit').focus();\n }\n\n @Listen('formatted')\n inputFormatted(event: CustomEvent<IFormatterValueObject>) {\n this.formattedValue = event.detail.formattedValue;\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates clicking the cancel button, which will hide the `<q2-input>` field.\n *\n * @testOnly\n */\n @Method()\n clickCancel() {\n if (!this.editing) return;\n this.cancelBtnElement?.click();\n }\n\n /**\n * Emulates clicking the edit button, which will display the `<q2-input>` field.\n *\n * @testOnly\n */\n @Method()\n clickEdit() {\n if (this.editing) return;\n this.editBtnElement?.click();\n }\n\n /**\n * Emulates clicking the save button, saving value in the `<q2-input>` field, and emitting a `change` event.\n *\n * @testOnly\n */\n @Method()\n clickSave() {\n if (!this.editing) return;\n this.saveBtnElement?.click();\n }\n\n /**\n * Emulates clicking the edit button, and setting the value of the `<q2-input>` field.\n *\n * If the `clickSave` argument is `true` (default), the save button will be clicked after the value is set, and a\\\n * `change` event will be emitted.\n *\n * @testOnly\n */\n @Method()\n async setValue(value: string, options: { clickSave?: boolean } = { clickSave: true }) {\n await this.clickEdit();\n await waitForNextPaint();\n\n await this.inputElement.setValue(value);\n\n if (options.clickSave) {\n await this.clickSave();\n await waitForNextPaint();\n }\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('editing')\n observesEditing(newValue: boolean, oldValue: boolean) {\n if (newValue === oldValue) return;\n this.scheduledAfterRender.push(this.hostElement.focus);\n }\n\n @Watch('errors')\n errorsObserver() {\n const { editing, hasErrors } = this;\n const focusedElement = this.hostElement.shadowRoot.activeElement;\n const isInputFocused = focusedElement?.tagName === 'Q2-INPUT';\n if (isInputFocused || !focusedElement || !editing || !hasErrors) return;\n this.inputElement.focus();\n }\n\n // #endregion\n // #region Local Methods\n\n get hasErrors(): boolean {\n return Array.isArray(this.errors) && !!this.errors.length;\n }\n\n get hasHints(): boolean {\n return Array.isArray(this.hints) && !!this.hints.length;\n }\n\n get locLabel() {\n return (this.label && loc(this.label)) || '';\n }\n\n get wrapperClass() {\n return `q2-editable-field-wrapper ${this.editing ? 'editing' : ''}`;\n }\n\n cancelClick = (event?: MouseEvent) => {\n event?.stopPropagation();\n this.change.emit({ editing: false, name: 'cancel' });\n this.inputElement.setValue(this.defaultValue);\n };\n\n editClick = (event: MouseEvent) => {\n event?.stopPropagation();\n this.change.emit({ editing: true, name: 'edit' });\n };\n\n generateEditStateDOM() {\n return (\n <div\n class={this.wrapperClass}\n hidden={!this.editing}\n >\n <q2-input\n ref={el => (this.inputElement = el)}\n label={this.locLabel}\n hideLabel={this.hideLabel}\n value={this.value}\n hints={this.hasHints ? this.hints : undefined}\n errors={this.hasErrors ? this.errors : undefined}\n type={this.type}\n disabled={this.disabled}\n formatModifier={this.formatModifier}\n maxlength={this.maxlength}\n test-id=\"editableInput\"\n onInput={this.inputInput}\n onChange={this.inputChange}\n onKeyDown={this.inputKeyDown}\n onClick={this.inputClick}\n />\n <q2-btn\n ref={el => (this.cancelBtnElement = el)}\n class=\"cancel-edit\"\n label={`${loc('tecton.element.editableField.cancel')} ${this.locLabel}`}\n hide-label\n test-id=\"cancelButton\"\n onClick={this.cancelClick}\n >\n <q2-icon type=\"close\" />\n </q2-btn>\n <q2-btn\n ref={el => (this.saveBtnElement = el)}\n class=\"save-edit\"\n label={`${loc('tecton.element.editableField.save')} ${this.locLabel}`}\n hide-label\n test-id=\"saveButton\"\n onClick={this.saveClick}\n >\n <q2-icon type=\"checkmark\" />\n </q2-btn>\n </div>\n );\n }\n\n generateReadStateDOM() {\n if (this.persistentLabel && this.locLabel) {\n return (\n <div\n class={this.wrapperClass}\n hidden={this.editing}\n >\n <dl>\n <dt class=\"read-state-label\">{this.locLabel}</dt>\n <dd>\n <span class=\"text-wrapper\">{this.formattedValue || this.value}</span>\n <q2-btn\n ref={el => (this.editBtnElement = el)}\n class=\"begin-edit\"\n label={`${loc('tecton.element.editableField.edit')} ${this.locLabel}`}\n hide-label\n disabled={this.disabled}\n test-id=\"editButton\"\n onClick={this.editClick}\n >\n <q2-icon type=\"edit\" />\n </q2-btn>\n </dd>\n </dl>\n </div>\n );\n }\n return (\n <div\n class={this.wrapperClass}\n hidden={this.editing}\n >\n <div class=\"text-wrapper\">{this.formattedValue || this.value}</div>\n <q2-btn\n ref={el => (this.editBtnElement = el)}\n class=\"begin-edit\"\n label={`${loc('tecton.element.editableField.edit')} ${this.locLabel}`}\n hide-label\n disabled={this.disabled}\n test-id=\"editButton\"\n onClick={this.editClick}\n >\n <q2-icon type=\"edit\" />\n </q2-btn>\n </div>\n );\n }\n\n inputChange = (e: CustomEvent) => {\n e.stopPropagation();\n };\n\n inputClick = (event: MouseEvent) => {\n event.stopPropagation();\n };\n\n inputInput = (event: Q2InputCustomEvent<IEventDetail> & InputEvent) => {\n event.stopPropagation();\n this.input.emit(event.detail);\n this.formattedValue = event.detail.formattedValue;\n this.innerValue = event.detail.value;\n };\n\n inputKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' || e.key === 'Esc') {\n e.preventDefault();\n this.cancelClick();\n return;\n }\n\n if (e.key === 'Enter') {\n e.preventDefault();\n this.saveClick();\n return;\n }\n };\n\n saveClick = (event?: MouseEvent) => {\n event && event.stopPropagation();\n const valueFromInputProp = this.hostElement.shadowRoot.querySelector('q2-input').value;\n this.defaultValue = valueFromInputProp;\n this.change.emit({\n editing: false,\n name: 'save',\n value: this.innerValue || valueFromInputProp,\n formattedValue: this.formattedValue || valueFromInputProp,\n });\n };\n\n // #endregion\n // #region Render Methods\n\n render() {\n return (\n <div>\n {this.generateEditStateDOM()}\n {this.generateReadStateDOM()}\n </div>\n );\n }\n\n // #endregion\n}\n"],"version":3}
@@ -16,7 +16,7 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy(JSON.parse("[[\"q2-pagination\",[[1,\"q2-pagination\",{\"alignment\":[1],\"autoSize\":[1540,\"auto-size\"],\"page\":[1538],\"pages\":[1538],\"pagesOnly\":[1540,\"pages-only\"],\"perPage\":[1538,\"per-page\"],\"perPageIncrements\":[16],\"recordsOnly\":[1540,\"records-only\"],\"recordType\":[1,\"record-type\"],\"total\":[514],\"isSmall\":[32],\"clickFirstPage\":[64],\"clickLastPage\":[64],\"clickNextPage\":[64],\"clickPreviousPage\":[64],\"selectPerPageIncrementValue\":[64],\"setPageValue\":[64]},[[0,\"focus\",\"onHostElementFocus\"]],{\"recordsOnly\":[\"manageResizeObserver\"],\"pagesOnly\":[\"manageResizeObserver\"],\"autoSize\":[\"manageResizeObserver\"]}]]],[\"q2-calendar\",[[1,\"q2-calendar\",{\"ariaLabel\":[1537,\"aria-label\"],\"assume\":[513],\"buttonLabel\":[513,\"button-label\"],\"calendarLabel\":[513,\"calendar-label\"],\"clearable\":[516],\"cutoffTime\":[513,\"cutoff-time\"],\"daysOfWeekChecksum\":[514,\"days-of-week-checksum\"],\"disabled\":[516],\"disabledMsg\":[513,\"disabled-msg\"],\"disclaimer\":[513],\"displayFormat\":[513,\"display-format\"],\"endDate\":[513,\"end-date\"],\"errors\":[1040],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[1040],\"invalid\":[1540],\"invalidDates\":[16],\"label\":[1537],\"onsuccess\":[16],\"open\":[1540],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverAlignment\":[1,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"startDate\":[513,\"start-date\"],\"typeable\":[516],\"validDates\":[16],\"value\":[1537],\"dateList\":[32],\"hintMessage\":[32],\"hintMessageType\":[32],\"keyboardSelection\":[32],\"typedValue\":[32],\"closePopover\":[64],\"openPopover\":[64],\"setValue\":[64],\"typeValue\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"clear\",\"handleClear\"],[0,\"error\",\"defaultErrorHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"],[0,\"success\",\"defaultSuccessHandler\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"cutoffTime\":[\"cutoffTimeObserver\"],\"daysOfWeekChecksum\":[\"daysOfWeekChecksumObserver\"],\"endDate\":[\"endDateObserver\"],\"invalidDates\":[\"invalidDatesObserver\"],\"popDirection\":[\"popDirectionHandler\"],\"startDate\":[\"startDateObserver\"],\"typeable\":[\"typeableChanged\"],\"validDates\":[\"validDatesObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-action-sheet\",[[1,\"q2-action-sheet\",{\"data\":[1040],\"hideClose\":[4,\"hide-close\"],\"title\":[1],\"isScrollable\":[32],\"renderStatus\":[32],\"hide\":[64],\"show\":[64]}]]],[\"q2-dropdown\",[[1,\"q2-dropdown\",{\"additionalContext\":[513,\"additional-context\"],\"alignment\":[513],\"ariaLabel\":[1537,\"aria-label\"],\"block\":[516],\"context\":[513],\"contextValue\":[513,\"context-value\"],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"icon\":[513],\"label\":[1537],\"name\":[513],\"open\":[1540],\"popDirection\":[513,\"pop-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"resolvedType\":[513,\"resolved-type\"],\"type\":[513],\"closePopover\":[64],\"openPopover\":[64],\"selectItem\":[64],\"selectRemoveItem\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"additionalContext\":[\"additionalContextHandler\"],\"alignment\":[\"alignmentHandler\"],\"ariaLabel\":[\"ariaLabelHandler\"],\"context\":[\"contextHandler\"],\"contextValue\":[\"contextValueHandler\"],\"name\":[\"nameHandler\"],\"popDirection\":[\"popDirectionHandler\"],\"resolvedType\":[\"resolvedTypeHandler\"]}]]],[\"q2-data-table\",[[1,\"q2-data-table\",{\"bordered\":[1544],\"caption\":[1025],\"clickable\":[1540],\"density\":[1537],\"emptyIcon\":[513,\"empty-icon\"],\"emptyMessage\":[513,\"empty-message\"],\"headers\":[1040],\"hideCaption\":[1540,\"hide-caption\"],\"hideClickable\":[1028,\"hide-clickable\"],\"loading\":[1540],\"rows\":[1040],\"selectable\":[1540],\"selectMode\":[1025,\"select-mode\"],\"shadowed\":[1540],\"striped\":[516],\"allRowsSelected\":[32],\"checkSlotCount\":[32],\"hasDropdowns\":[32],\"hasExpandableRows\":[32],\"hasRowData\":[32],\"serializedHeaders\":[32],\"serializedRows\":[32],\"someRowsSelected\":[32],\"clickRow\":[64],\"getCellContent\":[64],\"sortColumn\":[64],\"toggleRowExpansion\":[64],\"toggleRowSelect\":[64],\"toggleSelectAllRows\":[64]},[[0,\"click\",\"onClickListener\"],[0,\"selectAllRows\",\"onSelectAllRows\"]],{\"headers\":[\"headersHandler\"],\"rows\":[\"rowsHandler\"],\"selectable\":[\"selectableHandler\"]}]]],[\"q2-editable-field\",[[1,\"q2-editable-field\",{\"ariaLabel\":[1537,\"aria-label\"],\"block\":[516],\"disabled\":[516],\"editing\":[1540],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[16],\"label\":[1537],\"maxlength\":[514],\"persistentLabel\":[516,\"persistent-label\"],\"truncated\":[516],\"type\":[513],\"value\":[1537],\"formattedValue\":[32],\"clickCancel\":[64],\"clickEdit\":[64],\"clickSave\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"editing\":[\"observesEditing\"],\"errors\":[\"errorsObserver\"]}]]],[\"q2-pill\",[[1,\"q2-pill\",{\"active\":[1540],\"borderless\":[516],\"disabled\":[516],\"hoist\":[4],\"label\":[513],\"maxLength\":[514,\"max-length\"],\"multiple\":[516],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"selectedOptions\":[1040],\"theme\":[513],\"value\":[1537],\"hasPopoverBottom\":[32],\"hasPopoverTop\":[32],\"optionCount\":[32],\"selectedOptionElements\":[32],\"closePopover\":[64],\"openPopover\":[64],\"setValue\":[64]},[[0,\"displayChanged\",\"handleSelectedDisplay\"],[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"selectedOptions\":[\"selectedOptionsChanged\"],\"value\":[\"valueChanged\"]}]]],[\"q2-tag\",[[1,\"q2-tag\",{\"hoist\":[4],\"label\":[513],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"theme\":[513],\"optionCount\":[32],\"closePopover\":[64],\"openPopover\":[64],\"selectOption\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]]]]],[\"q2-carousel\",[[4,\"q2-carousel\",{\"ariaLabel\":[513,\"aria-label\"],\"autoPlay\":[516,\"auto-play\"],\"framelessPanes\":[516,\"frameless-panes\"],\"fullWidthPanes\":[516,\"full-width-panes\"],\"hidePagination\":[516,\"hide-pagination\"],\"index\":[1538],\"label\":[513],\"showNavigationArrows\":[516,\"show-navigation-arrows\"],\"ariaLiveValue\":[32],\"autoPlayInProgress\":[32],\"carouselWrapperWidth\":[32],\"compactMode\":[32],\"currentPaneCount\":[32],\"selectCarouselPane\":[64],\"togglePlayPause\":[64]},[[0,\"clickCarouselPane\",\"carouselPaneClicked\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"carouselWrapperWidth\":[\"carouselWrapperWidthChanged\"],\"framelessPanes\":[\"framelessPanesChanged\",\"revampCarousel\"],\"fullWidthPanes\":[\"revampCarousel\"],\"compactMode\":[\"revampCarousel\"],\"autoPlay\":[\"revampCarousel\"],\"index\":[\"indexChanged\"]}]]],[\"q2-chart-donut\",[[1,\"q2-chart-donut\",{\"chartName\":[513,\"chart-name\"],\"data\":[16],\"format\":[513],\"hoverScaleSize\":[2,\"hover-scale-size\"],\"innerRadius\":[1025,\"inner-radius\"],\"isClickable\":[516,\"is-clickable\"],\"minSliceSize\":[1,\"min-slice-size\"],\"outerRadius\":[1025,\"outer-radius\"],\"selectedId\":[1025,\"selected-id\"],\"selectedOffset\":[2,\"selected-offset\"],\"showLegend\":[516,\"show-legend\"],\"summaryIcon\":[513,\"summary-icon\"],\"summaryName\":[513,\"summary-name\"],\"hoveredId\":[32],\"legendData\":[32],\"clearSelection\":[64],\"getChartOptions\":[64],\"selectById\":[64],\"selectByIndex\":[64],\"selectDataPoint\":[64]},[[0,\"focus\",\"delegateFocus\"]],{\"chartName\":[\"propsUpdates\"],\"innerRadius\":[\"propsUpdates\",\"innerRadiusUpdated\"],\"outerRadius\":[\"propsUpdates\",\"outerRadiusUpdated\"],\"minSliceSize\":[\"propsUpdates\"],\"hoverScaleSize\":[\"propsUpdates\"],\"selectedOffset\":[\"propsUpdates\"],\"data\":[\"dataUpdated\"],\"selectedId\":[\"checkSelectedId\"]}]]],[\"q2-month-picker\",[[1,\"q2-month-picker\",{\"disabledMonths\":[16],\"today\":[1],\"year\":[1538],\"focusedIndex\":[32],\"selectedIndex\":[32],\"showYearLayer\":[32]}]]],[\"q2-section\",[[1,\"q2-section\",{\"collapsible\":[516],\"expanded\":[1540],\"label\":[513],\"noCollapseIcon\":[516,\"no-collapse-icon\"],\"contentHeight\":[32],\"hasYieldedHeader\":[32],\"hideContent\":[32],\"collapse\":[64],\"expand\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"collapsible\":[\"collapsibleObserver\"],\"expanded\":[\"expandedObserver\"]}]]],[\"q2-stepper\",[[1,\"q2-stepper\",{\"currentStep\":[1538,\"current-step\"],\"lastEnabledStep\":[1026,\"last-enabled-step\"],\"stepCount\":[1026,\"step-count\"],\"contentChangeTriggerCount\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"selectStep\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"contentChange\",\"contentChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStep\":[\"currentStepChanged\"]}]]],[\"q2-card\",[[1,\"q2-card\",{\"avatarIcon\":[513,\"avatar-icon\"],\"avatarInitials\":[513,\"avatar-initials\"],\"avatarName\":[513,\"avatar-name\"],\"avatarSrc\":[513,\"avatar-src\"],\"bar\":[513],\"description\":[513],\"isSmall\":[516,\"is-small\"],\"isStatic\":[516,\"is-static\"],\"isTouch\":[516,\"is-touch\"],\"target\":[513],\"title\":[513],\"type\":[513],\"url\":[513],\"isAutoSmall\":[32],\"isAutoTouch\":[32]},[[0,\"focus\",\"onHostElementFocus\"]]]]],[\"q2-action-group\",[[1,\"q2-action-group\",{\"orientationThreshold\":[2,\"orientation-threshold\"],\"orientation\":[513],\"fullWidth\":[516,\"full-width\"],\"autoOrientation\":[32]},null,{\"orientation\":[\"toggleHiddenForOneFrame\"]}]]],[\"q2-checkbox-group\",[[1,\"q2-checkbox-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"optional\":[516],\"readonly\":[516],\"value\":[1040],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"]],{\"disabled\":[\"disabledObserver\"],\"readonly\":[\"readonlyObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-link\",[[1,\"q2-link\",{\"disabled\":[516],\"href\":[513],\"label\":[513],\"referrerpolicy\":[513],\"target\":[513],\"tctTitle\":[513,\"tct-title\"],\"variant\":[513],\"clickLink\":[64]}]]],[\"q2-radio-group\",[[1,\"q2-radio-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"name\":[513],\"optional\":[516],\"readonly\":[516],\"tileAlignment\":[513,\"tile-alignment\"],\"tilelayout\":[1540],\"tileLayout\":[1540,\"tile-layout\"],\"value\":[1025],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"],[0,\"keydown\",\"keydownHandler\"]],{\"disabled\":[\"disabledUpdated\"],\"name\":[\"nameUpdated\"],\"readonly\":[\"readonlyUpdated\"],\"tilelayout\":[\"handleDeprecatedTilelayout\"],\"tileLayout\":[\"tileLayoutUpdated\"],\"value\":[\"valueUpdated\"]}]]],[\"q2-stepper-vertical\",[[1,\"q2-stepper-vertical\",{\"currentStepId\":[1537,\"current-step-id\"],\"structuredPanes\":[32],\"selectStep\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStepId\":[\"currentStepChanged\"]}]]],[\"q2-textarea\",[[1,\"q2-textarea\",{\"cols\":[514],\"disabled\":[516],\"errors\":[16],\"hideLabel\":[516,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"label\":[513],\"maxlength\":[1538],\"optional\":[516],\"placeholder\":[513],\"readonly\":[516],\"resize\":[513],\"rows\":[514],\"spellcheck\":[516],\"value\":[1025],\"downParams\":[32],\"hasFocus\":[32],\"screenReaderCharacterCount\":[32],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"onHostElementFocus\"],[0,\"input\",\"onHostElementInput\"]],{\"cols\":[\"colsObserver\"],\"errors\":[\"errorsObserver\"],\"hints\":[\"hintsObserver\"],\"maxlength\":[\"maxlengthObserver\"],\"rows\":[\"rowsObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-carousel-pane\",[[4,\"q2-carousel-pane\",{\"index\":[2],\"isActivePane\":[516,\"is-active-pane\"],\"label\":[513],\"siblingCount\":[2,\"sibling-count\"],\"slotFrameless\":[516,\"slot-frameless\"]},null,{\"isActivePane\":[\"determineDisabledContent\"]}]]],[\"q2-chart-area\",[[1,\"q2-chart-area\",{\"alignChartName\":[513,\"align-chart-name\"],\"areaColor\":[513,\"area-color\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"data\":[16],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridLines\":[513,\"grid-lines\"],\"gridPadding\":[16],\"hideNameAxisLabels\":[516,\"hide-name-axis-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"lineColor\":[513,\"line-color\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"pointerLineColor\":[513,\"pointer-line-color\"],\"pointerLineStyle\":[513,\"pointer-line-style\"],\"showChartName\":[516,\"show-chart-name\"],\"showDatapointLabels\":[516,\"show-datapoint-labels\"],\"showGradient\":[516,\"show-gradient\"],\"hoverDataPoint\":[64]},null,{\"data\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"lineColor\":[\"propsUpdates\"],\"pointerLineColor\":[\"propsUpdates\"],\"pointerLineStyle\":[\"propsUpdates\"],\"areaColor\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"dataNamesWidth\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"hideNameAxisLabels\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"offsetDataValues\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"showDatapointLabels\":[\"propsUpdates\"],\"showGradient\":[\"propsUpdates\"],\"gridLines\":[\"propsUpdates\"],\"gridPadding\":[\"propsUpdates\"]}]]],[\"q2-chart-bar\",[[1,\"q2-chart-bar\",{\"alignChartName\":[513,\"align-chart-name\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"color\":[513],\"data\":[16],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridPadding\":[16],\"hideBarLabels\":[516,\"hide-bar-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"orientation\":[513],\"showChartName\":[516,\"show-chart-name\"],\"sort\":[516]},null,{\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"color\":[\"propsUpdates\"],\"hideBarLabels\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"orientation\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"sort\":[\"propsUpdates\"],\"data\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"gridPadding\":[\"propsUpdates\"]}]]],[\"q2-currency\",[[1,\"q2-currency\",{\"amount\":[514],\"currency\":[513],\"locale\":[513],\"signDisplay\":[513,\"sign-display\"],\"size\":[513],\"slotSize\":[513,\"slot-size\"],\"displayedMessageValue\":[64]},null,{\"amount\":[\"propsUpdated\"],\"currency\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-detail\",[[1,\"q2-detail\",{\"alignment\":[513],\"description\":[513],\"label\":[513],\"size\":[513],\"stacked\":[516]}]]],[\"q2-example\",[[1,\"q2-example\",{\"content\":[1],\"disabled\":[4],\"type\":[1],\"isValidated\":[32],\"status\":[32],\"close\":[64],\"openMenu\":[64]},[[0,\"click\",\"onClick\"],[1,\"drag\",\"onDrag\"]],{\"content\":[\"contentChanged\"],\"status\":[\"statusChanged\"]}]]],[\"q2-formatted-text\",[[1,\"q2-formatted-text\",{\"value\":[514],\"locale\":[513],\"minimumIntegerDigits\":[2,\"minimum-integer-digits\"],\"minimumFractionDigits\":[2,\"minimum-fraction-digits\"],\"maximumFractionDigits\":[2,\"maximum-fraction-digits\"],\"signDisplay\":[513,\"sign-display\"],\"size\":[513],\"slotSize\":[513,\"slot-size\"]},null,{\"value\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-item\",[[1,\"q2-item\",{\"clickable\":[516],\"renderTrigger\":[32]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-list\",[[1,\"q2-list\",{\"bordered\":[1540],\"label\":[513],\"renderTrigger\":[32]}]]],[\"q2-loading-element\",[[0,\"q2-loading-element\",{\"borderRadius\":[513,\"border-radius\"],\"height\":[513],\"shape\":[513],\"width\":[513]}]]],[\"q2-loc\",[[1,\"q2-loc\",{\"substitutions\":[16],\"value\":[1537],\"displayValue\":[32]},null,{\"value\":[\"propHandler\"],\"substitutions\":[\"propHandler\"]}]]],[\"q2-radio\",[[1,\"q2-radio\",{\"ariaLabel\":[1537,\"aria-label\"],\"checked\":[1540],\"disabled\":[516],\"groupDisabled\":[4,\"group-disabled\"],\"groupReadonly\":[4,\"group-readonly\"],\"groupTileLayout\":[4,\"group-tile-layout\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"tabIndex\":[2,\"tab-index\"],\"value\":[513]},[[0,\"click\",\"onHostClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"checked\":[\"checkedObserver\"]}]]],[\"q2-relative-time\",[[1,\"q2-relative-time\",{\"baseDate\":[513,\"base-date\"],\"date\":[513],\"locale\":[513],\"messageFormat\":[513,\"message-format\"],\"numeric\":[513],\"sync\":[1540],\"unit\":[513],\"displayedMessage\":[32],\"displayedMessageValue\":[64],\"validBaseDateProp\":[64],\"validDateProp\":[64]},null,{\"messageFormat\":[\"updateMessage\"],\"locale\":[\"updateMessage\"],\"date\":[\"updateMessage\"],\"baseDate\":[\"updateMessage\"],\"numeric\":[\"updateMessage\"],\"unit\":[\"updateMessage\"],\"sync\":[\"syncUpdated\"]}]]],[\"q2-stepper-pane\",[[1,\"q2-stepper-pane\",{\"description\":[513],\"isActive\":[516,\"is-active\"],\"label\":[513],\"showWithChildren\":[516,\"show-with-children\"],\"status\":[513],\"isChildActive\":[32]},[[0,\"activeChange\",\"checkForActiveChildren\"]],{\"isActive\":[\"isActiveChanged\"],\"label\":[\"labelOrDescriptionChanged\"],\"description\":[\"labelOrDescriptionChanged\"],\"showWithChildren\":[\"checkForActiveChildren\"],\"status\":[\"statusChanged\"]}]]],[\"q2-tooltip\",[[1,\"q2-tooltip\",{\"block\":[516],\"focusable\":[516],\"immediate\":[516],\"label\":[513],\"multiline\":[516],\"persistent\":[516],\"position\":[513],\"focusClass\":[32]},[[2,\"focus\",\"focusCaptureHandler\"],[0,\"focus\",\"focusHandler\"],[0,\"focusout\",\"focusOutHandler\"],[0,\"keyup\",\"keyUpHandler\"]]]]],[\"tecton-tab-pane\",[[1,\"tecton-tab-pane\",{\"authPayload\":[16],\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"guid\":[2],\"index\":[2],\"label\":[513],\"minHeight\":[513,\"min-height\"],\"moduleId\":[513,\"module-id\"],\"name\":[513],\"provided\":[516],\"selected\":[516],\"showForm\":[4,\"show-form\"],\"url\":[513],\"value\":[513],\"_showForm\":[32]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"],\"selected\":[\"selectedObserver\"]}]]],[\"q2-optgroup\",[[1,\"q2-optgroup\",{\"disabled\":[516],\"label\":[513],\"hidden\":[32]},null,{\"disabled\":[\"disabledWatcher\"]}]]],[\"q2-resize-observer\",[[1,\"q2-resize-observer\",{\"disabled\":[516],\"getCurrentResizeEntries\":[64]},null,{\"disabled\":[\"disabledUpdated\"]}]]],[\"q2-badge_7\",[[1,\"q2-tab-container\",{\"color\":[513],\"name\":[513],\"noPrint\":[516,\"no-print\"],\"type\":[513],\"value\":[1537],\"hasLeft\":[32],\"hasRight\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"tabs\":[32],\"selectTab\":[64]},[[0,\"badge\",\"onBadge\"],[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"onFocus\"],[9,\"resize\",\"onResize\"]],{\"name\":[\"nameObserver\"],\"value\":[\"valueObserver\"]}],[1,\"q2-tab-pane\",{\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"guid\":[2],\"index\":[2],\"label\":[513],\"name\":[513],\"selected\":[516],\"value\":[513]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"]}],[1,\"q2-input\",{\"_preventEntry\":[1028,\"_prevent-entry\"],\"_role\":[1025],\"ariaActivedescendant\":[1,\"aria-activedescendant\"],\"ariaControls\":[1,\"aria-controls\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHaspopup\":[1,\"aria-haspopup\"],\"ariaLabel\":[1537,\"aria-label\"],\"ariaOwns\":[1,\"aria-owns\"],\"autocapitalize\":[513],\"autocomplete\":[513],\"autocorrect\":[513],\"autofocus\":[516],\"badgeTheme\":[513,\"badge-theme\"],\"badgeValue\":[513,\"badge-value\"],\"clearable\":[516],\"current\":[1],\"disabled\":[516],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"iconLeft\":[513,\"icon-left\"],\"iconRight\":[513,\"icon-right\"],\"label\":[1537],\"max\":[514],\"maxlength\":[1538],\"min\":[514],\"optional\":[516],\"pattern\":[1537],\"placeholder\":[513],\"pseudo\":[516],\"readonly\":[516],\"role\":[1],\"showCount\":[516,\"show-count\"],\"showVisibilityToggle\":[516,\"show-visibility-toggle\"],\"step\":[514],\"textHidden\":[1540,\"text-hidden\"],\"type\":[513],\"validity\":[1040],\"value\":[1025],\"checkSlotCount\":[32],\"formattedValueObject\":[32],\"hasFocus\":[32],\"isSmall\":[32],\"checkValidity\":[64],\"clearValue\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"clearable\":[\"manageClearableResizeObserver\"],\"errors\":[\"errorsObserver\"],\"formatModifier\":[\"formatModifierObserver\"],\"formattedValueObject\":[\"formattedValueObjectObserver\"],\"hints\":[\"hintsObserver\"],\"type\":[\"typeObserver\"],\"value\":[\"valueObserver\"]}],[1,\"q2-badge\",{\"maxLength\":[514,\"max-length\"],\"size\":[513],\"status\":[513],\"theme\":[513],\"value\":[514]}],[1,\"q2-btn\",{\"_role\":[513],\"active\":[516],\"ariaControls\":[1,\"aria-controls\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHasPopup\":[1,\"aria-has-popup\"],\"ariaLabel\":[1537,\"aria-label\"],\"ariaPressed\":[1,\"aria-pressed\"],\"ariaSelected\":[1,\"aria-selected\"],\"badge\":[516],\"block\":[516],\"color\":[1537],\"description\":[1],\"disabled\":[516],\"fab\":[516],\"hideLabel\":[1540,\"hide-label\"],\"intent\":[1537],\"label\":[1537],\"loading\":[516],\"size\":[513],\"tabIndex\":[2,\"tab-index\"],\"type\":[513],\"iconPosition\":[32]},[[2,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"size\":[\"sizeObserver\"]}],[1,\"q2-loading\",{\"ariaLabel\":[1537,\"aria-label\"],\"counts\":[513],\"inline\":[516],\"label\":[1537],\"modifiers\":[513],\"shape\":[513],\"type\":[513]},null,{\"ariaLabel\":[\"ariaLabelObserver\"]}],[1,\"q2-icon\",{\"inline\":[516],\"label\":[513],\"type\":[513],\"iconClone\":[32]},null,{\"type\":[\"handleIcon\"]}]]],[\"q2-select\",[[1,\"q2-select\",{\"ariaLabel\":[1537,\"aria-label\"],\"clearable\":[516],\"disabled\":[516],\"errors\":[16],\"hideLabel\":[1540,\"hide-label\"],\"hoist\":[4],\"invalid\":[516],\"label\":[1537],\"listLabel\":[1,\"list-label\"],\"minRows\":[2,\"min-rows\"],\"multilineOptions\":[516,\"multiline-options\"],\"multiple\":[516],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"searchable\":[516],\"selectedOptions\":[1040],\"value\":[1025],\"hasCustomDisplay\":[32],\"hasPopoverBottom\":[32],\"hasPopoverTop\":[32],\"inputFocused\":[32],\"open\":[32],\"prioritizeSearch\":[32],\"searchText\":[32],\"showSelected\":[32],\"statusMessage\":[32],\"structuredSelectedOptions\":[32],\"closePopover\":[64],\"openPopover\":[64],\"searchOptions\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"clear\",\"onClearHandler\"],[0,\"displayChanged\",\"handleSelectedDisplay\"],[0,\"focus\",\"delegateFocus\"],[0,\"focusout\",\"handleFocusout\"],[0,\"input\",\"onHostElementInput\"],[0,\"keydown\",\"keydownHandler\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"multilineOptions\":[\"handleMultilineOptionsUpdate\"],\"open\":[\"openChanged\"],\"value\":[\"buildStructuredSelectedOptions\",\"valueUpdated\"],\"selectedOptions\":[\"buildStructuredSelectedOptions\"]}]]],[\"q2-avatar\",[[1,\"q2-avatar\",{\"icon\":[1],\"initials\":[513],\"name\":[513],\"src\":[513],\"badSrc\":[32],\"isLoaded\":[32]},null,{\"src\":[\"srcDidUpdate\"]}]]],[\"q2-checkbox\",[[1,\"q2-checkbox\",{\"alignment\":[513],\"ariaLabel\":[1537,\"aria-label\"],\"checked\":[1540],\"description\":[513],\"disabled\":[516],\"groupDisabled\":[516,\"group-disabled\"],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"indeterminate\":[516],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"slotReadonly\":[516,\"slot-readonly\"],\"type\":[513],\"value\":[513]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-dropdown-item\",[[1,\"q2-dropdown-item\",{\"ariaLabel\":[1537,\"aria-label\"],\"disabled\":[516],\"label\":[1537],\"removable\":[516],\"separator\":[516],\"value\":[513],\"q2LocValue\":[32]},[[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-legend\",[[1,\"q2-legend\",{\"data\":[16],\"format\":[513],\"hoveredItemId\":[513,\"hovered-item-id\"],\"selectedItemId\":[513,\"selected-item-id\"],\"hoveredItemIndex\":[32],\"selectedItemIndex\":[32]},null,{\"hoveredItemId\":[\"watchHoveredItemId\"],\"selectedItemId\":[\"watchSelectedItemId\"]}]]],[\"q2-message\",[[1,\"q2-message\",{\"appearance\":[513],\"description\":[516],\"type\":[513],\"presentToggle\":[32],\"present\":[64]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-option\",[[1,\"q2-option\",{\"_multiSelectHidden\":[516,\"_multiselecthidden\"],\"active\":[516],\"disabled\":[516],\"disabledGroup\":[516,\"disabled-group\"],\"display\":[1537],\"multiline\":[516],\"role\":[513],\"selected\":[516],\"value\":[513]},null,{\"display\":[\"displayChangedHandler\"]}]]],[\"q2-option-list\",[[1,\"q2-option-list\",{\"align\":[513],\"customSearch\":[516,\"custom-search\"],\"disabled\":[516],\"label\":[1],\"multiple\":[516],\"noSelect\":[516,\"no-select\"],\"selectedOptions\":[1040],\"showSelected\":[1540,\"show-selected\"],\"type\":[1],\"hasOptions\":[32],\"getContents\":[64],\"getOptions\":[64],\"handleExternalKeydown\":[64],\"setActiveElement\":[64],\"setDefaultActiveElement\":[64]},[[0,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"selectedOptions\":[\"selectedOptionsUpdated\"],\"showSelected\":[\"showSelectedUpdated\"]}]]],[\"click-elsewhere_2\",[[1,\"q2-popover\",{\"align\":[513],\"block\":[516],\"controlElement\":[16],\"direction\":[513],\"maxHeight\":[2,\"max-height\"],\"minHeight\":[2,\"min-height\"],\"mode\":[1],\"open\":[1540],\"currentDirection\":[32],\"show\":[32],\"scrollContainerTo\":[64],\"toggle\":[64]},[[0,\"popoverState\",\"popoverStateHandler\"]],{\"minHeight\":[\"minHeightProvided\"],\"open\":[\"openChanged\"]}],[0,\"click-elsewhere\"]]]]"), options);
19
+ return bootstrapLazy(JSON.parse("[[\"q2-pagination\",[[1,\"q2-pagination\",{\"alignment\":[1],\"autoSize\":[1540,\"auto-size\"],\"page\":[1538],\"pages\":[1538],\"pagesOnly\":[1540,\"pages-only\"],\"perPage\":[1538,\"per-page\"],\"perPageIncrements\":[16],\"recordsOnly\":[1540,\"records-only\"],\"recordType\":[1,\"record-type\"],\"total\":[514],\"isSmall\":[32],\"clickFirstPage\":[64],\"clickLastPage\":[64],\"clickNextPage\":[64],\"clickPreviousPage\":[64],\"selectPerPageIncrementValue\":[64],\"setPageValue\":[64]},[[0,\"focus\",\"onHostElementFocus\"]],{\"recordsOnly\":[\"manageResizeObserver\"],\"pagesOnly\":[\"manageResizeObserver\"],\"autoSize\":[\"manageResizeObserver\"]}]]],[\"q2-calendar\",[[1,\"q2-calendar\",{\"ariaLabel\":[1537,\"aria-label\"],\"assume\":[513],\"buttonLabel\":[513,\"button-label\"],\"calendarLabel\":[513,\"calendar-label\"],\"clearable\":[516],\"cutoffTime\":[513,\"cutoff-time\"],\"daysOfWeekChecksum\":[514,\"days-of-week-checksum\"],\"disabled\":[516],\"disabledMsg\":[513,\"disabled-msg\"],\"disclaimer\":[513],\"displayFormat\":[513,\"display-format\"],\"endDate\":[513,\"end-date\"],\"errors\":[1040],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[1040],\"invalid\":[1540],\"invalidDates\":[16],\"label\":[1537],\"onsuccess\":[16],\"open\":[1540],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverAlignment\":[1,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"startDate\":[513,\"start-date\"],\"typeable\":[516],\"validDates\":[16],\"value\":[1537],\"dateList\":[32],\"hintMessage\":[32],\"hintMessageType\":[32],\"keyboardSelection\":[32],\"typedValue\":[32],\"closePopover\":[64],\"openPopover\":[64],\"setValue\":[64],\"typeValue\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"clear\",\"handleClear\"],[0,\"error\",\"defaultErrorHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"],[0,\"success\",\"defaultSuccessHandler\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"cutoffTime\":[\"cutoffTimeObserver\"],\"daysOfWeekChecksum\":[\"daysOfWeekChecksumObserver\"],\"endDate\":[\"endDateObserver\"],\"invalidDates\":[\"invalidDatesObserver\"],\"popDirection\":[\"popDirectionHandler\"],\"startDate\":[\"startDateObserver\"],\"typeable\":[\"typeableChanged\"],\"validDates\":[\"validDatesObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-action-sheet\",[[1,\"q2-action-sheet\",{\"data\":[1040],\"hideClose\":[4,\"hide-close\"],\"title\":[1],\"isScrollable\":[32],\"renderStatus\":[32],\"hide\":[64],\"show\":[64]}]]],[\"q2-dropdown\",[[1,\"q2-dropdown\",{\"additionalContext\":[513,\"additional-context\"],\"alignment\":[513],\"ariaLabel\":[1537,\"aria-label\"],\"block\":[516],\"context\":[513],\"contextValue\":[513,\"context-value\"],\"disabled\":[516],\"hideLabel\":[1540,\"hide-label\"],\"icon\":[513],\"label\":[1537],\"name\":[513],\"open\":[1540],\"popDirection\":[513,\"pop-direction\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1025,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"resolvedType\":[513,\"resolved-type\"],\"type\":[513],\"closePopover\":[64],\"openPopover\":[64],\"selectItem\":[64],\"selectRemoveItem\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"additionalContext\":[\"additionalContextHandler\"],\"alignment\":[\"alignmentHandler\"],\"ariaLabel\":[\"ariaLabelHandler\"],\"context\":[\"contextHandler\"],\"contextValue\":[\"contextValueHandler\"],\"name\":[\"nameHandler\"],\"popDirection\":[\"popDirectionHandler\"],\"resolvedType\":[\"resolvedTypeHandler\"]}]]],[\"q2-data-table\",[[1,\"q2-data-table\",{\"bordered\":[1544],\"caption\":[1025],\"clickable\":[1540],\"density\":[1537],\"emptyIcon\":[513,\"empty-icon\"],\"emptyMessage\":[513,\"empty-message\"],\"headers\":[1040],\"hideCaption\":[1540,\"hide-caption\"],\"hideClickable\":[1028,\"hide-clickable\"],\"loading\":[1540],\"rows\":[1040],\"selectable\":[1540],\"selectMode\":[1025,\"select-mode\"],\"shadowed\":[1540],\"striped\":[516],\"allRowsSelected\":[32],\"checkSlotCount\":[32],\"hasDropdowns\":[32],\"hasExpandableRows\":[32],\"hasRowData\":[32],\"serializedHeaders\":[32],\"serializedRows\":[32],\"someRowsSelected\":[32],\"clickRow\":[64],\"getCellContent\":[64],\"sortColumn\":[64],\"toggleRowExpansion\":[64],\"toggleRowSelect\":[64],\"toggleSelectAllRows\":[64]},[[0,\"click\",\"onClickListener\"],[0,\"selectAllRows\",\"onSelectAllRows\"]],{\"headers\":[\"headersHandler\"],\"rows\":[\"rowsHandler\"],\"selectable\":[\"selectableHandler\"]}]]],[\"q2-editable-field\",[[1,\"q2-editable-field\",{\"ariaLabel\":[1537,\"aria-label\"],\"block\":[516],\"disabled\":[516],\"editing\":[1540],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hints\":[16],\"label\":[1537],\"maxlength\":[514],\"persistentLabel\":[516,\"persistent-label\"],\"truncated\":[516],\"type\":[513],\"value\":[1537],\"formattedValue\":[32],\"clickCancel\":[64],\"clickEdit\":[64],\"clickSave\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"],[0,\"formatted\",\"inputFormatted\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"editing\":[\"observesEditing\"],\"errors\":[\"errorsObserver\"]}]]],[\"q2-pill\",[[1,\"q2-pill\",{\"active\":[1540],\"borderless\":[516],\"disabled\":[516],\"hoist\":[4],\"label\":[513],\"maxLength\":[514,\"max-length\"],\"multiple\":[516],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"selectedOptions\":[1040],\"theme\":[513],\"value\":[1537],\"hasPopoverBottom\":[32],\"hasPopoverTop\":[32],\"optionCount\":[32],\"selectedOptionElements\":[32],\"closePopover\":[64],\"openPopover\":[64],\"setValue\":[64]},[[0,\"displayChanged\",\"handleSelectedDisplay\"],[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]],{\"selectedOptions\":[\"selectedOptionsChanged\"],\"value\":[\"valueChanged\"]}]]],[\"q2-tag\",[[1,\"q2-tag\",{\"hoist\":[4],\"label\":[513],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"popoverAlignment\":[1025,\"popover-alignment\"],\"popoverDirection\":[1,\"popover-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMinHeight\":[2,\"popover-min-height\"],\"theme\":[513],\"optionCount\":[32],\"closePopover\":[64],\"openPopover\":[64],\"selectOption\":[64]},[[0,\"focus\",\"delegateFocus\"],[0,\"popoverStateChanged\",\"popoverStateHandler\"]]]]],[\"q2-carousel\",[[4,\"q2-carousel\",{\"ariaLabel\":[513,\"aria-label\"],\"autoPlay\":[516,\"auto-play\"],\"framelessPanes\":[516,\"frameless-panes\"],\"fullWidthPanes\":[516,\"full-width-panes\"],\"hidePagination\":[516,\"hide-pagination\"],\"index\":[1538],\"label\":[513],\"showNavigationArrows\":[516,\"show-navigation-arrows\"],\"ariaLiveValue\":[32],\"autoPlayInProgress\":[32],\"carouselWrapperWidth\":[32],\"compactMode\":[32],\"currentPaneCount\":[32],\"selectCarouselPane\":[64],\"togglePlayPause\":[64]},[[0,\"clickCarouselPane\",\"carouselPaneClicked\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"carouselWrapperWidth\":[\"carouselWrapperWidthChanged\"],\"framelessPanes\":[\"framelessPanesChanged\",\"revampCarousel\"],\"fullWidthPanes\":[\"revampCarousel\"],\"compactMode\":[\"revampCarousel\"],\"autoPlay\":[\"revampCarousel\"],\"index\":[\"indexChanged\"]}]]],[\"q2-chart-donut\",[[1,\"q2-chart-donut\",{\"chartName\":[513,\"chart-name\"],\"data\":[16],\"format\":[513],\"hoverScaleSize\":[2,\"hover-scale-size\"],\"innerRadius\":[1025,\"inner-radius\"],\"isClickable\":[516,\"is-clickable\"],\"minSliceSize\":[1,\"min-slice-size\"],\"outerRadius\":[1025,\"outer-radius\"],\"selectedId\":[1025,\"selected-id\"],\"selectedOffset\":[2,\"selected-offset\"],\"showLegend\":[516,\"show-legend\"],\"summaryIcon\":[513,\"summary-icon\"],\"summaryName\":[513,\"summary-name\"],\"hoveredId\":[32],\"legendData\":[32],\"clearSelection\":[64],\"getChartOptions\":[64],\"selectById\":[64],\"selectByIndex\":[64],\"selectDataPoint\":[64]},[[0,\"focus\",\"delegateFocus\"]],{\"chartName\":[\"propsUpdates\"],\"innerRadius\":[\"propsUpdates\",\"innerRadiusUpdated\"],\"outerRadius\":[\"propsUpdates\",\"outerRadiusUpdated\"],\"minSliceSize\":[\"propsUpdates\"],\"hoverScaleSize\":[\"propsUpdates\"],\"selectedOffset\":[\"propsUpdates\"],\"data\":[\"dataUpdated\"],\"selectedId\":[\"checkSelectedId\"]}]]],[\"q2-month-picker\",[[1,\"q2-month-picker\",{\"disabledMonths\":[16],\"today\":[1],\"year\":[1538],\"focusedIndex\":[32],\"selectedIndex\":[32],\"showYearLayer\":[32]}]]],[\"q2-section\",[[1,\"q2-section\",{\"collapsible\":[516],\"expanded\":[1540],\"label\":[513],\"noCollapseIcon\":[516,\"no-collapse-icon\"],\"contentHeight\":[32],\"hasYieldedHeader\":[32],\"hideContent\":[32],\"collapse\":[64],\"expand\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"collapsible\":[\"collapsibleObserver\"],\"expanded\":[\"expandedObserver\"]}]]],[\"q2-stepper\",[[1,\"q2-stepper\",{\"currentStep\":[1538,\"current-step\"],\"lastEnabledStep\":[1026,\"last-enabled-step\"],\"stepCount\":[1026,\"step-count\"],\"contentChangeTriggerCount\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"selectStep\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"contentChange\",\"contentChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStep\":[\"currentStepChanged\"]}]]],[\"q2-card\",[[1,\"q2-card\",{\"avatarIcon\":[513,\"avatar-icon\"],\"avatarInitials\":[513,\"avatar-initials\"],\"avatarName\":[513,\"avatar-name\"],\"avatarSrc\":[513,\"avatar-src\"],\"bar\":[513],\"description\":[513],\"isSmall\":[516,\"is-small\"],\"isStatic\":[516,\"is-static\"],\"isTouch\":[516,\"is-touch\"],\"target\":[513],\"title\":[513],\"type\":[513],\"url\":[513],\"isAutoSmall\":[32],\"isAutoTouch\":[32]},[[0,\"focus\",\"onHostElementFocus\"]]]]],[\"q2-action-group\",[[1,\"q2-action-group\",{\"orientationThreshold\":[2,\"orientation-threshold\"],\"orientation\":[513],\"fullWidth\":[516,\"full-width\"],\"autoOrientation\":[32]},null,{\"orientation\":[\"toggleHiddenForOneFrame\"]}]]],[\"q2-checkbox-group\",[[1,\"q2-checkbox-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"optional\":[516],\"readonly\":[516],\"value\":[1040],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"]],{\"disabled\":[\"disabledObserver\"],\"readonly\":[\"readonlyObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-link\",[[1,\"q2-link\",{\"disabled\":[516],\"href\":[513],\"label\":[513],\"referrerpolicy\":[513],\"target\":[513],\"tctTitle\":[513,\"tct-title\"],\"variant\":[513],\"clickLink\":[64]}]]],[\"q2-radio-group\",[[1,\"q2-radio-group\",{\"disabled\":[516],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[513],\"name\":[513],\"optional\":[516],\"readonly\":[516],\"tileAlignment\":[513,\"tile-alignment\"],\"tilelayout\":[1540],\"tileLayout\":[1540,\"tile-layout\"],\"value\":[1025],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"delegateFocus\"],[0,\"keydown\",\"keydownHandler\"]],{\"disabled\":[\"disabledUpdated\"],\"name\":[\"nameUpdated\"],\"readonly\":[\"readonlyUpdated\"],\"tilelayout\":[\"handleDeprecatedTilelayout\"],\"tileLayout\":[\"tileLayoutUpdated\"],\"value\":[\"valueUpdated\"]}]]],[\"q2-stepper-vertical\",[[1,\"q2-stepper-vertical\",{\"currentStepId\":[1537,\"current-step-id\"],\"structuredPanes\":[32],\"selectStep\":[64]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"],[0,\"statusChange\",\"statusChangeHandler\"]],{\"currentStepId\":[\"currentStepChanged\"]}]]],[\"q2-textarea\",[[1,\"q2-textarea\",{\"cols\":[514],\"disabled\":[516],\"errors\":[16],\"hideLabel\":[516,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"label\":[513],\"maxlength\":[1538],\"optional\":[516],\"placeholder\":[513],\"readonly\":[516],\"resize\":[513],\"rows\":[514],\"spellcheck\":[516],\"value\":[1025],\"downParams\":[32],\"hasFocus\":[32],\"screenReaderCharacterCount\":[32],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"onHostElementFocus\"],[0,\"input\",\"onHostElementInput\"]],{\"cols\":[\"colsObserver\"],\"errors\":[\"errorsObserver\"],\"hints\":[\"hintsObserver\"],\"maxlength\":[\"maxlengthObserver\"],\"rows\":[\"rowsObserver\"],\"value\":[\"valueObserver\"]}]]],[\"q2-carousel-pane\",[[4,\"q2-carousel-pane\",{\"index\":[2],\"isActivePane\":[516,\"is-active-pane\"],\"label\":[513],\"siblingCount\":[2,\"sibling-count\"],\"slotFrameless\":[516,\"slot-frameless\"]},null,{\"isActivePane\":[\"determineDisabledContent\"]}]]],[\"q2-chart-area\",[[1,\"q2-chart-area\",{\"alignChartName\":[513,\"align-chart-name\"],\"areaColor\":[513,\"area-color\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"data\":[16],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridLines\":[513,\"grid-lines\"],\"gridPadding\":[16],\"hideNameAxisLabels\":[516,\"hide-name-axis-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"lineColor\":[513,\"line-color\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"pointerLineColor\":[513,\"pointer-line-color\"],\"pointerLineStyle\":[513,\"pointer-line-style\"],\"showChartName\":[516,\"show-chart-name\"],\"showDatapointLabels\":[516,\"show-datapoint-labels\"],\"showGradient\":[516,\"show-gradient\"],\"hoverDataPoint\":[64]},null,{\"data\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"lineColor\":[\"propsUpdates\"],\"pointerLineColor\":[\"propsUpdates\"],\"pointerLineStyle\":[\"propsUpdates\"],\"areaColor\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"dataNamesWidth\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"hideNameAxisLabels\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"offsetDataValues\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"showDatapointLabels\":[\"propsUpdates\"],\"showGradient\":[\"propsUpdates\"],\"gridLines\":[\"propsUpdates\"],\"gridPadding\":[\"propsUpdates\"]}]]],[\"q2-chart-bar\",[[1,\"q2-chart-bar\",{\"alignChartName\":[513,\"align-chart-name\"],\"chartName\":[513,\"chart-name\"],\"chartSubTitle\":[513,\"chart-sub-title\"],\"color\":[513],\"data\":[16],\"dataNamesOverflow\":[513,\"data-names-overflow\"],\"dataNamesWidth\":[514,\"data-names-width\"],\"format\":[513],\"formatModifier\":[513,\"format-modifier\"],\"gridPadding\":[16],\"hideBarLabels\":[516,\"hide-bar-labels\"],\"hideValueAxisLabels\":[516,\"hide-value-axis-labels\"],\"offsetDataNames\":[516,\"offset-data-names\"],\"offsetDataValues\":[516,\"offset-data-values\"],\"orientation\":[513],\"showChartName\":[516,\"show-chart-name\"],\"sort\":[516]},null,{\"chartName\":[\"propsUpdates\"],\"chartSubTitle\":[\"propsUpdates\"],\"color\":[\"propsUpdates\"],\"hideBarLabels\":[\"propsUpdates\"],\"showChartName\":[\"propsUpdates\"],\"alignChartName\":[\"propsUpdates\"],\"orientation\":[\"propsUpdates\"],\"format\":[\"propsUpdates\"],\"sort\":[\"propsUpdates\"],\"data\":[\"propsUpdates\"],\"offsetDataNames\":[\"propsUpdates\"],\"hideValueAxisLabels\":[\"propsUpdates\"],\"formatModifier\":[\"propsUpdates\"],\"dataNamesOverflow\":[\"propsUpdates\"],\"gridPadding\":[\"propsUpdates\"]}]]],[\"q2-currency\",[[1,\"q2-currency\",{\"amount\":[514],\"currency\":[513],\"locale\":[513],\"signDisplay\":[513,\"sign-display\"],\"size\":[513],\"slotSize\":[513,\"slot-size\"],\"displayedMessageValue\":[64]},null,{\"amount\":[\"propsUpdated\"],\"currency\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-detail\",[[1,\"q2-detail\",{\"alignment\":[513],\"description\":[513],\"label\":[513],\"size\":[513],\"stacked\":[516]}]]],[\"q2-example\",[[1,\"q2-example\",{\"content\":[1],\"disabled\":[4],\"type\":[1],\"isValidated\":[32],\"status\":[32],\"close\":[64],\"openMenu\":[64]},[[0,\"click\",\"onClick\"],[1,\"drag\",\"onDrag\"]],{\"content\":[\"contentChanged\"],\"status\":[\"statusChanged\"]}]]],[\"q2-formatted-text\",[[1,\"q2-formatted-text\",{\"value\":[514],\"locale\":[513],\"minimumIntegerDigits\":[2,\"minimum-integer-digits\"],\"minimumFractionDigits\":[2,\"minimum-fraction-digits\"],\"maximumFractionDigits\":[2,\"maximum-fraction-digits\"],\"signDisplay\":[513,\"sign-display\"],\"size\":[513],\"slotSize\":[513,\"slot-size\"]},null,{\"value\":[\"propsUpdated\"],\"locale\":[\"propsUpdated\"],\"size\":[\"propsUpdated\"],\"slotSize\":[\"propsUpdated\"],\"signDisplay\":[\"propsUpdated\"]}]]],[\"q2-item\",[[1,\"q2-item\",{\"clickable\":[516],\"renderTrigger\":[32]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-list\",[[1,\"q2-list\",{\"bordered\":[1540],\"label\":[513],\"renderTrigger\":[32]}]]],[\"q2-loading-element\",[[0,\"q2-loading-element\",{\"borderRadius\":[513,\"border-radius\"],\"height\":[513],\"shape\":[513],\"width\":[513]}]]],[\"q2-loc\",[[1,\"q2-loc\",{\"substitutions\":[16],\"value\":[1537],\"displayValue\":[32]},null,{\"value\":[\"propHandler\"],\"substitutions\":[\"propHandler\"]}]]],[\"q2-radio\",[[1,\"q2-radio\",{\"ariaLabel\":[1537,\"aria-label\"],\"checked\":[1540],\"disabled\":[516],\"groupDisabled\":[4,\"group-disabled\"],\"groupReadonly\":[4,\"group-readonly\"],\"groupTileLayout\":[4,\"group-tile-layout\"],\"hideLabel\":[1540,\"hide-label\"],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"tabIndex\":[2,\"tab-index\"],\"value\":[513]},[[0,\"click\",\"onHostClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"checked\":[\"checkedObserver\"]}]]],[\"q2-relative-time\",[[1,\"q2-relative-time\",{\"baseDate\":[513,\"base-date\"],\"date\":[513],\"locale\":[513],\"messageFormat\":[513,\"message-format\"],\"numeric\":[513],\"sync\":[1540],\"unit\":[513],\"displayedMessage\":[32],\"displayedMessageValue\":[64],\"validBaseDateProp\":[64],\"validDateProp\":[64]},null,{\"messageFormat\":[\"updateMessage\"],\"locale\":[\"updateMessage\"],\"date\":[\"updateMessage\"],\"baseDate\":[\"updateMessage\"],\"numeric\":[\"updateMessage\"],\"unit\":[\"updateMessage\"],\"sync\":[\"syncUpdated\"]}]]],[\"q2-stepper-pane\",[[1,\"q2-stepper-pane\",{\"description\":[513],\"isActive\":[516,\"is-active\"],\"label\":[513],\"showWithChildren\":[516,\"show-with-children\"],\"status\":[513],\"isChildActive\":[32]},[[0,\"activeChange\",\"checkForActiveChildren\"]],{\"isActive\":[\"isActiveChanged\"],\"label\":[\"labelOrDescriptionChanged\"],\"description\":[\"labelOrDescriptionChanged\"],\"showWithChildren\":[\"checkForActiveChildren\"],\"status\":[\"statusChanged\"]}]]],[\"q2-tooltip\",[[1,\"q2-tooltip\",{\"block\":[516],\"focusable\":[516],\"immediate\":[516],\"label\":[513],\"multiline\":[516],\"persistent\":[516],\"position\":[513],\"focusClass\":[32]},[[2,\"focus\",\"focusCaptureHandler\"],[0,\"focus\",\"focusHandler\"],[0,\"focusout\",\"focusOutHandler\"],[0,\"keyup\",\"keyUpHandler\"]]]]],[\"tecton-tab-pane\",[[1,\"tecton-tab-pane\",{\"authPayload\":[16],\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"guid\":[2],\"index\":[2],\"label\":[513],\"minHeight\":[513,\"min-height\"],\"moduleId\":[513,\"module-id\"],\"name\":[513],\"provided\":[516],\"selected\":[516],\"showForm\":[4,\"show-form\"],\"url\":[513],\"value\":[513],\"_showForm\":[32]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"],\"selected\":[\"selectedObserver\"]}]]],[\"q2-optgroup\",[[1,\"q2-optgroup\",{\"disabled\":[516],\"label\":[513],\"hidden\":[32]},null,{\"disabled\":[\"disabledWatcher\"]}]]],[\"q2-resize-observer\",[[1,\"q2-resize-observer\",{\"disabled\":[516],\"getCurrentResizeEntries\":[64]},null,{\"disabled\":[\"disabledUpdated\"]}]]],[\"q2-badge_7\",[[1,\"q2-tab-container\",{\"color\":[513],\"name\":[513],\"noPrint\":[516,\"no-print\"],\"type\":[513],\"value\":[1537],\"hasLeft\":[32],\"hasRight\":[32],\"scrollEnabled\":[32],\"showScrollLeft\":[32],\"showScrollRight\":[32],\"tabs\":[32],\"selectTab\":[64]},[[0,\"badge\",\"onBadge\"],[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"onFocus\"],[9,\"resize\",\"onResize\"]],{\"name\":[\"nameObserver\"],\"value\":[\"valueObserver\"]}],[1,\"q2-tab-pane\",{\"badgeCount\":[514,\"badge-count\"],\"badgeDescription\":[513,\"badge-description\"],\"badgeStatus\":[513,\"badge-status\"],\"badgeTheme\":[513,\"badge-theme\"],\"guid\":[2],\"index\":[2],\"label\":[513],\"name\":[513],\"selected\":[516],\"value\":[513]},null,{\"badgeCount\":[\"badgeObserver\"],\"badgeDescription\":[\"badgeObserver\"],\"badgeTheme\":[\"badgeObserver\"],\"badgeStatus\":[\"badgeObserver\"]}],[1,\"q2-input\",{\"_preventEntry\":[1028,\"_prevent-entry\"],\"_role\":[1025],\"ariaActivedescendant\":[1,\"aria-activedescendant\"],\"ariaControls\":[1,\"aria-controls\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHaspopup\":[1,\"aria-haspopup\"],\"ariaLabel\":[1537,\"aria-label\"],\"ariaOwns\":[1,\"aria-owns\"],\"autocapitalize\":[513],\"autocomplete\":[513],\"autocorrect\":[513],\"autofocus\":[516],\"badgeTheme\":[513,\"badge-theme\"],\"badgeValue\":[513,\"badge-value\"],\"clearable\":[516],\"current\":[1],\"disabled\":[516],\"errors\":[16],\"formatModifier\":[513,\"format-modifier\"],\"hideLabel\":[1540,\"hide-label\"],\"hideMessages\":[516,\"hide-messages\"],\"hints\":[16],\"iconLeft\":[513,\"icon-left\"],\"iconRight\":[513,\"icon-right\"],\"label\":[1537],\"max\":[514],\"maxlength\":[1538],\"min\":[514],\"optional\":[516],\"pattern\":[1537],\"placeholder\":[513],\"pseudo\":[516],\"readonly\":[516],\"role\":[1],\"showCount\":[516,\"show-count\"],\"showVisibilityToggle\":[516,\"show-visibility-toggle\"],\"step\":[514],\"textHidden\":[1540,\"text-hidden\"],\"type\":[513],\"validity\":[1040],\"value\":[1025],\"checkSlotCount\":[32],\"formattedValueObject\":[32],\"hasFocus\":[32],\"isSmall\":[32],\"checkValidity\":[64],\"clearValue\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"clearable\":[\"manageClearableResizeObserver\"],\"errors\":[\"errorsObserver\"],\"formatModifier\":[\"formatModifierObserver\"],\"formattedValueObject\":[\"formattedValueObjectObserver\"],\"hints\":[\"hintsObserver\"],\"type\":[\"typeObserver\"],\"value\":[\"valueObserver\"]}],[1,\"q2-badge\",{\"maxLength\":[514,\"max-length\"],\"size\":[513],\"status\":[513],\"theme\":[513],\"value\":[514]}],[1,\"q2-btn\",{\"_role\":[513],\"active\":[516],\"ariaControls\":[1,\"aria-controls\"],\"ariaExpanded\":[1,\"aria-expanded\"],\"ariaHasPopup\":[1,\"aria-has-popup\"],\"ariaLabel\":[1537,\"aria-label\"],\"ariaPressed\":[1,\"aria-pressed\"],\"ariaSelected\":[1,\"aria-selected\"],\"badge\":[516],\"block\":[516],\"color\":[1537],\"description\":[1],\"disabled\":[516],\"fab\":[516],\"hideLabel\":[1540,\"hide-label\"],\"intent\":[1537],\"label\":[1537],\"loading\":[516],\"size\":[513],\"tabIndex\":[2,\"tab-index\"],\"type\":[513],\"iconPosition\":[32]},[[2,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"size\":[\"sizeObserver\"]}],[1,\"q2-loading\",{\"ariaLabel\":[1537,\"aria-label\"],\"counts\":[513],\"inline\":[516],\"label\":[1537],\"modifiers\":[513],\"shape\":[513],\"type\":[513]},null,{\"ariaLabel\":[\"ariaLabelObserver\"]}],[1,\"q2-icon\",{\"inline\":[516],\"label\":[513],\"type\":[513],\"iconClone\":[32]},null,{\"type\":[\"handleIcon\"]}]]],[\"q2-select\",[[1,\"q2-select\",{\"ariaLabel\":[1537,\"aria-label\"],\"clearable\":[516],\"disabled\":[516],\"errors\":[16],\"hideLabel\":[1540,\"hide-label\"],\"hoist\":[4],\"invalid\":[516],\"label\":[1537],\"listLabel\":[1,\"list-label\"],\"minRows\":[2,\"min-rows\"],\"multilineOptions\":[516,\"multiline-options\"],\"multiple\":[516],\"optional\":[516],\"placeholder\":[513],\"popDirection\":[513,\"pop-direction\"],\"popoverMaxHeight\":[2,\"popover-max-height\"],\"popoverMode\":[1025,\"popover-mode\"],\"readonly\":[516],\"searchable\":[516],\"selectedOptions\":[1040],\"value\":[1025],\"hasCustomDisplay\":[32],\"hasPopoverBottom\":[32],\"hasPopoverTop\":[32],\"inputFocused\":[32],\"open\":[32],\"prioritizeSearch\":[32],\"searchText\":[32],\"showSelected\":[32],\"statusMessage\":[32],\"structuredSelectedOptions\":[32],\"closePopover\":[64],\"openPopover\":[64],\"searchOptions\":[64],\"setValue\":[64]},[[0,\"change\",\"onHostElementChange\"],[0,\"clear\",\"onClearHandler\"],[0,\"displayChanged\",\"handleSelectedDisplay\"],[0,\"focus\",\"delegateFocus\"],[0,\"focusout\",\"handleFocusout\"],[0,\"input\",\"onHostElementInput\"],[0,\"keydown\",\"keydownHandler\"]],{\"ariaLabel\":[\"ariaLabelObserver\"],\"multilineOptions\":[\"handleMultilineOptionsUpdate\"],\"open\":[\"openChanged\"],\"value\":[\"buildStructuredSelectedOptions\",\"valueUpdated\"],\"selectedOptions\":[\"buildStructuredSelectedOptions\"]}]]],[\"q2-avatar\",[[1,\"q2-avatar\",{\"icon\":[1],\"initials\":[513],\"name\":[513],\"src\":[513],\"badSrc\":[32],\"isLoaded\":[32]},null,{\"src\":[\"srcDidUpdate\"]}]]],[\"q2-checkbox\",[[1,\"q2-checkbox\",{\"alignment\":[513],\"ariaLabel\":[1537,\"aria-label\"],\"checked\":[1540],\"description\":[513],\"disabled\":[516],\"groupDisabled\":[516,\"group-disabled\"],\"hasError\":[516,\"has-error\"],\"hideLabel\":[1540,\"hide-label\"],\"indeterminate\":[516],\"label\":[1537],\"name\":[513],\"readonly\":[516],\"slotReadonly\":[516,\"slot-readonly\"],\"type\":[513],\"value\":[513]},[[0,\"change\",\"defaultChangeHandler\"],[0,\"focus\",\"delegateFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-dropdown-item\",[[1,\"q2-dropdown-item\",{\"ariaLabel\":[1537,\"aria-label\"],\"disabled\":[516],\"label\":[1537],\"removable\":[516],\"separator\":[516],\"value\":[513],\"q2LocValue\":[32]},[[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-legend\",[[1,\"q2-legend\",{\"data\":[16],\"format\":[513],\"hoveredItemId\":[513,\"hovered-item-id\"],\"selectedItemId\":[513,\"selected-item-id\"],\"hoveredItemIndex\":[32],\"selectedItemIndex\":[32]},null,{\"hoveredItemId\":[\"watchHoveredItemId\"],\"selectedItemId\":[\"watchSelectedItemId\"]}]]],[\"q2-message\",[[1,\"q2-message\",{\"appearance\":[513],\"description\":[516],\"type\":[513],\"presentToggle\":[32],\"present\":[64]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-option\",[[1,\"q2-option\",{\"_multiSelectHidden\":[516,\"_multiselecthidden\"],\"active\":[516],\"disabled\":[516],\"disabledGroup\":[516,\"disabled-group\"],\"display\":[1537],\"multiline\":[516],\"role\":[513],\"selected\":[516],\"value\":[513]},null,{\"display\":[\"displayChangedHandler\"]}]]],[\"q2-option-list\",[[1,\"q2-option-list\",{\"align\":[513],\"customSearch\":[516,\"custom-search\"],\"disabled\":[516],\"label\":[1],\"multiple\":[516],\"noSelect\":[516,\"no-select\"],\"selectedOptions\":[1040],\"showSelected\":[1540,\"show-selected\"],\"type\":[1],\"hasOptions\":[32],\"getContents\":[64],\"getOptions\":[64],\"handleExternalKeydown\":[64],\"setActiveElement\":[64],\"setDefaultActiveElement\":[64]},[[0,\"click\",\"handleClick\"],[0,\"focus\",\"delegateFocus\"]],{\"selectedOptions\":[\"selectedOptionsUpdated\"],\"showSelected\":[\"showSelectedUpdated\"]}]]],[\"click-elsewhere_2\",[[1,\"q2-popover\",{\"align\":[513],\"block\":[516],\"controlElement\":[16],\"direction\":[513],\"maxHeight\":[2,\"max-height\"],\"minHeight\":[2,\"min-height\"],\"mode\":[1],\"open\":[1540],\"currentDirection\":[32],\"show\":[32],\"scrollContainerTo\":[64],\"toggle\":[64]},[[0,\"popoverState\",\"popoverStateHandler\"]],{\"minHeight\":[\"minHeightProvided\"],\"open\":[\"openChanged\"]}],[0,\"click-elsewhere\"]]]]"), options);
20
20
  });
21
21
 
22
22
  //# sourceMappingURL=q2-tecton-elements.js.map
@@ -62,6 +62,7 @@ const Q2Textarea = class {
62
62
  };
63
63
  this.onMouseUp = () => {
64
64
  document.removeEventListener('mousemove', this.onMouseMove);
65
+ document.removeEventListener('mouseup', this.onMouseUp);
65
66
  this.downParams = null;
66
67
  };
67
68
  this.onTextareaBlur = () => {
@@ -292,7 +293,7 @@ const Q2Textarea = class {
292
293
  ]))));
293
294
  }
294
295
  render() {
295
- return (h("div", { key: '067ef076d53ad1ae2f7fec1bd1a86f7c51b7fd4f', class: this.wrapperClasses }, renderLabel(this), h("div", { key: 'ae1a0bd1e5595447ddcb049bdf241702558d9074', class: "content-container", ref: el => (this.contentContainer = el) }, this.renderInput(), this.maxlength ? this.renderMaxLength() : '', renderMessages(this))));
296
+ return (h("div", { key: 'acde776086d487dbf4af1b54d5a5839217d71b06', class: this.wrapperClasses }, renderLabel(this), h("div", { key: 'e50f150613c0b0432f1cc40dfa5fe40e73303d9d', class: "content-container", ref: el => (this.contentContainer = el) }, this.renderInput(), this.maxlength ? this.renderMaxLength() : '', renderMessages(this))));
296
297
  }
297
298
  get hostElement() { return getElement(this); }
298
299
  static get watchers() { return {