q2-tecton-elements 1.55.3 → 1.55.5

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 (95) hide show
  1. package/dist/bundle-report.json +56 -44
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/q2-badge_7.cjs.entry.js +8 -0
  4. package/dist/cjs/q2-badge_7.cjs.entry.js.map +1 -1
  5. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  6. package/dist/cjs/q2-checkbox-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  8. package/dist/cjs/q2-checkbox.cjs.entry.js.map +1 -1
  9. package/dist/cjs/q2-dropdown.cjs.entry.js +9 -11
  10. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  11. package/dist/cjs/q2-editable-field.cjs.entry.js +6 -7
  12. package/dist/cjs/q2-editable-field.cjs.entry.js.map +1 -1
  13. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  14. package/dist/cjs/q2-form.cjs.entry.js.map +1 -1
  15. package/dist/cjs/q2-option-list_2.cjs.entry.js +7 -3
  16. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  17. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  18. package/dist/cjs/q2-textarea.cjs.entry.js +2 -1
  19. package/dist/cjs/q2-textarea.cjs.entry.js.map +1 -1
  20. package/dist/collection/components/q2-btn/q2-btn.js +4 -0
  21. package/dist/collection/components/q2-btn/q2-btn.js.map +1 -1
  22. package/dist/collection/components/q2-checkbox/q2-checkbox.css +1 -1
  23. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +0 -5
  24. package/dist/collection/components/q2-dropdown/q2-dropdown.js +9 -11
  25. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  26. package/dist/collection/components/q2-editable-field/q2-editable-field.js +12 -7
  27. package/dist/collection/components/q2-editable-field/q2-editable-field.js.map +1 -1
  28. package/dist/collection/components/q2-form/q2-form.css +0 -1
  29. package/dist/collection/components/q2-form/test/q2-form-test.e2e.js +24 -4
  30. package/dist/collection/components/q2-form/test/q2-form-test.e2e.js.map +1 -1
  31. package/dist/collection/components/q2-icon/q2-icon.js +4 -0
  32. package/dist/collection/components/q2-icon/q2-icon.js.map +1 -1
  33. package/dist/collection/components/q2-popover/q2-popover.js +7 -3
  34. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  35. package/dist/collection/components/q2-textarea/q2-textarea.js +2 -1
  36. package/dist/collection/components/q2-textarea/q2-textarea.js.map +1 -1
  37. package/dist/components/q2-btn2.js +4 -0
  38. package/dist/components/q2-btn2.js.map +1 -1
  39. package/dist/components/q2-checkbox-group.js +1 -1
  40. package/dist/components/q2-checkbox-group.js.map +1 -1
  41. package/dist/components/q2-checkbox2.js +1 -1
  42. package/dist/components/q2-checkbox2.js.map +1 -1
  43. package/dist/components/q2-dropdown.js +9 -11
  44. package/dist/components/q2-dropdown.js.map +1 -1
  45. package/dist/components/q2-editable-field.js +7 -8
  46. package/dist/components/q2-editable-field.js.map +1 -1
  47. package/dist/components/q2-form.js +1 -1
  48. package/dist/components/q2-form.js.map +1 -1
  49. package/dist/components/q2-icon2.js +4 -0
  50. package/dist/components/q2-icon2.js.map +1 -1
  51. package/dist/components/q2-popover2.js +7 -3
  52. package/dist/components/q2-popover2.js.map +1 -1
  53. package/dist/components/q2-textarea.js +2 -1
  54. package/dist/components/q2-textarea.js.map +1 -1
  55. package/dist/esm/loader.js +1 -1
  56. package/dist/esm/q2-badge_7.entry.js +8 -0
  57. package/dist/esm/q2-badge_7.entry.js.map +1 -1
  58. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  59. package/dist/esm/q2-checkbox-group.entry.js.map +1 -1
  60. package/dist/esm/q2-checkbox.entry.js +1 -1
  61. package/dist/esm/q2-checkbox.entry.js.map +1 -1
  62. package/dist/esm/q2-dropdown.entry.js +9 -11
  63. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  64. package/dist/esm/q2-editable-field.entry.js +6 -7
  65. package/dist/esm/q2-editable-field.entry.js.map +1 -1
  66. package/dist/esm/q2-form.entry.js +1 -1
  67. package/dist/esm/q2-form.entry.js.map +1 -1
  68. package/dist/esm/q2-option-list_2.entry.js +7 -3
  69. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  70. package/dist/esm/q2-tecton-elements.js +1 -1
  71. package/dist/esm/q2-textarea.entry.js +2 -1
  72. package/dist/esm/q2-textarea.entry.js.map +1 -1
  73. package/dist/q2-tecton-elements/q2-badge_7.entry.js +8 -0
  74. package/dist/q2-tecton-elements/q2-badge_7.entry.js.map +1 -1
  75. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +4 -4
  76. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js.map +1 -1
  77. package/dist/q2-tecton-elements/q2-checkbox.entry.js +1 -1
  78. package/dist/q2-tecton-elements/q2-checkbox.entry.js.map +1 -1
  79. package/dist/q2-tecton-elements/q2-dropdown.entry.js +13 -15
  80. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  81. package/dist/q2-tecton-elements/q2-editable-field.entry.js +26 -17
  82. package/dist/q2-tecton-elements/q2-editable-field.entry.js.map +1 -1
  83. package/dist/q2-tecton-elements/q2-form.entry.js +3 -3
  84. package/dist/q2-tecton-elements/q2-form.entry.js.map +1 -1
  85. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +11 -5
  86. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  87. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  88. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  89. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -2
  90. package/dist/q2-tecton-elements/q2-textarea.entry.js.map +1 -1
  91. package/dist/types/components/q2-btn/q2-btn.d.ts +1 -0
  92. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +1 -4
  93. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +2 -1
  94. package/dist/types/components/q2-icon/q2-icon.d.ts +1 -0
  95. package/package.json +3 -3
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy(JSON.parse("[[\"q2-badge_7.cjs\",[[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\":[520],\"getTextContent\":[64]}],[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-pagination.cjs\",[[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.cjs\",[[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.cjs\",[[1,\"q2-action-sheet\",{\"data\":[1040],\"hideClose\":[4,\"hide-close\"],\"title\":[1],\"isScrollable\":[32],\"renderStatus\":[32],\"hide\":[64],\"show\":[64]}]]],[\"q2-dropdown.cjs\",[[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\"],\"hoist\":[4],\"icon\":[513],\"label\":[1537],\"name\":[513],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"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\",\"popoverStateChangeHandler\"]],{\"additionalContext\":[\"additionalContextHandler\"],\"alignment\":[\"alignmentHandler\"],\"ariaLabel\":[\"ariaLabelHandler\"],\"context\":[\"contextHandler\"],\"contextValue\":[\"contextValueHandler\"],\"name\":[\"nameHandler\"],\"popDirection\":[\"popDirectionHandler\"],\"resolvedType\":[\"resolvedTypeHandler\"]}]]],[\"q2-file-picker.cjs\",[[1,\"q2-file-picker\",{\"description\":[513],\"fileTypes\":[513,\"file-types\"],\"label\":[513],\"maxFiles\":[514,\"max-files\"],\"maxFileSize\":[514,\"max-file-size\"],\"status\":[16],\"value\":[1040],\"variant\":[513],\"areFilesUploading\":[32],\"displayedFiles\":[32],\"isDropZoneHighlighted\":[32],\"refreshCounter\":[32]},null,{\"status\":[\"updateFileList\"]}]]],[\"q2-data-table.cjs\",[[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.cjs\",[[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-modal.cjs\",[[1,\"q2-modal\",{\"closable\":[516],\"customMarkup\":[1,\"custom-markup\"],\"description\":[1],\"icon\":[1],\"iconFillColor\":[1,\"icon-fill-color\"],\"iconStrokePrimary\":[1,\"icon-stroke-primary\"],\"iconStrokeSecondary\":[1,\"icon-stroke-secondary\"],\"iconStrokeWidth\":[1,\"icon-stroke-width\"],\"imageSrc\":[513,\"image-src\"],\"title\":[1537],\"maxActionButtons\":[32],\"renderStatus\":[32],\"closeModal\":[64],\"openModal\":[64]}]]],[\"q2-pill.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[1,\"q2-month-picker\",{\"disabledMonths\":[16],\"today\":[1],\"year\":[1538],\"focusedIndex\":[32],\"selectedIndex\":[32],\"showYearLayer\":[32]}]]],[\"q2-section.cjs\",[[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.cjs\",[[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.cjs\",[[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-checkbox-group.cjs\",[[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-radio-group.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[1,\"q2-detail\",{\"alignment\":[513],\"description\":[513],\"label\":[513],\"size\":[513],\"stacked\":[516]}]]],[\"q2-example.cjs\",[[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-form.cjs\",[[1,\"q2-form\",{\"spacing\":[513]}]]],[\"q2-formatted-text.cjs\",[[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-loading-element.cjs\",[[0,\"q2-loading-element\",{\"borderRadius\":[513,\"border-radius\"],\"height\":[513],\"shape\":[513],\"width\":[513]}]]],[\"q2-loc.cjs\",[[0,\"q2-loc\",{\"substitutions\":[16],\"value\":[1537]}]]],[\"q2-radio.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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\"]}]]],[\"click-elsewhere.cjs\",[[0,\"click-elsewhere\"]]],[\"q2-select.cjs\",[[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-action-group.cjs\",[[1,\"q2-action-group\",{\"fullWidth\":[516,\"full-width\"],\"orientation\":[513],\"orientationThreshold\":[2,\"orientation-threshold\"],\"autoOrientation\":[32],\"slottedTagName\":[32]},null,{\"orientation\":[\"toggleHiddenForOneFrame\"]}]]],[\"q2-avatar.cjs\",[[1,\"q2-avatar\",{\"icon\":[1],\"initials\":[513],\"name\":[513],\"src\":[513],\"badSrc\":[32],\"isLoaded\":[32]},null,{\"src\":[\"srcDidUpdate\"]}]]],[\"q2-checkbox.cjs\",[[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.cjs\",[[1,\"q2-dropdown-item\",{\"ariaLabel\":[1537,\"aria-label\"],\"disabled\":[516],\"label\":[1537],\"removable\":[516],\"separator\":[516],\"active\":[516],\"value\":[513],\"q2LocValue\":[32]},[[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-legend.cjs\",[[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-optgroup.cjs\",[[1,\"q2-optgroup\",{\"disabled\":[516],\"label\":[513],\"hidden\":[32]},null,{\"disabled\":[\"disabledWatcher\"]}]]],[\"q2-message.cjs\",[[1,\"q2-message\",{\"appearance\":[513],\"description\":[516],\"type\":[513],\"presentToggle\":[32],\"present\":[64]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-option.cjs\",[[1,\"q2-option\",{\"_multiSelectHidden\":[516,\"_multiselecthidden\"],\"active\":[516],\"disabled\":[516],\"disabledGroup\":[516,\"disabled-group\"],\"display\":[1537],\"multiline\":[516],\"role\":[1537],\"selected\":[516],\"separator\":[516],\"value\":[513]},null,{\"display\":[\"displayChangedHandler\"],\"separator\":[\"separatorChangedHandler\"]}]]],[\"q2-resize-observer.cjs\",[[1,\"q2-resize-observer\",{\"disabled\":[516],\"getCurrentResizeEntries\":[64]},null,{\"disabled\":[\"disabledUpdated\"]}]]],[\"q2-item_3.cjs\",[[1,\"q2-link\",{\"disabled\":[516],\"href\":[513],\"iconType\":[513,\"icon-type\"],\"label\":[513],\"referrerpolicy\":[513],\"target\":[513],\"tctTitle\":[513,\"tct-title\"],\"variant\":[513],\"clickLink\":[64]}],[1,\"q2-item\",{\"clickable\":[516],\"renderTrigger\":[32]},[[0,\"focus\",\"delegateFocus\"]]],[1,\"q2-list\",{\"bordered\":[1540],\"label\":[513],\"renderTrigger\":[32]}]]],[\"q2-option-list_2.cjs\",[[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\"]}],[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\"]}]]]]"), options);
22
+ return index.bootstrapLazy(JSON.parse("[[\"q2-badge_7.cjs\",[[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\":[520],\"getTextContent\":[64]}],[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-pagination.cjs\",[[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.cjs\",[[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.cjs\",[[1,\"q2-action-sheet\",{\"data\":[1040],\"hideClose\":[4,\"hide-close\"],\"title\":[1],\"isScrollable\":[32],\"renderStatus\":[32],\"hide\":[64],\"show\":[64]}]]],[\"q2-dropdown.cjs\",[[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\"],\"hoist\":[4],\"icon\":[513],\"label\":[1537],\"name\":[513],\"open\":[1540],\"optionListLabel\":[1,\"option-list-label\"],\"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\",\"popoverStateChangeHandler\"]],{\"additionalContext\":[\"additionalContextHandler\"],\"alignment\":[\"alignmentHandler\"],\"ariaLabel\":[\"ariaLabelHandler\"],\"context\":[\"contextHandler\"],\"contextValue\":[\"contextValueHandler\"],\"name\":[\"nameHandler\"],\"popDirection\":[\"popDirectionHandler\"],\"resolvedType\":[\"resolvedTypeHandler\"]}]]],[\"q2-file-picker.cjs\",[[1,\"q2-file-picker\",{\"description\":[513],\"fileTypes\":[513,\"file-types\"],\"label\":[513],\"maxFiles\":[514,\"max-files\"],\"maxFileSize\":[514,\"max-file-size\"],\"status\":[16],\"value\":[1040],\"variant\":[513],\"areFilesUploading\":[32],\"displayedFiles\":[32],\"isDropZoneHighlighted\":[32],\"refreshCounter\":[32]},null,{\"status\":[\"updateFileList\"]}]]],[\"q2-data-table.cjs\",[[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.cjs\",[[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-modal.cjs\",[[1,\"q2-modal\",{\"closable\":[516],\"customMarkup\":[1,\"custom-markup\"],\"description\":[1],\"icon\":[1],\"iconFillColor\":[1,\"icon-fill-color\"],\"iconStrokePrimary\":[1,\"icon-stroke-primary\"],\"iconStrokeSecondary\":[1,\"icon-stroke-secondary\"],\"iconStrokeWidth\":[1,\"icon-stroke-width\"],\"imageSrc\":[513,\"image-src\"],\"title\":[1537],\"maxActionButtons\":[32],\"renderStatus\":[32],\"closeModal\":[64],\"openModal\":[64]}]]],[\"q2-pill.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[1,\"q2-month-picker\",{\"disabledMonths\":[16],\"today\":[1],\"year\":[1538],\"focusedIndex\":[32],\"selectedIndex\":[32],\"showYearLayer\":[32]}]]],[\"q2-section.cjs\",[[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.cjs\",[[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.cjs\",[[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-checkbox-group.cjs\",[[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-radio-group.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[1,\"q2-detail\",{\"alignment\":[513],\"description\":[513],\"label\":[513],\"size\":[513],\"stacked\":[516]}]]],[\"q2-example.cjs\",[[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-form.cjs\",[[1,\"q2-form\",{\"spacing\":[513]}]]],[\"q2-formatted-text.cjs\",[[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-loading-element.cjs\",[[0,\"q2-loading-element\",{\"borderRadius\":[513,\"border-radius\"],\"height\":[513],\"shape\":[513],\"width\":[513]}]]],[\"q2-loc.cjs\",[[0,\"q2-loc\",{\"substitutions\":[16],\"value\":[1537]}]]],[\"q2-radio.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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.cjs\",[[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\"]}]]],[\"click-elsewhere.cjs\",[[0,\"click-elsewhere\"]]],[\"q2-select.cjs\",[[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-action-group.cjs\",[[1,\"q2-action-group\",{\"fullWidth\":[516,\"full-width\"],\"orientation\":[513],\"orientationThreshold\":[2,\"orientation-threshold\"],\"autoOrientation\":[32],\"slottedTagName\":[32]},null,{\"orientation\":[\"toggleHiddenForOneFrame\"]}]]],[\"q2-avatar.cjs\",[[1,\"q2-avatar\",{\"icon\":[1],\"initials\":[513],\"name\":[513],\"src\":[513],\"badSrc\":[32],\"isLoaded\":[32]},null,{\"src\":[\"srcDidUpdate\"]}]]],[\"q2-checkbox.cjs\",[[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.cjs\",[[1,\"q2-dropdown-item\",{\"ariaLabel\":[1537,\"aria-label\"],\"disabled\":[516],\"label\":[1537],\"removable\":[516],\"separator\":[516],\"active\":[516],\"value\":[513],\"q2LocValue\":[32]},[[0,\"focus\",\"onHostElementFocus\"]],{\"ariaLabel\":[\"ariaLabelObserver\"]}]]],[\"q2-legend.cjs\",[[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-optgroup.cjs\",[[1,\"q2-optgroup\",{\"disabled\":[516],\"label\":[513],\"hidden\":[32]},null,{\"disabled\":[\"disabledWatcher\"]}]]],[\"q2-message.cjs\",[[1,\"q2-message\",{\"appearance\":[513],\"description\":[516],\"type\":[513],\"presentToggle\":[32],\"present\":[64]},[[0,\"focus\",\"delegateFocus\"]]]]],[\"q2-option.cjs\",[[1,\"q2-option\",{\"_multiSelectHidden\":[516,\"_multiselecthidden\"],\"active\":[516],\"disabled\":[516],\"disabledGroup\":[516,\"disabled-group\"],\"display\":[1537],\"multiline\":[516],\"role\":[1537],\"selected\":[516],\"separator\":[516],\"value\":[513]},null,{\"display\":[\"displayChangedHandler\"],\"separator\":[\"separatorChangedHandler\"]}]]],[\"q2-resize-observer.cjs\",[[1,\"q2-resize-observer\",{\"disabled\":[516],\"getCurrentResizeEntries\":[64]},null,{\"disabled\":[\"disabledUpdated\"]}]]],[\"q2-item_3.cjs\",[[1,\"q2-link\",{\"disabled\":[516],\"href\":[513],\"iconType\":[513,\"icon-type\"],\"label\":[513],\"referrerpolicy\":[513],\"target\":[513],\"tctTitle\":[513,\"tct-title\"],\"variant\":[513],\"clickLink\":[64]}],[1,\"q2-item\",{\"clickable\":[516],\"renderTrigger\":[32]},[[0,\"focus\",\"delegateFocus\"]]],[1,\"q2-list\",{\"bordered\":[1540],\"label\":[513],\"renderTrigger\":[32]}]]],[\"q2-option-list_2.cjs\",[[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\"]}],[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\"]}]]]]"), options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -66,6 +66,7 @@ const Q2Textarea = class {
66
66
  };
67
67
  this.onMouseUp = () => {
68
68
  document.removeEventListener('mousemove', this.onMouseMove);
69
+ document.removeEventListener('mouseup', this.onMouseUp);
69
70
  this.downParams = null;
70
71
  };
71
72
  this.onTextareaBlur = () => {
@@ -296,7 +297,7 @@ const Q2Textarea = class {
296
297
  ]))));
