q2-tecton-elements 1.26.1 → 1.27.1

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 (190) hide show
  1. package/dist/cjs/{index-d62f5a7e.js → index-ffd19146.js} +2 -2
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  4. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  5. package/dist/cjs/q2-badge_2.cjs.entry.js +4 -4
  6. package/dist/cjs/q2-btn_2.cjs.entry.js +7 -5
  7. package/dist/cjs/q2-calendar.cjs.entry.js +3 -3
  8. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  9. package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  12. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-chart-donut.cjs.entry.js +1 -1
  14. package/dist/cjs/q2-checkbox-group.cjs.entry.js +6 -5
  15. package/dist/cjs/q2-checkbox.cjs.entry.js +3 -3
  16. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-dropdown.cjs.entry.js +3 -2
  18. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  22. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-optgroup_2.cjs.entry.js +2 -2
  24. package/dist/cjs/q2-option-list_2.cjs.entry.js +66 -25
  25. package/dist/cjs/q2-pagination.cjs.entry.js +18 -16
  26. package/dist/cjs/q2-pill.cjs.entry.js +82 -14
  27. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-radio.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-section.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-select.cjs.entry.js +24 -19
  31. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-tab-container.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-tag.cjs.entry.js +11 -4
  36. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  37. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  39. package/dist/collection/components/q2-avatar/styles.css +14 -14
  40. package/dist/collection/components/q2-btn/index.js +22 -3
  41. package/dist/collection/components/q2-btn/styles.css +26 -11
  42. package/dist/collection/components/q2-calendar/index.js +1 -1
  43. package/dist/collection/components/q2-calendar/styles.css +7 -1
  44. package/dist/collection/components/q2-carousel-pane/index.js +15 -6
  45. package/dist/collection/components/q2-checkbox/index.js +6 -3
  46. package/dist/collection/components/q2-checkbox/styles.css +1 -0
  47. package/dist/collection/components/q2-checkbox-group/index.js +5 -4
  48. package/dist/collection/components/q2-dropdown/index.js +20 -1
  49. package/dist/collection/components/q2-input/index.js +6 -6
  50. package/dist/collection/components/q2-input/styles.css +4 -0
  51. package/dist/collection/components/q2-message/index.js +1 -1
  52. package/dist/collection/components/q2-option/index.js +21 -9
  53. package/dist/collection/components/q2-option-list/index.js +55 -14
  54. package/dist/collection/components/q2-pagination/index.js +16 -14
  55. package/dist/collection/components/q2-pagination/styles.css +5 -0
  56. package/dist/collection/components/q2-pill/index.js +84 -14
  57. package/dist/collection/components/q2-popover/index.js +10 -10
  58. package/dist/collection/components/q2-radio/index.js +20 -8
  59. package/dist/collection/components/q2-radio/styles.css +2 -0
  60. package/dist/collection/components/q2-select/index.js +40 -17
  61. package/dist/collection/components/q2-select/styles.css +41 -3
  62. package/dist/collection/components/q2-stepper/index.js +5 -2
  63. package/dist/collection/components/q2-stepper-pane/index.js +5 -2
  64. package/dist/collection/components/q2-tab-pane/index.js +20 -8
  65. package/dist/collection/components/q2-tag/index.js +10 -3
  66. package/dist/collection/utils/index.js +1 -1
  67. package/dist/components/index10.js +1 -1
  68. package/dist/components/index12.js +1 -1
  69. package/dist/components/index13.js +55 -14
  70. package/dist/components/index14.js +10 -10
  71. package/dist/components/index15.js +2 -2
  72. package/dist/components/index3.js +1 -1
  73. package/dist/components/index5.js +7 -4
  74. package/dist/components/index8.js +4 -4
  75. package/dist/components/q2-calendar.js +2 -2
  76. package/dist/components/q2-checkbox-group.js +5 -4
  77. package/dist/components/q2-checkbox.js +2 -2
  78. package/dist/components/q2-dropdown.js +3 -1
  79. package/dist/components/q2-pagination.js +18 -16
  80. package/dist/components/q2-pill.js +82 -14
  81. package/dist/components/q2-radio.js +1 -1
  82. package/dist/components/q2-select.js +25 -19
  83. package/dist/components/q2-tag.js +10 -3
  84. package/dist/docs.json +167 -46
  85. package/dist/esm/{index-5040cd84.js → index-a0cc60e3.js} +2 -2
  86. package/dist/esm/loader.js +1 -1
  87. package/dist/esm/q2-action-sheet.entry.js +1 -1
  88. package/dist/esm/q2-avatar.entry.js +1 -1
  89. package/dist/esm/q2-badge_2.entry.js +4 -4
  90. package/dist/esm/q2-btn_2.entry.js +7 -5
  91. package/dist/esm/q2-calendar.entry.js +3 -3
  92. package/dist/esm/q2-card.entry.js +1 -1
  93. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  94. package/dist/esm/q2-carousel.entry.js +1 -1
  95. package/dist/esm/q2-chart-area.entry.js +1 -1
  96. package/dist/esm/q2-chart-bar.entry.js +1 -1
  97. package/dist/esm/q2-chart-donut.entry.js +1 -1
  98. package/dist/esm/q2-checkbox-group.entry.js +6 -5
  99. package/dist/esm/q2-checkbox.entry.js +3 -3
  100. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  101. package/dist/esm/q2-dropdown.entry.js +3 -2
  102. package/dist/esm/q2-editable-field.entry.js +1 -1
  103. package/dist/esm/q2-icon.entry.js +1 -1
  104. package/dist/esm/q2-loc.entry.js +1 -1
  105. package/dist/esm/q2-message.entry.js +2 -2
  106. package/dist/esm/q2-month-picker.entry.js +1 -1
  107. package/dist/esm/q2-optgroup_2.entry.js +2 -2
  108. package/dist/esm/q2-option-list_2.entry.js +66 -25
  109. package/dist/esm/q2-pagination.entry.js +18 -16
  110. package/dist/esm/q2-pill.entry.js +82 -14
  111. package/dist/esm/q2-radio-group.entry.js +1 -1
  112. package/dist/esm/q2-radio.entry.js +2 -2
  113. package/dist/esm/q2-section.entry.js +1 -1
  114. package/dist/esm/q2-select.entry.js +24 -19
  115. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  116. package/dist/esm/q2-stepper-vertical.entry.js +1 -1
  117. package/dist/esm/q2-stepper.entry.js +1 -1
  118. package/dist/esm/q2-tab-container.entry.js +1 -1
  119. package/dist/esm/q2-tag.entry.js +11 -4
  120. package/dist/esm/q2-tecton-elements.js +1 -1
  121. package/dist/esm/q2-textarea.entry.js +1 -1
  122. package/dist/esm/q2-tooltip.entry.js +1 -1
  123. package/dist/q2-tecton-elements/p-04b9a7ee.entry.js +1 -0
  124. package/dist/q2-tecton-elements/{p-c506314d.entry.js → p-05bdc0aa.entry.js} +1 -1
  125. package/dist/q2-tecton-elements/{p-f5c9ef75.entry.js → p-0b8943da.entry.js} +1 -1
  126. package/dist/q2-tecton-elements/{p-ece7a1ca.entry.js → p-12e65423.entry.js} +1 -1
  127. package/dist/q2-tecton-elements/{p-f3096cce.entry.js → p-1d28c600.entry.js} +1 -1
  128. package/dist/q2-tecton-elements/{p-839ef27d.js → p-2453cd92.js} +1 -1
  129. package/dist/q2-tecton-elements/{p-a1f91d8c.entry.js → p-256e5161.entry.js} +1 -1
  130. package/dist/q2-tecton-elements/{p-5878b8bd.entry.js → p-25ea01d3.entry.js} +1 -1
  131. package/dist/q2-tecton-elements/p-2b8a8981.entry.js +1 -0
  132. package/dist/q2-tecton-elements/{p-e4aa271e.entry.js → p-31b655b6.entry.js} +1 -1
  133. package/dist/q2-tecton-elements/p-396fd275.entry.js +1 -0
  134. package/dist/q2-tecton-elements/p-3dca7465.entry.js +1 -0
  135. package/dist/q2-tecton-elements/p-521c9085.entry.js +1 -0
  136. package/dist/q2-tecton-elements/{p-bfaff58b.entry.js → p-5a670d93.entry.js} +1 -1
  137. package/dist/q2-tecton-elements/p-72374b8e.entry.js +1 -0
  138. package/dist/q2-tecton-elements/p-8545c3cb.entry.js +1 -0
  139. package/dist/q2-tecton-elements/p-85e780b2.entry.js +1 -0
  140. package/dist/q2-tecton-elements/{p-18808c27.entry.js → p-869e899c.entry.js} +1 -1
  141. package/dist/q2-tecton-elements/p-8e652d59.entry.js +1 -0
  142. package/dist/q2-tecton-elements/{p-74ac19cd.entry.js → p-9292bd80.entry.js} +1 -1
  143. package/dist/q2-tecton-elements/{p-fbe8b4c0.entry.js → p-9367dc29.entry.js} +1 -1
  144. package/dist/q2-tecton-elements/{p-bc8a507b.entry.js → p-949fa312.entry.js} +1 -1
  145. package/dist/q2-tecton-elements/{p-a8258fb1.entry.js → p-a298cbfb.entry.js} +1 -1
  146. package/dist/q2-tecton-elements/p-aae8b9fc.entry.js +1 -0
  147. package/dist/q2-tecton-elements/{p-bea1fda1.entry.js → p-ac6dd5b1.entry.js} +1 -1
  148. package/dist/q2-tecton-elements/{p-8b5639a1.entry.js → p-bafb5e70.entry.js} +1 -1
  149. package/dist/q2-tecton-elements/{p-a411f2f3.entry.js → p-be0d3bfe.entry.js} +1 -1
  150. package/dist/q2-tecton-elements/p-c1d33fd2.entry.js +1 -0
  151. package/dist/q2-tecton-elements/{p-1cc42a02.entry.js → p-d06d752f.entry.js} +1 -1
  152. package/dist/q2-tecton-elements/{p-7b124d8c.entry.js → p-d69cb7d1.entry.js} +1 -1
  153. package/dist/q2-tecton-elements/{p-bda877fe.entry.js → p-edcf49fd.entry.js} +1 -1
  154. package/dist/q2-tecton-elements/{p-8954cc63.entry.js → p-ef657f8f.entry.js} +1 -1
  155. package/dist/q2-tecton-elements/{p-0cbad3bc.entry.js → p-f3e4bb52.entry.js} +1 -1
  156. package/dist/q2-tecton-elements/{p-7d35c1a1.entry.js → p-fb768d19.entry.js} +1 -1
  157. package/dist/q2-tecton-elements/{p-87cecc80.entry.js → p-fcad1609.entry.js} +1 -1
  158. package/dist/q2-tecton-elements/{p-7eca74d4.entry.js → p-fe3625ad.entry.js} +1 -1
  159. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  160. package/dist/test/helpers.js +20 -1
  161. package/dist/types/components/q2-btn/index.d.ts +2 -0
  162. package/dist/types/components/q2-carousel-pane/index.d.ts +12 -0
  163. package/dist/types/components/q2-checkbox/index.d.ts +4 -0
  164. package/dist/types/components/q2-checkbox-group/index.d.ts +1 -1
  165. package/dist/types/components/q2-dropdown/index.d.ts +1 -0
  166. package/dist/types/components/q2-input/index.d.ts +1 -1
  167. package/dist/types/components/q2-option/index.d.ts +16 -0
  168. package/dist/types/components/q2-option-list/index.d.ts +6 -0
  169. package/dist/types/components/q2-pagination/index.d.ts +1 -1
  170. package/dist/types/components/q2-pill/index.d.ts +6 -2
  171. package/dist/types/components/q2-radio/index.d.ts +16 -0
  172. package/dist/types/components/q2-select/index.d.ts +3 -2
  173. package/dist/types/components/q2-stepper/index.d.ts +4 -0
  174. package/dist/types/components/q2-stepper-pane/index.d.ts +4 -0
  175. package/dist/types/components/q2-tab-pane/index.d.ts +16 -0
  176. package/dist/types/components/q2-tag/index.d.ts +1 -1
  177. package/dist/types/components.d.ts +150 -0
  178. package/dist/types/workspace/workspace/{tecton-production_release_1.26.x → tecton-production_release_1.27.x}/packages/q2-tecton-elements/.stencil/test/helpers.d.ts +1 -0
  179. package/package.json +3 -3
  180. package/dist/q2-tecton-elements/p-09639e95.entry.js +0 -1
  181. package/dist/q2-tecton-elements/p-0b82891e.entry.js +0 -1
  182. package/dist/q2-tecton-elements/p-224d3c31.entry.js +0 -1
  183. package/dist/q2-tecton-elements/p-4734a577.entry.js +0 -1
  184. package/dist/q2-tecton-elements/p-55d192b3.entry.js +0 -1
  185. package/dist/q2-tecton-elements/p-721d0aee.entry.js +0 -1
  186. package/dist/q2-tecton-elements/p-73643653.entry.js +0 -1
  187. package/dist/q2-tecton-elements/p-8d703466.entry.js +0 -1
  188. package/dist/q2-tecton-elements/p-a7679912.entry.js +0 -1
  189. package/dist/q2-tecton-elements/p-aafb9537.entry.js +0 -1
  190. package/dist/q2-tecton-elements/p-b8420bfe.entry.js +0 -1
