q2-tecton-elements 1.25.2 → 1.25.3

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 (58) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/q2-badge_2.cjs.entry.js +1 -1
  3. package/dist/cjs/q2-btn_2.cjs.entry.js +5 -3
  4. package/dist/cjs/q2-optgroup_2.cjs.entry.js +1 -1
  5. package/dist/cjs/q2-option-list_2.cjs.entry.js +9 -5
  6. package/dist/cjs/q2-pill.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-select.cjs.entry.js +19 -15
  8. package/dist/cjs/q2-tag.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  10. package/dist/collection/collection-manifest.json +1 -1
  11. package/dist/collection/components/q2-btn/index.js +22 -3
  12. package/dist/collection/components/q2-input/index.js +12 -7
  13. package/dist/collection/components/q2-option/index.js +1 -1
  14. package/dist/collection/components/q2-option-list/index.js +33 -25
  15. package/dist/collection/components/q2-pill/index.js +1 -1
  16. package/dist/collection/components/q2-popover/styles.css +2 -3
  17. package/dist/collection/components/q2-select/index.js +36 -14
  18. package/dist/collection/components/q2-select/styles.css +41 -3
  19. package/dist/collection/components/q2-tag/index.js +1 -1
  20. package/dist/components/index12.js +1 -1
  21. package/dist/components/index13.js +10 -6
  22. package/dist/components/index14.js +1 -1
  23. package/dist/components/index5.js +6 -3
  24. package/dist/components/index8.js +2 -2
  25. package/dist/components/q2-pill.js +1 -1
  26. package/dist/components/q2-select.js +21 -16
  27. package/dist/components/q2-tag.js +1 -1
  28. package/dist/docs.json +56 -28
  29. package/dist/esm/loader.js +1 -1
  30. package/dist/esm/q2-badge_2.entry.js +1 -1
  31. package/dist/esm/q2-btn_2.entry.js +5 -3
  32. package/dist/esm/q2-optgroup_2.entry.js +1 -1
  33. package/dist/esm/q2-option-list_2.entry.js +10 -6
  34. package/dist/esm/q2-pill.entry.js +1 -1
  35. package/dist/esm/q2-select.entry.js +20 -16
  36. package/dist/esm/q2-tag.entry.js +1 -1
  37. package/dist/esm/q2-tecton-elements.js +1 -1
  38. package/dist/q2-tecton-elements/p-1f16d0f8.entry.js +1 -0
  39. package/dist/q2-tecton-elements/p-2ee8d7ae.entry.js +1 -0
  40. package/dist/q2-tecton-elements/p-30391257.entry.js +1 -0
  41. package/dist/q2-tecton-elements/{p-8b5639a1.entry.js → p-954534b8.entry.js} +1 -1
  42. package/dist/q2-tecton-elements/{p-f0a716dd.entry.js → p-c24aa7d6.entry.js} +1 -1
  43. package/dist/q2-tecton-elements/p-f3dad195.entry.js +1 -0
  44. package/dist/q2-tecton-elements/p-f8423314.entry.js +1 -0
  45. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  46. package/dist/test/helpers.js +7 -0
  47. package/dist/types/components/q2-btn/index.d.ts +2 -0
  48. package/dist/types/components/q2-input/index.d.ts +3 -2
  49. package/dist/types/components/q2-option-list/index.d.ts +5 -1
  50. package/dist/types/components/q2-select/index.d.ts +4 -3
  51. package/dist/types/components.d.ts +17 -4
  52. package/dist/types/workspace/workspace/tecton-production_release_1.25.x/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +2 -1
  53. package/package.json +3 -3
  54. package/dist/q2-tecton-elements/p-0a394c3b.entry.js +0 -1
  55. package/dist/q2-tecton-elements/p-471e5d58.entry.js +0 -1
  56. package/dist/q2-tecton-elements/p-721d0aee.entry.js +0 -1
  57. package/dist/q2-tecton-elements/p-aafb9537.entry.js +0 -1
  58. package/dist/q2-tecton-elements/p-fa8cb091.entry.js +0 -1
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import { IFormatterValueObject, ICursorData, IEventDetail } from './types';
3
+ import { Q2Badge } from '../q2-badge';
3
4
  export declare class Q2Input {
4
5
  value: string;
5
6
  label: string;
@@ -25,9 +26,9 @@ export declare class Q2Input {
25
26
  showVisibilityToggle: boolean;
26
27
  textHidden: boolean;
27
28
  badgeValue: string;
28
- badgeTheme: 'primary' | 'secondary' | 'tertiary';
29
- ariaControls: string;
29
+ badgeTheme: Q2Badge['theme'];
30
30
  role: string;
31
+ ariaControls: string;
31
32
  ariaOwns: string;
32
33
  ariaLabel: string;
33
34
  ariaHaspopup: string;
@@ -4,7 +4,6 @@ export interface IOptionValue {
4
4
  display?: string;
5
5
  }
6
6
  export declare class Q2OptionList implements ComponentInterface {
7
- role: 'listbox' | 'menu';
8
7
  customSearch: boolean;
9
8
  noSelect: boolean;
10
9
  align: 'left' | 'right';
@@ -12,7 +11,12 @@ export declare class Q2OptionList implements ComponentInterface {
12
11
  multiple: boolean;
13
12
  disabled: boolean;
14
13
  showSelected: boolean;
14
+ /**
15
+ * Translates to the role of the option list
16
+ * @type {('menu' | 'listbox')}
17
+ */
15
18
  type: 'menu' | 'listbox';
19
+ label: string;
16
20
  change: EventEmitter<{
17
21
  value: string;
18
22
  values: IOptionValue[];
@@ -11,6 +11,7 @@ export declare class Q2Select implements ComponentInterface {
11
11
  disabled: boolean;
12
12
  readonly: boolean;
13
13
  invalid: boolean;
14
+ listLabel: string;
14
15
  errors: string[];
15
16
  multiple: boolean;
16
17
  minRows: number;
@@ -29,7 +30,7 @@ export declare class Q2Select implements ComponentInterface {
29
30
  statusMessage: string;
30
31
  prioritizeSearch: boolean;
31
32
  structuredSelectedOptions: IOptionValue[];
32
- inputField?: HTMLQ2InputElement | HTMLButtonElement;
33
+ inputField?: HTMLQ2InputElement;
33
34
  optionList: HTMLQ2OptionListElement;
34
35
  popoverElement?: HTMLQ2PopoverElement;
35
36
  multiSelectHeader?: HTMLDivElement;
@@ -71,8 +72,8 @@ export declare class Q2Select implements ComponentInterface {
71
72
  value?: string;
72
73
  values?: IOptionValue[];
73
74
  }): void;
74
- showSelectedOptions: (event: MouseEvent) => void;
75
- showAllOptions: (event?: MouseEvent) => void;
75
+ showSelectedOptions: () => void;
76
+ showAllOptions: () => void;
76
77
  clearValue(): void;
77
78
  calculateMultiSelectSelectedDisplay(): string;
78
79
  calculateSingleSelectSelectedDisplay(): string;
@@ -8,6 +8,7 @@ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { ActionSheetData, ActionSheetListCloseData } from "q2-tecton-common/lib/utility/action-sheet";
9
9
  import { IChartData } from "src/utils/charting";
10
10
  import { IDonutChartData } from "./components/q2-chart-donut/index";
11
+ import { Q2Badge } from "./components/q2-badge";
11
12
  import { IEventDetail } from "./components/q2-input/types";
12
13
  import { IOptionValue } from "./components/q2-option-list/index";
13
14
  import { IOptionValue as IOptionValue1 } from "./components/q2-option-list";
@@ -41,6 +42,7 @@ export namespace Components {
41
42
  "ariaExpanded": string;
42
43
  "ariaHasPopup": string;
43
44
  "ariaLabel": string;
45
+ "ariaPressed": string;
44
46
  "ariaSelected": string;
45
47
  "badge": boolean;
46
48
  "block": boolean;
@@ -241,7 +243,7 @@ export namespace Components {
241
243
  "autocapitalize": string;
242
244
  "autocomplete": string;
243
245
  "autocorrect": string;
244
- "badgeTheme": 'primary' | 'secondary' | 'tertiary';
246
+ "badgeTheme": Q2Badge['theme'];
245
247
  "badgeValue": string;
246
248
  "clearable": boolean;
247
249
  "current": 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
@@ -321,13 +323,17 @@ export namespace Components {
321
323
  "getContents": () => Promise<(HTMLQ2OptgroupElement | HTMLQ2OptionElement)[]>;
322
324
  "getOptions": () => Promise<HTMLQ2OptionElement[]>;
323
325
  "handleExternalKeydown": (event: KeyboardEvent) => Promise<void>;
326
+ "label": string;
324
327
  "multiple": boolean;
325
328
  "noSelect": boolean;
326
- "role": 'listbox' | 'menu';
327
329
  "selectedOptions": IOptionValue[];
328
330
  "setActiveElement": (index: number) => Promise<void>;
329
331
  "setDefaultActiveElement": () => Promise<void>;
330
332
  "showSelected": boolean;
333
+ /**
334
+ * Translates to the role of the option list
335
+ * @type {('menu' | 'listbox')}
336
+ */
331
337
  "type": 'menu' | 'listbox';
332
338
  }
333
339
  interface Q2Pagination {
@@ -400,6 +406,7 @@ export namespace Components {
400
406
  "hoist": boolean;
401
407
  "invalid": boolean;
402
408
  "label": string;
409
+ "listLabel": string;
403
410
  "minRows": number;
404
411
  "multilineOptions": boolean;
405
412
  "multiple": boolean;
@@ -944,6 +951,7 @@ declare namespace LocalJSX {
944
951
  "ariaExpanded"?: string;
945
952
  "ariaHasPopup"?: string;
946
953
  "ariaLabel"?: string;
954
+ "ariaPressed"?: string;
947
955
  "ariaSelected"?: string;
948
956
  "badge"?: boolean;
949
957
  "block"?: boolean;
@@ -1154,7 +1162,7 @@ declare namespace LocalJSX {
1154
1162
  "autocapitalize"?: string;
1155
1163
  "autocomplete"?: string;
1156
1164
  "autocorrect"?: string;
1157
- "badgeTheme"?: 'primary' | 'secondary' | 'tertiary';
1165
+ "badgeTheme"?: Q2Badge['theme'];
1158
1166
  "badgeValue"?: string;
1159
1167
  "clearable"?: boolean;
1160
1168
  "current"?: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false';
@@ -1235,14 +1243,18 @@ declare namespace LocalJSX {
1235
1243
  "align"?: 'left' | 'right';
1236
1244
  "customSearch"?: boolean;
1237
1245
  "disabled"?: boolean;
1246
+ "label"?: string;
1238
1247
  "multiple"?: boolean;
1239
1248
  "noSelect"?: boolean;
1240
1249
  "onChange"?: (event: Q2OptionListCustomEvent<{ value: string; values: IOptionValue[] }>) => void;
1241
1250
  "onPopoverState"?: (event: Q2OptionListCustomEvent<{ open: boolean; action: 'close' | 'select' | 'open' }>) => void;
1242
1251
  "onReady"?: (event: Q2OptionListCustomEvent<any>) => void;
1243
- "role"?: 'listbox' | 'menu';
1244
1252
  "selectedOptions"?: IOptionValue[];
1245
1253
  "showSelected"?: boolean;
1254
+ /**
1255
+ * Translates to the role of the option list
1256
+ * @type {('menu' | 'listbox')}
1257
+ */
1246
1258
  "type"?: 'menu' | 'listbox';
1247
1259
  }
1248
1260
  interface Q2Pagination {
@@ -1320,6 +1332,7 @@ declare namespace LocalJSX {
1320
1332
  "hoist"?: boolean;
1321
1333
  "invalid"?: boolean;
1322
1334
  "label"?: string;
1335
+ "listLabel"?: string;
1323
1336
  "minRows"?: number;
1324
1337
  "multilineOptions"?: boolean;
1325
1338
  "multiple"?: boolean;
@@ -1,4 +1,4 @@
1
- import { E2EPage } from '@stencil/core/testing';
1
+ import { E2EPage, E2EElement } from '@stencil/core/testing';
2
2
  import { IDict } from '../src/util';
3
3
  import { NewE2EPageOptions } from '@stencil/core/testing/puppeteer/puppeteer-declarations';
4
4
  import { SerializableOrJSHandle } from 'puppeteer';
@@ -14,3 +14,4 @@ export declare function getActiveElementTestId(page: E2EPage): Promise<string>;
14
14
  export declare const getFocusedOptionValue: (page: E2EPage) => Promise<string>;
15
15
  export declare const getFocusedTagName: (page: E2EPage) => Promise<string>;
16
16
  export declare function getFocusedAttribute(page: E2EPage, attribute: string): Promise<string>;
17
+ export declare const testDeprecatedAriaLabel: (element: E2EElement, label?: string) => Promise<void>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "q2-tecton-elements",
3
- "version": "1.25.2",
3
+ "version": "1.25.3",
4
4
  "description": "Q2 Tecton Custom Elements",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -50,9 +50,9 @@
50
50
  "dependencies": {
51
51
  "@stencil/core": "2.19.2",
52
52
  "puppeteer": "^10.4.0",
53
- "q2-tecton-common": "^1.25.2",
53
+ "q2-tecton-common": "1.25.3",
54
54
  "smoothscroll-polyfill": "^0.4.4",
55
55
  "swiper": "8.4.4"
56
56
  },
57
- "gitHead": "96a3ee28a30be591df24762224131c821253482c"
57
+ "gitHead": "e3b19c83b082322111cdeb16bf1610360264e055"
58
58
  }
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as i,g as s}from"./p-926a3e80.js";import{h as l,o,l as a,d as n,a as r,e as h}from"./p-839ef27d.js";import{s as c,a as d}from"./p-a1926e65.js";const p=class{constructor(i){var s;t(this,i),this.change=e(this,"change",7),this.input=e(this,"input",7),this.scheduledAfterRender=[],this.showSelectedOptions=t=>{t.stopPropagation(),this.showSelected=!0},this.showAllOptions=t=>{null==t||t.stopPropagation(),this.showSelected=!1},this.onMutationObserved=()=>{const t=this.hostElement.querySelector(".custom-display-content"),e=this.hostElement.shadowRoot.querySelector('slot[name="q2-select-display"]'),i=e?e.assignedNodes().length>0:t.children.length>0;this.hasCustomDisplay!==i&&(this.hasCustomDisplay=i)},this.onOptionListChange=t=>{t.stopPropagation();const{values:e}=t.detail;0===e.length&&this.showAllOptions(),this.handleSelectionChanges(t.detail)},this.popoverStateChanged=({detail:{open:t}})=>{this.open!==t&&(this.open=t,t&&!this.searchText||(this.optionList.setActiveElement(null),this.inputField.focus()))},this.inputKeydownHandler=t=>{if(!this.readonly&&!this.disabled)return c(this,t)?this.executeActionSheet(t):void(this.searchable&&!["ArrowDown","ArrowUp","PageDown","PageUp","Home","End","Escape","Tab"].includes(t.key)||(this.shouldClearSearchText(t)&&this.clearSearchText(),this.optionList.handleExternalKeydown(t)))},this.visibilityToggleKeyDown=t=>{const e=t.key;["ArrowDown","ArrowUp"].includes(e)?this.optionList.handleExternalKeydown(t):["Enter"," "].includes(e)&&t.target.dispatchEvent(new MouseEvent("click"))},this.inputClickHandler=async t=>{if(t.stopPropagation(),c(this))return this.executeActionSheet(t);this.toggleDropdown(),this.focusInput()},this.inputInputHandler=t=>{t.stopPropagation();const e=t.detail.value;!!this.value&&this.inputField.value!==e&&this.clearValue(),this.open||this.openDropdownWithoutActiveElement(),this.prioritizeSearch=!0,this.searchText=e,this.input.emit({query:e})},this.inputFocusHandler=()=>{this.inputFocused=!0},this.inputBlurHandler=()=>{this.inputFocused=!1},this.inputChangeHandler=t=>{t.stopPropagation()},this.clickedElsewhere=t=>{"click-elsewhere"===t.target.localName&&(t.stopPropagation(),this.open&&this.closeDropdown())},this.onCustomDisplayClick=t=>{t.stopPropagation(),this.focusInput(),this.toggleDropdown()},this.label=void 0,this.hideLabel=void 0,this.value=void 0,this.ariaLabel=void 0,this.selectedOptions=[],this.disabled=!1,this.readonly=!1,this.invalid=void 0,this.errors=void 0,this.multiple=!1,this.minRows=3,this.popDirection=void 0,this.searchable=!1,this.multilineOptions=!1,this.optional=!1,this.placeholder=void 0,this.hoist=!!(null===(s=window.Tecton)||void 0===s?void 0:s.useActionSheets),this.open=!1,this.showSelected=!1,this.searchText="",this.hasCustomDisplay=!1,this.inputFocused=!1,this.statusMessage=void 0,this.prioritizeSearch=!1,this.structuredSelectedOptions=[]}componentWillLoad(){l(this),this.buildStructuredSelectedOptions(),this.handleMultilineOptionsUpdate(this.multilineOptions,!1)}componentDidLoad(){const t=new MutationObserver(this.onMutationObserved);t.observe(this.hostElement,{childList:!0,subtree:!0}),this.mutationObserver=t,this.onMutationObserved(),o(this.hostElement),setTimeout((()=>this.checkSelectedDisplay()),0)}componentDidRender(){setTimeout((()=>{this.scheduledAfterRender.forEach((t=>t())),this.scheduledAfterRender=[]}),25)}disconnectedCallback(){var t;null===(t=this.mutationObserver)||void 0===t||t.disconnect(),this.mutationObserver=null}get innerInputField(){var t,e;return null===(e=null===(t=this.inputField)||void 0===t?void 0:t.shadowRoot)||void 0===e?void 0:e.querySelector(".input-field")}get badgeValue(){var t,e;if(!this.multiple)return null;const i=null!==(e=null===(t=this.selectedOptions)||void 0===t?void 0:t.length)&&void 0!==e?e:0;return this.open&&this.searchable?i?`${i}`:null:i>1?"+"+(i-1):null}get popoverMinHeight(){const{minRows:t}=this,e=this.hostElement.querySelector("q2-option:not([hidden])");let i=e&&window.getComputedStyle(e).minHeight;return i&&"0px"!==i||(i="44px"),t*parseInt(i)}get selectedDisplay(){return this.prioritizeSearch||this.searchText?this.searchText:this.hasCustomDisplay?"":this.multiple?this.calculateMultiSelectSelectedDisplay():this.calculateSingleSelectSelectedDisplay()}get selectedDisplaySlot(){return this.hostElement.querySelector('[slot="_selected-display"]')}get firstSelectedValue(){var t;return this.multiple?null===(t=this.selectedOptions)||void 0===t?void 0:t[0]:this.value}get firstSelectedOptionElement(){const{firstSelectedValue:t}=this;return t?this.optionElements.find((({value:e})=>e===t)):null}get optionElements(){return Array.from(this.hostElement.querySelectorAll("q2-option"))}get wrapperClasses(){const{errors:t}=this,e=["q2-select-container"];return Array.isArray(t)&&t.length>0&&e.push("has-error"),this.inputFocused&&e.push("is-focused"),this.searchable&&e.push("is-searchable"),e.join(" ")}buildStructuredSelectedOptions(){const{multiple:t,selectedOptions:e,value:i}=this;this.structuredSelectedOptions=t?(null==e?void 0:e.length)?e.map((t=>"string"==typeof t?{value:t}:t)):[]:i?[{value:i}]:[]}ariaLabelObserver(){l(this)}valueUpdated(){this.multiple||this.clearSearchText()}handleMultilineOptionsUpdate(t,e){t!==e&&this.optionElements.forEach((e=>e.multiline=t))}openChanged(t){this.scheduledAfterRender.push((()=>{const{multiple:e,multiSelectHeader:i,popoverElement:s}=this,l=t&&e&&(null==i?void 0:i.offsetHeight)||0;l?s.style.setProperty("--comp-multi-select-header-height",`${l}px`):s.style.removeProperty("--comp-multi-select-header-height")}))}keydownHandler(t){this.inputKeydownHandler(t)}onHostElementChange(t){this.readonly||this.disabled||t.target!==this.hostElement||this.hostElement.onchange||(this.multiple?(this.value=null,this.selectedOptions=t.detail.selectedOptions):(this.value=t.detail.value,this.selectedOptions=[]))}onHostElementInput(t){if(!this.searchable||t.target!==this.hostElement||this.hostElement.oninput)return;const e=this.optionElements,i=this.searchText.trim().toLocaleLowerCase();let s=0;e.forEach((t=>{var e;if(""===i)return void(t.hidden=!1);const l="Q2-CARD"===(null===(e=t.firstElementChild)||void 0===e?void 0:e.tagName)?t.firstElementChild.title:null,{display:o="",innerText:a=""}=t,n=[o,l,a].some((t=>{var e;return null!==(e=null==t?void 0:t.toLocaleLowerCase().includes(i))&&void 0!==e&&e}));t.hidden=!n,n&&s++})),this.setStatusMessage(a(i?"tecton.element.select.searchable.results":"tecton.element.select.allOptions",[i?s:e.length]))}delegateFocus(t){const e=n(t,this.hostElement);(this.prioritizeSearch=e&&this.searchable)?this.clearSelectedDisplay():r(t,this.hostElement)&&this.inputField.shadowRoot.querySelector(".input-field").focus()}handleFocusout(t){const e=h(t,this.hostElement);e&&this.closeDropdown(),this.prioritizeSearch=!e&&this.searchable}async executeActionSheet(t){const e=await d(this,t);this.handleSelectionChanges(e)}handleSelectionChanges(t){const{value:e="",values:i=[]}=t,s=i.map((t=>t.value)),{multiple:l}=this;this.hostElement.onchange||(this.selectedOptions=s),this.change.emit({value:l?void 0:e,selectedOptions:l?s:void 0})}clearValue(){const{multiple:t}=this;this.value="",this.selectedOptions=[],this.change.emit({value:t?void 0:"",selectedOptions:t?[]:void 0})}calculateMultiSelectSelectedDisplay(){var t;const{firstSelectedOptionElement:e,firstSelectedValue:i,multilineOptions:s}=this;return i?(null==e?void 0:e.display)?a(e.display):s&&this.searchable?this.searchText:s?"":null!==(t=null==e?void 0:e.value)&&void 0!==t?t:i:""}calculateSingleSelectSelectedDisplay(){const{firstSelectedOptionElement:t}=this;return(null==t?void 0:t.display)&&a(t.display)||this.value||""}openDropdownWithoutActiveElement(){this.readonly||this.disabled||(this.optionList.setActiveElement(null),this.open=!0)}closeDropdown(){this.open=!1,this.clearSearchText()}clearSearchText(){this.searchText&&(this.searchText="",this.input.emit({query:""}))}toggleDropdown(){this.readonly||this.disabled||(this.open&&!this.searchText?this.closeDropdown():this.openDropdownWithoutActiveElement())}focusInput(){var t;null===(t=this.inputField)||void 0===t||t.dispatchEvent(new FocusEvent("focus"))}setStatusMessage(t){clearTimeout(this.statusMessageTimer),this.statusMessage="",this.statusMessageTimer=setTimeout((()=>{this.statusMessage=t}),1e3)}clearSelectedDisplay(){var t;null===(t=this.selectedDisplaySlot)||void 0===t||t.remove()}checkSelectedDisplay(){let t=this.selectedDisplaySlot;const{value:e,multiple:i,selectedOptions:s,multilineOptions:l,firstSelectedOptionElement:o,prioritizeSearch:a}=this;if(a||!l||!e&&i&&!(null==s?void 0:s.length))return this.clearSelectedDisplay();if(!o||o.display)return this.clearSelectedDisplay();const n=o.firstElementChild.cloneNode(!0);return n.querySelectorAll("[hide-on-select]").forEach((t=>t.remove())),t?(t.style.setProperty("--comp-selected-display-height",0===t.clientHeight?"auto":`${t.clientHeight}px`),t.firstElementChild.outerHTML!==n.outerHTML&&t.replaceChild(n,t.firstElementChild)):(t=document.createElement("div"),t.slot="_selected-display",t.appendChild(n),this.hostElement.appendChild(t)),t}checkSelectedDisplayHeight(){const{selectedDisplaySlot:t}=this;t&&t.style.setProperty("--comp-selected-display-height","44px")}shouldClearSearchText(t){return this.searchable&&!!this.searchText&&"Escape"===t.key}renderCustomDisplay(){if(this.checkSelectedDisplay())return this.checkSelectedDisplayHeight(),i("slot",{name:"_selected-display",slot:"custom-display"})}render(){const t=!this.searchable;return i("click-elsewhere",{class:this.wrapperClasses,onChange:this.clickedElsewhere},i("div",{"aria-live":"polite","aria-atomic":"true",role:"status",class:"sr"},this.statusMessage),i("q2-input",{ref:t=>this.inputField=t,class:"q2-select-input",label:this.label&&a(this.label)||"",value:this.selectedDisplay,errors:Array.isArray(this.errors)&&this.errors.length>0&&this.errors.map((t=>a(t)))||this.invalid&&["tecton.element.select.invalid"]||[],disabled:this.disabled,optional:this.optional,readonly:this.readonly,placeholder:this.placeholder||void 0,hideLabel:this.hideLabel,ariaExpanded:`${!!this.open}`,ariaOwns:"option-list",ariaHaspopup:"listbox",role:this.searchable?"combobox":null,pseudo:t,"test-id":"toggleDropdown","hide-messages":!0,iconRight:"chevron-down",onClick:this.inputClickHandler,onInput:this.inputInputHandler,onKeyDown:this.inputKeydownHandler,onFocus:this.inputFocusHandler,onBlur:this.inputBlurHandler,onChange:this.inputChangeHandler,badgeValue:this.badgeValue,badgeTheme:this.inputFocused?"primary":void 0},this.renderCustomDisplay()),i("div",{class:"custom-display-content",hidden:!this.hasCustomDisplay||!!this.searchText,onClick:this.onCustomDisplayClick},i("slot",{name:"q2-select-display"})),this.optionsDropdown())}optionsDropdown(){return i("q2-popover",{ref:t=>this.popoverElement=t,controlElement:this.innerInputField,open:this.open,minHeight:this.popoverMinHeight,direction:this.popDirection,onPopoverStateChanged:this.popoverStateChanged,block:!0},this.multiple?this.visibilityToggle():"",i("q2-option-list",{ref:t=>this.optionList=t,id:"option-list","show-selected":this.showSelected,multiple:this.multiple,selectedOptions:this.structuredSelectedOptions,onChange:this.onOptionListChange},i("slot",null)))}visibilityToggle(){var t,e;const s=null!==(e=null===(t=this.selectedOptions)||void 0===t?void 0:t.length)&&void 0!==e?e:0,{showSelected:l}=this;return i("div",{class:"multi-select-header",ref:t=>this.multiSelectHeader=t},i("span",null,a("tecton.element.select.multiHeader.showing")),i("q2-btn",{class:l?"":"selected",badge:!0,"aria-selected":!l||void 0,"test-id":"allOptionsButton",onClick:this.showAllOptions,onKeyDown:this.visibilityToggleKeyDown,label:a("tecton.element.select.multiHeader.allAriaLabel"),"hide-label":!0},a("tecton.element.select.multiHeader.all")),i("q2-btn",{class:l?"selected":"","aria-selected":l||void 0,disabled:0===s,badge:!0,"test-id":"selectedOptionsButton",onClick:this.showSelectedOptions,onKeyDown:this.visibilityToggleKeyDown,label:a("tecton.element.select.multiHeader.selectedAriaLabel",[s]),"hide-label":!0},a("tecton.element.select.multiHeader.selected",[s])))}get hostElement(){return s(this)}static get watchers(){return{value:["buildStructuredSelectedOptions","valueUpdated"],selectedOptions:["buildStructuredSelectedOptions"],ariaLabel:["ariaLabelObserver"],multilineOptions:["handleMultilineOptionsUpdate"],open:["openChanged"]}}};p.style="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.q2-element-dropdown{display:none;position:absolute;background-color:var(--app-white, #ffffff);color:var(--t-text, #4d4d4d);left:0;width:100%;z-index:100;margin-top:1px;box-shadow:var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3));height:0;overflow:hidden;opacity:0;visibility:hidden;transition:opacity var(--app-tween-1, 0.2s ease);border-radius:var(--tct-dropdown-border-radius, --t-dropdown-border-radius, 0);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 3px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}.q2-element-dropdown::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.q2-element-dropdown::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}.q2-element-dropdown.sizable{display:block;height:auto}.dropdown-open .q2-element-dropdown{display:block;height:auto;overflow:auto;opacity:1;visibility:visible}:host([alignment=right]) .q2-element-dropdown{left:auto;right:0}:host([block]) q2-btn,:host([block]){display:block}:host{display:block;margin-top:var(--tct-select-margin-top, var(--app-scale-4, 30px));margin-bottom:var(--tct-select-margin-bottom, var(--app-scale-4, 30px))}.q2-select-container{position:relative;display:block}.q2-select-input{margin:0;--tct-input-min-height:var(--tct-select-input-min-height, var(--t-select-input-min-height));--tct-input-max-height:var(--tct-select-input-max-height, var(--t-select-input-max-height, none))}::slotted([slot=_selected-display]){width:100%;min-height:var(--comp-selected-display-height, 44px)}.custom-display-content{position:absolute;bottom:0;left:calc(var(--tct-scale-2, var(--app-scale-2x, 10px)) + 1px);height:44px;width:calc(100% - 34px - var(--tct-scale-3, var(--app-scale-3x, 15px)));overflow:hidden;cursor:pointer;transition:left var(--tct-tween-2, var(--app-tween-1, 0.2s ease))}.custom-display-content:not([hidden]){display:flex;align-items:center}.is-searchable.is-focused .custom-display-content,.is-searchable .custom-display-content:active{left:calc(var(--tct-scale-3, var(--app-scale-3x, 15px)) + 1px)}.has-error .custom-display-content{width:calc(100% - 68px - var(--tct-scale-3, var(--app-scale-3x, 15px)))}.multi-select-header{padding:var(--tct-scale-1, var(--app-scale-1x, 5px)) var(--tct-scale-2, var(--app-scale-2x, 10px));position:sticky;top:0;z-index:5;background:var(--app-white);display:inline-grid;grid-template-columns:repeat(3, auto);gap:var(--app-scale-2x, 10px);align-items:center}";export{p as q2_select}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as o,g as r}from"./p-926a3e80.js";import{r as e,o as a,l as n,a as c}from"./p-839ef27d.js";import{s,a as l}from"./p-a1926e65.js";const p=class{constructor(o){var r;t(this,o),this.change=i(this,"change",7),this.scheduledAfterRender=[],this.updateSelectedOptionElements=async()=>{var t;const{selectedOptions:i}=this,o=i.map((t=>t.value)),r=await(null===(t=this.optionList)||void 0===t?void 0:t.getOptions());this.selectedOptionElements=null==r?void 0:r.filter((t=>o.includes(t.value)))},this.determineHasOptions=()=>{const t=!!this.hostElement.querySelectorAll("q2-option").length;this.hasOptions=t},this.clearSelectedOptions=()=>{this.selectedOptions=[],this.active=!1,this.open=!1,this.primaryBtn.focus(),this.change.emit({value:null,values:[],active:!1}),this.scheduledAfterRender.push(e)},this.handleClick=async t=>{if(t.stopPropagation(),!this.disabled)if(this.hasOptions)s(this)?this.executeActionSheet(t):await this.popoverElement.toggle();else{const{value:t,label:i}=this,o=this.active=!this.active,r=o?[{value:t,display:i}]:[];this.selectedOptions=r,this.change.emit({value:t,values:r,active:o})}},this.handleKeydown=async t=>{t.preventDefault(),this.hasOptions&&!this.disabled&&(s(this,t)?this.executeActionSheet(t):this.optionList.handleExternalKeydown(t))},this.handleChange=t=>{t.stopPropagation(),this.hasOptions&&this.handleSelectionChanges(t.detail)},this.handleWrapperClick=()=>{this.primaryBtn.focus(),this.primaryBtn.click()},this.onClickElsewhere=t=>{"click-elsewhere"===t.target.localName&&(t.stopPropagation(),this.popoverElement.open=!1)},this.hoist=!!(null===(r=window.Tecton)||void 0===r?void 0:r.useActionSheets),this.disabled=void 0,this.active=void 0,this.open=void 0,this.multiple=void 0,this.maxLength=void 0,this.label=void 0,this.value=void 0,this.theme=void 0,this.selectedOptions=[],this.popoverMinHeight=150,this.popoverDirection=void 0,this.hasOptions=void 0,this.selectedOptionElements=[]}componentWillLoad(){const t=new MutationObserver(this.determineHasOptions);t.observe(this.hostElement,{childList:!0,attributes:!0}),this.mutationObserver=t}componentDidLoad(){a(this.hostElement)}componentDidRender(){this.scheduledAfterRender.forEach((t=>t())),this.scheduledAfterRender=[]}disconnectedCallback(){this.mutationObserver.disconnect(),this.mutationObserver=null}get buttonContent(){const{label:t,selectedOptions:i,selectedOptionElements:o,hasOptions:r}=this;return r&&0!==o.length?1===o.length?o[0].display:n("tecton.element.pill.activeCount",{count:i.length}):t}get truncatedButtonContent(){const{maxLength:t,buttonContent:i}=this;return t&&i.length>t?`${i.substring(0,t)}…`:i}async executeActionSheet(t){const i=await l(this,t);this.handleSelectionChanges(i)}handleSelectionChanges(t){const{value:i="",values:o=[]}=t,r=!!o.length;this.hostElement.onchange||(this.selectedOptions=o,this.active=r),this.change.emit({value:i,values:o,active:r})}selectedOptionsWatcher(){this.updateSelectedOptionElements()}delegateFocus(t){c(t,this.hostElement)&&this.primaryBtn.focus()}popoverStateHandler({detail:{open:t}}){this.open!==t&&(this.open=t),t||(this.optionList.setActiveElement(null),this.primaryBtn.focus())}generateIcon(){const{hasOptions:t,active:i}=this,r=t&&i,e=r||!t?"close":"chevron-down";return o(r?"button":"div",{class:"btn-close",onClick:r&&this.clearSelectedOptions,disabled:r&&this.disabled,"aria-label":r&&n("tecton.element.pill.clearSelection"),type:r&&"button"},o("q2-icon",{type:e}))}render(){const{hasOptions:t,active:i,open:r}=this,e=["btn-wrapper"];return(t||i)&&e.push("has-icon"),t&&e.push("has-options"),o("click-elsewhere",{onChange:this.onClickElsewhere},o("div",{class:e.join(" ")},o("div",{class:"btn-height-wrapper",ref:t=>this.primaryBtnWrapper=t,onClick:this.handleWrapperClick,tabIndex:-1},o("button",{class:"btn-primary","test-id":"btn-control",type:"button",ref:t=>this.primaryBtn=t,onClick:this.handleClick,onKeyDown:this.handleKeydown,disabled:this.disabled,"aria-selected":!t&&i?"true":"false","aria-roledescription":!t&&"filter","aria-controls":t&&"option-list","aria-haspopup":t&&"true","aria-expanded":t&&`${!!r}`||void 0,"aria-label":this.maxLength&&this.buttonContent},this.truncatedButtonContent,!t&&i&&o("span",{class:"sr"},"(",n("tecton.element.pill.active"),")"))),this.generateIcon()),this.hasOptions&&o("q2-popover",{ref:t=>this.popoverElement=t,controlElement:this.primaryBtn,open:this.open,minHeight:this.popoverMinHeight,direction:this.popoverDirection,align:"right"},o("q2-option-list",{role:"menu",ref:t=>this.optionList=t,id:"option-list",onChange:this.handleChange,multiple:this.multiple,selectedOptions:this.selectedOptions,onReady:()=>this.updateSelectedOptionElements()},o("slot",null))))}get hostElement(){return r(this)}static get watchers(){return{selectedOptions:["selectedOptionsWatcher"]}}};p.style="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:inline-block;position:relative;line-height:0}:host(:not(:last-child)){margin-inline-end:var(--tct-pill-margin, var(--t-pill-margin, var(--app-scale-2x, 10px)))}q2-popover,.btn-wrapper{--comp-pill-min-height:var(--tct-pill-min-height, var(--t-pill-min-height, 44px));--comp-pill-btn-height:var(--tct-pill-btn-height, var(--t-pill-btn-height, 30px))}.btn-wrapper{--comp-pill-btn-border-width:var(--tct-pill-btn-border-width, var(--t-pill-btn-border-width, 2px));--comp-close-size:0px;--comp-btn-background:var(--tct-pill-btn-background, var(--t-pill-btn-background, var(--t-base, #ffffff)));--compt-hover-btn-background:var(--tct-pill-hover-btn-background, var(--t-pill-hover-btn-background, var(--t-gray-13, #e6e6e6)));--comp-btn-padding:var(--tct-pill-btn-padding-inline, var(--t-pill-btn-padding-inline, var(--app-scale-3x, 15px)));--comp-btn-color:var(--tct-pill-btn-color, var(--t-pill-btn-color, var(--t-gray-3, #262626)));--comp-active-btn-color:var(--comp-btn-background);--comp-active-btn-background:var(--tct-pill-active-btn-background, var(--t-pill-active-btn-background, var(--t-gray-7, #666666)));--comp-active-btn-border-color:var(--tct-pill-active-btn-border-color, var(--t-pill-active-btn-border-color, var(--t-gray-7, #666666)));--comp-hover-active-btn-background:var(--tct-pill-active-btn-background, var(--t-pill-active-btn-background, var(--t-gray-6, #4d4d4d)));--comp-hover-active-btn-border-color:var(--tct-pill-active-btn-background, var(--t-pill-active-btn-background, var(--t-gray-6, #4d4d4d)));position:relative}:host(:not(:empty)) .btn-wrapper,.btn-wrapper.has-icon{--comp-close-size:var(--comp-pill-btn-height)}:host([active]) .btn-wrapper{--comp-btn-color:var(--tct-pill-active-btn-color, var(--t-pill-active-btn-color, var(--t-base, #ffffff)))}:host([theme=primary]) .btn-wrapper{--comp-active-btn-background:var(--t-primary-l5, #61c4ff);--comp-active-btn-color:var(--t-primary-text, #ffffff);--comp-active-btn-border-color:var(--t-primary-l5, #61c4ff);--comp-hover-active-btn-background:var(--t-primary-l3, #21acff);--comp-hover-active-btn-border-color:var(--t-primary-l3, #21acff)}:host([theme=secondary]) .btn-wrapper{--comp-active-btn-background:var(--t-secondary-l5, #d9e1e6);--comp-active-btn-color:var(--t-secondary-text, #141414);--comp-active-btn-border-color:var(--t-secondary-l5, #d9e1e6);--comp-hover-active-btn-background:var(--t-secondary-l3, #c9d5db);--comp-hover-active-btn-border-color:var(--t-secondary-l3, #c9d5db)}:host([theme=tertiary]) .btn-wrapper{--comp-active-btn-background:var(--t-tertiary-l5, #f4fafe);--comp-active-btn-color:var(--t-tertiary-text, #141414);--comp-active-btn-border-color:var(--t-tertiary-l5, #f4fafe);--comp-hover-active-btn-background:var(--t-tertiary-l3, #eff8fd);--comp-hover-active-btn-border-color:var(--t-tertiary-l3, #eff8fd)}.btn-height-wrapper{height:var(--comp-pill-min-height);display:flex;align-items:center;cursor:pointer}.btn-height-wrapper:focus{box-shadow:none}:host([disabled]) .btn-height-wrapper{cursor:not-allowed}.btn-close,.btn-primary{cursor:pointer;height:var(--comp-pill-btn-height);border-style:solid;border-radius:var(--tct-pill-btn-border-radius, var(--t-pill-btn-border-radius, 30px));transition-property:background, color, padding, width, opacity;transition:var(--tct-pill-btn-tween, var(--t-pill-btn-tween, var(--app-tween-1, 0.2s ease)))}:host([disabled]) .btn-close,:host([disabled]) .btn-primary,:host([disabled]) q2-icon{opacity:var(--tct-pill-disabled-opacity, var(--t-pill-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))));cursor:not-allowed}.btn-primary{background:var(--comp-btn-background);border-width:var(--comp-pill-btn-border-width);border-color:var(--tct-pill-btn-border-color, var(--t-pill-btn-border-color, var(--t-gray-9, #999999)));padding-inline:var(--comp-btn-padding);padding-right:calc(var(--comp-btn-padding) + var(--comp-close-size));font-size:var(--tct-pill-btn-font-size, var(--t-pill-btn-font-size, var(--app-font-size, 14px)));color:var(--comp-btn-color);display:block;width:100%;text-align:start}.btn-primary:focus,.btn-primary:hover{background:var(--comp-hover-btn-background)}:host(:not(:empty)) .btn-primary,.has-icon .btn-primary{padding-right:calc(var(--tct-pill-icon-gap, var(--t-pill-icon-gap, var(--app-scale-1x, 5px))) + var(--comp-close-size))}.has-options .btn-primary{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:var(--tct-pill-max-width, var(--t-pill-max-width, 200px))}:host([active]) .btn-primary{background:var(--comp-active-btn-background);border-color:var(--comp-active-btn-border-color);color:var(--comp-active-btn-color)}:host([active]) .btn-primary:focus,:host([active]) .btn-primary:hover{background:var(--comp-hover-active-btn-background);border-color:var(--comp-hover-active-btn-border-color)}.btn-close{background:transparent;border-color:transparent;border-width:var(--comp-pill-btn-border-width);width:var(--comp-close-size);height:var(--comp-close-size);padding:0;border:0;display:inline-flex;justify-content:center;align-items:center;position:absolute;right:0;top:50%;transform:translateY(-50%);opacity:0}:host([active]) .btn-close{color:var(--comp-active-btn-color)}:host(:not(:empty)) .btn-close,.has-icon .btn-close{opacity:1}q2-icon{--t-icon-stroke-primary:currentColor;width:var(--tct-pill-icon-size, var(--t-pill-icon-size, 14px));height:var(--tct-pill-icon-size, var(--t-pill-icon-size, 14px));transition-property:transform;transition:var(--tct-pill-btn-tween, var(--t-pill-btn-tween, var(--app-tween-1, 0.2s ease)))}div.btn-close{pointer-events:none}:host([open]) div.btn-close q2-icon{transform:rotate(180deg)}:host([active]) button.btn-close:focus,:host([active]) button.btn-close:hover{background:var(--tct-pill-hover-close-btn-background, var(--t-pill-hover-close-btn-background, var(--t-top-a1, rgba(13, 13, 13, 0.35))));border-color:var(--tct-pill-hover-close-btn-border-color, var(--t-pill-hover-close-btn-border-color, var(--t-top-a1, rgba(13, 13, 13, 0.35))))}q2-popover{top:calc(var(--comp-pill-min-height) - (var(--comp-pill-min-height) - var(--comp-pill-btn-height)) / 2)}";export{p as q2_pill}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as e,H as s,g as o}from"./p-926a3e80.js";import{o as n,w as r,n as a,a as h,r as l}from"./p-839ef27d.js";const c=class{constructor(e){t(this,e),this.change=i(this,"change",7),this.popoverState=i(this,"popoverState",7),this.ready=i(this,"ready",3),this.scheduledAfterRender=[],this.externalKeydownHandler=t=>{t.stopPropagation();const{activeIndex:i,customSearch:e,allOptions:s}=this,{key:o}=t;let n;switch(o){case" ":if(this.searchString){if(e)break;this.searchOptions(o,!0);break}"menu"===this.role?(this.activeIndex=0,this.openDropdownWithActiveElement(0)):this.setDefaultActiveElement();break;case"Enter":"menu"===this.role?(this.activeIndex=0,this.openDropdownWithActiveElement(0)):this.setDefaultActiveElement();break;case"ArrowUp":if(t.preventDefault(),this.activeIndex=0,n=this.selectedOptions.length?this.getDefaultActiveIndex():this.getNextVisibleIndex(-1),-1===n)break;this.openDropdownWithActiveElement(n);break;case"ArrowDown":if(t.preventDefault(),this.activeIndex=0,n=this.selectedOptions.length?this.getDefaultActiveIndex():this.getNextVisibleIndex(0),-1===n)break;this.openDropdownWithActiveElement(n);break;case"Home":t.preventDefault(),this.openDropdownWithActiveElement(0);break;case"End":t.preventDefault(),this.openDropdownWithActiveElement(s.length-1);break;case"PageUp":t.preventDefault(),this.openDropdownWithActiveElement(Math.max((i||0)-10,0));break;case"PageDown":t.preventDefault(),this.openDropdownWithActiveElement(Math.min((i||0)+10,s.length-1));break;case"Tab":this.popoverState.emit({open:!1,action:"close"});break;case"Esc":case"Escape":this.noSelect&&this.setActiveElement(null),this.popoverState.emit({open:!1,action:"close"});break;default:if(e)break;if(!o.match(/^[\w]$/))break;this.searchOptions(o,!0)}},this.internalKeydownHandler=t=>{t.stopPropagation();const{activeIndex:i,customSearch:e,allOptions:s}=this,{key:o,shiftKey:n}=t;let r;switch(o){case" ":if(this.searchString){if(e)break;this.searchOptions(o,!1);break}if(t.preventDefault(),r=s.find((t=>t.active)),!r||r.disabled)break;this.selectOption(r);break;case"Enter":if(t.preventDefault(),r=s.find((t=>t.active)),!r||r.disabled)break;this.selectOption(r);break;case"ArrowUp":if(t.preventDefault(),0===i)break;if(void 0===i){this.setDefaultActiveElement();break}{const t=this.getNextVisibleIndex(-1);if(-1===t)break;this.adjustActiveOptionAndScroll(t-i);break}case"ArrowDown":if(t.preventDefault(),i===s.length-1)break;if(void 0===i){this.setDefaultActiveElement();break}{const t=this.getNextVisibleIndex(1);if(-1===t)break;this.adjustActiveOptionAndScroll(t-i);break}case"Home":t.preventDefault(),this.openDropdownWithActiveElement(0);break;case"End":t.preventDefault(),this.openDropdownWithActiveElement(s.length-1);break;case"PageUp":t.preventDefault(),this.openDropdownWithActiveElement(Math.max(i-10,0));break;case"PageDown":t.preventDefault(),this.openDropdownWithActiveElement(Math.min(i+10,s.length-1));break;case"Tab":if(n)break;if(r=s.find((t=>t.active)),!r||r.disabled)return;this.selectOption(r);break;case"Esc":case"Escape":this.noSelect&&this.setActiveElement(null),this.popoverState.emit({open:!1,action:"close"});break;default:if(e)break;if(!o.match(/^[\w]$/))break;this.searchOptions(o,!1)}},this.focusoutHandler=t=>{const{relatedTarget:i}=t,e=this.allOptions.includes(i),s=!e&&this.hostElement.contains(i);(e||s)&&t.stopPropagation()},this.clickHandler=t=>{const i=t.target.closest("q2-option");this.selectOption(i)},this.role="listbox",this.customSearch=void 0,this.noSelect=void 0,this.align=void 0,this.selectedOptions=[],this.multiple=void 0,this.disabled=void 0,this.showSelected=void 0,this.type=void 0,this.hasOptions=void 0}componentWillLoad(){this.hasOptions=!!this.hostElement.querySelectorAll("q2-option").length}componentDidLoad(){n(this.hostElement),this.checkOptions(),this.selectedOptionsUpdated(),this.ready.emit()}componentDidRender(){this.scheduledAfterRender.forEach((t=>t())),this.scheduledAfterRender=[]}get allContents(){const t=this.getRootSlot(this.hostElement),i=["Q2-OPTGROUP","Q2-OPTION"];return t.filter((t=>i.includes(t.tagName)))}get allOptions(){const t=i=>i.reduce(((i,e)=>"Q2-OPTGROUP"===e.tagName?[...i,...t(Array.from(e.children))]:"Q2-OPTION"===e.tagName?[...i,e]:i),[]);return t(this.allContents)}get allVisibleOptions(){return this.allOptions.filter((t=>!(t.hidden||t._multiSelectHidden||t.disabled||t.disabledGroup)))}async checkOptions(){const{type:t}=this,i=await this.getOptions();if(!t)return;const e="menu"===t?"menuitem":"option";i.forEach((t=>{t.role=e}))}getRootSlot(t){var i;const e=t.querySelector("slot"),s=null!==(i=null==e?void 0:e.assignedElements())&&void 0!==i?i:Array.from(t.children);return s.length&&"SLOT"===s[0].tagName?this.getRootSlot(s[0]):s}scrollToActiveOption(){const t=this.allOptions[this.activeIndex];null==t||t.scrollIntoView({block:"nearest"})}async openDropdownWithActiveElement(t){this.disabled||(this.activeIndex=t,this.popoverState.emit({open:!0,action:"open"}),await r(),this.setActiveOption(),await r(),this.setFocusedOption(),this.scrollToActiveOption())}getDefaultActiveIndex(){const{allOptions:t}=this,i=t.findIndex((t=>t.selected));if(i>-1)return i;const e=t.findIndex((t=>!t.hidden));return e>-1?e:0}updateSingleOptionAttrs(){var t;const{allOptions:i,selectedOptions:e}=this,s=(null===(t=e[0])||void 0===t?void 0:t.value)||void 0;i.forEach((t=>{t.selected=t.value===s}))}updateMultipleOptionAttrs(){const{allOptions:t,selectedOptions:i}=this,e=i.map((({value:t})=>t));t.forEach((t=>{t.selected=e.includes(t.value)}))}setActiveOption(){const t=this.activeIndex;this.allOptions.forEach(((i,e)=>{i.active=t===e}))}setFocusedOption(){const t=this.allOptions[this.activeIndex];t&&(this.hostElement.offsetParent?t.focus():a((()=>t.focus())))}getNextVisibleIndex(t){const{allVisibleOptions:i,allOptions:e,activeIndex:s}=this;let o=i.indexOf(e[s])+t;return o<0?o=i.length-1:o>i.length-1&&(o=0),e.indexOf(i[o])}focusSelectedSibling(t){const{allVisibleOptions:i,allOptions:e}=this;if(i.length<2)return void(this.showSelected=!1);const s=i.indexOf(t),o=e.indexOf(i[s?s-1:s+1]);this.activeIndex=o,this.setFocusedOption(),this.scheduledAfterRender.push((()=>{t._multiSelectHidden=!t.selected}))}selectOption(t){const{multiple:i,noSelect:e,showSelected:s}=this;if(!t||t.disabled||t.disabledGroup)return;const o=t.value,n={value:o,display:t.display||t.innerText.trim()};let r=[];if(i){const{selectedOptions:i}=this;r=i.find((t=>t.value===o))?i.filter((({value:t})=>t!==o)):[...i,n],s&&this.focusSelectedSibling(t)}else r=[n];e?this.setActiveElement(null):this.selectedOptions=r,this.change.emit({value:o,values:r}),i||this.popoverState.emit({open:!1,action:"select"})}adjustActiveOptionAndScroll(t){this.activeIndex+=t,this.setActiveOption(),this.setFocusedOption(),this.scrollToActiveOption()}resetTimer(){this.searchStringTimer&&clearTimeout(this.searchStringTimer),this.searchStringTimer=window.setTimeout((()=>{this.searchString=null}),2e3)}searchOptions(t,i){this.resetTimer();let e=this.searchString?`${this.searchString}${t}`:t;e=e.replace(/[^\w\s]/gi,""),this.searchString=e;const s=new RegExp(`^${e}`,"i"),{allOptions:o}=this,n=o.findIndex((t=>t.value===e||t.textContent.trim().match(s)));-1!==n&&(i?this.selectOption(this.allOptions[n]):this.setActiveElement(n))}showSelectedUpdated(t){t&&0===this.selectedOptions.length?this.showSelected=!1:this.allOptions.forEach((i=>i._multiSelectHidden=!!t&&!i.selected))}selectedOptionsUpdated(){this.multiple?this.updateMultipleOptionAttrs():this.updateSingleOptionAttrs()}delegateFocus(t){if(!h(t,this.hostElement))return;this.popoverState.emit({open:!0,action:"open"});const{activeIndex:i}=this;"number"==typeof i&&i>-1?(this.setActiveOption(),this.setFocusedOption()):this.setDefaultActiveElement()}handleClick(t){t.stopPropagation()}async setDefaultActiveElement(){this.activeIndex=this.getDefaultActiveIndex(),this.setActiveOption(),this.setFocusedOption()}async setActiveElement(t){this.activeIndex=t,this.setActiveOption(),this.setFocusedOption()}async handleExternalKeydown(t){this.externalKeydownHandler(t)}async getContents(){return this.allContents}async getOptions(){return this.allOptions}render(){return e(s,null,e("div",{class:"content",ref:t=>this.contentElement=t,onFocusout:this.focusoutHandler},e("div",{class:"options",role:this.type||"listbox",onKeyDown:this.internalKeydownHandler,onClick:this.clickHandler},e("slot",null))))}get hostElement(){return o(this)}static get watchers(){return{showSelected:["showSelectedUpdated"],selectedOptions:["selectedOptionsUpdated"]}}};c.style="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{position:relative;width:100%;display:block;line-height:var(--tct-option-list-line-height, var(--t-option-list-line-height, var(--app-line-height, 1.428571429em)))}.content{text-align:start}:host([is-sizeable]) .content{display:block;height:auto}";const p=class{constructor(e){t(this,e),this.popoverStateChanged=i(this,"popoverStateChanged",7),this.scheduledAfterRender=[],this.viewPortChanged=()=>{this.open&&this.determinePopDirection()},this.direction=void 0,this.align=void 0,this.open=void 0,this.block=void 0,this.minHeight=void 0,this.controlElement=void 0,this.currentDirection=void 0,this.show=!1}componentDidLoad(){this.open&&this.determinePopDirection()}componentDidRender(){setTimeout((()=>{this.scheduledAfterRender.forEach((t=>t())),this.scheduledAfterRender=[]}),25)}disconnectedCallback(){this.removeViewportListeners()}async toggle(){this.open=!this.open}openChanged(t){this.popoverStateChanged.emit({open:t}),this.scheduledAfterRender.push(l),t?(this.addViewportListeners(),this.determinePopDirection()):(this.removeViewportListeners(),this.containerElement.addEventListener("transitionend",(()=>{this.open||(this.currentDirection=void 0,this.containerElement.style.removeProperty("--comp-pop-max-height"))}),{once:!0}),this.show=!1)}popoverStateHandler(t){const{detail:{open:i}}=t;i!==this.open&&(this.open=i,t.stopPropagation())}addViewportListeners(){window.visualViewport.addEventListener("resize",this.viewPortChanged)}removeViewportListeners(){window.visualViewport.removeEventListener("resize",this.viewPortChanged)}async setDirectionAndShow(t){"up"===t&&this.determinePopOffset(),this.currentDirection=t,this.show=!0}async determinePopDirection(){var t,i,e,s,o,n,a;const{containerElement:h,contentElement:l,direction:c,controlElement:p,currentDirection:d}=this;if(h&&(h.style.maxHeight=null),c)return this.setDirectionAndShow(c);h.style.setProperty("display","block"),await r();const{top:b,height:v}=null!==(t=null==p?void 0:p.getBoundingClientRect())&&void 0!==t?t:{top:0,height:0},u=l.clientHeight,w=(null===(e=null===(i=window.Tecton)||void 0===i?void 0:i.platformDimensions)||void 0===e?void 0:e.scrollY)||(null===(s=window.visualViewport)||void 0===s?void 0:s.offsetTop)||0,f=w+((null===(n=null===(o=window.Tecton)||void 0===o?void 0:o.platformDimensions)||void 0===n?void 0:n.innerHeight)||(null===(a=window.visualViewport)||void 0===a?void 0:a.height)||window.innerHeight)-b-v,g=f>u,m=u<=b;let x;if("down"===d&&g)return this.setDirectionAndShow("down");if("up"===d&&m)return this.setDirectionAndShow("up");if(void 0===d&&g?x="down":void 0===d&&m&&(x="up"),x)return this.setDirectionAndShow(x);const{minHeight:k=150}=this,y=f>=k+5;let O;return"down"===d?(O=Math.max(f-5,k),x="down"):"up"===d?(O=Math.max(b-5,k),x="up"):y?(O=Math.max(f-5,k),x="down"):(O=Math.max(b-w-5,k),x="up"),h.style.setProperty("--comp-pop-max-height",`${O}px`),this.setDirectionAndShow(x)}determinePopOffset(){var t;const{controlElement:i,containerElement:e}=this,s=null!==(t=null==i?void 0:i.getBoundingClientRect().height)&&void 0!==t?t:0;e.style.setProperty("--comp-pop-offset",`${s}px`)}render(){const t=["container",this.currentDirection];return this.show&&t.push("show"),e("div",{ref:t=>this.containerElement=t,class:t.join(" "),role:"menu"},e("div",{ref:t=>this.contentElement=t,class:"content"},e("slot",null)))}get hostElement(){return o(this)}static get watchers(){return{open:["openChanged"]}}};p.style="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:block;width:100%}:host([align=right]){display:block;position:absolute;right:0;text-align:end;left:unset}.container{display:none;overflow:hidden;opacity:0;height:0;position:absolute;top:var(--tct-popover-top, var(--t-popover-top, initial));visibility:hidden;background-color:var(--tct-popover-background-color, var(--t-popover-background-color, var(--app-white, #ffffff)));color:var(--tct-popover-text-color, var(--t-popover-text-color, var(--t-text, #4d4d4d)));z-index:var(--tct-popover-z-index, var(--t-popover-z-index, 100));width:max-content;min-width:var(--tct-popover-min-width, var(--t-popover-min-width, 135px));box-shadow:var(--tct-popover-box-shadow, var(--t-popover-box-shadow, var(--app-shadow-1, 0 2px 4px rgba(0, 0, 0, 0.3))));text-align:start;left:0;transition:opacity var(--app-tween-1, 0.2s ease), max-height var(--app-tween-1, 0.2s ease);border-radius:var(--tct-popover-border-radius, var(--t-popover-border-radius, 0));max-height:var(--comp-pop-max-height);--comp-scrollbar-size:var(--tct-scrollbar-size, var(--t-scrollbar-size, var(--app-scale-1x, 5px)));--comp-scrollbar-border-radius:var(--tct-scrollbar-border-radius, var(--t-scrollbar-border-radius, var(--app-border-radius-1, 3px)));--comp-scrollbar-color:var(--tct-scrollbar-color, var(--t-scrollbar-color, var(--t-a11y-gray-color, #747474)));scrollbar-width:thin;scrollbar-color:var(--comp-scrollbar-color) transparent}.container::-webkit-scrollbar{width:var(--comp-scrollbar-size);height:var(--comp-scrollbar-size);margin:5px}.container::-webkit-scrollbar-thumb{background:var(--comp-scrollbar-color);border-radius:var(--comp-scrollbar-border-radius)}.container::-webkit-scrollbar-track{background:transparent;border-radius:var(--comp-scrollbar-border-radius)}:host([block]) .container{left:unset;right:unset;width:100%;min-width:unset}:host([align=right]) .container{right:0;text-align:end;left:unset}.container :host([open]){display:block}:host([open]) .container.show{height:auto;overflow:auto;opacity:1;visibility:visible}.container.up{bottom:var(--comp-pop-offset)}click-elsewhere{position:relative;display:block}.content{height:auto}";export{c as q2_option_list,p as q2_popover}
@@ -1 +0,0 @@
1
- import{r as t,c as i,h as a,H as o,g as e}from"./p-926a3e80.js";import{o as r,a as s,l as n}from"./p-839ef27d.js";import{s as c,a as h}from"./p-a1926e65.js";const p=class{constructor(a){var o;t(this,a),this.click=i(this,"click",7),this.determineHasOptions=()=>{const t=!!this.hostElement.querySelectorAll("q2-option").length;this.hasOptions=t},this.onClickElsewhere=t=>{"click-elsewhere"===t.target.localName&&(t.stopPropagation(),this.popoverElement.open=!1)},this.handleChange=t=>{if(t.stopPropagation(),!this.hasOptions)return;const{value:i}=t.detail;this.click.emit({value:i})},this.handleClick=async t=>{if(t.stopPropagation(),c(this)){const{value:i}=await h(this,t);this.click.emit({value:i})}else this.popoverElement.toggle()},this.handleKeydown=async t=>{if(t.preventDefault(),c(this,t)){const{value:i}=await h(this,t);this.click.emit({value:i})}else this.optionList.handleExternalKeydown(t)},this.handleButtonFocusout=t=>{var i;const a=t.relatedTarget;null!==(i="Q2-OPTION"===(null==a?void 0:a.tagName))&&void 0!==i&&i||(this.open=!1)},this.handleWrapperClick=()=>{this.dropdownBtn.focus(),this.dropdownBtn.click()},this.hoist=!!(null===(o=window.Tecton)||void 0===o?void 0:o.useActionSheets),this.open=void 0,this.label=void 0,this.theme=void 0,this.popoverMinHeight=150,this.popoverDirection=void 0,this.hasOptions=void 0}componentWillLoad(){const t=new MutationObserver(this.determineHasOptions);t.observe(this.hostElement,{childList:!0,attributes:!0}),this.mutationObserver=t}componentDidLoad(){r(this.hostElement)}disconnectedCallback(){this.mutationObserver.disconnect(),this.mutationObserver=null}delegateFocus(t){s(t,this.hostElement)&&this.hasOptions&&this.dropdownBtn.focus()}popoverStateHandler({detail:{open:t}}){this.open!==t&&(this.open=t),t||(this.optionList.setActiveElement(null),this.dropdownBtn.focus())}render(){const{hasOptions:t,open:i}=this,e=["tag-wrapper"];return t&&e.push("has-options"),a(o,{role:"listitem"},a("click-elsewhere",{onChange:this.onClickElsewhere},a("div",{class:e.join(" "),onClick:t=>t.stopPropagation()},a("div",{class:"tag"},this.label),this.hasOptions&&a("div",{class:"btn-wrapper",onClick:this.handleWrapperClick},a("button",{ref:t=>this.dropdownBtn=t,"test-id":"btn-control",onClick:this.handleClick,onKeyDown:this.handleKeydown,onFocusout:this.handleButtonFocusout,"aria-controls":"option-list","aria-haspopup":"true","aria-expanded":i?"true":"false","aria-label":n("tecton.element.tag.viewOptions")},a("q2-icon",{type:"options"})))),this.hasOptions&&a("q2-popover",{ref:t=>this.popoverElement=t,controlElement:this.dropdownBtn,open:this.open,minHeight:this.popoverMinHeight,direction:this.popoverDirection,align:"right"},a("q2-option-list",{id:"option-list",role:"menu",ref:t=>this.optionList=t,onChange:this.handleChange,align:"right",type:"menu","no-select":!0},a("slot",null)))))}get hostElement(){return e(this)}};p.style="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:inline-block;position:relative;line-height:0}:host(:not(:last-child)){margin-inline-end:var(--tct-tag-margin, var(--t-tag-margin, var(--app-scale-2x, 10px)))}.tag-wrapper{--comp-tag-btn-size:var(--tct-tag-btn-size, var(--t-tag-btn-size, var(--app-scale-6x, 30px)));--comp-tag-background:var(--tct-tag-background, var(--t-tag-background, var(--t-gray-13, #e6e6e6)));--comp-tag-color:var(--tct-tag-color, var(--t-tag-color, var(--t-gray-3, #262626)));position:relative}:host([theme=primary]) .tag-wrapper{--comp-tag-background:var(--t-primary-l5, #61c4ff);--comp-tag-color:var(--t-primary-text, #ffffff)}:host([theme=secondary]) .tag-wrapper{--comp-tag-background:var(--t-secondary-l5, #d9e1e6);--comp-tag-color:var(--t-secondary-text, #000000)}:host([theme=tertiary]) .tag-wrapper{--comp-tag-background:var(--t-tertiary-l5, #f4fafe);--comp-tag-color:var(--t-tertiary-text, #000000)}.tag{height:var(--tct-tag-height, var(--t-tag-height, var(--app-scale-6x, 30px)));line-height:var(--tct-tag-height, var(--t-tag-height, var(--app-scale-6x, 30px)));padding-inline:var(--tct-tag-padding-inline, var(--t-tag-padding-inline, var(--app-scale-3x, 15px)));background:var(--comp-tag-background);color:var(--comp-tag-color);border-radius:var(--tct-tag-border-radius, var(--t-tag-border-radius, var(--app-border-radius-1, 3px)))}.has-options .tag{padding-right:var(--comp-tag-btn-size)}.btn-wrapper{--comp-tag-clickable-size:var(--tct-tag-clickable-size, var(--t-tag-clickable-size, 44px));--comp-tag-btn-offset:calc(calc(calc(var(--comp-tag-clickable-size) - var(--comp-tag-btn-size)) / 2) * -1);height:var(--comp-tag-clickable-size);width:var(--comp-tag-clickable-size);display:flex;align-items:center;justify-content:center;position:absolute;right:var(--comp-tag-btn-offset);top:var(--comp-tag-btn-offset);cursor:pointer}button{width:var(--comp-tag-btn-size);height:var(--comp-tag-btn-size);stroke:var(--comp-tag-color);--tct-icon-stroke-primary:var(--comp-tag-color);cursor:pointer;border:0;background:transparent;display:flex;align-items:center;justify-content:center;padding:0;--tct-icon-size:18px}";export{p as q2_tag}
@@ -1 +0,0 @@
1
- import{r as t,h as o,g as r}from"./p-926a3e80.js";import{h as a,p as e,o as n,a as i,l as s}from"./p-839ef27d.js";import{s as l}from"./p-92e1faf8.js";const c=class{constructor(o){t(this,o),this.handleSlotChange=()=>{this.handleIcons()},this.ariaExpanded=void 0,this.ariaHasPopup=void 0,this.ariaControls=void 0,this.ariaSelected=void 0,this.label=void 0,this.hideLabel=void 0,this.ariaLabel=void 0,this.tabIndex=void 0,this.intent=void 0,this.color=void 0,this.disabled=void 0,this.type=void 0,this.loading=void 0,this.badge=void 0,this.active=void 0,this.fab=void 0,this.block=void 0,this.iconPosition=void 0}componentWillLoad(){this.handleIcons(),a(this),e(this)}componentDidLoad(){n(this.hostElement)}disable(t){this.disabled&&t.stopImmediatePropagation()}delegateFocus(t){i(t,this.hostElement)&&this.hostElement.shadowRoot.querySelector("button").focus()}ariaLabelObserver(){a(this)}handleIcons(){const t=Array.from(this.hostElement.querySelectorAll(":scope > q2-icon")).reduce(((t,o)=>(t?o.remove():t=o,t)),null),o=!!t,r=!!this.hostElement.querySelector("q2-loc"),a=!!this.hostElement.textContent.trim(),e=(r||a)&&o&&this.hostElement.firstElementChild===t,n=(r||a)&&o&&this.hostElement.lastElementChild===t;let i;e||n||!o?e?i="left":n&&(i="right"):i="only",this.iconPosition=i}render(){const{ariaExpanded:t,ariaHasPopup:r,ariaSelected:a,disabled:e,type:n,tabindex:i}=this.buttonAttributes,{iconPosition:l,loading:c,badge:b,label:d,hideLabel:h}=this,v=l||c,p=!l||b;return o("button",{"aria-expanded":t,"aria-haspopup":r,"aria-label":h&&s(d),"aria-selected":a,disabled:e,type:n,tabindex:i,"test-id":"q2BtnInnerButton",class:l?`icon-${l}`:""},o("div",null,v&&o("q2-loading",{hidden:!c,modifiers:p?"inline":void 0}),!h&&d?s(d):o("slot",{onSlotchange:this.handleSlotChange})))}get buttonAttributes(){var t,o,r;return{ariaExpanded:void 0!==this.ariaExpanded?`${"true"===(null===(t=this.ariaExpanded)||void 0===t?void 0:t.toString())}`:void 0,ariaHasPopup:void 0!==this.ariaHasPopup?`${"true"===(null===(o=this.ariaHasPopup)||void 0===o?void 0:o.toString())}`:void 0,ariaLabel:this.label&&this.hideLabel?s(this.label):void 0,ariaSelected:void 0!==this.ariaSelected?`${"true"===(null===(r=this.ariaSelected)||void 0===r?void 0:r.toString())}`:void 0,disabled:this.disabled||!1,type:this.type||"button",tabindex:this.tabIndex||void 0}}get hostElement(){return r(this)}static get watchers(){return{ariaLabel:["ariaLabelObserver"]}}};c.style='*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}:host{display:inline-block}:host([hidden]){display:none}:host([block]){display:block;width:100%}:host{--comp-btn-primary-bg:var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e));--comp-btn-primary-font-color:var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--tct-white, var(--app-white, #ffffff))));--comp-btn-fallback-box-shadow:0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);--comp-btn-fallback-hover-box-shadow:0 5px 10px rgba(0, 0, 0, 0.19), 0 3px 3px rgba(0, 0, 0, 0.23);--comp-btn-neutral-fallback-hover-box-shadow:0 5px 10px rgba(0, 0, 0, 0.24), 0 3px 3px rgba(0, 0, 0, 0.36);--comp-btn-primary-box-shadow:var(--tct-btn-primary-box-shadow, var(--t-btn-primary-box-shadow, var(--comp-btn-fallback-box-shadow)));--comp-btn-primary-hover-box-shadow:var(--tct-btn-primary-hover-box-shadow, var(--t-btn-primary-hover-box-shadow, var(--comp-btn-fallback-hover-box-shadow)));--comp-btn-secondary-bg:var(--tct-btn-secondary-bg, var(--t-button-default-bg, #cccccc));--comp-btn-secondary-font-color:var(--tct-btn-secondary-font-color, var(--t-btn-secondary-font-color, var(--t-button-default-font-color, #2e2e2e)));--comp-btn-secondary-box-shadow:var(--tct-btn-secondary-box-shadow, var(--t-btn-secondary-box-shadow, var(--comp-btn-fallback-box-shadow)));--comp-btn-secondary-hover-box-shadow:var(--tct-btn-secondary-hover-box-shadow, var(--t-btn-secondary-hover-box-shadow, var(--comp-btn-fallback-hover-box-shadow)));--comp-btn-tween:var(--tct-btn-tween, var(--t-btn-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));--comp-btn-neutral-bg:var(--tct-btn-neutral-bg, transparent);--comp-btn-neutral-font-color:var(--tct-btn-neutral-font-color, var(--t-btn-neutral-font-color, var(--t-button-default-font-color, #2e2e2e)));--comp-btn-neutral-box-shadow:var(--tct-btn-neutral-box-shadow, var(--t-btn-neutral-box-shadow, var(--comp-btn-fallback-box-shadow)));--comp-btn-neutral-hover-box-shadow:var(--tct-btn-neutral-hover-box-shadow, var(--t-btn-neutral-hover-box-shadow, var(--comp-btn-neutral-fallback-hover-box-shadow)))}button{margin:var(--tct-scale-0, var(--app-scale-0x, 0));padding:var(--tct-scale-0, var(--app-scale-0x, 0));display:inline-block;width:100%;hyphens:auto;border:0;background:transparent;box-shadow:none;border-radius:0;font-weight:400;color:inherit;cursor:pointer;transition:var(--comp-btn-tween);transition-property:background, color, box-shadow, fill, border-color, border-width;outline:0}button:disabled{opacity:var(--tct-btn-disabled-opacity, var(--t-btn-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))));cursor:not-allowed}:host([size="1"]) button{padding:var(--tct-scale-1, var(--app-scale-1x, 5px))}:host([color]:not([size])) button,:host([intent]:not([size])) button{padding:var(--tct-btn-padding, var(--t-btn-padding, var(--tct-scale-2, var(--app-scale-2x, 10px))))}:host([size="2"]) button{padding:var(--tct-scale-2, var(--app-scale-2x, 10px))}:host([size="3"]) button{padding:var(--tct-scale-3, var(--app-scale-3x, 15px))}:host([size="4x"]) button{padding:var(--tct-scale-4x, var(--app-scale-4x, 20px))}:host([size="4"]) button{padding:var(--tct-scale-6x, var(--app-scale-6x, 30px))}:host([color]) button,:host([intent]) button{border-style:solid;font-size:var(--tct-btn-font-size, var(--t-btn-font-size, inherit))}:host([color=primary]) button,:host([intent=workflow-primary]) button{background:var(--comp-btn-primary-bg);color:var(--comp-btn-primary-font-color);border-color:var(--tct-btn-primary-border-color, var(--t-btn-primary-border-color, transparent));border-width:var(--tct-btn-primary-border-width, var(--t-btn-primary-border-width, 0));border-radius:var(--tct-btn-primary-border-radius, var(--t-btn-primary-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px))));box-shadow:var(--comp-btn-primary-box-shadow);font-weight:var(--tct-btn-primary-font-weight, var(--t-btn-primary-font-weight, 600));text-transform:var(--tct-btn-primary-text-transform, var(--t-btn-primary-text-transform, none));letter-spacing:var(--tct-btn-primary-letter-spacing, var(--t-btn-primary-letter-spacing, normal))}:host([color=primary]) button:enabled:hover,:host([color=primary]) button:enabled:focus,:host([color=primary]) button:enabled:active,:host([intent=workflow-primary]) button:enabled:hover,:host([intent=workflow-primary]) button:enabled:focus,:host([intent=workflow-primary]) button:enabled:active{background:var(--tct-btn-primary-hover-bg, var(--t-btn-primary-hover-bg, var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040))))));color:var(--tct-btn-primary-hover-font-color, var(--t-btn-primary-hover-font-color, var(--tct-white, var(--app-white, #ffffff))));border-color:var(--tct-btn-primary-hover-border-color, var(--t-btn-primary-hover-border-color, var(--tct-btn-primary-border-color, var(--t-btn-primary-border-color, transparent))))}:host([color=primary]) button:hover:enabled,:host([color=primary]) button:active:enabled,:host([intent=workflow-primary]) button:hover:enabled,:host([intent=workflow-primary]) button:active:enabled{box-shadow:var(--comp-btn-primary-hover-box-shadow)}:host([color=primary]) button:focus,:host([color=primary]) button:focus:hover:enabled,:host([color=primary]) button:focus:active:enabled,:host([intent=workflow-primary]) button:focus,:host([intent=workflow-primary]) button:focus:hover:enabled,:host([intent=workflow-primary]) button:focus:active:enabled{box-shadow:var(--const-double-focus-ring), var(--comp-btn-primary-hover-box-shadow)}:host([color=primary]) button:disabled,:host([intent=workflow-primary]) button:disabled{background:var(--tct-btn-primary-disabled-bg, var(--t-btn-primary-disabled-bg, var(--comp-btn-primary-bg)));color:var(--tct-btn-primary-disabled-font-color, var(--t-btn-primary-disabled-font-color, var(--comp-btn-primary-font-color)));box-shadow:var(--tct-btn-primary-disabled-box-shadow, var(--t-btn-primary-disabled-box-shadow, var(--comp-btn-primary-box-shadow)))}:host([color=secondary]) button,:host([intent=workflow-secondary]) button{background:var(--comp-btn-secondary-bg);color:var(--comp-btn-secondary-font-color, var(--tct-btn-secondary-font-color, var(--t-btn-secondary-font-color, var(--tct-white, var(--app-white, #ffffff)))));border-color:var(--tct-btn-secondary-border-color, var(--t-btn-secondary-border-color, transparent));border-width:var(--tct-btn-secondary-border-width, var(--t-btn-secondary-border-width, 0));border-radius:var(--tct-btn-secondary-border-radius, var(--t-btn-secondary-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px))));box-shadow:var(--comp-btn-secondary-box-shadow);font-weight:var(--tct-btn-secondary-font-weight, var(--t-btn-secondary-font-weight, 600));text-transform:var(--tct-btn-secondary-text-transform, var(--t-btn-secondary-text-transform, none));letter-spacing:var(--tct-btn-secondary-letter-spacing, var(--t-btn-secondary-letter-spacing, normal))}:host([color=secondary]) button:enabled:hover,:host([color=secondary]) button:enabled:focus,:host([color=secondary]) button:enabled:active,:host([intent=workflow-secondary]) button:enabled:hover,:host([intent=workflow-secondary]) button:enabled:focus,:host([intent=workflow-secondary]) button:enabled:active{background:var(--tct-btn-secondary-hover-bg, var(--t-btn-secondary-hover-bg, var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040))))));color:var(--tct-btn-secondary-hover-font-color, var(--t-btn-secondary-hover-font-color, var(--t-button-default-hover-font-color, var(--tct-white, var(--app-white, #ffffff)))));border-color:var(--tct-btn-secondary-hover-border-color, var(--t-btn-secondary-hover-border-color, var(--tct-btn-secondary-border-color, var(--t-btn-secondary-border-color, transparent))))}:host([color=secondary]) button:hover:enabled,:host([color=secondary]) button:active:enabled,:host([intent=workflow-secondary]) button:hover:enabled,:host([intent=workflow-secondary]) button:active:enabled{box-shadow:var(--comp-btn-secondary-hover-box-shadow)}:host([color=secondary]) button:focus,:host([color=secondary]) button:focus:hover:enabled,:host([color=secondary]) button:focus:active:enabled,:host([intent=workflow-secondary]) button:focus,:host([intent=workflow-secondary]) button:focus:hover:enabled,:host([intent=workflow-secondary]) button:focus:active:enabled{box-shadow:var(--const-double-focus-ring), var(--comp-btn-secondary-hover-box-shadow)}:host([color=secondary]) button:disabled,:host([intent=workflow-secondary]) button:disabled{background:var(--tct-btn-secondary-disabled-bg, var(--t-btn-secondary-disabled-bg, var(--comp-btn-secondary-bg)));color:var(--tct-btn-secondary-disabled-font-color, var(--t-btn-secondary-disabled-font-color, var(--comp-btn-secondary-font-color)));box-shadow:var(--tct-btn-secondary-disabled-box-shadow, var(--t-btn-secondary-disabled-box-shadow, var(--comp-btn-secondary-box-shadow)))}:host([intent=neutral]) button{background:var(--comp-btn-neutral-bg, var(--tct-btn-neutral-bg, var(--t-btn-neutral-bg, transparent)));color:var(--comp-btn-neutral-font-color, var(--tct-btn-neutral-font-color, var(--t-btn-neutral-font-color, var(--tct-gray-1, var(--t-gray-1, var(--tct-black, var(--app-black, #0d0d0d)))))));border-color:var(--tct-btn-neutral-border-color, var(--t-btn-neutral-border-color, transparent));border-width:var(--tct-btn-neutral-border-width, var(--t-btn-neutral-border-width, 0));border-radius:var(--tct-btn-neutral-border-radius, var(--t-btn-neutral-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px))));box-shadow:var(--comp-btn-neutral-box-shadow);font-weight:var(--tct-btn-neutral-font-weight, var(--t-btn-neutral-font-weight, 600));text-transform:var(--tct-btn-neutral-text-transform, var(--t-btn-neutral-text-transform, none));letter-spacing:var(--tct-btn-neutral-letter-spacing, var(--t-btn-neutral-letter-spacing, normal))}:host([intent=neutral]) button:enabled:hover,:host([intent=neutral]) button:enabled:focus,:host([intent=neutral]) button:enabled:active{background:var(--tct-btn-neutral-hover-bg, var(--t-btn-neutral-hover-bg, transparent));color:var(--tct-btn-neutral-hover-font-color, var(--t-btn-neutral-hover-font-color, var(--tct-white, var(--app-white, #ffffff))));border-color:var(--tct-btn-neutral-hover-border-color, var(--t-btn-neutral-hover-border-color, var(--tct-btn-neutral-border-color, var(--t-btn-neutral-border-color, transparent))))}:host([intent=neutral]) button:hover:enabled,:host([intent=neutral]) button:active:enabled{box-shadow:var(--comp-btn-neutral-hover-box-shadow)}:host([intent=neutral]) button:focus,:host([intent=neutral]) button:focus:hover:enabled,:host([intent=neutral]) button:focus:active:enabled{box-shadow:var(--const-double-focus-ring), var(--comp-btn-neutral-hover-box-shadow)}:host([intent=neutral]) button:disabled{background:var(--tct-btn-neutral-disabled-bg, var(--t-btn-neutral-disabled-bg, var(--comp-btn-neutral-bg)));color:var(--tct-btn-neutral-disabled-font-color, var(--t-btn-neutral-disabled-font-color, var(--comp-btn-neutral-font-color)));box-shadow:var(--tct-btn-neutral-disabled-box-shadow, var(--comp-btn-neutral-box-shadow))}:host button.icon-only{width:var(--tct-btn-icon-width, var(--t-btn-icon-width, 44px));height:var(--tct-btn-icon-height, var(--t-btn-icon-height, 44px));border-radius:var(--tct-btn-icon-border-radius, var(--t-btn-icon-border-radius, 0))}:host button.icon-only:hover,:host button.icon-only:focus{background-color:var(--tct-btn-icon-hover-bg, var(--t-btn-icon-hover-bg, var(--tct-gray-13, var(--t-gray-13, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))))}:host(:not([intent])[active]) button.icon-only{background-color:var(--tct-btn-icon-active-bg, var(--t-btn-icon-active-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))))}:host(:not([intent])) button.icon-only:hover *,:host(:not([intent])) button.icon-only:focus *,:host(:not([intent])[active]) button.icon-only *{color:var(--tct-btn-icon-hover-color, var(--t-btn-icon-hover-color, var(--tct-link-hover-color, var(--t-link-hover-color, #080808))))}:host([badge]) button{padding:var(--tct-btn-badge-padding, var(--t-btn-badge-padding, 2px 5px));font-size:var(--tct-btn-badge-font-size, var(--t-btn-badge-font-size, var(--tct-btn-font-size, var(--t-btn-font-size, inherit))));border-radius:var(--tct-btn-badge-border-radius, var(--t-btn-badge-border-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 3px))));background-color:var(--tct-btn-badge-bg, var(--t-btn-badge-bg, transparent));color:var(--tct-btn-badge-font-color, var(--t-btn-badge-font-color, inherit))}:host([badge]) button ::slotted(q2-icon){--tct-icon-size:1em}:host([badge]:hover) button:enabled{background-color:var(--tct-btn-badge-hover-bg, var(--t-btn-badge-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));color:var(--tct-btn-badge-hover-font-color, var(--t-btn-badge-hover-font-color, var(--tct-gray-5, var(--t-gray-5, var(--tct-gray-d2, var(--app-gray-d2, #404040))))))}:host(.selected[badge]) button,:host([active][badge]) button{background-color:var(--tct-btn-badge-active-bg, var(--t-btn-badge-active-bg, var(--comp-btn-primary-bg)));color:var(--tct-btn-badge-active-font-color, var(--t-btn-badge-active-font-color, var(--comp-btn-primary-font-color)))}div{display:flex;align-items:center;justify-content:center;gap:var(--app-scale-1x, 5px)}:host([loading]) .icon-right div{flex-direction:row-reverse}q2-loading{--tct-loading-primary-color:currentColor;--tct-loading-secondary-color:currentColor;--tct-loading-spinner-size:24px}:host([loading]) ::slotted(q2-icon){display:none}:host([loading]) button{pointer-events:none}:host([block]) button,:host([block]) button.icon-only{display:block;width:100%}';const b=class{constructor(r){t(this,r),this.halfCircleSpinner=()=>o("div",{class:"q2-loading-animation half-circle-spinner","aria-label":this.localizedLabel},o("div",{class:"circle circle-1"}),o("div",{class:"circle circle-2"})),this.spinner=()=>this.halfCircleSpinner(),this.skeletonLoader=()=>o("div",{class:"q2-loading-skeleton","aria-label":this.localizedLabel},"custom"===this.shape?o("slot",null):this.skeletonShape,o("div",{class:"q2-loading-skeleton-shimmer"})),this.type=void 0,this.shape=void 0,this.modifiers=void 0,this.counts=void 0,this.label=void 0,this.ariaLabel=void 0,this.inline=void 0}get loader(){const t={default:this.spinner,spinner:this.spinner,skeleton:this.skeletonLoader};return t[this.type]||t.default}get modifiersSet(){if("skeleton"===this.type&&this.modifiers)return new Set(this.modifiers.split("-"))}get countsArray(){if("skeleton"===this.type&&this.counts)return this.counts.split("x").map(Number)}get skeletonShape(){var t,o;return null!==(o=null===(t=l[this.shape])||void 0===t?void 0:t.call(l,this.countsArray,this.modifiersSet))&&void 0!==o?o:""}get spinnerShape(){const t={default:this.halfCircleSpinner,"half-circle":this.halfCircleSpinner};return t[this.type]||t.default}get localizedLabel(){return s(this.label||"tecton.element.loading.ariaLabel")}componentWillLoad(){a(this)}ariaLabelObserver(){a(this)}render(){return this.loader()}get hostElement(){return r(this)}static get watchers(){return{ariaLabel:["ariaLabelObserver"]}}};b.style="*{box-sizing:border-box}*:active{outline:none}*:focus{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #33b4ff #06C)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}.flex{display:flex}.flex-center{justify-content:center}.flex-left{justify-content:flex-start}.flex-right{justify-content:flex-end}.flex-v-center{align-items:center}.no-margin{margin:0}:host{display:block}:host([inline]),:host([modifiers*=inline]){display:inline-block}:host([hidden]){display:none}:host(:not([inline]):not([modifiers*=inline])){font-size:var(--tct-loading-spinner-size, var(--t-loading-spinner-size, var(--app-scale-12x, 60px)))}.q2-loading-animation{height:1em;width:1em}.half-circle-spinner,.half-circle-spinner *{box-sizing:border-box}.half-circle-spinner{border-radius:100%;position:relative}.half-circle-spinner .circle{position:absolute;width:100%;height:100%;border-radius:100%;border:0.0833333333em solid transparent}.half-circle-spinner .circle.circle-1{border-top-color:var(--tct-loading-primary-color, var(--t-loading-primary-color, var(--t-primary, #0079c1)));animation:half-circle-spinner-animation 1s infinite}.half-circle-spinner .circle.circle-2{border-bottom-color:var(--tct-loading-secondary-color, var(--t-loading-secondary-color, #9ddd4f));animation:half-circle-spinner-animation 1s infinite alternate}@keyframes half-circle-spinner-animation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.q2-loading-skeleton{position:relative;width:100%;height:100%;overflow:hidden;--comp-loading-skeleton-shimmer-color:var(--tct-loading-skeleton-shimmer-color, var(--t-base, rgba(255, 255, 255, 0.5)));--comp-loading-skeleton-vertical-gap:var(--tct-loading-skeleton-vertical-gap, var(--tct-scale-2, 10px));--comp-loading-skeleton-horizontal-gap:var(--tct-loading-skeleton-horizontal-gap, var(--tct-scale-2, 10px))}.q2-loading-skeleton-shimmer{position:absolute;width:1rem;height:100%;top:0;left:-100px;animation:skeletonShimmer 3s ease-in-out infinite;background-color:var(--comp-loading-skeleton-shimmer-color);box-shadow:0 0 25px 20px var(--comp-loading-skeleton-shimmer-color);transform:rotate(10deg)}.skeleton-shape.rectangle:not(.no-margin){margin:var(--tct-loading-skeleton-vertical-gap, var(--tct-scale-2, 10px)) var(--tct-loading-skeleton-horizontal-gap, var(--tct-scale-2, 10px))}.skeleton-shape.circle,.skeleton-shape.rectangle{background-color:var(--tct-loading-skeleton-element-bg, var(--tct-gray-l3, var(--t-gray-14, #f2f2f2)))}.skeleton-shape.rectangle{min-height:var(--tct-loading-skeleton-rectangle-min-height, 20px)}.skeleton-shape.circle{border-radius:50%;padding-top:100%}.flex .rectangle{flex-grow:1}.skeleton-table-row .rectangle{margin:var(--comp-loading-skeleton-vertical-gap) var(--comp-loading-skeleton-horizontal-gap)}.skeleton-table-row .rectangle:not(:first-child):not(:last-child){flex-grow:2}.skeleton-table-row-border .skeleton-shape{margin:0 var(--comp-loading-skeleton-horizontal-gap)}.form{flex-wrap:wrap}.form .field{margin:var(--comp-loading-skeleton-vertical-gap) 0}.form.columns-1 .field{flex-basis:100%}.form.columns-2 .field{flex-basis:50%}.form.columns-3 .field{flex-basis:33.3333%}.form.columns-4 .field{flex-basis:25%}.form.columns-5 .field{flex-basis:20%}.text .rectangle{margin-bottom:0}.text .header.center{margin:0 auto}.text .header.right{margin-left:auto}.text .header{height:1.5rem}.text .header.smaller{height:1rem}.detailed-item{flex-wrap:wrap}.detailed-item.right{flex-flow:row-reverse}.detailed-item-image{flex:0 0 auto;display:inline-flex}.center .detailed-item-image{flex-basis:100%;display:flex}.detailed-item-image .rectangle{flex-grow:0}.detailed-item-text>div{width:100%}.detailed-item-text{flex:1 1 auto}.detailed-item-text .text{margin-top:0;margin-bottom:0}.label-value{flex-wrap:wrap}.label-value .rectangle{flex-basis:calc(50% - 2 * var(--comp-loading-skeleton-horizontal-gap))}@keyframes skeletonShimmer{0%{left:-100px;opacity:1}70%{opacity:1}100%{left:800px;opacity:0}}";export{c as q2_btn,b as q2_loading}