297
298
  }
298
299
  render() {
299
- return (index.h("div", { key: '9e15d586cc11ac73ce92f35a0d1a05dc6101e064', class: this.wrapperClasses }, index$1.renderLabel(this), index.h("div", { key: 'f0836c51dbeba1895d11a5bd20bfbaf3b5d22ad8', class: "content-container", ref: el => (this.contentContainer = el) }, this.renderInput(), this.maxlength ? this.renderMaxLength() : '', index$1.renderMessages(this))));
300
+ return (index.h("div", { key: '68675332520dee274c1fe2c5da917cdcc5af4aa4', class: this.wrapperClasses }, index$1.renderLabel(this), index.h("div", { key: 'fe7c68c3db02f0b6876d93f7676911f64bd16101', class: "content-container", ref: el => (this.contentContainer = el) }, this.renderInput(), this.maxlength ? this.renderMaxLength() : '', index$1.renderMessages(this))));
300
301
  }
301
302
  get hostElement() { return index.getElement(this); }
302
303
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"q2-textarea.entry.cjs.js","mappings":";;;;;;;AAAA,MAAM,aAAa,GAAG,8ubAA8ub,CAAC;AACrwb,yBAAe,aAAa;;MCyBf,UAAU;;;;;QAInB,wCAAmC,GAAGA,gBAAQ,CAAC;YAC3C,IAAI,CAAC,gCAAgC,EAAE,CAAC;SAC3C,EAAE,IAAI,CAAC,CAAC;QACT,yCAAoC,GAAG,IAAI,CAAC;QAC5C,SAAI,GAAGC,kBAAU,EAAE,CAAC;QACpB,yBAAoB,GAAmB,EAAE,CAAC;QAyS1C,cAAS,GAAG;YACR,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAE/D,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YAC3D,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,gBAAgB,CAAC,WAAW,IAAI,CAAC;YACnE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SACzC,CAAC;QAEF,cAAS,GAAG;YACR,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;YAE/D,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YAC7D,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,gBAAgB,CAAC,YAAY,IAAI,CAAC;YACrE,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SACzC,CAAC;QAEF,oBAAe,GAAG;YACd,MAAM,aAAa,GAAG,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAElE,OAAO,QAAQ,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SACrG,CAAC;QAEF,gCAA2B,GAAG;YAC1B,MAAM,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,eAAe,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE;;gBAEnE,MAAM,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBACxD,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC;aACzD;SACJ,CAAC;QAEF,4BAAuB,GAAG;YACtB,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC;YAE1D,OAAO,YAAY,GAAG,YAAY,CAAC;SACtC,CAAC;QAEF,gBAAW,GAAG,CAAC,KAAiB;YAC5B,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG;gBACd,KAAK,EAAE,gBAAgB,CAAC,WAAW;gBACnC,MAAM,EAAE,gBAAgB,CAAC,YAAY;gBACrC,CAAC,EAAE,KAAK,CAAC,OAAO;gBAChB,CAAC,EAAE,KAAK,CAAC,OAAO;aACnB,CAAC;YACF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACxD,CAAC;QAEF,gBAAW,GAAG,CAAC,KAAiB;YAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACxB,CAAC;QAEF,cAAS,GAAG;YACR,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SAC1B,CAAC;QAEF,mBAAc,GAAG;YACb,MAAM,EACF,YAAY,EACZ,aAAa,EAAE,EAAE,KAAK,EAAE,GAC3B,GAAG,IAAI,CAAC;YACT,IAAI,CAAC,oCAAoC,GAAG,IAAI,CAAC;YACjD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;YACtBC,wBAAgB,CAAC,IAAI,CAAC,CAAC;YACvB,IAAI,YAAY,KAAK,KAAK;gBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SAC3D,CAAC;QAEF,qBAAgB,GAAG,CAAC,KAAiB;YACjC,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,KAAK,GAAI,KAAK,CAAC,MAA8B,CAAC,KAAK,CAAC;YAE1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SAC/B,CAAC;QAEF,oBAAe,GAAG;YACd,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;YAC/BA,wBAAgB,CAAC,IAAI,CAAC,CAAC;SAC1B,CAAC;QAEF,oBAAe,GAAG,CAAC,KAAiB;YAChC,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,KAAK,GAAI,KAAK,CAAC,MAA8B,CAAC,KAAK,CAAC;YAC1D,IAAI,CAAC,oCAAoC,GAAG,KAAK,CAAC;YAClD,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,SAAS;gBAAE,IAAI,CAAC,mCAAmC,EAAE,CAAC;YAC/D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;SAC9B,CAAC;QAEF,gBAAW,GAAG,CAAC,KAAiB;YAC5B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;SACxB,CAAC;QAEF,iBAAY,GAAG,CAAC,KAAiB;YAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEvC,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;YAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEpC,IAAI,CAAC,UAAU,GAAG;gBACd,KAAK,EAAE,gBAAgB,CAAC,WAAW;gBACnC,MAAM,EAAE,gBAAgB,CAAC,YAAY;gBACrC,CAAC,EAAE,UAAU,CAAC,KAAK;gBACnB,CAAC,EAAE,UAAU,CAAC,KAAK;aACtB,CAAC;YAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzD,QAAQ,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC3D,CAAC;QAyCF,qCAAgC,GAAG;;YAC/B,IAAI,CAAC,0BAA0B,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,KAAI,CAAC,CAAC;SAC7D,CAAC;;;;;;;;;;;;;;;sBA3VsE,UAAU;;;;;;;IAkClF,iBAAiB;QACb,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;SAC9B;QAED,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,gCAAgC,EAAE,CAAC;SAC3C;KACJ;IAED,gBAAgB;QACZC,qBAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACnC;IAED,kBAAkB;QACd,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACjG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;KAClC;;;IAMD,mBAAmB,CAAC,KAAkB;QAClC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;YACjE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SACnC;KACJ;IAGD,kBAAkB,CAAC,KAAY;QAC3B,IAAI,CAACC,0BAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO;QACzD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC9B;IAGD,kBAAkB,CAAC,KAAkB;QACjC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;YAChE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;SACnC;KACJ;;;;;;;;;;;IAcD,QAAQ,CAAC,KAAa;QAClB,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC/B,aAAa,CAAC,KAAK,EAAE,CAAC;QACtB,aAAa,CAAC,KAAK,GAAG,KAAK,CAAC;QAC5B,aAAa,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;KACxD;;;IAMD,YAAY;QACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;KAC5C;IAGD,cAAc;QACV,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAMF,wBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;KACjF;IAGD,aAAa;QACT,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAMA,wBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;KACjF;IAGD,iBAAiB;QACb,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,gCAAgC,EAAE,CAAC;SAC3C;KACJ;IAGD,YAAY;QACR,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;KAC7C;IAGD,aAAa;QACT,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,OAAO;QAEvB,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAClD,IAAI,cAAc,KAAK,KAAK;YAAE,OAAO;QAErC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;KAC/C;;;IAKD,IAAI,QAAQ;QACR,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;KAC/D;IAED,IAAI,gBAAgB;QAChB,IAAI,WAAW,GAAG,SAAS,CAAC;QAE5B,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,WAAW,GAAG,GAAG,IAAI,CAAC,OAAO,cAAc,CAAC;SAC/C;;;;QAKD,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,oCAAoC,EAAE;YAC7D,WAAW,GAAG,WAAW,GAAG,GAAG,WAAW,IAAI,IAAI,CAAC,OAAO,aAAa,GAAG,GAAG,IAAI,CAAC,OAAO,aAAa,CAAC;SAC1G;QAED,OAAO,WAAW,CAAC;KACtB;IAED,IAAI,OAAO;QACP,OAAO,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC;KACpC;IAED,IAAI,QAAQ;QACR,QACI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM;aACpD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC;YACnD,EAAE,EACJ;KACL;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;KACzD;IAED,IAAI,UAAU;QACV,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACxB,OAAO,MAAM,IAAI,MAAM,KAAK,MAAM,CAAC;KACtC;IAED,IAAI,cAAc;QACd,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,EAAE,CAAC;QACrD,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,GAAG,EAAE,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,GAAG,YAAY,GAAG,EAAE,CAAC;QAErD,OAAO,kBAAkB,UAAU,GAAG,UAAU,GAAG,UAAU,EAAE,CAAC;KACnE;IAsHD,SAAS,CAAC,KAA8B;;QACpC,MAAM,EACF,gBAAgB,EAChB,MAAM,EACN,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,GAC5B,GAAG,IAAI,CAAC;QACT,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEvE,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,MAAM,GAAG,KAAK,YAAY,UAAU,GAAG,KAAK,CAAC,OAAO,GAAG,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC;QAC1F,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;;;;QAIxC,IACI,MAAM,KAAK,eAAe;YAC1B,SAAS,GAAG,MAAM;aACjB,MAAM,KAAK,eAAe,IAAI,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC,EACjE;YACE,gBAAgB,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC;SACpD;KACJ;IAED,QAAQ,CAAC,KAA8B;;QACnC,MAAM,EACF,gBAAgB,EAChB,MAAM,EACN,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,GAC3B,GAAG,IAAI,CAAC;QAET,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAExD,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,MAAM,GAAG,KAAK,YAAY,UAAU,GAAG,KAAK,CAAC,OAAO,GAAG,MAAA,MAAA,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,0CAAE,KAAK,mCAAI,CAAC,CAAC;QAC1F,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;QACtC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,QAAQ,IAAI,CAAC;KAClD;;;IASD,WAAW;QACP,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,KAAK,eAAe,GAAG,sBAAsB,GAAG,EAAE,CAAC;QAEtF,QACIG,iBAAK,KAAK,EAAC,iBAAiB,IACxBA,sBACI,EAAE,EAAE,IAAI,CAAC,OAAO,EAChB,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,CAAC,IAAI,CAAC,WAAW,IAAIC,WAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS,aAC7D,YAAY,EACpB,SAAS,EAAE,IAAI,CAAC,SAAS,sBACP,IAAI,CAAC,gBAAgB,kBACzB,GAAG,IAAI,CAAC,QAAQ,EAAE,mBACjB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,gBACtB,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,EACxC,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,EACpB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC,EACpC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EACzB,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,QAAQ,EAAE,IAAI,CAAC,gBAAgB,EAC/B,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,MAAM,EAAE,IAAI,CAAC,cAAc,GACnB,EACX,IAAI,CAAC,QAAQ,IACVD,qBACI,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,YAAY,GACpB,KAEF,EAAE,CACL,EACA,IAAI,CAAC,UAAU,KACZA,oBACI,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,KAAK,EAAC,YAAY,gBACNC,WAAG,CAAC,6BAA6B,CAAC,EAC9C,QAAQ,EAAE,CAAC,CAAC,IAEZD,gCACgB,MAAM,EAClB,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,IAElCA,kBACI,CAAC,EAAC,oCAAoC,EACtC,IAAI,EAAC,MAAM,2BACW,QAAQ,GAChC,CACA,CACD,CACZ,CACC,EACR;KACL;IAED,eAAe;;QACX,QACIA,QAACE,cAAQ,QACLF,iBACI,KAAK,EAAC,YAAY,iBACN,MAAM,IAEjB,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,KAAI,CAAC,OAAG,IAAI,CAAC,SAAS,CACvC,EACNA,8BACc,QAAQ,EAClB,KAAK,EAAC,IAAI,EACV,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,aAAa,aACxB,eAAe,IAEtBC,WAAG,CAAC,qDAAqD,EAAE;YACxD,IAAI,CAAC,0BAA0B;YAC/B,IAAI,CAAC,SAAS;SACjB,CAAC,CACA,CACC,EACb;KACL;IAED,MAAM;QACF,QACID,kEAAK,KAAK,EAAE,IAAI,CAAC,cAAc,IAC1BG,mBAAW,CAAC,IAAI,CAAC,EAClBH,kEACI,KAAK,EAAC,mBAAmB,EACzB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,IAEtC,IAAI,CAAC,WAAW,EAAE,EAClB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,EAC5CI,sBAAc,CAAC,IAAI,CAAC,CACnB,CACJ,EACR;KACL;;;;;;;;;;;;;;;","names":["debounce","createGuid","setMessageHeight","overrideFocus","isEventFromElement","h","loc","Fragment","renderLabel","renderMessages"],"sources":["src/components/q2-textarea/q2-textarea.scss?tag=q2-textarea&encapsulation=shadow","src/components/q2-textarea/q2-textarea.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n --comp-default-textarea-margin: #{var-list(var-prefixer(textarea-margin-top), --app-scale-5x, 25px) 0\n var-list(var-prefixer(textarea-margin-bottom), --app-scale-5x, 25px)};\n display: block;\n margin: var-list(--tct-textarea-margin, --comp-default-textarea-margin);\n font-size: var-list(var-prefixer(textarea-font-size), --app-font-size, inherit);\n}\n\n:host([hidden]) {\n display: none;\n}\n\nlabel {\n --comp-label-padding: #{var-list(\n --tct-textarea-label-padding,\n unquote(\n '0 #{var-list(var-prefixer(textarea-label-padding-right), 0)} 0 #{var-list(var-prefixer(textarea-label-padding-left), 0)}'\n )\n )};\n --comp-label-margin: #{var-list(\n --tct-textarea-label-margin,\n unquote(\n '#{var-list(var-prefixer(textarea-label-margin-top), 0)} 0 #{var-list(var-prefixer(textarea-label-margin-bottom), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n display: block;\n padding: var(--comp-label-padding);\n margin: var(--comp-label-margin);\n color: var-list(var-prefixer(textarea-label-font-color), inherit);\n font-size: var-list(var-prefixer(textarea-label-font-size), inherit);\n font-weight: var-list(var-prefixer(textarea-label-font-weight), 600);\n text-transform: var-list(var-prefixer(textarea-label-text-transform), none);\n letter-spacing: var-list(var-prefixer(textarea-label-letter-spacing), normal);\n transition: color var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'));\n\n .has-error & {\n color: var-list(var-prefixer(textarea-error-label-font-color), --tct-textarea-label-font-color, inherit);\n }\n\n :hover & {\n color: var-list(--tct-textarea-hover-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n .has-error & {\n color: var-list(\n --tct-textarea-error-hover-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-hover-label-font-color,\n --tct-textarea-label-font-color,\n inherit\n );\n }\n }\n\n :host(:focus-within) & {\n color: var-list(--tct-textarea-focus-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n }\n\n :host(:focus-within) .has-error & {\n color: var-list(\n --tct-textarea-error-focus-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-focus-label-font-color,\n var-prefixer(textarea-label-font-color),\n inherit\n );\n }\n}\n\n.optional-tag {\n --comp-label-optional-margin: #{var-list(\n --tct-textarea-label-optional-margin,\n unquote(\n '0 0 0 #{var-list(var-prefixer(textarea-label-optional-margin-left), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n margin: var(--comp-label-optional-margin);\n color: var-list(\n var-prefixer(textarea-label-optional-font-color),\n --t-textA,\n --t-a11y-gray-color,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(var-prefixer(textarea-label-optional-font-size), 12px);\n font-weight: var-list(var-prefixer(textarea-label-optional-font-weight), 400);\n}\n\n.input-container {\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n height: 100%;\n --comp-default-border-radius: #{var-list(--tct-border-radius-1, --app-border-radius-1, 4px)};\n --comp-textarea-border-top-left-radius: #{var-list(\n var-prefixer(textarea-border-top-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-top-right-radius: #{var-list(\n var-prefixer(textarea-border-top-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-right-radius: #{var-list(\n var-prefixer(textarea-border-bottom-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-left-radius: #{var-list(\n var-prefixer(textarea-border-bottom-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-radius: var(--comp-textarea-border-top-left-radius)\n var(--comp-textarea-border-top-right-radius) var(--comp-textarea-border-bottom-right-radius)\n var(--comp-textarea-border-bottom-left-radius);\n --comp-textarea-border-width: #{var-list(var-prefixer(textarea-border-top-width), 1px)\n var-list(var-prefixer(textarea-border-right-width), 1px)\n var-list(var-prefixer(textarea-border-bottom-width), 1px)\n var-list(var-prefixer(textarea-border-left-width), 1px)};\n --comp-textarea-icon-clearance: 34px;\n\n :host([disabled]) & {\n cursor: not-allowed;\n opacity: var-list(var-prefixer(textarea-disabled-opacity), --tct-disabled-opacity, --app-disabled-opacity, 0.4);\n }\n}\n\n.content-container {\n --comp-textarea-min-height: 46px;\n --comp-textarea-min-width: 150px;\n position: relative;\n display: inline-block;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n min-width: var-list(var-prefixer(textarea-min-width) --comp-textarea-min-width);\n\n :host(:not([cols])) & {\n width: 100%;\n }\n}\n\ntextarea {\n --comp-textarea-padding: #{var-list(\n --tct-textarea-padding,\n unquote(\n '#{var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px)} #{var-list(var-prefixer(textarea-horizontal-padding), --tct-scale-2x, --app-scale-2x, 10px)}'\n )\n )};\n --comp-textarea-border-color: #{var-list(\n var-prefixer(textarea-border-color),\n var-prefixer(input-border-color),\n --t-a11y-gray-color-AA,\n #949494\n )};\n --comp-textarea-background: #{var-list(\n --tct-textarea-background,\n var-prefixer(textarea-bg),\n --tct-input-background,\n var-prefixer(input-bg),\n --t-gray-14,\n #fcfcfd\n )};\n --comp-textarea-hover-ring-color: var(--tct-textarea-hover-ring-color);\n --comp-textarea-hover-ring: #{0 0 0 2px var(--t-base), 0 0 0 4px var(--comp-textarea-hover-ring-color),\n var-list(--tct-textarea-hover-box-shadow, unquote('0 0 transparent'))};\n\n resize: none;\n height: 100%;\n -webkit-appearance: none;\n appearance: none;\n display: block;\n box-sizing: border-box;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n padding: var(--comp-textarea-padding);\n background: var(--comp-textarea-background);\n color: var-list(var-prefixer(textarea-font-color), --t-input-font-color, inherit);\n border-width: var(--comp-textarea-border-width);\n border-style: solid;\n border-color: var(--comp-textarea-border-color);\n border-radius: var(--comp-textarea-border-radius);\n box-shadow: var-list(var-prefixer(textarea-box-shadow), none);\n scrollbar-width: thin;\n scrollbar-color: var(--t-a11y-gray-color) transparent;\n --comp-textarea-tween: #{var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'))};\n transition:\n border-width var(--comp-textarea-tween),\n border-color var(--comp-textarea-tween),\n box-shadow var(--comp-textarea-tween);\n\n &::-webkit-scrollbar {\n width: var(--app-scale-1x);\n height: var(--app-scale-1x);\n margin: var(--app-scale-1x);\n }\n\n &::-webkit-scrollbar-thumb {\n background: var(--t-a11y-gray-color);\n border-radius: 2px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &:not([cols]) {\n width: 100%;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n background: var-list(--tct-textarea-error-background, --comp-textarea-background);\n }\n\n &:hover {\n border-color: var-list(--tct-textarea-hover-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-hover-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-hover-box-shadow, --comp-textarea-hover-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-hover-border-color,\n var-prefixer(textarea-error-border-color),\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-hover-background,\n --tct-textarea-error-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-hover-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-hover-box-shadow,\n --comp-textarea-hover-ring\n );\n }\n }\n\n &:focus {\n border-color: var-list(--tct-textarea-focus-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-focus-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-focus-box-shadow, --const-double-focus-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-focus-border-color,\n --tct-textarea-error-border-color,\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-focus-background,\n --tct-textarea-error-background,\n --tct-textarea-focus-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-focus-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-focus-box-shadow,\n --const-double-focus-ring\n );\n }\n }\n\n &::placeholder {\n color: var-list(\n var-prefixer(textarea-placeholder-font-color),\n --t-input-placeholder-font-color,\n --tct-gray-7,\n --app-gray-7,\n --tct-gray-d1,\n --app-gray-d1,\n #666666\n );\n }\n\n &[disabled] {\n cursor: not-allowed;\n }\n\n &.resize-vertical-auto {\n overflow: hidden;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n\n &:not(:focus) {\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n }\n }\n}\n\nq2-icon {\n margin-top: calc(#{var-list(var-prefixer(textarea-border-top-width), 1px)} / 2);\n margin-bottom: calc(#{var-list(var-prefixer(textarea-border-bottom-width), 1px)} / 2);\n pointer-events: none;\n position: absolute;\n top: var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px);\n color: var-list(var-prefixer(textarea-icon-stroke-primary), --app-gray-9, --tct-gray, --app-gray, #999999);\n right: 0;\n margin-right: var-list(--tct-scale-2x, --app-scale-2x, 10px);\n --tct-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n --t-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n}\n\n.icon-error {\n color: var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a);\n --tct-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n --t-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n}\n\n.messages-container {\n height: 0px;\n overflow: hidden;\n background: var-list(\n --tct-message-background,\n --tct-message-bg,\n var-prefixer(gray-14),\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n box-shadow: var-list(\n var-prefixer(textarea-message-box-shadow),\n --tct-box-shadow-1,\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n );\n transition: height\n var-list(var-prefixer(textarea-messages-tween), --tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n margin-top: 2px;\n z-index: 1;\n position: absolute;\n width: 100%;\n color: var-list(var-prefixer(textarea-messages-font-color), inherit);\n}\n\n.max-length {\n color: var-list(var-prefixer(textarea-max-length-color), --t-textA, rgba(77, 77, 77, 0.77));\n font-size: var-list(\n var-prefixer(textarea-max-length-font-size),\n --tct-font-size-small,\n --app-font-size-small,\n 12px\n );\n position: absolute;\n right: 0;\n}\n\n.btn-resize {\n --tct-textarea-resize-icon-padding: calc(\n calc(\n #{var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px)} - #{var-list(\n var-prefixer(textarea-resize-icon-size),\n 12px\n )}\n ) / 2\n );\n width: var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px);\n height: var-list(var-prefixer(textarea-resize-btn-height), --tct-btn-icon-height, 44px);\n background: var-list(var-prefixer(textarea-resize-btn-background), transparent);\n stroke: var-list(var-prefixer(textarea-resize-color), --t-textA, rgba(77, 77, 77, 0.77));\n border: 0;\n position: absolute;\n right: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n bottom: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n display: block;\n padding: var-list(var-prefixer(textarea-resize-icon-padding));\n font-size: 0;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n\n :host([resize='both']) & {\n cursor: se-resize;\n }\n\n :host([resize='vertical']) &,\n :host([resize='vertical-auto']) & {\n cursor: s-resize;\n }\n\n :host([resize='horizontal']) & {\n cursor: e-resize;\n }\n}\n","import {\n Component,\n EventEmitter,\n Prop,\n Event,\n Element,\n Fragment,\n State,\n h,\n Watch,\n Listen,\n Method,\n} from '@stencil/core';\nimport { IDict } from 'src/util';\nimport {\n createGuid,\n debounce,\n isEventFromElement,\n renderLabel,\n loc,\n renderMessages,\n overrideFocus,\n setMessageHeight,\n} from 'src/utils';\n\n@Component({ tag: 'q2-textarea', shadow: true, styleUrl: 'q2-textarea.scss' })\nexport class Q2Textarea {\n // #region Own Properties\n\n contentContainer?: HTMLDivElement;\n debouncedScreenReaderCharacterCount = debounce(() => {\n this.updateScreenReaderCharacterCount();\n }, 2000);\n describeByScreenReaderCharacterCount = true;\n guid = createGuid();\n scheduledAfterRender: (() => void)[] = [];\n textareaField?: HTMLTextAreaElement;\n valueOnFocus: string;\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 downParams: IDict<number>;\n\n @State()\n hasFocus: boolean;\n\n @State()\n screenReaderCharacterCount: number;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Defines the number of columns displayed in the field.\n * If not set, the field will be full-width and respond to the window size.\n */\n @Prop({ reflect: true })\n cols: number;\n\n /** Indicates the field cannot be focused or interacted with. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Each item in the `errors` array will appear below the input field when the field is focused.\n * @localizable\n */\n @Prop()\n errors: string[];\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 })\n hideLabel: boolean;\n\n /**\n * When `true` and the input field has an active validation error, the field shows the error state without displaying associated error messages below the field (from the errors array above).\n * Primarily used for dropdown selects and date pickers whose controls appear below the input field (where the error messages, if displayed, would also appear).\n */\n @Prop({ reflect: true })\n hideMessages: boolean;\n\n /**\n * Each item in the `hints` array will appear below the input field when the field is focused.\n * @info\n * The `errors` array takes precedence over the `hints` array. If an input field has both hints and errors, only the errors will display.\n * Once all errors are resolved, the hints display the next time the field is focused.\n * @localizable\n */\n @Prop()\n hints: string[];\n\n /**\n * The label that appears above the field. This is announced by screen readers when the field is focused.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * Defines the maximum allowed input length in characters. Formatting characters (e.g. `.`, `-`, etc) are included in the `maxlength` comparison.\n * Make sure you account for them when setting the `maxlength` value.\n * @info\n * Please set the `rows` attribute in correlation with `maxlength` to show as much text as possible in the field viewport.\n */\n @Prop({ reflect: true, mutable: true })\n maxlength: number;\n\n /** Appends \"(optional)\" to the field label, and sets `aria-required` on the nested input tag to `false`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /**\n * Text that appears within the field when it is blurred and empty.\n * Placeholder text disappears when the user focuses on the field and provides input.\n * @info\n * Primarily used for rare cases in which a visible form label is not expected (e.g., search fields).\n * @localizable\n */\n @Prop({ reflect: true })\n placeholder: string;\n\n /**\n * Appends \"(read only)\" to the field label, and field becomes unusable, but remains focusable.\n * Takes priority over `optional` if both are `true`.\n */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** Indicates how the field is resizable. */\n @Prop({ reflect: true })\n resize: 'none' | 'vertical' | 'horizontal' | 'both' | 'vertical-auto' = 'vertical';\n\n /** Defines the number of rows displayed in the field. */\n @Prop({ reflect: true })\n rows: number;\n\n /** Determines whether the field is subject to spell-checking by the underlying browser or OS. */\n @Prop({ reflect: true })\n spellcheck: boolean;\n\n /** The value of the field. */\n @Prop({ mutable: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the field loses focus after the value has been changed.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the field value is updated.\n * @legacyEvent\n */\n @Event()\n input: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n if (isNaN(this.maxlength)) {\n this.maxlength = undefined;\n }\n\n if (this.maxlength) {\n this.updateScreenReaderCharacterCount();\n }\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.push(this.checkRows, this.checkCols, this.increaseHeightIfOverflowing);\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 (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('focus')\n onHostElementFocus(event: Event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.textareaField.focus();\n }\n\n @Listen('input')\n onHostElementInput(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.oninput) {\n this.value = event.detail.value;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates focusing the `<textarea>`, centering the provided value, and emitting an `input` event.\n *\n * This method leaves the focus on the `<textarea>` and as a result does not trigger the `change` event. If you want\n * to trigger the `change` event, move the focus to another element after calling this method.\n *\n * @testOnly\n */\n @Method()\n setValue(value: string) {\n const { textareaField } = this;\n textareaField.focus();\n textareaField.value = value;\n textareaField.dispatchEvent(new InputEvent('input'));\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('cols')\n colsObserver() {\n this.contentContainer.style.width = null;\n }\n\n @Watch('errors')\n errorsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('hints')\n hintsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('maxlength')\n maxlengthObserver() {\n if (this.maxlength) {\n this.updateScreenReaderCharacterCount();\n }\n }\n\n @Watch('rows')\n rowsObserver() {\n this.contentContainer.style.height = null;\n }\n\n @Watch('value')\n valueObserver() {\n const { maxlength, value = '' } = this;\n if (!maxlength) return;\n\n const truncatedValue = value.substr(0, maxlength);\n if (truncatedValue === value) return;\n\n this.change.emit({ value: truncatedValue });\n }\n\n // #endregion\n // #region Local Methods\n\n get hasError() {\n return Array.isArray(this.errors) && this.errors.length > 0;\n }\n\n get inputDescribedBy() {\n let describedBy = undefined;\n\n if (this.showMessages) {\n describedBy = `${this.inputId}-description`;\n }\n\n // Remove screen reader character count from described by after typing\n // starts to avoid double announcement. It's needed on focus to announce\n // the character count when field gains focus.\n if (this.maxlength && this.describeByScreenReaderCharacterCount) {\n describedBy = describedBy ? `${describedBy} ${this.inputId}-max-length` : `${this.inputId}-max-length`;\n }\n\n return describedBy;\n }\n\n get inputId() {\n return `input-guid-${this.guid}`;\n }\n\n get messages(): string[] {\n return (\n (this.errors && this.errors.length > 0 && this.errors) ||\n (this.hints && this.hints.length > 0 && this.hints) ||\n []\n );\n }\n\n get showMessages() {\n return this.messages.length > 0 && !this.hideMessages;\n }\n\n get showResize() {\n const { resize } = this;\n return resize && resize !== 'none';\n }\n\n get wrapperClasses() {\n const errorClass = this.hasError ? ' has-error' : '';\n const valueClass = !!this.value ? ' has-value' : '';\n const focusClass = this.hasFocus ? ' has-focus' : '';\n\n return `field-container${errorClass}${valueClass}${focusClass}`;\n }\n\n checkCols = () => {\n const { contentContainer, cols, textareaField, resize } = this;\n\n if (!cols || ['none', 'vertical'].includes(resize)) return;\n contentContainer.style.width = `${contentContainer.offsetWidth}px`;\n textareaField.removeAttribute('cols');\n };\n\n checkRows = () => {\n const { contentContainer, rows, textareaField, resize } = this;\n\n if (!rows || ['none', 'horizontal'].includes(resize)) return;\n contentContainer.style.height = `${contentContainer.offsetHeight}px`;\n textareaField.removeAttribute('rows');\n };\n\n getBorderOffset = () => {\n const computedStyle = window.getComputedStyle(this.textareaField);\n\n return parseInt(computedStyle.borderTopWidth, 10) + parseInt(computedStyle.borderBottomWidth, 10);\n };\n\n increaseHeightIfOverflowing = () => {\n const { scrollHeight } = this.textareaField;\n if (this.resize === 'vertical-auto' && this.isOverflowingVertically()) {\n // need to account for border width because scrollHeight does not include it\n const newHeight = scrollHeight + this.getBorderOffset();\n this.contentContainer.style.height = `${newHeight}px`;\n }\n };\n\n isOverflowingVertically = () => {\n const { clientHeight, scrollHeight } = this.textareaField;\n\n return scrollHeight > clientHeight;\n };\n\n onMouseDown = (event: MouseEvent) => {\n const { contentContainer } = this;\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: event.clientX,\n y: event.clientY,\n };\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onMouseUp);\n };\n\n onMouseMove = (event: MouseEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n onMouseUp = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n this.downParams = null;\n };\n\n onTextareaBlur = () => {\n const {\n valueOnFocus,\n textareaField: { value },\n } = this;\n this.describeByScreenReaderCharacterCount = true;\n this.hasFocus = false;\n setMessageHeight(this);\n if (valueOnFocus !== value) this.change.emit({ value });\n };\n\n onTextareaChange = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n\n this.change.emit({ value });\n };\n\n onTextareaFocus = () => {\n this.hasFocus = true;\n this.valueOnFocus = this.value;\n setMessageHeight(this);\n };\n\n onTextareaInput = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n this.describeByScreenReaderCharacterCount = false;\n this.increaseHeightIfOverflowing();\n if (this.maxlength) this.debouncedScreenReaderCharacterCount();\n this.input.emit({ value });\n };\n\n onTouchMove = (event: TouchEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n onTouchStart = (event: TouchEvent) => {\n if (event.touches.length !== 1) return;\n\n event.preventDefault();\n\n const { contentContainer } = this;\n const firstTouch = event.touches[0];\n\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: firstTouch.pageX,\n y: firstTouch.pageY,\n };\n\n document.addEventListener('touchmove', this.onTouchMove);\n document.addEventListener('touchend', this.onTouchMove);\n };\n\n setHeight(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { height, y },\n } = this;\n const resizeY = ['both', 'vertical', 'vertical-auto'].includes(resize);\n\n if (!resizeY) return;\n\n const eventY = event instanceof MouseEvent ? event.clientY : event.touches[0]?.pageY ?? 0;\n const newHeight = height - (y - eventY);\n // If 'vertical-auto', change height if the new height is greater\n // than the current height or the textarea is not overflowing.\n // Otherwise, change height regardless of the new height.\n if (\n resize !== 'vertical-auto' ||\n newHeight > height ||\n (resize === 'vertical-auto' && !this.isOverflowingVertically())\n ) {\n contentContainer.style.height = `${newHeight}px`;\n }\n }\n\n setWidth(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { width, x },\n } = this;\n\n const resizeX = ['both', 'horizontal'].includes(resize);\n\n if (!resizeX) return;\n const eventX = event instanceof MouseEvent ? event.clientX : event.touches[0]?.pageX ?? 0;\n const newWidth = width - (x - eventX);\n contentContainer.style.width = `${newWidth}px`;\n }\n\n updateScreenReaderCharacterCount = () => {\n this.screenReaderCharacterCount = this.value?.length || 0;\n };\n\n // #endregion\n // #region Render Methods\n\n renderInput() {\n const textareaClasses = this.resize === 'vertical-auto' ? 'resize-vertical-auto' : '';\n\n return (\n <div class=\"input-container\">\n <textarea\n id={this.inputId}\n class={textareaClasses}\n placeholder={(this.placeholder && loc(this.placeholder)) || undefined}\n test-id=\"inputField\"\n maxLength={this.maxlength}\n aria-describedby={this.inputDescribedBy}\n aria-invalid={`${this.hasError}`}\n aria-required={`${!this.optional}`}\n aria-label={this.hideLabel && this.label}\n spellcheck={this.spellcheck}\n rows={this.rows || 3}\n cols={this.cols}\n value={this.value}\n ref={el => (this.textareaField = el)}\n readonly={!!this.readonly}\n disabled={!!this.disabled}\n maxlength={this.maxlength}\n onInput={this.onTextareaInput}\n onChange={this.onTextareaChange}\n onFocus={this.onTextareaFocus}\n onBlur={this.onTextareaBlur}\n ></textarea>\n {this.hasError ? (\n <q2-icon\n type=\"error\"\n class=\"icon-error\"\n />\n ) : (\n ''\n )}\n {this.showResize && (\n <button\n onMouseDown={this.onMouseDown}\n onTouchStart={this.onTouchStart}\n class=\"btn-resize\"\n aria-label={loc('tecton.element.input.resize')}\n tabIndex={-1}\n >\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.5 11.5l3-3m-7 3l7-7m-11 7l11-11\"\n fill=\"none\"\n stroke-stroke-linecap=\"square\"\n />\n </svg>\n </button>\n )}\n </div>\n );\n }\n\n renderMaxLength() {\n return (\n <Fragment>\n <div\n class=\"max-length\"\n aria-hidden=\"true\"\n >\n {this.value?.length || 0}/{this.maxlength}\n </div>\n <div\n aria-live=\"polite\"\n class=\"sr\"\n id={`${this.inputId}-max-length`}\n test-id=\"max-length-sr\"\n >\n {loc('tecton.element.textarea.characterCount.screenReader', [\n this.screenReaderCharacterCount,\n this.maxlength,\n ])}\n </div>\n </Fragment>\n );\n }\n\n render() {\n return (\n <div class={this.wrapperClasses}>\n {renderLabel(this)}\n <div\n class=\"content-container\"\n ref={el => (this.contentContainer = el)}\n >\n {this.renderInput()}\n {this.maxlength ? this.renderMaxLength() : ''}\n {renderMessages(this)}\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"],"version":3}
1
+ {"file":"q2-textarea.entry.cjs.js","mappings":"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","names":["debounce","createGuid","setMessageHeight","overrideFocus","isEventFromElement","h","loc","Fragment","renderLabel","renderMessages"],"sources":["src/components/q2-textarea/q2-textarea.scss?tag=q2-textarea&encapsulation=shadow","src/components/q2-textarea/q2-textarea.tsx"],"sourcesContent":["@import '../../styles/host';\n@import '../../styles/functions';\n\n:host {\n --comp-default-textarea-margin: #{var-list(var-prefixer(textarea-margin-top), --app-scale-5x, 25px) 0\n var-list(var-prefixer(textarea-margin-bottom), --app-scale-5x, 25px)};\n display: block;\n margin: var-list(--tct-textarea-margin, --comp-default-textarea-margin);\n font-size: var-list(var-prefixer(textarea-font-size), --app-font-size, inherit);\n}\n\n:host([hidden]) {\n display: none;\n}\n\nlabel {\n --comp-label-padding: #{var-list(\n --tct-textarea-label-padding,\n unquote(\n '0 #{var-list(var-prefixer(textarea-label-padding-right), 0)} 0 #{var-list(var-prefixer(textarea-label-padding-left), 0)}'\n )\n )};\n --comp-label-margin: #{var-list(\n --tct-textarea-label-margin,\n unquote(\n '#{var-list(var-prefixer(textarea-label-margin-top), 0)} 0 #{var-list(var-prefixer(textarea-label-margin-bottom), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n display: block;\n padding: var(--comp-label-padding);\n margin: var(--comp-label-margin);\n color: var-list(var-prefixer(textarea-label-font-color), inherit);\n font-size: var-list(var-prefixer(textarea-label-font-size), inherit);\n font-weight: var-list(var-prefixer(textarea-label-font-weight), 600);\n text-transform: var-list(var-prefixer(textarea-label-text-transform), none);\n letter-spacing: var-list(var-prefixer(textarea-label-letter-spacing), normal);\n transition: color var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'));\n\n .has-error & {\n color: var-list(var-prefixer(textarea-error-label-font-color), --tct-textarea-label-font-color, inherit);\n }\n\n :hover & {\n color: var-list(--tct-textarea-hover-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n .has-error & {\n color: var-list(\n --tct-textarea-error-hover-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-hover-label-font-color,\n --tct-textarea-label-font-color,\n inherit\n );\n }\n }\n\n :host(:focus-within) & {\n color: var-list(--tct-textarea-focus-label-font-color, var-prefixer(textarea-label-font-color), inherit);\n }\n\n :host(:focus-within) .has-error & {\n color: var-list(\n --tct-textarea-error-focus-label-font-color,\n var-prefixer(textarea-error-label-font-color),\n --tct-textarea-focus-label-font-color,\n var-prefixer(textarea-label-font-color),\n inherit\n );\n }\n}\n\n.optional-tag {\n --comp-label-optional-margin: #{var-list(\n --tct-textarea-label-optional-margin,\n unquote(\n '0 0 0 #{var-list(var-prefixer(textarea-label-optional-margin-left), --tct-scale-1x, --app-scale-1x, 5px)}'\n )\n )};\n margin: var(--comp-label-optional-margin);\n color: var-list(\n var-prefixer(textarea-label-optional-font-color),\n --t-textA,\n --t-a11y-gray-color,\n rgba(77, 77, 77, 0.77)\n );\n font-size: var-list(var-prefixer(textarea-label-optional-font-size), 12px);\n font-weight: var-list(var-prefixer(textarea-label-optional-font-weight), 400);\n}\n\n.input-container {\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n height: 100%;\n --comp-default-border-radius: #{var-list(--tct-border-radius-1, --app-border-radius-1, 4px)};\n --comp-textarea-border-top-left-radius: #{var-list(\n var-prefixer(textarea-border-top-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-top-right-radius: #{var-list(\n var-prefixer(textarea-border-top-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-right-radius: #{var-list(\n var-prefixer(textarea-border-bottom-right-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-bottom-left-radius: #{var-list(\n var-prefixer(textarea-border-bottom-left-radius),\n --comp-default-border-radius\n )};\n --comp-textarea-border-radius: var(--comp-textarea-border-top-left-radius)\n var(--comp-textarea-border-top-right-radius) var(--comp-textarea-border-bottom-right-radius)\n var(--comp-textarea-border-bottom-left-radius);\n --comp-textarea-border-width: #{var-list(var-prefixer(textarea-border-top-width), 1px)\n var-list(var-prefixer(textarea-border-right-width), 1px)\n var-list(var-prefixer(textarea-border-bottom-width), 1px)\n var-list(var-prefixer(textarea-border-left-width), 1px)};\n --comp-textarea-icon-clearance: 34px;\n\n :host([disabled]) & {\n cursor: not-allowed;\n opacity: var-list(var-prefixer(textarea-disabled-opacity), --tct-disabled-opacity, --app-disabled-opacity, 0.4);\n }\n}\n\n.content-container {\n --comp-textarea-min-height: 46px;\n --comp-textarea-min-width: 150px;\n position: relative;\n display: inline-block;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n min-width: var-list(var-prefixer(textarea-min-width) --comp-textarea-min-width);\n\n :host(:not([cols])) & {\n width: 100%;\n }\n}\n\ntextarea {\n --comp-textarea-padding: #{var-list(\n --tct-textarea-padding,\n unquote(\n '#{var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px)} #{var-list(var-prefixer(textarea-horizontal-padding), --tct-scale-2x, --app-scale-2x, 10px)}'\n )\n )};\n --comp-textarea-border-color: #{var-list(\n var-prefixer(textarea-border-color),\n var-prefixer(input-border-color),\n --t-a11y-gray-color-AA,\n #949494\n )};\n --comp-textarea-background: #{var-list(\n --tct-textarea-background,\n var-prefixer(textarea-bg),\n --tct-input-background,\n var-prefixer(input-bg),\n --t-gray-14,\n #fcfcfd\n )};\n --comp-textarea-hover-ring-color: var(--tct-textarea-hover-ring-color);\n --comp-textarea-hover-ring: #{0 0 0 2px var(--t-base), 0 0 0 4px var(--comp-textarea-hover-ring-color),\n var-list(--tct-textarea-hover-box-shadow, unquote('0 0 transparent'))};\n\n resize: none;\n height: 100%;\n -webkit-appearance: none;\n appearance: none;\n display: block;\n box-sizing: border-box;\n min-height: var-list(var-prefixer(textarea-min-height), --comp-textarea-min-height);\n padding: var(--comp-textarea-padding);\n background: var(--comp-textarea-background);\n color: var-list(var-prefixer(textarea-font-color), --t-input-font-color, inherit);\n border-width: var(--comp-textarea-border-width);\n border-style: solid;\n border-color: var(--comp-textarea-border-color);\n border-radius: var(--comp-textarea-border-radius);\n box-shadow: var-list(var-prefixer(textarea-box-shadow), none);\n scrollbar-width: thin;\n scrollbar-color: var(--t-a11y-gray-color) transparent;\n --comp-textarea-tween: #{var-list(var-prefixer(textarea-tween), --tct-tween-2, --app-tween-2, unquote('0.4s ease'))};\n transition:\n border-width var(--comp-textarea-tween),\n border-color var(--comp-textarea-tween),\n box-shadow var(--comp-textarea-tween);\n\n &::-webkit-scrollbar {\n width: var(--app-scale-1x);\n height: var(--app-scale-1x);\n margin: var(--app-scale-1x);\n }\n\n &::-webkit-scrollbar-thumb {\n background: var(--t-a11y-gray-color);\n border-radius: 2px;\n }\n\n &::-webkit-scrollbar-track {\n background: transparent;\n }\n\n &:not([cols]) {\n width: 100%;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n background: var-list(--tct-textarea-error-background, --comp-textarea-background);\n }\n\n &:hover {\n border-color: var-list(--tct-textarea-hover-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-hover-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-hover-box-shadow, --comp-textarea-hover-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-hover-border-color,\n var-prefixer(textarea-error-border-color),\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-hover-background,\n --tct-textarea-error-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-hover-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-hover-box-shadow,\n --comp-textarea-hover-ring\n );\n }\n }\n\n &:focus {\n border-color: var-list(--tct-textarea-focus-border-color, --comp-textarea-border-color);\n background: var-list(--tct-textarea-focus-background, --comp-textarea-background);\n box-shadow: var-list(--tct-textarea-focus-box-shadow, --const-double-focus-ring);\n\n .has-error & {\n border-color: var-list(\n --tct-textarea-error-focus-border-color,\n --tct-textarea-error-border-color,\n --const-stoplight-alert,\n #d20a0a\n );\n background: var-list(\n --tct-textarea-error-focus-background,\n --tct-textarea-error-background,\n --tct-textarea-focus-background,\n --comp-textarea-background\n );\n box-shadow: var-list(\n --tct-textarea-error-focus-box-shadow,\n --tct-textarea-error-box-shadow,\n --tct-textarea-focus-box-shadow,\n --const-double-focus-ring\n );\n }\n }\n\n &::placeholder {\n color: var-list(\n var-prefixer(textarea-placeholder-font-color),\n --t-input-placeholder-font-color,\n --tct-gray-7,\n --app-gray-7,\n --tct-gray-d1,\n --app-gray-d1,\n #666666\n );\n }\n\n &[disabled] {\n cursor: not-allowed;\n }\n\n &.resize-vertical-auto {\n overflow: hidden;\n }\n\n .has-error & {\n padding-right: var(--comp-textarea-icon-clearance);\n\n &:not(:focus) {\n border-color: var-list(var-prefixer(textarea-error-border-color), --const-stoplight-alert, #d20a0a);\n }\n }\n}\n\nq2-icon {\n margin-top: calc(#{var-list(var-prefixer(textarea-border-top-width), 1px)} / 2);\n margin-bottom: calc(#{var-list(var-prefixer(textarea-border-bottom-width), 1px)} / 2);\n pointer-events: none;\n position: absolute;\n top: var-list(var-prefixer(textarea-vertical-padding), --tct-scale-2x, --app-scale-2x, 10px);\n color: var-list(var-prefixer(textarea-icon-stroke-primary), --app-gray-9, --tct-gray, --app-gray, #999999);\n right: 0;\n margin-right: var-list(--tct-scale-2x, --app-scale-2x, 10px);\n --tct-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n --t-icon-stroke-primary: #{var-list(\n var-prefixer(textarea-icon-stroke-primary),\n var-prefixer(gray-9),\n --tct-gray,\n --app-gray,\n #999999\n )};\n}\n\n.icon-error {\n color: var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a);\n --tct-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n --t-icon-stroke-primary: #{var-list(--tct-stoplight-error, --const-stoplight-alert, #d20a0a)};\n}\n\n.messages-container {\n height: 0px;\n overflow: hidden;\n background: var-list(\n --tct-message-background,\n --tct-message-bg,\n var-prefixer(gray-14),\n --tct-gray-l3,\n --app-gray-l3,\n #f2f2f2\n );\n box-shadow: var-list(\n var-prefixer(textarea-message-box-shadow),\n --tct-box-shadow-1,\n --app-shadow-1,\n unquote(\"0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)\")\n );\n transition: height\n var-list(var-prefixer(textarea-messages-tween), --tct-tween-1, --app-tween-1, unquote('0.2s ease'));\n margin-top: 2px;\n z-index: 1;\n position: absolute;\n width: 100%;\n color: var-list(var-prefixer(textarea-messages-font-color), inherit);\n}\n\n.max-length {\n color: var-list(var-prefixer(textarea-max-length-color), --t-textA, rgba(77, 77, 77, 0.77));\n font-size: var-list(\n var-prefixer(textarea-max-length-font-size),\n --tct-font-size-small,\n --app-font-size-small,\n 12px\n );\n position: absolute;\n right: 0;\n}\n\n.btn-resize {\n --tct-textarea-resize-icon-padding: calc(\n calc(\n #{var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px)} - #{var-list(\n var-prefixer(textarea-resize-icon-size),\n 12px\n )}\n ) / 2\n );\n width: var-list(var-prefixer(textarea-resize-btn-width), --tct-btn-icon-width, 44px);\n height: var-list(var-prefixer(textarea-resize-btn-height), --tct-btn-icon-height, 44px);\n background: var-list(var-prefixer(textarea-resize-btn-background), transparent);\n stroke: var-list(var-prefixer(textarea-resize-color), --t-textA, rgba(77, 77, 77, 0.77));\n border: 0;\n position: absolute;\n right: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n bottom: calc(#{var-list(var-prefixer(textarea-resize-icon-padding))} * -1 + 2px);\n display: block;\n padding: var-list(var-prefixer(textarea-resize-icon-padding));\n font-size: 0;\n\n &:focus {\n outline: none;\n box-shadow: none;\n }\n\n :host([resize='both']) & {\n cursor: se-resize;\n }\n\n :host([resize='vertical']) &,\n :host([resize='vertical-auto']) & {\n cursor: s-resize;\n }\n\n :host([resize='horizontal']) & {\n cursor: e-resize;\n }\n}\n","import {\n Component,\n EventEmitter,\n Prop,\n Event,\n Element,\n Fragment,\n State,\n h,\n Watch,\n Listen,\n Method,\n} from '@stencil/core';\nimport { IDict } from 'src/util';\nimport {\n createGuid,\n debounce,\n isEventFromElement,\n renderLabel,\n loc,\n renderMessages,\n overrideFocus,\n setMessageHeight,\n} from 'src/utils';\n\n@Component({ tag: 'q2-textarea', shadow: true, styleUrl: 'q2-textarea.scss' })\nexport class Q2Textarea {\n // #region Own Properties\n\n contentContainer?: HTMLDivElement;\n debouncedScreenReaderCharacterCount = debounce(() => {\n this.updateScreenReaderCharacterCount();\n }, 2000);\n describeByScreenReaderCharacterCount = true;\n guid = createGuid();\n scheduledAfterRender: (() => void)[] = [];\n textareaField?: HTMLTextAreaElement;\n valueOnFocus: string;\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 downParams: IDict<number>;\n\n @State()\n hasFocus: boolean;\n\n @State()\n screenReaderCharacterCount: number;\n\n // #endregion\n // #region Public Property API\n\n /**\n * Defines the number of columns displayed in the field.\n * If not set, the field will be full-width and respond to the window size.\n */\n @Prop({ reflect: true })\n cols: number;\n\n /** Indicates the field cannot be focused or interacted with. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /**\n * Each item in the `errors` array will appear below the input field when the field is focused.\n * @localizable\n */\n @Prop()\n errors: string[];\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 })\n hideLabel: boolean;\n\n /**\n * When `true` and the input field has an active validation error, the field shows the error state without displaying associated error messages below the field (from the errors array above).\n * Primarily used for dropdown selects and date pickers whose controls appear below the input field (where the error messages, if displayed, would also appear).\n */\n @Prop({ reflect: true })\n hideMessages: boolean;\n\n /**\n * Each item in the `hints` array will appear below the input field when the field is focused.\n * @info\n * The `errors` array takes precedence over the `hints` array. If an input field has both hints and errors, only the errors will display.\n * Once all errors are resolved, the hints display the next time the field is focused.\n * @localizable\n */\n @Prop()\n hints: string[];\n\n /**\n * The label that appears above the field. This is announced by screen readers when the field is focused.\n * @localizable\n */\n @Prop({ reflect: true })\n label: string;\n\n /**\n * Defines the maximum allowed input length in characters. Formatting characters (e.g. `.`, `-`, etc) are included in the `maxlength` comparison.\n * Make sure you account for them when setting the `maxlength` value.\n * @info\n * Please set the `rows` attribute in correlation with `maxlength` to show as much text as possible in the field viewport.\n */\n @Prop({ reflect: true, mutable: true })\n maxlength: number;\n\n /** Appends \"(optional)\" to the field label, and sets `aria-required` on the nested input tag to `false`. */\n @Prop({ reflect: true })\n optional: boolean;\n\n /**\n * Text that appears within the field when it is blurred and empty.\n * Placeholder text disappears when the user focuses on the field and provides input.\n * @info\n * Primarily used for rare cases in which a visible form label is not expected (e.g., search fields).\n * @localizable\n */\n @Prop({ reflect: true })\n placeholder: string;\n\n /**\n * Appends \"(read only)\" to the field label, and field becomes unusable, but remains focusable.\n * Takes priority over `optional` if both are `true`.\n */\n @Prop({ reflect: true })\n readonly: boolean;\n\n /** Indicates how the field is resizable. */\n @Prop({ reflect: true })\n resize: 'none' | 'vertical' | 'horizontal' | 'both' | 'vertical-auto' = 'vertical';\n\n /** Defines the number of rows displayed in the field. */\n @Prop({ reflect: true })\n rows: number;\n\n /** Determines whether the field is subject to spell-checking by the underlying browser or OS. */\n @Prop({ reflect: true })\n spellcheck: boolean;\n\n /** The value of the field. */\n @Prop({ mutable: true })\n value: string;\n\n // #endregion\n // #region Events\n\n /**\n * Emitted when the field loses focus after the value has been changed.\n * @legacyEvent\n */\n @Event()\n change: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the field value is updated.\n * @legacyEvent\n */\n @Event()\n input: EventEmitter<{ value: string }>;\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n if (isNaN(this.maxlength)) {\n this.maxlength = undefined;\n }\n\n if (this.maxlength) {\n this.updateScreenReaderCharacterCount();\n }\n }\n\n componentDidLoad() {\n overrideFocus(this.hostElement);\n }\n\n componentDidRender() {\n this.scheduledAfterRender.push(this.checkRows, this.checkCols, this.increaseHeightIfOverflowing);\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 (event.target === this.hostElement && !this.hostElement.onchange) {\n this.value = event.detail.value;\n }\n }\n\n @Listen('focus')\n onHostElementFocus(event: Event) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.textareaField.focus();\n }\n\n @Listen('input')\n onHostElementInput(event: CustomEvent) {\n if (event.target === this.hostElement && !this.hostElement.oninput) {\n this.value = event.detail.value;\n }\n }\n\n // #endregion\n // #region Public Methods API\n\n /**\n * Emulates focusing the `<textarea>`, centering the provided value, and emitting an `input` event.\n *\n * This method leaves the focus on the `<textarea>` and as a result does not trigger the `change` event. If you want\n * to trigger the `change` event, move the focus to another element after calling this method.\n *\n * @testOnly\n */\n @Method()\n setValue(value: string) {\n const { textareaField } = this;\n textareaField.focus();\n textareaField.value = value;\n textareaField.dispatchEvent(new InputEvent('input'));\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('cols')\n colsObserver() {\n this.contentContainer.style.width = null;\n }\n\n @Watch('errors')\n errorsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('hints')\n hintsObserver() {\n this.hasFocus && this.scheduledAfterRender.push(() => setMessageHeight(this));\n }\n\n @Watch('maxlength')\n maxlengthObserver() {\n if (this.maxlength) {\n this.updateScreenReaderCharacterCount();\n }\n }\n\n @Watch('rows')\n rowsObserver() {\n this.contentContainer.style.height = null;\n }\n\n @Watch('value')\n valueObserver() {\n const { maxlength, value = '' } = this;\n if (!maxlength) return;\n\n const truncatedValue = value.substr(0, maxlength);\n if (truncatedValue === value) return;\n\n this.change.emit({ value: truncatedValue });\n }\n\n // #endregion\n // #region Local Methods\n\n get hasError() {\n return Array.isArray(this.errors) && this.errors.length > 0;\n }\n\n get inputDescribedBy() {\n let describedBy = undefined;\n\n if (this.showMessages) {\n describedBy = `${this.inputId}-description`;\n }\n\n // Remove screen reader character count from described by after typing\n // starts to avoid double announcement. It's needed on focus to announce\n // the character count when field gains focus.\n if (this.maxlength && this.describeByScreenReaderCharacterCount) {\n describedBy = describedBy ? `${describedBy} ${this.inputId}-max-length` : `${this.inputId}-max-length`;\n }\n\n return describedBy;\n }\n\n get inputId() {\n return `input-guid-${this.guid}`;\n }\n\n get messages(): string[] {\n return (\n (this.errors && this.errors.length > 0 && this.errors) ||\n (this.hints && this.hints.length > 0 && this.hints) ||\n []\n );\n }\n\n get showMessages() {\n return this.messages.length > 0 && !this.hideMessages;\n }\n\n get showResize() {\n const { resize } = this;\n return resize && resize !== 'none';\n }\n\n get wrapperClasses() {\n const errorClass = this.hasError ? ' has-error' : '';\n const valueClass = !!this.value ? ' has-value' : '';\n const focusClass = this.hasFocus ? ' has-focus' : '';\n\n return `field-container${errorClass}${valueClass}${focusClass}`;\n }\n\n checkCols = () => {\n const { contentContainer, cols, textareaField, resize } = this;\n\n if (!cols || ['none', 'vertical'].includes(resize)) return;\n contentContainer.style.width = `${contentContainer.offsetWidth}px`;\n textareaField.removeAttribute('cols');\n };\n\n checkRows = () => {\n const { contentContainer, rows, textareaField, resize } = this;\n\n if (!rows || ['none', 'horizontal'].includes(resize)) return;\n contentContainer.style.height = `${contentContainer.offsetHeight}px`;\n textareaField.removeAttribute('rows');\n };\n\n getBorderOffset = () => {\n const computedStyle = window.getComputedStyle(this.textareaField);\n\n return parseInt(computedStyle.borderTopWidth, 10) + parseInt(computedStyle.borderBottomWidth, 10);\n };\n\n increaseHeightIfOverflowing = () => {\n const { scrollHeight } = this.textareaField;\n if (this.resize === 'vertical-auto' && this.isOverflowingVertically()) {\n // need to account for border width because scrollHeight does not include it\n const newHeight = scrollHeight + this.getBorderOffset();\n this.contentContainer.style.height = `${newHeight}px`;\n }\n };\n\n isOverflowingVertically = () => {\n const { clientHeight, scrollHeight } = this.textareaField;\n\n return scrollHeight > clientHeight;\n };\n\n onMouseDown = (event: MouseEvent) => {\n const { contentContainer } = this;\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: event.clientX,\n y: event.clientY,\n };\n document.addEventListener('mousemove', this.onMouseMove);\n document.addEventListener('mouseup', this.onMouseUp);\n };\n\n onMouseMove = (event: MouseEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n onMouseUp = () => {\n document.removeEventListener('mousemove', this.onMouseMove);\n document.removeEventListener('mouseup', this.onMouseUp);\n this.downParams = null;\n };\n\n onTextareaBlur = () => {\n const {\n valueOnFocus,\n textareaField: { value },\n } = this;\n this.describeByScreenReaderCharacterCount = true;\n this.hasFocus = false;\n setMessageHeight(this);\n if (valueOnFocus !== value) this.change.emit({ value });\n };\n\n onTextareaChange = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n\n this.change.emit({ value });\n };\n\n onTextareaFocus = () => {\n this.hasFocus = true;\n this.valueOnFocus = this.value;\n setMessageHeight(this);\n };\n\n onTextareaInput = (event: InputEvent) => {\n event.stopPropagation();\n const value = (event.target as HTMLTextAreaElement).value;\n this.describeByScreenReaderCharacterCount = false;\n this.increaseHeightIfOverflowing();\n if (this.maxlength) this.debouncedScreenReaderCharacterCount();\n this.input.emit({ value });\n };\n\n onTouchMove = (event: TouchEvent) => {\n this.setHeight(event);\n this.setWidth(event);\n };\n\n onTouchStart = (event: TouchEvent) => {\n if (event.touches.length !== 1) return;\n\n event.preventDefault();\n\n const { contentContainer } = this;\n const firstTouch = event.touches[0];\n\n this.downParams = {\n width: contentContainer.offsetWidth,\n height: contentContainer.offsetHeight,\n x: firstTouch.pageX,\n y: firstTouch.pageY,\n };\n\n document.addEventListener('touchmove', this.onTouchMove);\n document.addEventListener('touchend', this.onTouchMove);\n };\n\n setHeight(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { height, y },\n } = this;\n const resizeY = ['both', 'vertical', 'vertical-auto'].includes(resize);\n\n if (!resizeY) return;\n\n const eventY = event instanceof MouseEvent ? event.clientY : event.touches[0]?.pageY ?? 0;\n const newHeight = height - (y - eventY);\n // If 'vertical-auto', change height if the new height is greater\n // than the current height or the textarea is not overflowing.\n // Otherwise, change height regardless of the new height.\n if (\n resize !== 'vertical-auto' ||\n newHeight > height ||\n (resize === 'vertical-auto' && !this.isOverflowingVertically())\n ) {\n contentContainer.style.height = `${newHeight}px`;\n }\n }\n\n setWidth(event: MouseEvent | TouchEvent) {\n const {\n contentContainer,\n resize,\n downParams: { width, x },\n } = this;\n\n const resizeX = ['both', 'horizontal'].includes(resize);\n\n if (!resizeX) return;\n const eventX = event instanceof MouseEvent ? event.clientX : event.touches[0]?.pageX ?? 0;\n const newWidth = width - (x - eventX);\n contentContainer.style.width = `${newWidth}px`;\n }\n\n updateScreenReaderCharacterCount = () => {\n this.screenReaderCharacterCount = this.value?.length || 0;\n };\n\n // #endregion\n // #region Render Methods\n\n renderInput() {\n const textareaClasses = this.resize === 'vertical-auto' ? 'resize-vertical-auto' : '';\n\n return (\n <div class=\"input-container\">\n <textarea\n id={this.inputId}\n class={textareaClasses}\n placeholder={(this.placeholder && loc(this.placeholder)) || undefined}\n test-id=\"inputField\"\n maxLength={this.maxlength}\n aria-describedby={this.inputDescribedBy}\n aria-invalid={`${this.hasError}`}\n aria-required={`${!this.optional}`}\n aria-label={this.hideLabel && this.label}\n spellcheck={this.spellcheck}\n rows={this.rows || 3}\n cols={this.cols}\n value={this.value}\n ref={el => (this.textareaField = el)}\n readonly={!!this.readonly}\n disabled={!!this.disabled}\n maxlength={this.maxlength}\n onInput={this.onTextareaInput}\n onChange={this.onTextareaChange}\n onFocus={this.onTextareaFocus}\n onBlur={this.onTextareaBlur}\n ></textarea>\n {this.hasError ? (\n <q2-icon\n type=\"error\"\n class=\"icon-error\"\n />\n ) : (\n ''\n )}\n {this.showResize && (\n <button\n onMouseDown={this.onMouseDown}\n onTouchStart={this.onTouchStart}\n class=\"btn-resize\"\n aria-label={loc('tecton.element.input.resize')}\n tabIndex={-1}\n >\n <svg\n aria-hidden=\"true\"\n viewBox=\"0 0 12 12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.5 11.5l3-3m-7 3l7-7m-11 7l11-11\"\n fill=\"none\"\n stroke-stroke-linecap=\"square\"\n />\n </svg>\n </button>\n )}\n </div>\n );\n }\n\n renderMaxLength() {\n return (\n <Fragment>\n <div\n class=\"max-length\"\n aria-hidden=\"true\"\n >\n {this.value?.length || 0}/{this.maxlength}\n </div>\n <div\n aria-live=\"polite\"\n class=\"sr\"\n id={`${this.inputId}-max-length`}\n test-id=\"max-length-sr\"\n >\n {loc('tecton.element.textarea.characterCount.screenReader', [\n this.screenReaderCharacterCount,\n this.maxlength,\n ])}\n </div>\n </Fragment>\n );\n }\n\n render() {\n return (\n <div class={this.wrapperClasses}>\n {renderLabel(this)}\n <div\n class=\"content-container\"\n ref={el => (this.contentContainer = el)}\n >\n {this.renderInput()}\n {this.maxlength ? this.renderMaxLength() : ''}\n {renderMessages(this)}\n </div>\n </div>\n );\n }\n\n // #endregion\n}\n"],"version":3}
@@ -68,6 +68,10 @@ export class Q2Btn {
68
68
  this.handleButtonSize();
69
69
  overrideFocus(this.hostElement);
70
70
  }