@@ -1,13 +1,29 @@
1
1
  import { ComponentInterface } from '../../stencil-public-runtime';
2
2
  export declare class Q2Option implements ComponentInterface {
3
+ /**
4
+ * Used by q2-option-list to set a role on the option
5
+ * @private
6
+ */
3
7
  role: 'option' | 'menuitem';
4
8
  display: string;
5
9
  value: string;
6
10
  disabled: boolean;
11
+ /**
12
+ * Used by q2-radio-group to disable all options in the group
13
+ * @private
14
+ */
7
15
  disabledGroup: boolean;
16
+ /**
17
+ * Used by q2-option-list to indicate the option is selected
18
+ * @private
19
+ */
8
20
  selected: boolean;
9
21
  hidden: boolean;
10
22
  multiline: boolean;
23
+ /**
24
+ * Used by q2-option-list to indicate the option is active
25
+ * @private
26
+ */
11
27
  active: boolean;
12
28
  _multiSelectHidden: boolean;
13
29
  hostElement: HTMLElement;
@@ -25,9 +25,14 @@ export declare class Q2OptionList implements ComponentInterface {
25
25
  hasOptions: boolean;
26
26
  contentElement: HTMLElement;
27
27
  activeIndex: number;
28
+ pivotIndex: number;
28
29
  scheduledAfterRender: (() => void)[];
29
30
  searchString: string;
30
31
  searchStringTimer: number;
32
+ keyStore: {
33
+ queue: string[];
34
+ lastPressedAt: Date;
35
+ };
31
36
  hostElement: HTMLElement;
32
37
  componentWillLoad(): void;
33
38
  componentDidLoad(): void;
@@ -49,6 +54,7 @@ export declare class Q2OptionList implements ComponentInterface {
49
54
  selectOption(selectedOption: HTMLQ2OptionElement): void;
50
55
  adjustActiveOptionAndScroll(numToAdd: number): void;
51
56
  resetTimer(): void;
57
+ searchAndFocus: (keyValue: string, shouldSelect: boolean) => void;
52
58
  searchOptions(key: string, shouldSelect?: boolean): void;
53
59
  showSelectedUpdated(showSelected: boolean): void;
54
60
  selectedOptionsUpdated(): void;
@@ -25,6 +25,6 @@ export declare class Q2Pagination implements ComponentInterface {
25
25
  get currentRange(): string;
26
26
  get totalPages(): number;
27
27
  handlePageChange: (page: number) => void;
28
- checkSize(): void;
28
+ checkSize: () => void;
29
29
  render(): any;
30
30
  }
@@ -33,21 +33,25 @@ export declare class Q2Pill implements ComponentInterface {
33
33
  disconnectedCallback(): void;
34
34
  get buttonContent(): string;
35
35
  get truncatedButtonContent(): string;
36
+ syncValueProperties: () => void;
37
+ getOption: (value: string) => Promise<HTMLQ2OptionElement>;
36
38
  updateSelectedOptionElements: () => Promise<void>;
37
39
  determineHasOptions: () => void;
38
40
  executeActionSheet(event: MouseEvent | KeyboardEvent): Promise<void>;
39
41
  handleSelectionChanges(changeDetails: {
40
42
  value?: string;
41
43
  values?: IOptionValue[];
42
- }): void;
44
+ }): Promise<void>;
43
45
  clearSelectedOptions: () => void;
44
- selectedOptionsWatcher(): void;
46
+ valueChanged(newValue: any): Promise<void>;
47
+ selectedOptionsChanged(newValue: any): void;
45
48
  delegateFocus(event: FocusEvent): void;
46
49
  popoverStateHandler({ detail: { open } }: CustomEvent<{
47
50
  open: boolean;
48
51
  }>): void;
49
52
  handleClick: (event: MouseEvent) => Promise<void>;
50
53
  handleKeydown: (event: KeyboardEvent) => Promise<void>;
54
+ handleButtonFocusout: (event: FocusEvent) => Promise<void>;
51
55
  handleChange: (event: any) => void;
52
56
  handleWrapperClick: () => void;
53
57
  onClickElsewhere: (event: CustomEvent) => void;
@@ -5,9 +5,25 @@ export declare class Q2Radio implements ComponentInterface {
5
5
  value: string;
6
6
  disabled: boolean;
7
7
  checked: boolean;
8
+ /**
9
+ * Used by q2-radio-group to apply a name to all options in the group
10
+ * @private
11
+ */
8
12
  name: string;
13
+ /**
14
+ * Used by q2-radio-group to disable all options in the group
15
+ * @private
16
+ */
9
17
  groupDisabled: boolean;
18
+ /**
19
+ * Used by q2-radio-group to make all options in the group readonly
20
+ * @private
21
+ */
10
22
  groupReadonly: boolean;
23
+ /**
24
+ * Used by q2-radio-group to make the options display as tiles
25
+ * @private
26
+ */
11
27
  groupTileLayout: boolean;
12
28
  /** @deprecated */
13
29
  ariaLabel: string;
@@ -10,6 +10,7 @@ export declare class Q2Select implements ComponentInterface {
10
10
  disabled: boolean;
11
11
  readonly: boolean;
12
12
  invalid: boolean;
13
+ listLabel: string;
13
14
  errors: string[];
14
15
  multiple: boolean;
15
16
  minRows: number;
@@ -72,8 +73,8 @@ export declare class Q2Select implements ComponentInterface {
72
73
  value?: string;
73
74
  values?: IOptionValue[];
74
75
  }): void;
75
- showSelectedOptions: (event: MouseEvent) => void;
76
- showAllOptions: (event?: MouseEvent) => void;
76
+ showSelectedOptions: () => void;
77
+ showAllOptions: () => void;
77
78
  clearValue(): void;
78
79
  calculateMultiSelectSelectedDisplay(): string;
79
80
  calculateSingleSelectSelectedDisplay(): string;
@@ -1,6 +1,10 @@
1
1
  import { ComponentInterface, EventEmitter } from '../../stencil-public-runtime';
2
2
  export declare class Q2Stepper implements ComponentInterface {
3
3
  currentStep: number;
4
+ /**
5
+ * Used to determine the number of steps in the stepper.
6
+ * @private
7
+ */
4
8
  stepCount: number;
5
9
  lastEnabledStep: number;
6
10
  hostElement: HTMLElement;
@@ -8,6 +8,10 @@ export interface IStepperPaneEvent {
8
8
  export declare class Q2StepperPane implements ComponentInterface {
9
9
  label: string;
10
10
  description: string;
11
+ /**
12
+ * Used by q2-stepper and q2-stepper-vertical to determine which pane is active
13
+ * @private
14
+ */
11
15
  isActive: boolean;
12
16
  showWithChildren: boolean;
13
17
  status: 'complete' | 'error' | 'locked';
@@ -3,13 +3,29 @@ import { Q2Badge } from '../q2-badge';
3
3
  export declare class Q2TabPane implements ComponentInterface {
4
4
  value: string;
5
5
  label: string;
6
+ /**
7
+ * Used by q2-tab-container to apply a name to all options in the group
8
+ * @private
9
+ */
6
10
  name: string;
11
+ /**
12
+ * Used by q2-tab-container to indicate the option is selected
13
+ * @private
14
+ */
7
15
  selected: boolean;
8
16
  badgeCount: number;
9
17
  badgeDescription: string;
10
18
  badgeTheme: Q2Badge['theme'];
11
19
  badgeStatus: Q2Badge['status'];
20
+ /**
21
+ * Used by q2-tab-container to indicate the pane's index
22
+ * @private
23
+ */
12
24
  index: number;
25
+ /**
26
+ * Used by q2-tab-container to apply a unique id to each tab pane
27
+ * @private
28
+ */
13
29
  guid: number;
14
30
  badge: EventEmitter<boolean>;
15
31
  badgeObserver(): void;
@@ -27,7 +27,7 @@ export declare class Q2Tag implements ComponentInterface {
27
27
  handleChange: (event: any) => void;
28
28
  handleClick: (event: MouseEvent) => Promise<void>;
29
29
  handleKeydown: (event: KeyboardEvent) => Promise<void>;
30
- handleButtonFocusout: (event: FocusEvent) => void;
30
+ handleButtonFocusout: (event: FocusEvent) => Promise<void>;
31
31
  handleWrapperClick: () => void;
32
32
  render(): any;
33
33
  }
@@ -48,6 +48,7 @@ export namespace Components {
48
48
  * @deprecated
49
49
  */
50
50
  "ariaLabel": string;
51
+ "ariaPressed": string;
51
52
  "ariaSelected": string;
52
53
  "badge": boolean;
53
54
  "block": boolean;
@@ -131,9 +132,21 @@ export namespace Components {
131
132
  "showNavigationArrows": boolean;
132
133
  }
133
134
  interface Q2CarouselPane {
135
+ /**
136
+ * Used by q2-carousel to determine the pane's index
137
+ * @private
138
+ */
134
139
  "index": number;
140
+ /**
141
+ * Used by q2-carousel to indicate which pane is currently active
142
+ * @private
143
+ */
135
144
  "isActivePane": boolean;
136
145
  "label": string;
146
+ /**
147
+ * Used by q2-carousel to indicate how many panes are in the carousel
148
+ * @private
149
+ */
137
150
  "siblingCount": number;
138
151
  }
139
152
  interface Q2ChartArea {
@@ -199,6 +212,10 @@ export namespace Components {
199
212
  "checked": boolean;
200
213
  "description": string;
201
214
  "disabled": boolean;
215
+ /**
216
+ * Used by q2-checkbox-group to disable all checkboxes in the group
217
+ * @private
218
+ */
202
219
  "groupDisabled": boolean;
203
220
  /**
204
221
  * @deprecated
@@ -221,6 +238,7 @@ export namespace Components {
221
238
  "value": object;
222
239
  }
223
240
  interface Q2Dropdown {
241
+ "alignment": 'left' | 'right';
224
242
  /**
225
243
  * @deprecated
226
244
  */
@@ -350,13 +368,29 @@ export namespace Components {
350
368
  }
351
369
  interface Q2Option {
352
370
  "_multiSelectHidden": boolean;
371
+ /**
372
+ * Used by q2-option-list to indicate the option is active
373
+ * @private
374
+ */
353
375
  "active": boolean;
354
376
  "disabled": boolean;
377
+ /**
378
+ * Used by q2-radio-group to disable all options in the group
379
+ * @private
380
+ */
355
381
  "disabledGroup": boolean;
356
382
  "display": string;
357
383
  "hidden": boolean;
358
384
  "multiline": boolean;
385
+ /**
386
+ * Used by q2-option-list to set a role on the option
387
+ * @private
388
+ */
359
389
  "role": 'option' | 'menuitem';
390
+ /**
391
+ * Used by q2-option-list to indicate the option is selected
392
+ * @private
393
+ */
360
394
  "selected": boolean;
361
395
  "value": string;
362
396
  }
@@ -415,11 +449,27 @@ export namespace Components {
415
449
  "ariaLabel": string;
416
450
  "checked": boolean;
417
451
  "disabled": boolean;
452
+ /**
453
+ * Used by q2-radio-group to disable all options in the group
454
+ * @private
455
+ */
418
456
  "groupDisabled": boolean;
457
+ /**
458
+ * Used by q2-radio-group to make all options in the group readonly
459
+ * @private
460
+ */
419
461
  "groupReadonly": boolean;
462
+ /**
463
+ * Used by q2-radio-group to make the options display as tiles
464
+ * @private
465
+ */
420
466
  "groupTileLayout": boolean;
421
467
  "hideLabel": boolean;
422
468
  "label": string;
469
+ /**
470
+ * Used by q2-radio-group to apply a name to all options in the group
471
+ * @private
472
+ */
423
473
  "name": string;
424
474
  "value": string;
425
475
  }
@@ -455,6 +505,7 @@ export namespace Components {
455
505
  "hoist": boolean;
456
506
  "invalid": boolean;
457
507
  "label": string;
508
+ "listLabel": string;
458
509
  "minRows": number;
459
510
  "multilineOptions": boolean;
460
511
  "multiple": boolean;
@@ -469,10 +520,18 @@ export namespace Components {
469
520
  interface Q2Stepper {
470
521
  "currentStep": number;
471
522
  "lastEnabledStep": number;
523
+ /**
524
+ * Used to determine the number of steps in the stepper.
525
+ * @private
526
+ */
472
527
  "stepCount": number;
473
528
  }
474
529
  interface Q2StepperPane {
475
530
  "description": string;
531
+ /**
532
+ * Used by q2-stepper and q2-stepper-vertical to determine which pane is active
533
+ * @private
534
+ */
476
535
  "isActive": boolean;
477
536
  "label": string;
478
537
  "showWithChildren": boolean;
@@ -493,10 +552,26 @@ export namespace Components {
493
552
  "badgeDescription": string;
494
553
  "badgeStatus": Q2Badge['status'];
495
554
  "badgeTheme": Q2Badge['theme'];
555
+ /**
556
+ * Used by q2-tab-container to apply a unique id to each tab pane
557
+ * @private
558
+ */
496
559
  "guid": number;
560
+ /**
561
+ * Used by q2-tab-container to indicate the pane's index
562
+ * @private
563
+ */
497
564
  "index": number;
498
565
  "label": string;
566
+ /**
567
+ * Used by q2-tab-container to apply a name to all options in the group
568
+ * @private
569
+ */
499
570
  "name": string;
571
+ /**
572
+ * Used by q2-tab-container to indicate the option is selected
573
+ * @private
574
+ */
500
575
  "selected": boolean;
501
576
  "value": string;
502
577
  }
@@ -1007,6 +1082,7 @@ declare namespace LocalJSX {
1007
1082
  * @deprecated
1008
1083
  */
1009
1084
  "ariaLabel"?: string;
1085
+ "ariaPressed"?: string;
1010
1086
  "ariaSelected"?: string;
1011
1087
  "badge"?: boolean;
1012
1088
  "block"?: boolean;
@@ -1095,10 +1171,22 @@ declare namespace LocalJSX {
1095
1171
  "showNavigationArrows"?: boolean;
1096
1172
  }
1097
1173
  interface Q2CarouselPane {
1174
+ /**
1175
+ * Used by q2-carousel to determine the pane's index
1176
+ * @private
1177
+ */
1098
1178
  "index"?: number;
1179
+ /**
1180
+ * Used by q2-carousel to indicate which pane is currently active
1181
+ * @private
1182
+ */
1099
1183
  "isActivePane"?: boolean;
1100
1184
  "label"?: string;
1101
1185
  "onClickCarouselPane"?: (event: Q2CarouselPaneCustomEvent<any>) => void;
1186
+ /**
1187
+ * Used by q2-carousel to indicate how many panes are in the carousel
1188
+ * @private
1189
+ */
1102
1190
  "siblingCount"?: number;
1103
1191
  }
1104
1192
  interface Q2ChartArea {
@@ -1164,6 +1252,10 @@ declare namespace LocalJSX {
1164
1252
  "checked"?: boolean;
1165
1253
  "description"?: string;
1166
1254
  "disabled"?: boolean;
1255
+ /**
1256
+ * Used by q2-checkbox-group to disable all checkboxes in the group
1257
+ * @private
1258
+ */
1167
1259
  "groupDisabled"?: boolean;
1168
1260
  /**
1169
1261
  * @deprecated
@@ -1188,6 +1280,7 @@ declare namespace LocalJSX {
1188
1280
  "value"?: object;
1189
1281
  }
1190
1282
  interface Q2Dropdown {
1283
+ "alignment"?: 'left' | 'right';
1191
1284
  /**
1192
1285
  * @deprecated
1193
1286
  */
@@ -1323,13 +1416,29 @@ declare namespace LocalJSX {
1323
1416
  }
1324
1417
  interface Q2Option {
1325
1418
  "_multiSelectHidden"?: boolean;
1419
+ /**
1420
+ * Used by q2-option-list to indicate the option is active
1421
+ * @private
1422
+ */
1326
1423
  "active"?: boolean;
1327
1424
  "disabled"?: boolean;
1425
+ /**
1426
+ * Used by q2-radio-group to disable all options in the group
1427
+ * @private
1428
+ */
1328
1429
  "disabledGroup"?: boolean;
1329
1430
  "display"?: string;
1330
1431
  "hidden"?: boolean;
1331
1432
  "multiline"?: boolean;
1433
+ /**
1434
+ * Used by q2-option-list to set a role on the option
1435
+ * @private
1436
+ */
1332
1437
  "role"?: 'option' | 'menuitem';
1438
+ /**
1439
+ * Used by q2-option-list to indicate the option is selected
1440
+ * @private
1441
+ */
1333
1442
  "selected"?: boolean;
1334
1443
  "value"?: string;
1335
1444
  }
@@ -1388,11 +1497,27 @@ declare namespace LocalJSX {
1388
1497
  "ariaLabel"?: string;
1389
1498
  "checked"?: boolean;
1390
1499
  "disabled"?: boolean;
1500
+ /**
1501
+ * Used by q2-radio-group to disable all options in the group
1502
+ * @private
1503
+ */
1391
1504
  "groupDisabled"?: boolean;
1505
+ /**
1506
+ * Used by q2-radio-group to make all options in the group readonly
1507
+ * @private
1508
+ */
1392
1509
  "groupReadonly"?: boolean;
1510
+ /**
1511
+ * Used by q2-radio-group to make the options display as tiles
1512
+ * @private
1513
+ */
1393
1514
  "groupTileLayout"?: boolean;
1394
1515
  "hideLabel"?: boolean;
1395
1516
  "label"?: string;
1517
+ /**
1518
+ * Used by q2-radio-group to apply a name to all options in the group
1519
+ * @private
1520
+ */
1396
1521
  "name"?: string;
1397
1522
  "onChange"?: (event: Q2RadioCustomEvent<any>) => void;
1398
1523
  "value"?: string;
@@ -1431,6 +1556,7 @@ declare namespace LocalJSX {
1431
1556
  "hoist"?: boolean;
1432
1557
  "invalid"?: boolean;
1433
1558
  "label"?: string;
1559
+ "listLabel"?: string;
1434
1560
  "minRows"?: number;
1435
1561
  "multilineOptions"?: boolean;
1436
1562
  "multiple"?: boolean;
@@ -1448,10 +1574,18 @@ declare namespace LocalJSX {
1448
1574
  "currentStep"?: number;
1449
1575
  "lastEnabledStep"?: number;
1450
1576
  "onChange"?: (event: Q2StepperCustomEvent<any>) => void;
1577
+ /**
1578
+ * Used to determine the number of steps in the stepper.
1579
+ * @private
1580
+ */
1451
1581
  "stepCount"?: number;
1452
1582
  }
1453
1583
  interface Q2StepperPane {
1454
1584
  "description"?: string;
1585
+ /**
1586
+ * Used by q2-stepper and q2-stepper-vertical to determine which pane is active
1587
+ * @private
1588
+ */
1455
1589
  "isActive"?: boolean;
1456
1590
  "label"?: string;
1457
1591
  "onActiveChange"?: (event: Q2StepperPaneCustomEvent<IStepperPaneEvent>) => void;
@@ -1477,11 +1611,27 @@ declare namespace LocalJSX {
1477
1611
  "badgeDescription"?: string;
1478
1612
  "badgeStatus"?: Q2Badge['status'];
1479
1613
  "badgeTheme"?: Q2Badge['theme'];
1614
+ /**
1615
+ * Used by q2-tab-container to apply a unique id to each tab pane
1616
+ * @private
1617
+ */
1480
1618
  "guid"?: number;
1619
+ /**
1620
+ * Used by q2-tab-container to indicate the pane's index
1621
+ * @private
1622
+ */
1481
1623
  "index"?: number;
1482
1624
  "label"?: string;
1625
+ /**
1626
+ * Used by q2-tab-container to apply a name to all options in the group
1627
+ * @private
1628
+ */
1483
1629
  "name"?: string;
1484
1630
  "onBadge"?: (event: Q2TabPaneCustomEvent<boolean>) => void;
1631
+ /**
1632
+ * Used by q2-tab-container to indicate the option is selected
1633
+ * @private
1634
+ */
1485
1635
  "selected"?: boolean;
1486
1636
  "value"?: string;
1487
1637
  }
@@ -15,3 +15,4 @@ 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
17
  export declare const testDeprecatedAriaLabel: (element: E2EElement, label?: string) => Promise<void>;
18
+ export declare const checkStylesForCompilationIssues: (page: E2EPage, selector: string) => Promise<any>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "q2-tecton-elements",
3
- "version": "1.26.1",
3
+ "version": "1.27.1",
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.26.1",
53
+ "q2-tecton-common": "^1.27.1",
54
54
  "smoothscroll-polyfill": "^0.4.4",
55
55
  "swiper": "8.4.4"
56
56
  },
57
- "gitHead": "94026375ce20e7643e34fdc44937e02d6934f5d0"
57
+ "gitHead": "048346b1ade23b133b315ca9c2e6028f776f7042"
58
58
  }
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as o,g as r}from"./p-926a3e80.js";import{c as i,h as a,o as c,l as s}from"./p-839ef27d.js";const n=class{constructor(o){t(this,o),this.change=e(this,"change",7),this._id=`radio-${i()}`,this.isLoaded=!1,this.inputChange=t=>{if(t.stopPropagation(),this.groupReadonly)return t.preventDefault(),!1;t.target instanceof HTMLInputElement&&(this.checked=t.target.checked)},this.label=void 0,this.hideLabel=void 0,this.value=void 0,this.disabled=!1,this.checked=!1,this.name=void 0,this.groupDisabled=!1,this.groupReadonly=!1,this.groupTileLayout=!1,this.ariaLabel=void 0}componentWillLoad(){a(this)}componentDidLoad(){this.isLoaded=!0,c(this.hostElement),this.hostElement.click=()=>this.inputField.click()}ariaLabelObserver(){a(this)}checkedObserver(){this.isLoaded&&this.checked&&this.change.emit({value:this.value})}onHostClick(t){this.disabled&&t.stopImmediatePropagation()}delegateFocus(t){t.target===this.hostElement&&this.inputField.focus()}render(){return o("div",{class:this.groupTileLayout?"radio-tile":"radio-container"},o("input",{ref:t=>this.inputField=t,class:"sr",id:this._id,type:"radio",name:this.name,value:this.value,disabled:this.disabled||this.groupDisabled,checked:this.checked,"aria-label":this.label&&this.hideLabel?s(this.label):void 0,onChange:this.inputChange,"test-id":"q2RadioInnerRadioBox"}),o("label",{htmlFor:this._id,"test-id":"radioButton"},!this.groupTileLayout&&o("svg",{viewBox:"0 0 18 18"},o("circle",{stroke:"none",fill:"none",cx:"9",cy:"9",r:"8"}),o("circle",{stroke:"none",fill:"none",cx:"9",cy:"9",r:"4"})),!this.hideLabel&&o("div",{class:"label-content"},this.label&&s(this.label)||"",o("slot",null))))}get hostElement(){return r(this)}static get watchers(){return{ariaLabel:["ariaLabelObserver"],checked:["checkedObserver"]}}};n.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}.radio-container{margin-top:var(--tct-radio-margin-vertical, var(--tct-scale-2, 10px));margin-right:var(--tct-radio-margin-horizontal, var(--tct-scale-3, 15px));margin-bottom:var(--tct-radio-margin-vertical, var(--tct-scale-2, 10px))}.radio-container label[for]{font-weight:var(--tct-radio-font-weight, var(--tct-checkbox-font-weight, 400));align-items:center;cursor:pointer;margin-right:1rem;display:grid;grid-template-columns:18px 1fr;gap:var(--tct-scale-1, var(--app-scale-1x, 5px))}.radio-container svg{border-radius:50%;transition:box-shadow var(--tct-tween-1, var(--app-tween-1, 0.2s ease));outline:0;width:100%}.radio-container circle:nth-child(1){stroke-width:2;stroke:var(--tct-radio-stroke-color, var(--t-a11y-gray-color-AA, #949494))}.radio-container input:focus+label svg{box-shadow:var(--const-double-focus-ring)}.radio-container input:focus+label circle:nth-child(1){stroke:var(--tct-radio-focus-stroke-color, var(--tct-checkbox-check-stroke-color, var(--t-checkbox-fill, #2e2e2e)))}.radio-container input:checked+label circle:nth-child(1){background-color:var(--tct-radio-checked-bg, transparent);stroke:var(--tct-radio-checked-stroke-color, var(--tct-radio-stroke-color, var(--t-a11y-gray-color-AA, #949494)))}.radio-container input:checked+label .label-content{font-weight:var(--tct-checkbox-selected-font-weight, 600);letter-spacing:var(--tct-checkbox-selected-letter-spacing, 0.25)}.radio-container input:checked+label circle:nth-child(2){fill:var(--tct-radio-checked-fill, var(--tct-checkbox-check-stroke-color, var(--t-checkbox-fill, #2e2e2e)))}.radio-tile{flex-basis:100px;flex-grow:0;flex-wrap:wrap}.radio-tile label[for]{align-items:center;border-radius:3px;border:2px solid var(--tct-radio-stroke-color, var(--t-a11y-gray-color-AA, #949494));cursor:pointer;display:block;padding:10px;position:relative;text-align:center;transition:border-color var(--tct-tween-1, var(--app-tween-1, 0.2s ease));white-space:nowrap}.radio-tile input:focus+label,.radio-tile input:focus:checked+label{border-color:var(--tct-checkbox-check-stroke-color, var(--t-checkbox-check-stroke-color, var(--t-checkbox-fill, #2e2e2e)));box-shadow:var(--const-double-focus-ring), var(--tct-global-focus, 0 0 0 2px #33b4ff)}.radio-tile input:checked+label{border-color:var(--tct-checkbox-check-stroke-color, var(--t-checkbox-check-stroke-color, var(--t-checkbox-fill, #2e2e2e)));box-shadow:inset 0 0 0 2px #ffffff}.radio-tile input:checked+label:after{border-bottom-width:3px;border-bottom:5px solid var(--tct-checkbox-check-stroke-color, var(--t-checkbox-check-stroke-color, var(--t-checkbox-fill, #2e2e2e)));border-left-width:5px;border-left:8px solid transparent;border-right-width:5px;border-right:8px solid transparent;bottom:0;content:"";height:0;left:50%;margin-left:-5px;position:absolute;width:0}input:disabled+label[for]{cursor:not-allowed;opacity:var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))}';export{n as q2_radio}
@@ -1 +0,0 @@
1
- import{r as t,c as e,h as i,g as r}from"./p-926a3e80.js";import{c as o,l as s}from"./p-839ef27d.js";const a=class{constructor(i){t(this,i),this.change=e(this,"change",7),this._id=`checkbox-group-${o()}`,this.onMutationObserved=()=>{this.valueUpdated(),this.disabledUpdated()},this.onInnerCheckboxChange=t=>{t.stopImmediatePropagation();const e={};this.checkboxElements.forEach((t=>{e[t.value]=!!t.checked})),this.change.emit(e)},this.label=void 0,this.value=void 0,this.disabled=!1,this.readonly=!1,this.optional=!1,this.hasError=!1}get checkboxElements(){return Array.from(this.hostElement.querySelectorAll("q2-checkbox"))}get protectedValue(){return this.value||{}}componentDidLoad(){const t=new MutationObserver(this.onMutationObserved);t.observe(this.hostElement,{childList:!0}),this.mutationObserver=t,this.onMutationObserved()}disconnectedCallback(){this.mutationObserver&&(this.mutationObserver.disconnect(),this.mutationObserver=null)}valueUpdated(){this.readonly||this.checkboxElements.forEach((t=>{this.protectedValue.hasOwnProperty(t.value)&&(t.checked=this.value[t.value])}))}disabledUpdated(){this.checkboxElements.forEach((t=>{t.groupDisabled=this.disabled}))}onHostElementChange(t){t.target!==this.hostElement||this.hostElement.onchange||(this.value=t.detail)}render(){return i("div",null,this.label||this.optional?i("div",{class:"group-legend"},this.label&&s(this.label),this.optional?i("span",{class:"optional-tag"},s("tecton.element.input.optional")):""):"",i("fieldset",{class:"q2-checkbox-fieldset "+(this.hasError?"has-error":""),onChange:this.onInnerCheckboxChange,"aria-required":`${!this.optional}`},this.label||this.optional?i("legend",{class:"sr-only"},this.label&&s(this.label),this.optional?i("span",{class:"optional-tag"},s("tecton.element.input.optional")):""):"",this.hasError?i("div",{class:"error-icon-container "+(this.label||this.optional?"":"no-label")},i("q2-icon",{class:"h(4) w(4) mrg-b(2)",type:"error"})):"",this.inputDom()))}inputDom(){return i("slot",null)}get hostElement(){return r(this)}static get watchers(){return{value:["valueUpdated"],disabled:["disabledUpdated"]}}};a.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{margin-top:var(--tct-scale-2, var(--app-scale-2x, 10px))}fieldset{padding:var(--tct-input-error-padding, 0);margin:0;border:0}fieldset.has-error{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #c30000));border-width:1px;border-style:solid;border-radius:var(--tct-border-radius-1, var(--app-border-radius-1, 2px));position:relative}fieldset.has-error .error-icon-container{top:8px;right:8px;position:absolute;width:40%;text-align:right;background:linear-gradient(to right, var(--tct-checkbox-group-error-gradient-start, var(--t-base-a0, rgba(255, 255, 255, 0))), var(--tct-checkbox-group-error-gradient-end, var(--t-base, white)))}fieldset.has-error legend+div.error-icon-container.no-label{top:28px}.group-legend{font-weight:600}legend.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;border:0}.optional-tag{margin-left:var(--tct-input-label-optional-margin-left, var(--tct-scale-1, var(--app-scale-1x, 5px)));color:var(--tct-input-label-optional-font-color, var(--tct-a11y-color, var(--t-a11y-gray-color, var(--tct-gray-7, var(--t-gray-7, var(--tct-gray-d1, var(--app-gray-d1, #666666)))))));font-size:var(--tct-input-label-optional-font-size, 12px);font-weight:var(--tct-input-label-optional-font-weight, 400)}.flexed{margin:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:center}.flexed.left{justify-content:left}";export{a as q2_checkbox_group}
@@ -1 +0,0 @@
1
- import{r as t,h as s,g as a}from"./p-926a3e80.js";import{k as e,o,n as r,a as i}from"./p-839ef27d.js";const n=class{constructor(s){t(this,s),this.type="info",this.appearance="standard",this.description=!1,this.presentToggle=void 0}get isFirefox(){return e()}componentDidLoad(){o(this.hostElement)}async present(){const{isFirefox:t}=this;this.presentToggle=!this.presentToggle,t&&r((()=>{this.presentToggle=!1}))}delegateFocus(t){i(t,this.hostElement)&&this.hostElement.shadowRoot.querySelector(".message").focus()}render(){const{isFirefox:t}=this,a=t&&this.presentToggle,e=!t&&this.presentToggle,{description:o}=this;return s("div",{tabindex:"-1",class:"message",role:o?void 0:"alert","aria-live":o?void 0:"assertive","aria-atomic":o?void 0:"true","aria-relevant":o?void 0:"all"},"standard"===this.appearance?function(t){const a={success:"success",warning:"warning",danger:"error",error:"error",info:"info"};return s("q2-icon",{type:a[t]||a.info,class:"message-icon"})}(this.type):"",e&&s("div",{class:"sr"}),s("div",{class:"message-content","aria-hidden":a?"true":void 0},s("slot",null)))}get hostElement(){return a(this)}};n.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}:host([hidden]){display:none}.message{border-left-width:var(--tct-message-bar-width, var(--t-message-bar-width, var(--app-scale-1x, 5px)));border-left-style:solid;--comp-line-height:var(--tct-message-line-height, var(--t-message-line-height, var(--app-line-height, 1.428571429em)));display:grid;gap:var(--tct-scale-1, var(--app-scale-1x, 5px));align-items:flex-start;background:var(--tct-message-bg, var(--t-message-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))));color:var(--tct-message-font-color, var(--t-message-font-color, inherit));box-shadow:var(--tct-message-box-shadow, var(--t-message-box-shadow, inherit));border-radius:var(--tct-message-border-radius, var(--t-message-border-radius, inherit))}.message:focus{box-shadow:var(--const-global-focus)}.message-icon{--comp-top-offset:calc(calc(var(--comp-line-height) - var(--comp-icon-size)) / 2);--tct-icon-size:var(--comp-icon-size);top:var(--comp-top-offset);margin-bottom:calc(var(--comp-top-offset) * -1)}.message-content{flex:1;line-height:var(--comp-line-height)}::slotted(ul){padding-left:var(--tct-scale-l3, var(--app-scale-3x, 15px))}:host(:not([appearance])),:host([appearance=standard]){margin:var(--tct-scale-l3, var(--app-scale-3x, 15px)) 0}:host(:not([appearance])) .message,:host([appearance=standard]) .message{--comp-icon-size:var(--tct-message-icon-size, var(--t-message-icon-size, 24px));--comp-padding:var(--tct-message-padding, var(--t-message-padding, var(--app-scale-3x, 15px)));grid-template-columns:var(--comp-icon-size) 1fr;padding:var(--comp-padding);padding-left:calc(var(--comp-padding) - var(--tct-scale-2, var(--app-scale-2x, 10px)));padding-bottom:calc(var(--comp-padding) - var(--tct-scale-1, var(--app-scale-1x, 5px)))}:host(:not([appearance])) ::slotted(ul),:host([appearance=standard]) ::slotted(ul){margin:var(--tct-scale-l3, var(--app-scale-3x, 15px)) 0}:host([appearance=minimal]){margin:0}:host([appearance=minimal]) .message{padding:var(--tct-message-minimal-padding, var(--t-message-minimal-padding, var(--app-scale-2x, 10px)));grid-template-columns:1fr}:host([appearance=minimal]) ::slotted(ul){margin:var(--tct-scale-1, var(--app-scale-1x, 5px)) 0}:host(:not([type])) .message,:host([type=info]) .message{border-left-color:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host(:not([type])) .message-icon,:host([type=info]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1));--tct-icon-stroke-secondary:var(--tct-stoplight-info, var(--const-stoplight-info, #0079c1))}:host([type=success]) .message{border-left-color:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=success]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--tct-icon-stroke-secondary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}:host([type=warning]) .message{border-left-color:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=warning]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400));--tct-icon-stroke-secondary:var(--tct-stoplight-warning, var(--const-stoplight-warning, #f0b400))}:host([type=error]) .message,:host([type=danger]) .message{border-left-color:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}:host([type=error]) .message-icon,:host([type=danger]) .message-icon{--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000));--tct-icon-stroke-secondary:var(--tct-stoplight-error, var(--const-stoplight-alert, #c30000))}";export{n as q2_message}
@@ -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.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.ariaLabel=void 0,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}