71
+ disconnectedCallback() {
72
+ this.primaryBtn = null;
73
+ this.primaryBtnWrapper = null;
74
+ }
71
75
  // #endregion
72
76
  // #region Listeners
73
77
  handleClick(event) {
@@ -1 +1 @@
1
- {"version":3,"file":"q2-btn.js","sourceRoot":"","sources":["../../../../src/components/q2-btn/q2-btn.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAsB,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAChH,OAAO,EACH,oBAAoB,EACpB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,GAAG,EACH,aAAa,EACb,wBAAwB,GAC3B,MAAM,WAAW,CAAC;AAGnB,MAAM,OAAO,KAAK;;QA2Nd,qBAAgB,GAAG,GAAG,EAAE;YACpB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACnD,CAAC;QACL,CAAC,CAAC;QAEF,gBAAW,GAAG,GAAG,EAAE;YACf,oCAAoC;YACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;gBACnG,IAAI,GAAG;oBAAE,OAAO,CAAC,MAAM,EAAE,CAAC;;oBACrB,GAAG,GAAG,OAAO,CAAC;gBACnB,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC;YACvB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YACtD,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,iBAAiB,KAAK,IAAI,CAAC;YAClG,MAAM,YAAY,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,IAAI,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,gBAAgB,KAAK,IAAI,CAAC;YAClG,MAAM,WAAW,GAAG,CAAC,WAAW,IAAI,CAAC,YAAY,IAAI,OAAO,CAAC;YAE7D,IAAI,YAAY,CAAC;YACjB,IAAI,WAAW;gBAAE,YAAY,GAAG,MAAM,CAAC;iBAClC,IAAI,WAAW;gBAAE,YAAY,GAAG,MAAM,CAAC;iBACvC,IAAI,YAAY;gBAAE,YAAY,GAAG,OAAO,CAAC;YAC9C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC,CAAC;QAEF,qBAAgB,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;oBA3Ha,QAAQ;;IAEvB,aAAa;IACb,qCAAqC;IAErC,iBAAiB;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,WAAW,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,gBAAgB;QACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,aAAa;IACb,oBAAoB;IAGpB,WAAW,CAAC,KAAY;QACpB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,KAAK,CAAC,wBAAwB,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAGD,aAAa,CAAC,KAAiB;QAC3B,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO;QACzD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,aAAa;IACb,mBAAmB;IAGnB,iBAAiB;QACb,eAAe,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAGD,YAAY;QACR,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC5B,CAAC;IAED,aAAa;IACb,wBAAwB;IAExB,IAAI,gBAAgB;QAChB,OAAO;YACH,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACxE,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE;gBAClD,MAAM;gBACN,OAAO;gBACP,MAAM;gBACN,SAAS;gBACT,MAAM;gBACN,MAAM;gBACN,QAAQ;aACX,CAAC;YACF,SAAS,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;YACrE,YAAY,EAAE,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACxE,WAAW,EAAE,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACtE,WAAW,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;YAC1E,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,KAAK;YAChC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;SACvC,CAAC;IACN,CAAC;IAED,IAAI,aAAa;QACb,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,YAAY;YAAE,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE7C,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,gBAAgB;QAChB,MAAM,OAAO,GAAG,CAAC,YAAY,CAAC,CAAC;QAC/B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAkCD,aAAa;IACb,yBAAyB;IAEzB,YAAY;QACR,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,GAClG,IAAI,CAAC,gBAAgB,CAAC;QAC1B,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAChE,MAAM,oBAAoB,GAAG,YAAY,IAAI,OAAO,CAAC;QACrD,MAAM,sBAAsB,GAAG,CAAC,YAAY,IAAI,KAAK,CAAC;QACtD,OAAO,CACH,EAAC,QAAQ;YACL,cACI,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC,UAAU,CAAC,mBACrC,YAAY,mBACZ,YAAY,gBACf,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC,mBACpB,YAAY,kBACb,WAAW,EACzB,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,aACV,kBAAkB,EAC1B,KAAK,EAAE,IAAI,CAAC,aAAa,sBACP,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,qBACjD,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EAChF,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;gBAE7B,WAAK,KAAK,EAAC,gBAAgB;oBACtB,oBAAoB,IAAI,CACrB,kBACI,MAAM,EAAE,CAAC,OAAO,EAChB,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAC1D,CACL;oBACA,IAAI,CAAC,kBAAkB,EAAE;oBACzB,IAAI,CAAC,qBAAqB,EAAE,CAC3B,CACD;YACR,IAAI,CAAC,eAAe,EAAE;YACtB,CAAC,CAAC,WAAW,IAAI,CACd,WACI,EAAE,EAAC,oBAAoB,iBACX,MAAM,EAClB,KAAK,EAAC,IAAI,IAET,WAAW,CACV,CACT,CACM,CACd,CAAC;IACN,CAAC;IAED,eAAe;QACX,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QACrD,OAAO,CACH,WACI,EAAE,EAAC,YAAY,EACf,KAAK,EAAE,IAAI,CAAC,gBAAgB,IAE3B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,CAAC,CAAC,CAAC,CACA,YACI,IAAI,EAAC,YAAY,EACjB,YAAY,EAAE,IAAI,CAAC,gBAAgB,GACrC,CACL,CACC,CACT,CAAC;IACN,CAAC;IAED,qBAAqB;QACjB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QACnC,OAAO,YAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CAAC;IACzD,CAAC;IAED,kBAAkB;QACd,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QACnC,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,YAAM,YAAY,EAAE,IAAI,CAAC,gBAAgB,GAAI,CAAC;IACzD,CAAC;IAED,MAAM;QACF,OAAO,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,YAAY,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC;QACvF,4CAA4C;QAC5C,WACI,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,cAAc,EACpE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,GAAG,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,IAAI,CAAC,iBAAiB,CAAC,EAClE,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,IAE/C,IAAI,CAAC,YAAY,EAAE,CAClB,CACT,CAAC,CAAC,CAAC,CACA,IAAI,CAAC,YAAY,EAAE,CACtB,CAAC;IACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGJ","sourcesContent":["import { Component, State, Prop, h, ComponentInterface, Watch, Listen, Element, Fragment } from '@stencil/core';\nimport {\n getAriaValueFromProp,\n handleAriaLabel,\n handleColor,\n isEventFromElement,\n loc,\n overrideFocus,\n handleDeprecationWarning,\n} from 'src/utils';\n\n@Component({ tag: 'q2-btn', shadow: true, styleUrl: 'q2-btn.scss' })\nexport class Q2Btn implements ComponentInterface {\n // #region Own Properties\n\n primaryBtn: HTMLButtonElement;\n primaryBtnWrapper: HTMLElement;\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 iconPosition: 'left' | 'right' | 'only';\n\n // #endregion\n // #region Public Property API\n\n /**\n * @private\n * Role attribute for better semantic accessibility support\n */\n @Prop({ reflect: true })\n _role: string;\n\n /**\n * Displays the component in an active state.\n *\n * @info\n * Only intended for use with the `badge` property.\n * @deprecated\n */\n @Prop({ reflect: true })\n active: boolean;\n\n @Prop()\n ariaControls: string;\n\n @Prop()\n ariaExpanded: string;\n\n @Prop()\n ariaHasPopup: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n @Prop()\n ariaPressed: string;\n\n @Prop()\n ariaSelected: string;\n\n /**\n * Displays the component in a smaller, badge style.\n * @deprecated\n */\n @Prop({ reflect: true })\n badge: boolean;\n\n /** The component expands to fill the width of its parent element. */\n @Prop({ reflect: true })\n block: boolean;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n color: string; // deprecated but need it to use utils/handleColor\n\n @Prop()\n description: string;\n\n /** Marks the component as disabled and displays a `not-allowed` cursor on hover. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** @deprecated */\n @Prop({ reflect: true })\n fab: boolean;\n\n /**\n * Hides the `label`, and assigns its value to the `aria-label` attribute on the `<button>` element.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * Indicates the role of the component in the workflow, which will apply appropriate styling to the component.\n */\n @Prop({ reflect: true, mutable: true })\n intent:\n | 'coin'\n | 'neutral-text'\n | 'neutral'\n | 'workflow-destroy'\n | 'workflow-escape'\n | 'workflow-primary'\n | 'workflow-secondary';\n\n /**\n * Defines the text content of the button if it is not provided in the `<slot>` of the element.\n * Also used for the `aria-label` of the `<button>` element when only displaying an icon.\n *\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /** Displays the button with a loading spinner to indicate something is happening in the background and the user should not click again. */\n @Prop({ reflect: true })\n loading: boolean;\n\n /**\n * Defines the size of q2-btn, it renders as default size if not provided.\n */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n @Prop()\n tabIndex: number;\n\n /** The default behavior of the button. */\n @Prop({ reflect: true })\n type: string = 'button';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.handleIcons();\n handleAriaLabel(this);\n handleColor(this);\n }\n\n componentDidLoad(): void {\n this.handleButtonSize();\n overrideFocus(this.hostElement);\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('click', { capture: true })\n handleClick(event: Event) {\n if (this.loading || this.disabled) {\n event.stopImmediatePropagation();\n }\n this.primaryBtn.focus();\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.primaryBtn.focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('size')\n sizeObserver() {\n this.handleButtonSize();\n }\n\n // #endregion\n // #region Local Methods\n\n get buttonAttributes() {\n return {\n ariaExpanded: getAriaValueFromProp(this.ariaExpanded, ['true', 'false']),\n ariaHasPopup: getAriaValueFromProp(this.ariaHasPopup, [\n 'true',\n 'false',\n 'menu',\n 'listbox',\n 'tree',\n 'grid',\n 'dialog',\n ]),\n ariaLabel: this.label && this.hideLabel ? loc(this.label) : undefined,\n ariaSelected: getAriaValueFromProp(this.ariaSelected, ['true', 'false']),\n ariaPressed: getAriaValueFromProp(this.ariaPressed, ['true', 'false']),\n description: this.description !== undefined ? this.description : undefined,\n disabled: this.disabled || false,\n type: this.type,\n tabindex: this.tabIndex || undefined,\n };\n }\n\n get buttonClasses() {\n const classes = [];\n if (this.iconPosition) classes.push(`icon-${this.iconPosition}`);\n if (this.intent === 'coin') classes.push('intent-coin');\n if (!!this.block) classes.push('is-block');\n if (!!this.color) classes.push('has-color');\n if (!!this.intent) classes.push(`has-intent`);\n if (!!this.size) classes.push('has-size');\n if (!!this.active) classes.push('is-active');\n\n return classes.join(' ');\n }\n\n get coinLabelClasses() {\n const classes = ['coin-label'];\n if (this.disabled) {\n classes.push('disabled');\n }\n\n return classes.join(' ');\n }\n\n handleButtonSize = () => {\n if (Number(this.size) <= 4) {\n handleDeprecationWarning(this, 'size', 'prop');\n }\n };\n\n handleIcons = () => {\n // Only allow one icon in the button\n const icon = Array.from(this.hostElement.querySelectorAll(':scope > q2-icon')).reduce((acc, element) => {\n if (acc) element.remove();\n else acc = element;\n return acc;\n }, null);\n\n const hasIcon = !!icon;\n const hasLoc = !!this.hostElement.querySelector('q2-loc');\n const hasText = !!this.hostElement.textContent.trim();\n const hasIconLeft = (hasLoc || hasText) && hasIcon && this.hostElement.firstElementChild === icon;\n const hasIconRight = (hasLoc || hasText) && hasIcon && this.hostElement.lastElementChild === icon;\n const hasIconOnly = !hasIconLeft && !hasIconRight && hasIcon;\n\n let iconPosition;\n if (hasIconOnly) iconPosition = 'only';\n else if (hasIconLeft) iconPosition = 'left';\n else if (hasIconRight) iconPosition = 'right';\n this.iconPosition = iconPosition;\n };\n\n handleSlotChange = () => {\n this.handleIcons();\n };\n\n // #endregion\n // #region Render Methods\n\n renderButton() {\n const { ariaExpanded, ariaHasPopup, ariaSelected, ariaPressed, description, disabled, type, tabindex } =\n this.buttonAttributes;\n const { iconPosition, loading, badge, label, hideLabel } = this;\n const renderLoadingSpinner = iconPosition || loading;\n const isLoadingSpinnerInline = !iconPosition || badge;\n return (\n <Fragment>\n <button\n ref={el => (this.primaryBtn = el ?? this.primaryBtn)}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n aria-label={hideLabel && loc(label)}\n aria-selected={ariaSelected}\n aria-pressed={ariaPressed}\n disabled={disabled}\n type={type}\n tabindex={tabindex}\n test-id=\"q2BtnInnerButton\"\n class={this.buttonClasses}\n aria-describedby={!!description ? 'hidden-description' : undefined}\n aria-labelledby={this.intent === 'coin' && !hideLabel ? 'coin-label' : undefined}\n role={this._role || undefined}\n >\n <div class=\"slot-container\">\n {renderLoadingSpinner && (\n <q2-loading\n hidden={!loading}\n modifiers={isLoadingSpinnerInline ? 'inline' : undefined}\n />\n )}\n {this.renderDefaultLabel()}\n {this.renderDefaultCoinSlot()}\n </div>\n </button>\n {this.renderCoinLabel()}\n {!!description && (\n <div\n id=\"hidden-description\"\n aria-hidden=\"true\"\n class=\"sr\"\n >\n {description}\n </div>\n )}\n </Fragment>\n );\n }\n\n renderCoinLabel() {\n if (this.intent !== 'coin' || this.hideLabel) return;\n return (\n <div\n id=\"coin-label\"\n class={this.coinLabelClasses}\n >\n {this.label ? (\n loc(this.label)\n ) : (\n <slot\n name=\"coin-label\"\n onSlotchange={this.handleSlotChange}\n />\n )}\n </div>\n );\n }\n\n renderDefaultCoinSlot() {\n if (this.intent !== 'coin') return;\n return <slot onSlotchange={this.handleSlotChange} />;\n }\n\n renderDefaultLabel() {\n if (this.intent === 'coin') return;\n if (!this.hideLabel && this.label) return loc(this.label);\n return <slot onSlotchange={this.handleSlotChange} />;\n }\n\n render() {\n return (this.size === 'small' && this.iconPosition !== 'only') || this.intent === 'coin' ? (\n // wrap only for small sized and coin intent\n <div\n class={this.size === 'small' ? 'btn-height-wrapper' : 'coin-wrapper'}\n ref={el => (this.primaryBtnWrapper = el ?? this.primaryBtnWrapper)}\n tabIndex={this.size === 'small' ? -1 : undefined}\n >\n {this.renderButton()}\n </div>\n ) : (\n this.renderButton()\n );\n }\n\n // #endregion\n}\n"]}
1
+ {"version":3,"file":"q2-btn.js","sourceRoot":"","sources":["../../../../src/components/q2-btn/q2-btn.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, State, Prop, h, ComponentInterface, Watch, Listen, Element, Fragment } from '@stencil/core';\nimport {\n getAriaValueFromProp,\n handleAriaLabel,\n handleColor,\n isEventFromElement,\n loc,\n overrideFocus,\n handleDeprecationWarning,\n} from 'src/utils';\n\n@Component({ tag: 'q2-btn', shadow: true, styleUrl: 'q2-btn.scss' })\nexport class Q2Btn implements ComponentInterface {\n // #region Own Properties\n\n primaryBtn: HTMLButtonElement;\n primaryBtnWrapper: HTMLElement;\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 iconPosition: 'left' | 'right' | 'only';\n\n // #endregion\n // #region Public Property API\n\n /**\n * @private\n * Role attribute for better semantic accessibility support\n */\n @Prop({ reflect: true })\n _role: string;\n\n /**\n * Displays the component in an active state.\n *\n * @info\n * Only intended for use with the `badge` property.\n * @deprecated\n */\n @Prop({ reflect: true })\n active: boolean;\n\n @Prop()\n ariaControls: string;\n\n @Prop()\n ariaExpanded: string;\n\n @Prop()\n ariaHasPopup: string;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n ariaLabel: string;\n\n @Prop()\n ariaPressed: string;\n\n @Prop()\n ariaSelected: string;\n\n /**\n * Displays the component in a smaller, badge style.\n * @deprecated\n */\n @Prop({ reflect: true })\n badge: boolean;\n\n /** The component expands to fill the width of its parent element. */\n @Prop({ reflect: true })\n block: boolean;\n\n /** @deprecated */\n @Prop({ reflect: true, mutable: true })\n color: string; // deprecated but need it to use utils/handleColor\n\n @Prop()\n description: string;\n\n /** Marks the component as disabled and displays a `not-allowed` cursor on hover. */\n @Prop({ reflect: true })\n disabled: boolean;\n\n /** @deprecated */\n @Prop({ reflect: true })\n fab: boolean;\n\n /**\n * Hides the `label`, and assigns its value to the `aria-label` attribute on the `<button>` element.\n */\n @Prop({ reflect: true, mutable: true })\n hideLabel: boolean;\n\n /**\n * Indicates the role of the component in the workflow, which will apply appropriate styling to the component.\n */\n @Prop({ reflect: true, mutable: true })\n intent:\n | 'coin'\n | 'neutral-text'\n | 'neutral'\n | 'workflow-destroy'\n | 'workflow-escape'\n | 'workflow-primary'\n | 'workflow-secondary';\n\n /**\n * Defines the text content of the button if it is not provided in the `<slot>` of the element.\n * Also used for the `aria-label` of the `<button>` element when only displaying an icon.\n *\n * @localizable\n */\n @Prop({ reflect: true, mutable: true })\n label: string;\n\n /** Displays the button with a loading spinner to indicate something is happening in the background and the user should not click again. */\n @Prop({ reflect: true })\n loading: boolean;\n\n /**\n * Defines the size of q2-btn, it renders as default size if not provided.\n */\n @Prop({ reflect: true })\n size: 'small' | 'medium' | 'large';\n\n @Prop()\n tabIndex: number;\n\n /** The default behavior of the button. */\n @Prop({ reflect: true })\n type: string = 'button';\n\n // #endregion\n // #region Component Lifecycle Events\n\n componentWillLoad() {\n this.handleIcons();\n handleAriaLabel(this);\n handleColor(this);\n }\n\n componentDidLoad(): void {\n this.handleButtonSize();\n overrideFocus(this.hostElement);\n }\n\n disconnectedCallback(): void {\n this.primaryBtn = null;\n this.primaryBtnWrapper = null;\n }\n\n // #endregion\n // #region Listeners\n\n @Listen('click', { capture: true })\n handleClick(event: Event) {\n if (this.loading || this.disabled) {\n event.stopImmediatePropagation();\n }\n this.primaryBtn.focus();\n }\n\n @Listen('focus')\n delegateFocus(event: FocusEvent) {\n if (!isEventFromElement(event, this.hostElement)) return;\n this.primaryBtn.focus();\n }\n\n // #endregion\n // #region Watchers\n\n @Watch('ariaLabel')\n ariaLabelObserver() {\n handleAriaLabel(this);\n }\n\n @Watch('size')\n sizeObserver() {\n this.handleButtonSize();\n }\n\n // #endregion\n // #region Local Methods\n\n get buttonAttributes() {\n return {\n ariaExpanded: getAriaValueFromProp(this.ariaExpanded, ['true', 'false']),\n ariaHasPopup: getAriaValueFromProp(this.ariaHasPopup, [\n 'true',\n 'false',\n 'menu',\n 'listbox',\n 'tree',\n 'grid',\n 'dialog',\n ]),\n ariaLabel: this.label && this.hideLabel ? loc(this.label) : undefined,\n ariaSelected: getAriaValueFromProp(this.ariaSelected, ['true', 'false']),\n ariaPressed: getAriaValueFromProp(this.ariaPressed, ['true', 'false']),\n description: this.description !== undefined ? this.description : undefined,\n disabled: this.disabled || false,\n type: this.type,\n tabindex: this.tabIndex || undefined,\n };\n }\n\n get buttonClasses() {\n const classes = [];\n if (this.iconPosition) classes.push(`icon-${this.iconPosition}`);\n if (this.intent === 'coin') classes.push('intent-coin');\n if (!!this.block) classes.push('is-block');\n if (!!this.color) classes.push('has-color');\n if (!!this.intent) classes.push(`has-intent`);\n if (!!this.size) classes.push('has-size');\n if (!!this.active) classes.push('is-active');\n\n return classes.join(' ');\n }\n\n get coinLabelClasses() {\n const classes = ['coin-label'];\n if (this.disabled) {\n classes.push('disabled');\n }\n\n return classes.join(' ');\n }\n\n handleButtonSize = () => {\n if (Number(this.size) <= 4) {\n handleDeprecationWarning(this, 'size', 'prop');\n }\n };\n\n handleIcons = () => {\n // Only allow one icon in the button\n const icon = Array.from(this.hostElement.querySelectorAll(':scope > q2-icon')).reduce((acc, element) => {\n if (acc) element.remove();\n else acc = element;\n return acc;\n }, null);\n\n const hasIcon = !!icon;\n const hasLoc = !!this.hostElement.querySelector('q2-loc');\n const hasText = !!this.hostElement.textContent.trim();\n const hasIconLeft = (hasLoc || hasText) && hasIcon && this.hostElement.firstElementChild === icon;\n const hasIconRight = (hasLoc || hasText) && hasIcon && this.hostElement.lastElementChild === icon;\n const hasIconOnly = !hasIconLeft && !hasIconRight && hasIcon;\n\n let iconPosition;\n if (hasIconOnly) iconPosition = 'only';\n else if (hasIconLeft) iconPosition = 'left';\n else if (hasIconRight) iconPosition = 'right';\n this.iconPosition = iconPosition;\n };\n\n handleSlotChange = () => {\n this.handleIcons();\n };\n\n // #endregion\n // #region Render Methods\n\n renderButton() {\n const { ariaExpanded, ariaHasPopup, ariaSelected, ariaPressed, description, disabled, type, tabindex } =\n this.buttonAttributes;\n const { iconPosition, loading, badge, label, hideLabel } = this;\n const renderLoadingSpinner = iconPosition || loading;\n const isLoadingSpinnerInline = !iconPosition || badge;\n return (\n <Fragment>\n <button\n ref={el => (this.primaryBtn = el ?? this.primaryBtn)}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n aria-label={hideLabel && loc(label)}\n aria-selected={ariaSelected}\n aria-pressed={ariaPressed}\n disabled={disabled}\n type={type}\n tabindex={tabindex}\n test-id=\"q2BtnInnerButton\"\n class={this.buttonClasses}\n aria-describedby={!!description ? 'hidden-description' : undefined}\n aria-labelledby={this.intent === 'coin' && !hideLabel ? 'coin-label' : undefined}\n role={this._role || undefined}\n >\n <div class=\"slot-container\">\n {renderLoadingSpinner && (\n <q2-loading\n hidden={!loading}\n modifiers={isLoadingSpinnerInline ? 'inline' : undefined}\n />\n )}\n {this.renderDefaultLabel()}\n {this.renderDefaultCoinSlot()}\n </div>\n </button>\n {this.renderCoinLabel()}\n {!!description && (\n <div\n id=\"hidden-description\"\n aria-hidden=\"true\"\n class=\"sr\"\n >\n {description}\n </div>\n )}\n </Fragment>\n );\n }\n\n renderCoinLabel() {\n if (this.intent !== 'coin' || this.hideLabel) return;\n return (\n <div\n id=\"coin-label\"\n class={this.coinLabelClasses}\n >\n {this.label ? (\n loc(this.label)\n ) : (\n <slot\n name=\"coin-label\"\n onSlotchange={this.handleSlotChange}\n />\n )}\n </div>\n );\n }\n\n renderDefaultCoinSlot() {\n if (this.intent !== 'coin') return;\n return <slot onSlotchange={this.handleSlotChange} />;\n }\n\n renderDefaultLabel() {\n if (this.intent === 'coin') return;\n if (!this.hideLabel && this.label) return loc(this.label);\n return <slot onSlotchange={this.handleSlotChange} />;\n }\n\n render() {\n return (this.size === 'small' && this.iconPosition !== 'only') || this.intent === 'coin' ? (\n // wrap only for small sized and coin intent\n <div\n class={this.size === 'small' ? 'btn-height-wrapper' : 'coin-wrapper'}\n ref={el => (this.primaryBtnWrapper = el ?? this.primaryBtnWrapper)}\n tabIndex={this.size === 'small' ? -1 : undefined}\n >\n {this.renderButton()}\n </div>\n ) : (\n this.renderButton()\n );\n }\n\n // #endregion\n}\n"]}
@@ -70,7 +70,7 @@ button {
70
70
  display: block;
71
71
  position: relative;
72
72
  padding: var(--comp-checkbox-padding);
73
- --comp-default-checkbox-margin: var(--tct-checkbox-margin-top, var(--t-checkbox-margin-top, var(--app-scale-5x, 25px))) 0 var(--tct-checkbox-margin-bottom, var(--t-checkbox-margin-bottom, var(--app-scale-5x, 25px)));
73
+ --comp-default-checkbox-margin: var(--tct-checkbox-margin-top, var(--t-checkbox-margin-top, 0px)) 0 var(--tct-checkbox-margin-bottom, var(--t-checkbox-margin-bottom, 0px));
74
74
  margin: var(--tct-checkbox-margin, var(--comp-default-checkbox-margin));
75
75
  }
76
76
 
@@ -71,11 +71,6 @@ button {
71
71
  margin: var(--tct-checkbox-group-margin, var(--comp-default-checkbox-group-margin));
72
72
  }
73
73
 
74
- ::slotted(q2-checkbox) {
75
- --tct-checkbox-margin: var(--tct-checkbox-group-checkbox-margin, var(--app-scale-0x, 0));
76
- --tct-checkbox-padding: var(--tct-checkbox-group-checkbox-padding, var(--app-scale-2x, 10px));
77
- }
78
-
79
74
  fieldset {
80
75
  padding: var(--tct-checkbox-group-fieldset-padding, 0);
81
76
  margin: 0;