q2-tecton-elements 1.55.5 → 1.55.7

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 (268) hide show
  1. package/dist/bundle-report.json +262 -214
  2. package/dist/cjs/{index-905f4c87.js → index-ac3330d8.js} +33 -1
  3. package/dist/cjs/index-ac3330d8.js.map +1 -0
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/q2-action-group.cjs.entry.js +2 -2
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  7. package/dist/cjs/q2-avatar.cjs.entry.js +1 -1
  8. package/dist/cjs/q2-badge_7.cjs.entry.js +4 -4
  9. package/dist/cjs/q2-calendar.cjs.entry.js +1 -1
  10. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  11. package/dist/cjs/q2-carousel-pane.cjs.entry.js +3 -3
  12. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-chart-area.cjs.entry.js +2 -2
  14. package/dist/cjs/q2-chart-bar.cjs.entry.js +2 -2
  15. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  16. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  17. package/dist/cjs/q2-checkbox.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  19. package/dist/cjs/q2-data-table.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  22. package/dist/cjs/q2-dropdown.cjs.entry.js +27 -22
  23. package/dist/cjs/q2-dropdown.cjs.entry.js.map +1 -1
  24. package/dist/cjs/q2-editable-field.cjs.entry.js +1 -1
  25. package/dist/cjs/q2-example.cjs.entry.js +1 -1
  26. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-form.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-formatted-text.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-item_3.cjs.entry.js +3 -3
  30. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  31. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  33. package/dist/cjs/q2-modal.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-month-picker.cjs.entry.js +3 -3
  35. package/dist/cjs/q2-optgroup.cjs.entry.js +2 -2
  36. package/dist/cjs/q2-option-list_2.cjs.entry.js +73 -69
  37. package/dist/cjs/q2-option-list_2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-pagination.cjs.entry.js +4 -4
  40. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  41. package/dist/cjs/q2-radio-group.cjs.entry.js +1 -1
  42. package/dist/cjs/q2-radio.cjs.entry.js +1 -1
  43. package/dist/cjs/q2-relative-time.cjs.entry.js +2 -2
  44. package/dist/cjs/q2-resize-observer.cjs.entry.js +1 -1
  45. package/dist/cjs/q2-section.cjs.entry.js +3 -3
  46. package/dist/cjs/q2-select.cjs.entry.js +122 -12
  47. package/dist/cjs/q2-select.cjs.entry.js.map +1 -1
  48. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  49. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  50. package/dist/cjs/q2-stepper.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-tag.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  53. package/dist/cjs/q2-textarea.cjs.entry.js +2 -2
  54. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  55. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  56. package/dist/collection/components/q2-action-group/q2-action-group.js +1 -1
  57. package/dist/collection/components/q2-action-sheet/q2-action-sheet.js +1 -1
  58. package/dist/collection/components/q2-avatar/q2-avatar.js +1 -1
  59. package/dist/collection/components/q2-calendar/q2-month-picker.js +2 -2
  60. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js +2 -2
  61. package/dist/collection/components/q2-calendar/test/q2-calendar-test.e2e.js.map +1 -1
  62. package/dist/collection/components/q2-carousel-pane/q2-carousel-pane.js +2 -2
  63. package/dist/collection/components/q2-chart-area/q2-chart-area.js +1 -1
  64. package/dist/collection/components/q2-chart-bar/q2-chart-bar.js +1 -1
  65. package/dist/collection/components/q2-chart-donut/q2-chart-donut.js +1 -1
  66. package/dist/collection/components/q2-currency/q2-currency.js +1 -1
  67. package/dist/collection/components/q2-detail/q2-detail.js +1 -1
  68. package/dist/collection/components/q2-dropdown/q2-dropdown.js +27 -21
  69. package/dist/collection/components/q2-dropdown/q2-dropdown.js.map +1 -1
  70. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js +34 -32
  71. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.e2e.js.map +1 -1
  72. package/dist/collection/components/q2-example/q2-example.js +1 -1
  73. package/dist/collection/components/q2-form/q2-form.js +1 -1
  74. package/dist/collection/components/q2-formatted-text/q2-formatted-text.js +1 -1
  75. package/dist/collection/components/q2-input/q2-input.js +1 -1
  76. package/dist/collection/components/q2-item/q2-item.js +1 -1
  77. package/dist/collection/components/q2-legend/q2-legend.js +1 -1
  78. package/dist/collection/components/q2-list/q2-list.js +1 -1
  79. package/dist/collection/components/q2-message/q2-message.js +1 -1
  80. package/dist/collection/components/q2-modal/q2-modal.js +1 -1
  81. package/dist/collection/components/q2-optgroup/q2-optgroup.js +1 -1
  82. package/dist/collection/components/q2-pagination/q2-pagination.js +3 -3
  83. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js +1 -0
  84. package/dist/collection/components/q2-pagination/test/q2-pagination-test.e2e.js.map +1 -1
  85. package/dist/collection/components/q2-pill/q2-pill.js +1 -1
  86. package/dist/collection/components/q2-popover/q2-popover.css +18 -10
  87. package/dist/collection/components/q2-popover/q2-popover.js +74 -69
  88. package/dist/collection/components/q2-popover/q2-popover.js.map +1 -1
  89. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js +1 -34
  90. package/dist/collection/components/q2-popover/test/q2-popover-test.e2e.js.map +1 -1
  91. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js +902 -511
  92. package/dist/collection/components/q2-popover/test/q2-popover-test.spec.js.map +1 -1
  93. package/dist/collection/components/q2-relative-time/q2-relative-time.js +1 -1
  94. package/dist/collection/components/q2-resize-observer/q2-resize-observer.js +1 -1
  95. package/dist/collection/components/q2-section/q2-section.js +2 -2
  96. package/dist/collection/components/q2-select/q2-select.js +137 -15
  97. package/dist/collection/components/q2-select/q2-select.js.map +1 -1
  98. package/dist/collection/components/q2-select/test/q2-select-test.spec.js +467 -0
  99. package/dist/collection/components/q2-select/test/q2-select-test.spec.js.map +1 -1
  100. package/dist/collection/components/q2-stepper/q2-stepper.js +1 -1
  101. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  102. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  103. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  104. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  105. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js +5 -0
  106. package/dist/collection/components/q2-tag/test/q2-tag-test.e2e.js.map +1 -1
  107. package/dist/collection/components/q2-textarea/q2-textarea.js +1 -1
  108. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  109. package/dist/collection/utils/index.js +37 -0
  110. package/dist/collection/utils/index.js.map +1 -1
  111. package/dist/components/index2.js +32 -1
  112. package/dist/components/index2.js.map +1 -1
  113. package/dist/components/q2-action-group2.js +1 -1
  114. package/dist/components/q2-action-sheet.js +1 -1
  115. package/dist/components/q2-avatar2.js +1 -1
  116. package/dist/components/q2-carousel-pane.js +2 -2
  117. package/dist/components/q2-chart-area.js +1 -1
  118. package/dist/components/q2-chart-bar.js +1 -1
  119. package/dist/components/q2-chart-donut.js +1 -1
  120. package/dist/components/q2-currency.js +1 -1
  121. package/dist/components/q2-detail.js +1 -1
  122. package/dist/components/q2-dropdown.js +26 -21
  123. package/dist/components/q2-dropdown.js.map +1 -1
  124. package/dist/components/q2-example.js +1 -1
  125. package/dist/components/q2-form.js +1 -1
  126. package/dist/components/q2-formatted-text.js +1 -1
  127. package/dist/components/q2-input2.js +1 -1
  128. package/dist/components/q2-item2.js +1 -1
  129. package/dist/components/q2-legend2.js +1 -1
  130. package/dist/components/q2-list2.js +1 -1
  131. package/dist/components/q2-message2.js +1 -1
  132. package/dist/components/q2-modal.js +1 -1
  133. package/dist/components/q2-month-picker.js +2 -2
  134. package/dist/components/q2-optgroup2.js +1 -1
  135. package/dist/components/q2-pagination.js +3 -3
  136. package/dist/components/q2-pill.js +1 -1
  137. package/dist/components/q2-popover2.js +73 -69
  138. package/dist/components/q2-popover2.js.map +1 -1
  139. package/dist/components/q2-relative-time.js +1 -1
  140. package/dist/components/q2-resize-observer2.js +1 -1
  141. package/dist/components/q2-section.js +2 -2
  142. package/dist/components/q2-select2.js +125 -15
  143. package/dist/components/q2-select2.js.map +1 -1
  144. package/dist/components/q2-stepper-vertical.js +1 -1
  145. package/dist/components/q2-stepper.js +1 -1
  146. package/dist/components/q2-tab-container.js +1 -1
  147. package/dist/components/q2-tab-pane.js +1 -1
  148. package/dist/components/q2-tag.js +1 -1
  149. package/dist/components/q2-textarea.js +1 -1
  150. package/dist/components/tecton-tab-pane.js +2 -2
  151. package/dist/esm/{index-f2a66217.js → index-e4c2bfff.js} +33 -2
  152. package/dist/{cjs/index-905f4c87.js.map → esm/index-e4c2bfff.js.map} +1 -1
  153. package/dist/esm/loader.js +1 -1
  154. package/dist/esm/q2-action-group.entry.js +2 -2
  155. package/dist/esm/q2-action-sheet.entry.js +2 -2
  156. package/dist/esm/q2-avatar.entry.js +1 -1
  157. package/dist/esm/q2-badge_7.entry.js +4 -4
  158. package/dist/esm/q2-calendar.entry.js +1 -1
  159. package/dist/esm/q2-card.entry.js +1 -1
  160. package/dist/esm/q2-carousel-pane.entry.js +3 -3
  161. package/dist/esm/q2-carousel.entry.js +1 -1
  162. package/dist/esm/q2-chart-area.entry.js +2 -2
  163. package/dist/esm/q2-chart-bar.entry.js +2 -2
  164. package/dist/esm/q2-chart-donut.entry.js +2 -2
  165. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  166. package/dist/esm/q2-checkbox.entry.js +1 -1
  167. package/dist/esm/q2-currency.entry.js +1 -1
  168. package/dist/esm/q2-data-table.entry.js +1 -1
  169. package/dist/esm/q2-detail.entry.js +2 -2
  170. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  171. package/dist/esm/q2-dropdown.entry.js +27 -22
  172. package/dist/esm/q2-dropdown.entry.js.map +1 -1
  173. package/dist/esm/q2-editable-field.entry.js +1 -1
  174. package/dist/esm/q2-example.entry.js +1 -1
  175. package/dist/esm/q2-file-picker.entry.js +1 -1
  176. package/dist/esm/q2-form.entry.js +1 -1
  177. package/dist/esm/q2-formatted-text.entry.js +1 -1
  178. package/dist/esm/q2-item_3.entry.js +3 -3
  179. package/dist/esm/q2-legend.entry.js +1 -1
  180. package/dist/esm/q2-loc.entry.js +1 -1
  181. package/dist/esm/q2-message.entry.js +2 -2
  182. package/dist/esm/q2-modal.entry.js +2 -2
  183. package/dist/esm/q2-month-picker.entry.js +3 -3
  184. package/dist/esm/q2-optgroup.entry.js +2 -2
  185. package/dist/esm/q2-option-list_2.entry.js +73 -69
  186. package/dist/esm/q2-option-list_2.entry.js.map +1 -1
  187. package/dist/esm/q2-option.entry.js +1 -1
  188. package/dist/esm/q2-pagination.entry.js +4 -4
  189. package/dist/esm/q2-pill.entry.js +2 -2
  190. package/dist/esm/q2-radio-group.entry.js +1 -1
  191. package/dist/esm/q2-radio.entry.js +1 -1
  192. package/dist/esm/q2-relative-time.entry.js +2 -2
  193. package/dist/esm/q2-resize-observer.entry.js +1 -1
  194. package/dist/esm/q2-section.entry.js +3 -3
  195. package/dist/esm/q2-select.entry.js +123 -13
  196. package/dist/esm/q2-select.entry.js.map +1 -1
  197. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  198. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  199. package/dist/esm/q2-stepper.entry.js +2 -2
  200. package/dist/esm/q2-tag.entry.js +2 -2
  201. package/dist/esm/q2-tecton-elements.js +1 -1
  202. package/dist/esm/q2-textarea.entry.js +2 -2
  203. package/dist/esm/q2-tooltip.entry.js +1 -1
  204. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  205. package/dist/jest.setup.js +11 -0
  206. package/dist/jest.setup.js.map +1 -1
  207. package/dist/q2-tecton-elements/{index-f2a66217.js → index-e4c2bfff.js} +71 -46
  208. package/dist/q2-tecton-elements/index-e4c2bfff.js.map +1 -0
  209. package/dist/q2-tecton-elements/q2-action-group.entry.js +4 -4
  210. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +9 -9
  211. package/dist/q2-tecton-elements/q2-avatar.entry.js +6 -6
  212. package/dist/q2-tecton-elements/q2-badge_7.entry.js +17 -17
  213. package/dist/q2-tecton-elements/q2-calendar.entry.js +1 -1
  214. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  215. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +4 -4
  216. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  217. package/dist/q2-tecton-elements/q2-chart-area.entry.js +3 -3
  218. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +80 -80
  219. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +101 -101
  220. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +4 -4
  221. package/dist/q2-tecton-elements/q2-checkbox.entry.js +1 -1
  222. package/dist/q2-tecton-elements/q2-currency.entry.js +6 -6
  223. package/dist/q2-tecton-elements/q2-data-table.entry.js +1 -1
  224. package/dist/q2-tecton-elements/q2-detail.entry.js +4 -4
  225. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  226. package/dist/q2-tecton-elements/q2-dropdown.entry.js +81 -75
  227. package/dist/q2-tecton-elements/q2-dropdown.entry.js.map +1 -1
  228. package/dist/q2-tecton-elements/q2-editable-field.entry.js +1 -1
  229. package/dist/q2-tecton-elements/q2-example.entry.js +1 -1
  230. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  231. package/dist/q2-tecton-elements/q2-form.entry.js +7 -7
  232. package/dist/q2-tecton-elements/q2-formatted-text.entry.js +2 -2
  233. package/dist/q2-tecton-elements/q2-item_3.entry.js +22 -22
  234. package/dist/q2-tecton-elements/q2-legend.entry.js +5 -5
  235. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  236. package/dist/q2-tecton-elements/q2-message.entry.js +6 -6
  237. package/dist/q2-tecton-elements/q2-modal.entry.js +18 -18
  238. package/dist/q2-tecton-elements/q2-month-picker.entry.js +30 -30
  239. package/dist/q2-tecton-elements/q2-optgroup.entry.js +5 -5
  240. package/dist/q2-tecton-elements/q2-option-list_2.entry.js +150 -140
  241. package/dist/q2-tecton-elements/q2-option-list_2.entry.js.map +1 -1
  242. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  243. package/dist/q2-tecton-elements/q2-pagination.entry.js +38 -38
  244. package/dist/q2-tecton-elements/q2-pill.entry.js +14 -14
  245. package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
  246. package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
  247. package/dist/q2-tecton-elements/q2-relative-time.entry.js +2 -2
  248. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +1 -1
  249. package/dist/q2-tecton-elements/q2-section.entry.js +12 -12
  250. package/dist/q2-tecton-elements/q2-select.entry.js +186 -89
  251. package/dist/q2-tecton-elements/q2-select.entry.js.map +1 -1
  252. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  253. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +28 -28
  254. package/dist/q2-tecton-elements/q2-stepper.entry.js +21 -21
  255. package/dist/q2-tecton-elements/q2-tag.entry.js +6 -6
  256. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  257. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js.map +1 -1
  258. package/dist/q2-tecton-elements/q2-textarea.entry.js +3 -3
  259. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  260. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +9 -9
  261. package/dist/types/builds/q2e/development/tecton/tecton/packages/q2-tecton-elements/.stencil/jest.setup.d.ts +9 -0
  262. package/dist/types/components/q2-dropdown/q2-dropdown.d.ts +6 -4
  263. package/dist/types/components/q2-popover/q2-popover.d.ts +4 -4
  264. package/dist/types/components/q2-select/q2-select.d.ts +22 -0
  265. package/dist/types/utils/index.d.ts +3 -0
  266. package/package.json +3 -3
  267. package/dist/esm/index-f2a66217.js.map +0 -1
  268. package/dist/q2-tecton-elements/index-f2a66217.js.map +0 -1
@@ -1,11 +1,11 @@
1
1
  import { h as e } from "./index-7a5365e2.js";
2
2
 
3
3
  const debounce = (e, n = 300) => {
4
- let i;
5
- return function(...o) {
6
- clearTimeout(i);
7
- i = setTimeout((() => {
8
- e(...o);
4
+ let o;
5
+ return function(...i) {
6
+ clearTimeout(o);
7
+ o = setTimeout((() => {
8
+ e(...i);
9
9
  }), n);
10
10
  };
11
11
  };
@@ -14,13 +14,38 @@ function isMobile() {
14
14
  return /Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile|IEMobile|Windows Phone|Opera Mini/i.test(navigator.userAgent);
15
15
  }
16
16
 
17
+ function isInScrollableContainer(e) {
18
+ let n = e;
19
+ while (n && n !== document.body && n !== document.documentElement) {
20
+ // Move to parent
21
+ if (n.parentElement) {
22
+ n = n.parentElement;
23
+ } else {
24
+ // Try to cross shadow DOM boundary
25
+ const e = n.getRootNode();
26
+ if (e && e.host) {
27
+ n = e.host;
28
+ } else {
29
+ break;
30
+ }
31
+ }
32
+ const e = window.getComputedStyle(n);
33
+ const o = e.overflow === "scroll" || e.overflow === "auto" || e.overflowX === "scroll" || e.overflowX === "auto" || e.overflowY === "scroll" || e.overflowY === "auto";
34
+ const i = n.scrollHeight > n.clientHeight || n.scrollWidth > n.clientWidth;
35
+ if (o && i) {
36
+ return true;
37
+ }
38
+ }
39
+ return false;
40
+ }
41
+
17
42
  function isRelatedTargetWithinHost(e, n) {
18
43
  return e.relatedTarget !== n && !n.contains(e.relatedTarget);
19
44
  }
20
45
 
21
46
  function isEventFromElement(e, n) {
22
- var i;
23
- return ((i = e.composedPath) === null || i === void 0 ? void 0 : i.call(e)[0]) === n;
47
+ var o;
48
+ return ((o = e.composedPath) === null || o === void 0 ? void 0 : o.call(e)[0]) === n;
24
49
  }
25
50
 
26
51
  function overrideFocus(e) {
@@ -69,24 +94,24 @@ function waitForNextPaint() {
69
94
  }
70
95
 
71
96
  function loc(e, n) {
72
- var i, o, t;
97
+ var o, i, t;
73
98
  if (!e) return "";
74
- if (((i = window.Tecton) === null || i === void 0 ? void 0 : i.noStrings) === true) {
99
+ if (((o = window.Tecton) === null || o === void 0 ? void 0 : o.noStrings) === true) {
75
100
  return e;
76
101
  }
77
- return (t = (o = window === null || window === void 0 ? void 0 : window.TectonElements) === null || o === void 0 ? void 0 : o.loc(e, n)) !== null && t !== void 0 ? t : e;
102
+ return (t = (i = window === null || window === void 0 ? void 0 : window.TectonElements) === null || i === void 0 ? void 0 : i.loc(e, n)) !== null && t !== void 0 ? t : e;
78
103
  }
79
104
 
80
105
  function renderLabel(n) {
81
- const {label: i, hideLabel: o, optional: t, readonly: a} = n;
106
+ const {label: o, hideLabel: i, optional: t, readonly: a} = n;
82
107
  const r = [ "input-label" ];
83
108
  let s = "";
84
- let l = o;
109
+ let l = i;
85
110
  if (!l) {
86
111
  const e = n.hostElement.querySelectorAll('[slot="label"]');
87
- const o = e.length > 0;
88
- const t = !!i;
89
- l = t || o ? false : true;
112
+ const i = e.length > 0;
113
+ const t = !!o;
114
+ l = t || i ? false : true;
90
115
  }
91
116
  if (l) r.push("sr");
92
117
  if (t) {
@@ -105,7 +130,7 @@ function renderLabel(n) {
105
130
  class: r.join(" ")
106
131
  }, e("slot", {
107
132
  name: "label"
108
- }, i ? loc(i) : undefined, s));
133
+ }, o ? loc(o) : undefined, s));
109
134
  }
110
135
 
111
136
  function hasSlotContent(e, n) {
@@ -116,8 +141,8 @@ function handleAriaLabel(e) {
116
141
  const {ariaLabel: n} = e;
117
142
  if (!n) return;
118
143
  // If empty ariaLabel prop is set to primitive symbol by framework wrapper, set ariaLabel to undefined and return
119
- const i = Symbol().toString();
120
- if (n === i) {
144
+ const o = Symbol().toString();
145
+ if (n === o) {
121
146
  e.ariaLabel = undefined;
122
147
  return;
123
148
  }
@@ -129,24 +154,24 @@ function handleAriaLabel(e) {
129
154
 
130
155
  /**
131
156
  * Handles when a prop has been renamed on a component without introducing a breaking change.
132
- */ function handleRenamedProp(e, n, i, o) {
157
+ */ function handleRenamedProp(e, n, o, i) {
133
158
  if (typeof e[n] === "undefined") return;
134
159
  // If old prop has value, aka set in component, call handleDeprecationWarning()
135
160
  if (e[n]) {
136
161
  handleDeprecationWarning(e, n, "prop");
137
162
  }
138
- e[i] = e[n];
139
- if (o) {
163
+ e[o] = e[n];
164
+ if (i) {
140
165
  delete e[n];
141
166
  }
142
167
  }
143
168
 
144
- function handleDeprecationWarning(e, n, i) {
145
- var o, t, a, r, s;
169
+ function handleDeprecationWarning(e, n, o) {
170
+ var i, t, a, r, s;
146
171
  if (window.location.hostname === "localhost" || window.location.host === "stack.q2developer.com") {
147
172
  if (e[n] === "undefined") return;
148
- const l = ((a = (t = (o = e.constructor) === null || o === void 0 ? void 0 : o.name) === null || t === void 0 ? void 0 : t.toLowerCase()) === null || a === void 0 ? void 0 : a.slice(2)) || ((s = (r = e.hostElement) === null || r === void 0 ? void 0 : r.tagName) === null || s === void 0 ? void 0 : s.toLowerCase().slice(3));
149
- switch (i) {
173
+ const l = ((a = (t = (i = e.constructor) === null || i === void 0 ? void 0 : i.name) === null || t === void 0 ? void 0 : t.toLowerCase()) === null || a === void 0 ? void 0 : a.slice(2)) || ((s = (r = e.hostElement) === null || r === void 0 ? void 0 : r.tagName) === null || s === void 0 ? void 0 : s.toLowerCase().slice(3));
174
+ switch (o) {
150
175
  case "prop":
151
176
  if (n === "size" && l === "btn") {
152
177
  console.warn(`The property of size in q2-btn should not be typeof number, or typeof string containing a number. This functionality will be deprecated in an upcoming release. Instead, please use the value 'undefined', or typeof string with any of the following values: "small" / "medium" / "large" `);
@@ -174,13 +199,13 @@ function handleDeprecationWarning(e, n, i) {
174
199
  }
175
200
 
176
201
  function renderMessages(n) {
177
- const i = n.hasError ? "danger" : "info";
202
+ const o = n.hasError ? "danger" : "info";
178
203
  return e("div", {
179
204
  class: "messages-container"
180
205
  }, e("q2-message", {
181
206
  appearance: "minimal",
182
207
  description: true,
183
- type: i,
208
+ type: o,
184
209
  "test-id": "message"
185
210
  }, e("ul", {
186
211
  id: n.inputDescribedBy
@@ -191,16 +216,16 @@ function renderMessages(n) {
191
216
 
192
217
  function setMessageHeight(e) {
193
218
  const n = e.hostElement.shadowRoot.querySelector(".messages-container");
194
- const i = n.querySelector("q2-message");
219
+ const o = n.querySelector("q2-message");
195
220
  nextPaint((() => {
196
- const o = e.showMessages && e.hasFocus ? i.getBoundingClientRect().height : 0;
197
- if (n.style.getPropertyValue("height") === `${o}px`) return;
198
- if (o === 0) {
199
- i.classList.add("invisible");
221
+ const i = e.showMessages && e.hasFocus ? o.getBoundingClientRect().height : 0;
222
+ if (n.style.getPropertyValue("height") === `${i}px`) return;
223
+ if (i === 0) {
224
+ o.classList.add("invisible");
200
225
  n.style.removeProperty("height");
201
226
  } else {
202
- i.classList.remove("invisible");
203
- n.style.setProperty("height", `${o}px`);
227
+ o.classList.remove("invisible");
228
+ n.style.setProperty("height", `${i}px`);
204
229
  }
205
230
  }));
206
231
  }
@@ -229,28 +254,28 @@ const handleColor = e => {
229
254
  * @return {Promise<string>} All translated text content in DOM order
230
255
  */ const getAllText = async (e, n = {}) => {
231
256
  if (!e) return "";
232
- const i = Object.assign({
257
+ const o = Object.assign({
233
258
  trim: true,
234
259
  normalizeWhitespace: false,
235
260
  skipComponentReady: false
236
261
  }, n);
237
- const o = new Set([ "STYLE", "SCRIPT", "NOSCRIPT", "TEMPLATE", "#comment" ]);
262
+ const i = new Set([ "STYLE", "SCRIPT", "NOSCRIPT", "TEMPLATE", "#comment" ]);
238
263
  const t = new WeakSet;
239
264
  let a = "";
240
265
  async function processNode(e) {
241
266
  var n;
242
- if (t.has(e) || o.has(e.nodeName)) return;
267
+ if (t.has(e) || i.has(e.nodeName)) return;
243
268
  t.add(e);
244
269
  // Handle text nodes
245
270
  if (e.nodeType === Node.TEXT_NODE) {
246
- const o = i.trim ? e.textContent.trim() : e.textContent;
247
- if (o) {
271
+ const i = o.trim ? e.textContent.trim() : e.textContent;
272
+ if (i) {
248
273
  // Add space between adjacent text nodes if needed
249
- if (a && !a.endsWith(" ") && !o.startsWith(" ")) {
274
+ if (a && !a.endsWith(" ") && !i.startsWith(" ")) {
250
275
  a += " ";
251
276
  }
252
277
  // Translate the text
253
- a += i.skipComponentReady ? (n = window.TectonElements) === null || n === void 0 ? void 0 : n.loc(o) : loc(o);
278
+ a += o.skipComponentReady ? (n = window.TectonElements) === null || n === void 0 ? void 0 : n.loc(i) : loc(i);
254
279
  }
255
280
  return;
256
281
  }
@@ -258,7 +283,7 @@ const handleColor = e => {
258
283
  if (e.nodeType === Node.ELEMENT_NODE) {
259
284
  // Wait for Stencil component if needed
260
285
  const n = e.nodeName.startsWith("Q2-") && typeof e.componentOnReady === "function";
261
- if (n && !i.skipComponentReady) {
286
+ if (n && !o.skipComponentReady) {
262
287
  await e.componentOnReady();
263
288
  }
264
289
  // Process children in light DOM
@@ -293,14 +318,14 @@ const handleColor = e => {
293
318
  }
294
319
  await processNode(e);
295
320
  // Apply final formatting
296
- if (i.trim) {
321
+ if (o.trim) {
297
322
  a = a.trim();
298
323
  }
299
- if (i.normalizeWhitespace) {
324
+ if (o.normalizeWhitespace) {
300
325
  a = a.replace(/\s+/g, " ");
301
326
  }
302
327
  return a;
303
328
  };
304
329
 
305
- export { handleAriaLabel as a, handleColor as b, createGuid as c, isMobile as d, hasSlotContent as e, renderLabel as f, getAriaValueFromProp as g, handleDeprecationWarning as h, isEventFromElement as i, handleRenamedProp as j, isTouchDevice as k, loc as l, resizeIframe as m, nextPaint as n, overrideFocus as o, debounce as p, isRelatedTargetWithinHost as q, renderMessages as r, setMessageHeight as s, isFirefox as t, getAllText as u, isVisible as v, waitForNextPaint as w };
306
- //# sourceMappingURL=index-f2a66217.js.map
330
+ export { handleAriaLabel as a, handleColor as b, createGuid as c, isMobile as d, hasSlotContent as e, renderLabel as f, getAriaValueFromProp as g, handleDeprecationWarning as h, isEventFromElement as i, handleRenamedProp as j, isTouchDevice as k, loc as l, resizeIframe as m, nextPaint as n, overrideFocus as o, debounce as p, isRelatedTargetWithinHost as q, renderMessages as r, setMessageHeight as s, isFirefox as t, getAllText as u, isVisible as v, waitForNextPaint as w, isInScrollableContainer as x };
331
+ //# sourceMappingURL=index-e4c2bfff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["debounce","fn","delay","timeout","args","clearTimeout","setTimeout","isMobile","test","navigator","userAgent","isInScrollableContainer","element","current","document","body","documentElement","parentElement","root","getRootNode","host","style","window","getComputedStyle","hasScrollableOverflow","overflow","overflowX","overflowY","hasOverflowingContent","scrollHeight","clientHeight","scrollWidth","clientWidth","isRelatedTargetWithinHost","event","relatedTarget","contains","isEventFromElement","_a","composedPath","call","overrideFocus","hostElement","focus","dispatchEvent","FocusEvent","bubbles","isFirefox","toLowerCase","includes","isTouchDevice","maxTouchPoints","getAriaValueFromProp","prop","validValues","undefined","guid","createGuid","nextPaint","requestAnimationFrame","isVisible","offsetWidth","offsetHeight","getClientRects","length","waitForNextPaint","Promise","resolve","loc","key","subs","Tecton","noStrings","_c","_b","TectonElements","renderLabel","target","label","hideLabel","optional","readonly","labelClasses","helpText","shouldHideLabel","labelSlotElements","querySelectorAll","hasSlotContent","hasLabel","push","h","class","htmlFor","inputId","join","name","slotName","querySelector","handleAriaLabel","ariaLabel","FW_WRAPPERS_EMPTY_PROP","Symbol","toString","handleRenamedProp","oldProp","newProp","removeOldProp","handleDeprecationWarning","deprecatedItemName","deprecatedItemType","location","hostname","componentName","constructor","slice","_e","_d","tagName","console","warn","error","renderMessages","type","hasError","appearance","description","id","inputDescribedBy","messages","map","message","setMessageHeight","messageContainer","shadowRoot","q2Message","height","showMessages","hasFocus","getBoundingClientRect","getPropertyValue","classList","add","removeProperty","remove","setProperty","resizeIframe","handleColor","intent","color","getAllText","async","options","opts","Object","assign","trim","normalizeWhitespace","skipComponentReady","nodesToSkip","Set","processedNodes","WeakSet","result","processNode","node","has","nodeName","nodeType","Node","TEXT_NODE","text","textContent","endsWith","startsWith","ELEMENT_NODE","isStencilComponent","componentOnReady","child","childNodes","shadowChild","assignedNodes","assigned","fallback","replace"],"sources":["src/utils/index.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { Q2Btn } from 'src/components/q2-btn/q2-btn';\nimport { Q2Calendar } from 'src/components/q2-calendar/q2-calendar';\nimport { Q2Carousel } from 'src/components/q2-carousel/q2-carousel';\nimport { Q2Checkbox } from 'src/components/q2-checkbox/q2-checkbox';\nimport { Q2CheckboxGroup } from 'src/components/q2-checkbox-group/q2-checkbox-group';\nimport { Q2RadioGroup } from 'src/components/q2-radio-group/q2-radio-group';\nimport { Q2Dropdown } from 'src/components/q2-dropdown/q2-dropdown';\nimport { Q2DropdownItem } from 'src/components/q2-dropdown-item/q2-dropdown-item';\nimport { Q2EditableField } from 'src/components/q2-editable-field/q2-editable-field';\nimport { Q2Input } from 'src/components/q2-input/q2-input';\nimport { Q2Loading } from 'src/components/q2-loading/q2-loading';\nimport { Q2Radio } from 'src/components/q2-radio/q2-radio';\nimport { Q2Select } from 'src/components/q2-select/q2-select';\nimport { FormFieldTypes, IDict } from 'src/util';\nimport { Q2Popover } from '@/components/q2-popover/q2-popover';\n\nexport const debounce = <F extends (...args: Parameters<F>) => ReturnType<F>>(fn: F, delay: number = 300) => {\n let timeout: ReturnType<typeof setTimeout>;\n return function (...args: Parameters<F>) {\n clearTimeout(timeout);\n timeout = setTimeout(() => {\n fn(...args);\n }, delay);\n };\n};\n\nexport function isAndroid(): boolean {\n return /Android/i.test(navigator.userAgent);\n}\n\nexport function isIOS(): boolean {\n return /iPad|iPhone|iPod/.test(navigator.userAgent);\n}\n\nexport function isMobile(): boolean {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|Mobile|IEMobile|Windows Phone|Opera Mini/i.test(\n navigator.userAgent\n );\n}\n\nexport function isInScrollableContainer(element) {\n let current = element;\n\n while (current && current !== document.body && current !== document.documentElement) {\n // Move to parent\n if (current.parentElement) {\n current = current.parentElement;\n } else {\n // Try to cross shadow DOM boundary\n const root = current.getRootNode();\n if (root && root.host) {\n current = root.host;\n } else {\n break;\n }\n }\n\n const style = window.getComputedStyle(current);\n const hasScrollableOverflow =\n style.overflow === 'scroll' ||\n style.overflow === 'auto' ||\n style.overflowX === 'scroll' ||\n style.overflowX === 'auto' ||\n style.overflowY === 'scroll' ||\n style.overflowY === 'auto';\n\n const hasOverflowingContent =\n current.scrollHeight > current.clientHeight || current.scrollWidth > current.clientWidth;\n\n if (hasScrollableOverflow && hasOverflowingContent) {\n return true;\n }\n }\n\n return false;\n}\n\nexport function isHostLosingFocus(event: FocusEvent, hostElement: HTMLElement) {\n const type = event.type;\n const focusInTypes = ['focusin', 'focus'];\n const isFocusIn = focusInTypes.includes(type);\n\n // on focusin: `target` is element losing focus, `relatedTarget` is element gaining focus\n // on focusout: `target` is element gaining focus, `relatedTarget` is element losing focus\n const elementGainingFocus = isFocusIn ? event.target : event.relatedTarget;\n\n const isElementNestedInHostElement = (element: HTMLElement) => {\n if (element === hostElement) return true;\n if (element.parentElement) {\n return isElementNestedInHostElement(element.parentElement);\n }\n return false;\n };\n\n if (!(elementGainingFocus instanceof HTMLElement)) return true;\n return !isElementNestedInHostElement(elementGainingFocus);\n}\n\nexport function isRelatedTargetWithinHost(event: FocusEvent, element: HTMLElement) {\n return event.relatedTarget !== element && !element.contains(event.relatedTarget as Node);\n}\n\nexport function isEventFromElement(event: Event, element: HTMLElement): boolean {\n return event.composedPath?.()[0] === element;\n}\n\nexport function overrideFocus(hostElement: HTMLElement) {\n hostElement.focus = () => hostElement?.dispatchEvent(new FocusEvent('focus', { bubbles: false }));\n}\n\nexport function isFirefox() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('firefox');\n}\n\nexport function isTouchDevice() {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n}\n\nexport function isSafari() {\n const userAgent = navigator.userAgent.toLowerCase();\n return userAgent.includes('safari') && !userAgent.includes('chrome');\n}\n\n/**\n * Returns the value of a prop if it is defined and included in the `validValues`\n * array. This is used primarily to prevent Vue wrappers from setting aria props\n * to \"Symbol()\" when the prop is not set.\n */\nexport function getAriaValueFromProp(prop: string, validValues?: string[]) {\n if (prop === undefined) return prop;\n if (!validValues) return prop !== 'Symbol()' ? prop : undefined;\n return validValues.includes(prop) || prop === '' ? prop : undefined;\n}\n\nlet guid: number = 1000;\nexport function createGuid(): number {\n return guid++;\n}\n\nexport function nextPaint(fn: (value?: unknown) => void) {\n requestAnimationFrame(() => {\n requestAnimationFrame(fn);\n });\n}\n\nexport function isVisible(element: HTMLElement) {\n return element.offsetWidth > 0 || element.offsetHeight > 0 || element.getClientRects().length > 0;\n}\n\nexport function waitForNextPaint() {\n return new Promise(resolve => nextPaint(resolve));\n}\n\nexport function capitalize(value: string) {\n return `${value.charAt(0).toUpperCase()}${value.slice(1)}`;\n}\n\nexport function pick(props: string[]): (obj: object) => object {\n return obj => {\n return props.reduce((memo, prop) => {\n return {\n ...memo,\n [prop]: obj[prop],\n };\n }, {});\n };\n}\n\nexport function loc(key: string, subs?: IDict<any> | string[]) {\n if (!key) return '';\n if (window.Tecton?.noStrings === true) {\n return key;\n }\n return window?.TectonElements?.loc(key, subs) ?? key;\n}\n\nexport function renderLabel(target: FormFieldTypes | Q2RadioGroup | Q2CheckboxGroup) {\n const { label, hideLabel, optional, readonly } = target;\n const labelClasses: string[] = ['input-label'];\n let helpText = '';\n\n let shouldHideLabel = hideLabel;\n if (!shouldHideLabel) {\n const labelSlotElements = target.hostElement.querySelectorAll<HTMLSlotElement>('[slot=\"label\"]');\n const hasSlotContent = labelSlotElements.length > 0;\n const hasLabel = !!label;\n\n shouldHideLabel = hasLabel || hasSlotContent ? false : true;\n }\n\n if (shouldHideLabel) labelClasses.push('sr');\n if (optional) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.optional')}</span>;\n }\n if (readonly) {\n helpText = <span class=\"optional-tag\">{loc('tecton.element.input.readonly')}</span>;\n labelClasses.push('readonly-field');\n }\n return (\n <label\n htmlFor={target.inputId}\n class={labelClasses.join(' ')}\n >\n <slot name=\"label\">\n {label ? loc(label) : undefined}\n {helpText}\n </slot>\n </label>\n );\n}\n\nexport function hasSlotContent(target: HTMLElement, slotName: string) {\n return target.querySelector(`[slot=\"${slotName}\"]`) !== null;\n}\n\nexport function handleAriaLabel(\n target:\n | Q2Input\n | Q2Select\n | Q2Radio\n | Q2Checkbox\n | Q2EditableField\n | Q2Dropdown\n | Q2DropdownItem\n | Q2Loading\n | Q2Carousel\n | Q2Calendar\n | Q2Btn\n) {\n const { ariaLabel } = target;\n if (!ariaLabel) return;\n\n // If empty ariaLabel prop is set to primitive symbol by framework wrapper, set ariaLabel to undefined and return\n const FW_WRAPPERS_EMPTY_PROP = Symbol().toString();\n if (ariaLabel === FW_WRAPPERS_EMPTY_PROP) {\n target.ariaLabel = undefined;\n return;\n }\n\n // If ariaLabel is set, set hideLabel to true and set label to ariaLabel\n if ('hideLabel' in target) target.hideLabel = true;\n target.label = loc(ariaLabel);\n target.ariaLabel = undefined;\n}\n\n/**\n * Handles when a prop has been renamed on a component without introducing a breaking change.\n */\nexport function handleRenamedProp(\n target: Q2Btn | Q2Calendar | Q2Dropdown | Q2Popover,\n oldProp: string,\n newProp: string,\n removeOldProp?: boolean\n) {\n if (typeof target[oldProp] === 'undefined') return;\n\n // If old prop has value, aka set in component, call handleDeprecationWarning()\n if (target[oldProp]) {\n handleDeprecationWarning(target, oldProp, 'prop');\n }\n\n target[newProp] = target[oldProp];\n\n if (removeOldProp) {\n delete target[oldProp];\n }\n}\n\nexport function handleDeprecationWarning(\n target: Q2Btn | Q2Calendar | Q2Dropdown | Q2Popover,\n deprecatedItemName: string,\n deprecatedItemType: 'function' | 'prop' | 'method' | 'event'\n) {\n if (window.location.hostname === 'localhost' || window.location.host === 'stack.q2developer.com') {\n if (target[deprecatedItemName] === 'undefined') return;\n\n const componentName =\n target.constructor?.name?.toLowerCase()?.slice(2) || target.hostElement?.tagName?.toLowerCase().slice(3);\n switch (deprecatedItemType) {\n case 'prop':\n if (deprecatedItemName === 'size' && componentName === 'btn') {\n console.warn(\n `The property of size in q2-btn should not be typeof number, or typeof string containing a number. This functionality will be deprecated in an upcoming release. Instead, please use the value 'undefined', or typeof string with any of the following values: \"small\" / \"medium\" / \"large\" `\n );\n } else {\n console.warn(\n `The property ${deprecatedItemName} in q2-${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n }\n break;\n\n case 'function':\n console.warn(\n `The function ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'method':\n console.warn(\n `The method ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n case 'event':\n console.warn(\n `The event ${deprecatedItemName} in ${componentName} has been marked for deprecation and will be removed in an upcoming major release.`\n );\n break;\n\n default:\n console.error(\n `handleDeprecationWarning --> No type found for desired deprecation: ${deprecatedItemName} in q2-${componentName}: deprecatedItemType = ${deprecatedItemName}`\n );\n }\n }\n}\n\nexport function renderMessages(target: FormFieldTypes) {\n const type = target.hasError ? 'danger' : 'info';\n\n return (\n <div class=\"messages-container\">\n <q2-message\n appearance=\"minimal\"\n description\n type={type}\n test-id=\"message\"\n >\n <ul id={target.inputDescribedBy}>\n {target.messages.map(message => (\n <li test-id=\"messageListItem\">{loc(message)}</li>\n ))}\n </ul>\n </q2-message>\n </div>\n );\n}\n\nexport function setMessageHeight(target: FormFieldTypes) {\n const messageContainer = (target.hostElement.shadowRoot as ShadowRoot).querySelector<HTMLDivElement>(\n '.messages-container'\n );\n const q2Message = messageContainer.querySelector('q2-message');\n nextPaint(() => {\n const height = target.showMessages && target.hasFocus ? q2Message.getBoundingClientRect().height : 0;\n\n if (messageContainer.style.getPropertyValue('height') === `${height}px`) return;\n\n if (height === 0) {\n q2Message.classList.add('invisible');\n messageContainer.style.removeProperty('height');\n } else {\n q2Message.classList.remove('invisible');\n messageContainer.style.setProperty('height', `${height}px`);\n }\n });\n}\n\nexport const resizeIframe = () => {\n return window.TectonElements?.resizeIframe?.();\n};\n\n// Handling color attribute (deprecated)\nexport const handleColor = (target: Q2Btn) => {\n if (!target.intent && ['primary', 'secondary'].includes(target.color)) {\n target.intent = `workflow-${target.color}` as HTMLQ2BtnElement['intent'];\n target.color = undefined;\n }\n};\n\n/**\n * Gets all translated text content from an element, including shadow DOM content\n *\n * @param {Element} element - The element to extract text from\n * @param {Object} options - Configuration options\n * @param {boolean} [options.trim=true] - Whether to trim whitespace\n * @param {boolean} [options.normalizeWhitespace=false] - Whether to normalize whitespace\n * @param {boolean} [options.skipComponentReady=false] - Skip waiting for components (for test environments)\n * @return {Promise<string>} All translated text content in DOM order\n */\nexport const getAllText = async (element, options = {}) => {\n if (!element) return '';\n\n const opts = {\n trim: true,\n normalizeWhitespace: false,\n skipComponentReady: false,\n ...options,\n };\n\n const nodesToSkip = new Set(['STYLE', 'SCRIPT', 'NOSCRIPT', 'TEMPLATE', '#comment']);\n const processedNodes = new WeakSet();\n let result = '';\n\n async function processNode(node) {\n if (processedNodes.has(node) || nodesToSkip.has(node.nodeName)) return;\n\n processedNodes.add(node);\n\n // Handle text nodes\n if (node.nodeType === Node.TEXT_NODE) {\n const text = opts.trim ? node.textContent.trim() : node.textContent;\n\n if (text) {\n // Add space between adjacent text nodes if needed\n if (result && !result.endsWith(' ') && !text.startsWith(' ')) {\n result += ' ';\n }\n\n // Translate the text\n result += opts.skipComponentReady ? window.TectonElements?.loc(text) : loc(text);\n }\n return;\n }\n\n // Handle element nodes\n if (node.nodeType === Node.ELEMENT_NODE) {\n // Wait for Stencil component if needed\n const isStencilComponent = node.nodeName.startsWith('Q2-') && typeof node.componentOnReady === 'function';\n\n if (isStencilComponent && !opts.skipComponentReady) {\n await node.componentOnReady();\n }\n\n // Process children in light DOM\n for (const child of node.childNodes) {\n await processNode(child);\n }\n\n // Process shadow DOM if present\n if (node.shadowRoot) {\n for (const shadowChild of node.shadowRoot.childNodes) {\n await processNode(shadowChild);\n }\n }\n\n // Handle slot elements with assigned nodes\n if (node.nodeName === 'SLOT' && typeof node.assignedNodes === 'function') {\n const assignedNodes = node.assignedNodes();\n\n if (assignedNodes.length > 0) {\n for (const assigned of assignedNodes) {\n if (!processedNodes.has(assigned)) {\n await processNode(assigned);\n }\n }\n } else {\n // Process slot fallback content\n for (const fallback of node.childNodes) {\n if (!processedNodes.has(fallback)) {\n await processNode(fallback);\n }\n }\n }\n }\n }\n }\n\n await processNode(element);\n\n // Apply final formatting\n if (opts.trim) {\n result = result.trim();\n }\n\n if (opts.normalizeWhitespace) {\n result = result.replace(/\\s+/g, ' ');\n }\n\n return result;\n};\n"],"mappings":";;MAiBaA,WAAW,CAAsDC,GAAOC,IAAgB;EACjG,IAAIC;EACJ,OAAO,YAAaC;IAChBC,aAAaF;IACbA,IAAUG,YAAW;MACjBL,KAAMG;AAAK,QACZF;;AACN;;SAWWK;EACZ,OAAO,sFAAsFC,KACzFC,UAAUC;AAElB;;SAEgBC,wBAAwBC;EACpC,IAAIC,IAAUD;EAEd,OAAOC,KAAWA,MAAYC,SAASC,QAAQF,MAAYC,SAASE,iBAAiB;;IAEjF,IAAIH,EAAQI,eAAe;MACvBJ,IAAUA,EAAQI;WACf;;MAEH,MAAMC,IAAOL,EAAQM;MACrB,IAAID,KAAQA,EAAKE,MAAM;QACnBP,IAAUK,EAAKE;aACZ;QACH;;;IAIR,MAAMC,IAAQC,OAAOC,iBAAiBV;IACtC,MAAMW,IACFH,EAAMI,aAAa,YACnBJ,EAAMI,aAAa,UACnBJ,EAAMK,cAAc,YACpBL,EAAMK,cAAc,UACpBL,EAAMM,cAAc,YACpBN,EAAMM,cAAc;IAExB,MAAMC,IACFf,EAAQgB,eAAehB,EAAQiB,gBAAgBjB,EAAQkB,cAAclB,EAAQmB;IAEjF,IAAIR,KAAyBI,GAAuB;MAChD,OAAO;;;EAIf,OAAO;AACX;;SAuBgBK,0BAA0BC,GAAmBtB;EACzD,OAAOsB,EAAMC,kBAAkBvB,MAAYA,EAAQwB,SAASF,EAAMC;AACtE;;SAEgBE,mBAAmBH,GAActB;;EAC7C,SAAO0B,IAAAJ,EAAMK,kBAAY,QAAAD,WAAA,aAAAA,EAAAE,KAAAN,GAAK,QAAOtB;AACzC;;SAEgB6B,cAAcC;EAC1BA,EAAYC,QAAQ,MAAMD,MAAW,QAAXA,WAAW,aAAXA,EAAaE,cAAc,IAAIC,WAAW,SAAS;IAAEC,SAAS;;AAC5F;;SAEgBC;EACZ,MAAMrC,IAAYD,UAAUC,UAAUsC;EACtC,OAAOtC,EAAUuC,SAAS;AAC9B;;SAEgBC;EACZ,OAAO,kBAAkB5B,UAAUb,UAAU0C,iBAAiB;AAClE;;;;;;aAYgBC,qBAAqBC,GAAcC;EAC/C,IAAID,MAASE,WAAW,OAAOF;EAC/B,KAAKC,GAAa,OAAOD,MAAS,aAAaA,IAAOE;EACtD,OAAOD,EAAYL,SAASI,MAASA,MAAS,KAAKA,IAAOE;AAC9D;;AAEA,IAAIC,IAAe;;SACHC;EACZ,OAAOD;AACX;;SAEgBE,UAAUzD;EACtB0D,uBAAsB;IAClBA,sBAAsB1D;AAAG;AAEjC;;SAEgB2D,UAAUhD;EACtB,OAAOA,EAAQiD,cAAc,KAAKjD,EAAQkD,eAAe,KAAKlD,EAAQmD,iBAAiBC,SAAS;AACpG;;SAEgBC;EACZ,OAAO,IAAIC,SAAQC,KAAWT,UAAUS;AAC5C;;SAiBgBC,IAAIC,GAAaC;;EAC7B,KAAKD,GAAK,OAAO;EACjB,MAAI/B,IAAAhB,OAAOiD,YAAM,QAAAjC,WAAA,aAAAA,EAAEkC,eAAc,MAAM;IACnC,OAAOH;;EAEX,QAAOI,KAAAC,IAAApD,WAAM,QAANA,gBAAM,aAANA,OAAQqD,oBAAc,QAAAD,WAAA,aAAAA,EAAEN,IAAIC,GAAKC,QAAK,QAAAG,WAAA,IAAAA,IAAIJ;AACrD;;SAEgBO,YAAYC;EACxB,OAAMC,OAAEA,GAAKC,WAAEA,GAASC,UAAEA,GAAQC,UAAEA,KAAaJ;EACjD,MAAMK,IAAyB,EAAC;EAChC,IAAIC,IAAW;EAEf,IAAIC,IAAkBL;EACtB,KAAKK,GAAiB;IAClB,MAAMC,IAAoBR,EAAOnC,YAAY4C,iBAAkC;IAC/E,MAAMC,IAAiBF,EAAkBrB,SAAS;IAClD,MAAMwB,MAAaV;IAEnBM,IAAkBI,KAAYD,IAAiB,QAAQ;;EAG3D,IAAIH,GAAiBF,EAAaO,KAAK;EACvC,IAAIT,GAAU;IACVG,IAAWO,EAAA;MAAMC,OAAM;OAAgBvB,IAAI;;EAE/C,IAAIa,GAAU;IACVE,IAAWO,EAAA;MAAMC,OAAM;OAAgBvB,IAAI;IAC3Cc,EAAaO,KAAK;;EAEtB,OACIC,EAAA;IACIE,SAASf,EAAOgB;IAChBF,OAAOT,EAAaY,KAAK;KAEzBJ,EAAA;IAAMK,MAAK;KACNjB,IAAQV,IAAIU,KAASvB,WACrB4B;AAIjB;;SAEgBI,eAAeV,GAAqBmB;EAChD,OAAOnB,EAAOoB,cAAc,UAAUD,WAAkB;AAC5D;;SAEgBE,gBACZrB;EAaA,OAAMsB,WAAEA,KAActB;EACtB,KAAKsB,GAAW;;IAGhB,MAAMC,IAAyBC,SAASC;EACxC,IAAIH,MAAcC,GAAwB;IACtCvB,EAAOsB,YAAY5C;IACnB;;;IAIJ,IAAI,eAAesB,GAAQA,EAAOE,YAAY;EAC9CF,EAAOC,QAAQV,IAAI+B;EACnBtB,EAAOsB,YAAY5C;AACvB;;;;aAKgBgD,kBACZ1B,GACA2B,GACAC,GACAC;EAEA,WAAW7B,EAAO2B,OAAa,aAAa;;IAG5C,IAAI3B,EAAO2B,IAAU;IACjBG,yBAAyB9B,GAAQ2B,GAAS;;EAG9C3B,EAAO4B,KAAW5B,EAAO2B;EAEzB,IAAIE,GAAe;WACR7B,EAAO2B;;AAEtB;;SAEgBG,yBACZ9B,GACA+B,GACAC;;EAEA,IAAIvF,OAAOwF,SAASC,aAAa,eAAezF,OAAOwF,SAAS1F,SAAS,yBAAyB;IAC9F,IAAIyD,EAAO+B,OAAwB,aAAa;IAEhD,MAAMI,MACFvC,KAAAC,KAAApC,IAAAuC,EAAOoC,iBAAW,QAAA3E,WAAA,aAAAA,EAAEyD,UAAI,QAAArB,WAAA,aAAAA,EAAE1B,mBAAa,QAAAyB,WAAA,aAAAA,EAAEyC,MAAM,SAAMC,KAAAC,IAAAvC,EAAOnC,iBAAW,QAAA0E,WAAA,aAAAA,EAAEC,aAAO,QAAAF,WAAA,aAAAA,EAAEnE,cAAckE,MAAM;IAC1G,QAAQL;KACJ,KAAK;MACD,IAAID,MAAuB,UAAUI,MAAkB,OAAO;QAC1DM,QAAQC,KACJ;aAED;QACHD,QAAQC,KACJ,gBAAgBX,WAA4BI;;MAGpD;;KAEJ,KAAK;MACDM,QAAQC,KACJ,gBAAgBX,QAAyBI;MAE7C;;KAEJ,KAAK;MACDM,QAAQC,KACJ,cAAcX,QAAyBI;MAE3C;;KAEJ,KAAK;MACDM,QAAQC,KACJ,aAAaX,QAAyBI;MAE1C;;KAEJ;MACIM,QAAQE,MACJ,0EAAuEZ,WAA4BI,2BAAuCJ;;;AAI9J;;SAEgBa,eAAe5C;EAC3B,MAAM6C,IAAO7C,EAAO8C,WAAW,WAAW;EAE1C,OACIjC,EAAA;IAAKC,OAAM;KACPD,EAAA;IACIkC,YAAW;IACXC,aAAW;IACXH,MAAMA;IAAI,WACF;KAERhC,EAAA;IAAIoC,IAAIjD,EAAOkD;KACVlD,EAAOmD,SAASC,KAAIC,KACjBxC,EAAA;IAAA,WAAY;KAAmBtB,IAAI8D;AAM3D;;SAEgBC,iBAAiBtD;EAC7B,MAAMuD,IAAoBvD,EAAOnC,YAAY2F,WAA0BpC,cACnE;EAEJ,MAAMqC,IAAYF,EAAiBnC,cAAc;EACjDvC,WAAU;IACN,MAAM6E,IAAS1D,EAAO2D,gBAAgB3D,EAAO4D,WAAWH,EAAUI,wBAAwBH,SAAS;IAEnG,IAAIH,EAAiB/G,MAAMsH,iBAAiB,cAAc,GAAGJ,OAAY;IAEzE,IAAIA,MAAW,GAAG;MACdD,EAAUM,UAAUC,IAAI;MACxBT,EAAiB/G,MAAMyH,eAAe;WACnC;MACHR,EAAUM,UAAUG,OAAO;MAC3BX,EAAiB/G,MAAM2H,YAAY,UAAU,GAAGT;;;AAG5D;;MAEaU,eAAe;;EACxB,QAAOvE,KAAApC,IAAAhB,OAAOqD,oBAAc,QAAArC,WAAA,aAAAA,EAAE2G,kBAAY,QAAAvE,WAAA,aAAAA,EAAAlC,KAAAF;AAAI;;;MAIrC4G,cAAerE;EACxB,KAAKA,EAAOsE,UAAU,EAAC,WAAW,cAAalG,SAAS4B,EAAOuE,QAAQ;IACnEvE,EAAOsE,SAAS,YAAYtE,EAAOuE;IACnCvE,EAAOuE,QAAQ7F;;;;;;;;;;;;;UAcV8F,aAAaC,OAAO1I,GAAS2I,IAAU;EAChD,KAAK3I,GAAS,OAAO;EAErB,MAAM4I,IAAIC,OAAAC,OAAA;IACNC,MAAM;IACNC,qBAAqB;IACrBC,oBAAoB;KACjBN;EAGP,MAAMO,IAAc,IAAIC,IAAI,EAAC,SAAS,UAAU,YAAY,YAAY;EACxE,MAAMC,IAAiB,IAAIC;EAC3B,IAAIC,IAAS;EAEbZ,eAAea,YAAYC;;IACvB,IAAIJ,EAAeK,IAAID,MAASN,EAAYO,IAAID,EAAKE,WAAW;IAEhEN,EAAenB,IAAIuB;;QAGnB,IAAIA,EAAKG,aAAaC,KAAKC,WAAW;MAClC,MAAMC,IAAOlB,EAAKG,OAAOS,EAAKO,YAAYhB,SAASS,EAAKO;MAExD,IAAID,GAAM;;QAEN,IAAIR,MAAWA,EAAOU,SAAS,SAASF,EAAKG,WAAW,MAAM;UAC1DX,KAAU;;;gBAIdA,KAAUV,EAAKK,sBAAqBvH,IAAAhB,OAAOqD,oBAAc,QAAArC,WAAA,aAAAA,EAAE8B,IAAIsG,KAAQtG,IAAIsG;;MAE/E;;;QAIJ,IAAIN,EAAKG,aAAaC,KAAKM,cAAc;;MAErC,MAAMC,IAAqBX,EAAKE,SAASO,WAAW,iBAAiBT,EAAKY,qBAAqB;MAE/F,IAAID,MAAuBvB,EAAKK,oBAAoB;cAC1CO,EAAKY;;;YAIf,KAAK,MAAMC,KAASb,EAAKc,YAAY;cAC3Bf,YAAYc;;;YAItB,IAAIb,EAAK/B,YAAY;QACjB,KAAK,MAAM8C,KAAef,EAAK/B,WAAW6C,YAAY;gBAC5Cf,YAAYgB;;;;YAK1B,IAAIf,EAAKE,aAAa,iBAAiBF,EAAKgB,kBAAkB,YAAY;QACtE,MAAMA,IAAgBhB,EAAKgB;QAE3B,IAAIA,EAAcpH,SAAS,GAAG;UAC1B,KAAK,MAAMqH,KAAYD,GAAe;YAClC,KAAKpB,EAAeK,IAAIgB,IAAW;oBACzBlB,YAAYkB;;;eAGvB;;UAEH,KAAK,MAAMC,KAAYlB,EAAKc,YAAY;YACpC,KAAKlB,EAAeK,IAAIiB,IAAW;oBACzBnB,YAAYmB;;;;;;;QAQpCnB,YAAYvJ;;IAGlB,IAAI4I,EAAKG,MAAM;IACXO,IAASA,EAAOP;;EAGpB,IAAIH,EAAKI,qBAAqB;IAC1BM,IAASA,EAAOqB,QAAQ,QAAQ;;EAGpC,OAAOrB;AAAM"}
@@ -1,6 +1,6 @@
1
1
  import { r as t, h as i, g as o } from "./index-7a5365e2.js";
2
2
 
3
- import { n } from "./index-f2a66217.js";
3
+ import { n } from "./index-e4c2bfff.js";
4
4
 
5
5
  const e = '*{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 #0066cc)}: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(:not([hidden])){display:block;width:100%;--comp-default-action-group-margin:var(--app-scale-5x, 25px) 0;margin:var(--tct-action-group-margin, var(--comp-default-action-group-margin))}.container{--comp-default-action-group-gap:var(--tct-action-group-gap, var(--app-scale-2x, 10px));--comp-link-gap:var(--tct-action-group-gap, var(--app-scale-4x, 20px));width:100%;display:flex;gap:var(--comp-default-action-group-gap)}.container.has-q2-link{gap:var(--comp-link-gap)}.container.has-q2-btn-coin{column-gap:var(--tct-action-group-coin-column-gap, var(--app-scale-1x, 5px));row-gap:var(--tct-action-group-coin-row-gap, var(--app-scale-5x, 25px))}.container.vertical{flex-direction:var(--tct-action-group-vertical-flex-direction, column)}.container.vertical ::slotted(q2-btn){display:block;width:100%}.container.horizontal{justify-content:var(--tct-action-group-horizontal-justify-content, flex-start);flex-direction:var(--tct-action-group-horizontal-flex-direction, row-reverse);align-items:var(--tct-action-group-horizontal-align-items, center);flex-wrap:var(--tct-action-group-horizontal-flex-wrap, wrap)}.container.horizontal.full-width{flex-wrap:nowrap}.container.horizontal.has-q2-btn-coin{justify-content:var(--tct-action-group-coin-horizontal-justify-content, center)}.container.horizontal ::slotted(q2-link){position:relative}.container.horizontal ::slotted(q2-link:not(:last-child))::before{content:"";display:inline-block;width:0;height:28px;border-left:1px solid var(--t-gray-12, #d9d9d9);position:absolute;left:calc(var(--comp-link-gap) * -0.5)}.container.vertical ::slotted(q2-btn),.container.horizontal.full-width ::slotted(q2-btn){display:block;width:100%}';
6
6
 
@@ -110,16 +110,16 @@ const r = class {
110
110
  if (e) a.push(`has-${e}`);
111
111
  a.push(o);
112
112
  return i("q2-resize-observer", {
113
- key: "9618803e7048e8d1cb8e9a5e359788a349429d10",
113
+ key: "ed3f7232f6b7b997450c0e7682b4cdd60937a21a",
114
114
  onTctResize: this.handleResize,
115
115
  disabled: t
116
116
  }, i("div", {
117
- key: "5f9a2d2764a8d557cdb93e39efa4e2ba57a48c48",
117
+ key: "a4cf8e36fc7e3d991fcf254d806c0b79b8061153",
118
118
  ref: t => this.container = t,
119
119
  class: a.join(" "),
120
120
  role: "group"
121
121
  }, i("slot", {
122
- key: "e7517805b6e83d5660465e944608240abe4c2eb2"
122
+ key: "bf19a82f9f8a513b8b67ac9303a8cbc09067a6aa"
123
123
  })));
124
124
  }
125
125
  get hostElement() {
@@ -1,6 +1,6 @@
1
1
  import { r as t, c as e, h as i, F as o, g as a } from "./index-7a5365e2.js";
2
2
 
3
- import { l as s, w as r } from "./index-f2a66217.js";
3
+ import { l as s, w as r } from "./index-e4c2bfff.js";
4
4
 
5
5
  import { s as n } from "./sanitize-html-string-735c19f5.js";
6
6
 
@@ -230,32 +230,32 @@ const h = class {
230
230
  const r = (e === null || e === void 0 ? void 0 : e.appearance) || "slot";
231
231
  const n = `interior is-${r}`;
232
232
  return i("dialog", {
233
- key: "d0af72ad1b1c131bef4f6661ff4226ca78c87a2a",
233
+ key: "9f68d1e512158e824c12737198d952309e1f5d86",
234
234
  ref: t => this.dialogElement = t,
235
235
  class: a,
236
236
  onClick: this.onClick
237
237
  }, i("div", {
238
- key: "ac49c7e7ef0c085a792779488f22b5919fe46cbc",
238
+ key: "c54129a1787e1acbc1ca541ec8d18bf78166c42f",
239
239
  class: n
240
240
  }, o && i("header", {
241
- key: "2d558b392b3005d6e54a525263b703926499bd9c"
241
+ key: "7367af915e0748f65fb6da5163a5e457c8e0493a"
242
242
  }, i("div", {
243
- key: "a1d06ac6d939eef0675920e7be4c80cc74e6411f",
243
+ key: "78d0b1dc2dbaedaeb1222a3dae808278340535dd",
244
244
  class: "title"
245
245
  }, (e === null || e === void 0 ? void 0 : e.title) || this.title), !this.hideClose && i("q2-btn", {
246
- key: "4e0de7d287daef9f7b804f0f0dcdaed087931ca3",
246
+ key: "4383c348811ace349006f81a913d3b3d84a0ff90",
247
247
  class: "btn-close",
248
248
  "test-id": "btnClose",
249
249
  onClick: this.onCancel,
250
250
  label: "tecton.element.actionSheet.close",
251
251
  "hide-label": true
252
252
  }, i("q2-icon", {
253
- key: "bf9a5f21a3d90997ad556db316f3e9be074ce32d",
253
+ key: "9b07a6f6e2a01d5815cff572552fd542c95100e8",
254
254
  type: "close"
255
255
  }))), ((t = this.data) === null || t === void 0 ? void 0 : t.description) && i("p", {
256
- key: "554055dc7db18192dae5278b0db1e73013a9f44e"
256
+ key: "fd3a369a3b7797b98ef514cd93fa89623bedbbbb"
257
257
  }, e.description), s && i(s, {
258
- key: "466462435bbfcd7fea7aa15fea8a014d1cd8370e",
258
+ key: "111a9e118a7adf9f92d5d4d6ae2cb826afc6a37f",
259
259
  data: this.data
260
260
  })));
261
261
  }
@@ -52,9 +52,9 @@ const c = class {
52
52
  const e = (this.name || this.initials) && (!this.src || this.badSrc);
53
53
  const c = !this.name && !this.initials && (!this.src || this.badSrc);
54
54
  return t("div", {
55
- key: "e7fc18664e3c2dab8d49f02fca71af397542ec33"
55
+ key: "788cd3b981fddcedd593ba576616509dc8777e7d"
56
56
  }, r && t("img", {
57
- key: "34275fafae8eb89ab239322a991cacdec7c7c3f0",
57
+ key: "b671aa8981f47babd9144fdfc5afb847396a102c",
58
58
  class: i ? "avatar-img" : "avatar-img-default",
59
59
  "test-id": "userImage",
60
60
  src: this.src,
@@ -62,7 +62,7 @@ const c = class {
62
62
  onLoad: this.onLoad,
63
63
  alt: this.name || ""
64
64
  }), e && t("svg", {
65
- key: "74286d05347fa35df27b25c3096d1e1c9f7be604",
65
+ key: "57e2f08794e02b95ffb6e63c893c2b6b1668bc5d",
66
66
  viewBox: "0 0 100 100",
67
67
  preserveAspectRatio: "xMidYMid meet",
68
68
  "test-id": "userInitials",
@@ -70,18 +70,18 @@ const c = class {
70
70
  "aria-label": this.name,
71
71
  "aria-hidden": !this.name && "true"
72
72
  }, t("text", {
73
- key: "4862379daa82e61f0e1e907b6070210b79246490",
73
+ key: "b01dd9837e3e70720a14608a293d3cfb4c511b5b",
74
74
  x: "50",
75
75
  y: "50",
76
76
  "dominant-baseline": "central",
77
77
  "text-anchor": "middle",
78
78
  "aria-hidden": "true"
79
79
  }, a)), c && t("div", {
80
- key: "757d739f831a81811c72920c6994db4fb1838dfb",
80
+ key: "502b1862b90f9f039196fd60777b9efca5f21573",
81
81
  "test-id": "fallbackIcon",
82
82
  class: "fallback"
83
83
  }, t("q2-icon", {
84
- key: "6888b2c395a5e85dfedbf348c1183c5de941d091",
84
+ key: "5d23dad459eb98fb483a78b0c1b704bf1803af10",
85
85
  type: this.icon
86
86
  })));
87
87
  }
@@ -1,6 +1,6 @@
1
1
  import { r as t, h as r, g as o, F as a, a as e, c as i } from "./index-7a5365e2.js";
2
2
 
3
- import { l as n, h as c, a as s, b as d, o as l, i as p, g as b, c as u, d as f, s as h, e as v, n as m, r as x, f as g } from "./index-f2a66217.js";
3
+ import { l as n, h as c, a as s, b as d, o as l, i as p, g as b, c as u, d as f, s as h, e as v, n as m, r as x, f as g } from "./index-e4c2bfff.js";
4
4
 
5
5
  import { s as k } from "./shapes-c7e1a3fa.js";
6
6
 
@@ -5019,10 +5019,10 @@ const Io = class {
5019
5019
  }
5020
5020
  render() {
5021
5021
  return r("div", {
5022
- key: "2cc30e91a73c9add9f82e794a0e04266fe5e8e78",
5022
+ key: "2386287415e06745ae371d98e72c51c08db45568",
5023
5023
  class: this.wrapperClasses
5024
5024
  }, r("div", {
5025
- key: "64baf86fc032a16240e7d4afb9985de4ed63346f",
5025
+ key: "a217a2c8c56174d5f6198a4b4fd2269243c1be17",
5026
5026
  class: "label-wrapper"
5027
5027
  }, g(this), this.renderCountDOM()), this.renderInputContainerDOM(), x(this));
5028
5028
  }
@@ -5422,49 +5422,49 @@ const Po = class {
5422
5422
  }
5423
5423
  render() {
5424
5424
  return r(a, {
5425
- key: "97f2da0c2b5b73725ba7df8df2a0eb549f9cfd88"
5425
+ key: "c89fe2837c1075d6b456aa81c0bbfdbd1adb216b"
5426
5426
  }, r("div", {
5427
- key: "ff697afe9618dfc6e262701febdca55b279de4d5",
5427
+ key: "d0e015387c1cf3c4e9e3c645a345e2ab1e7385c0",
5428
5428
  class: "tab-container"
5429
5429
  }, this.scrollEnabled && r(a, {
5430
- key: "11151d37351e2770f29f5f0b31df5afb68855dc2"
5430
+ key: "f46f428c45eb6708dac66595270cf8eb2058dea3"
5431
5431
  }, r("div", {
5432
- key: "d2bf7ed9da0348421a767ba7d38faf942ad44634",
5432
+ key: "78e5e6bb2fc0de116e0a7a73f0598317c3881868",
5433
5433
  class: "gradient-left",
5434
5434
  hidden: !this.showScrollLeft
5435
5435
  }), r("div", {
5436
- key: "f53cc922938e075b524cae7289a4b5645b867078",
5436
+ key: "6e923a319b64508310de2135a3f76249fefe33f3",
5437
5437
  class: "gradient-right",
5438
5438
  hidden: !this.showScrollRight
5439
5439
  }), r("q2-btn", {
5440
- key: "0c17c23b928f2aab34632073d3b3ba380e153865",
5440
+ key: "3e6a69a9dd8977a57c5ad645e47697eafb9a7b5b",
5441
5441
  class: "btn-left",
5442
5442
  hidden: !this.showScrollLeft,
5443
5443
  onClick: () => this.onScrollBtnClick("left")
5444
5444
  }, r("q2-icon", {
5445
- key: "ea146cfc55d86e1531bbe94a9a217b93463f9fea",
5445
+ key: "258bb459c027cff471ae752fa1abe623f718d94e",
5446
5446
  type: "chevron-left",
5447
5447
  label: "scroll left"
5448
5448
  })), r("q2-btn", {
5449
- key: "fce01f8a17e78df73cc834a203b55b9427c4facc",
5449
+ key: "732a1f3f5081de393735a859d85a6b424e79d59b",
5450
5450
  class: "btn-right",
5451
5451
  hidden: !this.showScrollRight,
5452
5452
  onClick: () => this.onScrollBtnClick("right")
5453
5453
  }, r("q2-icon", {
5454
- key: "d379b82bd9465278b1e40f82137fc08bd8b0c750",
5454
+ key: "f4f4aae0b2c9589376fcfea523481709f8b1a678",
5455
5455
  type: "chevron-right",
5456
5456
  label: "scroll right"
5457
5457
  }))), r("ul", {
5458
- key: "97d39c2ff74ac064da28ca763fbd3d6e98a952dd",
5458
+ key: "85ffe9e0129ef306611316a4a5be918937d9e139",
5459
5459
  onScroll: this.checkScrollState,
5460
5460
  ref: t => this.listElement = t,
5461
5461
  class: this.noPrint ? "no-print" : null,
5462
5462
  role: "tablist"
5463
5463
  }, this.tabs.map(((t, r) => this.renderTab(t, r))))), r("div", {
5464
- key: "5a9a728931e3dfafe2b20b5a1d1e72b5ef67913c",
5464
+ key: "9dfa00e1e412dc7b9dc38559183460c8da814a97",
5465
5465
  class: "tab-content"
5466
5466
  }, r("slot", {
5467
- key: "e10400800c9ff9e3b7d9947a32abeeb146981f8b",
5467
+ key: "985d948ee990ab8861537bc7f9f0ac1fd8dfeb90",
5468
5468
  onSlotchange: () => this.onSlotChange()
5469
5469
  })));
5470
5470
  }
@@ -5509,7 +5509,7 @@ const Go = class {
5509
5509
  // #region Render Methods
5510
5510
  render() {
5511
5511
  return r("div", {
5512
- key: "8f27e390528c79ae1589e1a7614c72455ebbdd32",
5512
+ key: "cf5a8eb75b97459214c279b02f0fdd7c3fe1b203",
5513
5513
  id: `tab-pane-${this.guid}-${this.index}`,
5514
5514
  class: `tab-pane${this.selected ? "" : " hidden"}`,
5515
5515
  role: "tabpanel",
@@ -5517,7 +5517,7 @@ const Go = class {
5517
5517
  "aria-hidden": `${!this.selected}`,
5518
5518
  "aria-labelledby": `tab-${this.guid}-${this.index}`
5519
5519
  }, r("slot", {
5520
- key: "2d00ea2e03bbac11a63193debd2bb9904050ba37"
5520
+ key: "00b05dbda891dbbbc3f40d6dc531e8940edbe761"
5521
5521
  }));
5522
5522
  }
5523
5523
  static get watchers() {
@@ -2,7 +2,7 @@ import { r as e, c as t, h as a, g as i } from "./index-7a5365e2.js";
2
2
 
3
3
  import { d as n } from "./index-3184c760.js";
4
4
 
5
- import { l as s, a as r, o, i as d, w as l, j as c } from "./index-f2a66217.js";
5
+ import { l as s, a as r, o, i as d, w as l, j as c } from "./index-e4c2bfff.js";
6
6
 
7
7
  function formatDateISO(e) {
8
8
  const t = new Date(e);
@@ -1,6 +1,6 @@
1
1
  import { r as t, c as a, h as r, F as c, g as o } from "./index-7a5365e2.js";
2
2
 
3
- import { k as e, o as i, i as s } from "./index-f2a66217.js";
3
+ import { k as e, o as i, i as s } from "./index-e4c2bfff.js";
4
4
 
5
5
  const n = "*{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 #0066cc)}: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}.container{position:relative;width:100%;text-align:start;height:100%;display:grid;gap:var(--tct-card-gap, var(--t-card-gap, var(--app-scale-3x, 15px)));margin:0;color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 44px));--comp-chevron-size:0;--comp-bar-width:var(--tct-card-bar-width, var(--t-card-bar-width, var(--app-scale-2x, 10px)));--comp-card-padding:var(--tct-card-padding, var(--t-card-padding, var(--app-scale-4x, 20px)))}.container.is-small{--comp-avatar-size:var(--tct-card-avatar-size, var(--t-card-avatar-size, 26px))}.container.has-avatar{grid-template-columns:var(--comp-avatar-size) 1fr;--tct-avatar-width:var(--comp-avatar-size);--tct-avatar-height:var(--comp-avatar-size);--tct-icon-size:var(--comp-avatar-size)}:host([bar][is-static]) .container{padding-left:var(--comp-card-padding)}:host(:not([is-static])) .container{--comp-border-radius:var(--tct-card-border-radius, var(--t-card-border-radius, var(--app-border-radius-1, 4px)));--comp-border-width:var(--tct-card-border-width, var(--t-card-border-width, 0px));border:none;background:var(--tct-card-background, var(--t-card-background, var(--t-base, #ffffff)));padding:var(--comp-card-padding);text-decoration:none;border-width:var(--comp-border-width);border-color:var(--tct-card-border-color, var(--t-card-border-color, transparent));border-style:var(--tct-card-border-style, solid);border-radius:var(--comp-border-radius);transition:box-shadow var(--tct-tween-1, var(--app-tween-1, 0.2s ease));box-shadow:var(--tct-card-box-shadow, var(--t-card-box-shadow, var(--app-shadow-2, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 4px 8px rgba(0, 0, 0, 0.14))))}:host(:not([is-static])) .container.clickable{cursor:pointer}@media (hover: hover){:host(:not([is-static])) .container.clickable{--comp-card-hover-box-shadow:var(--tct-card-hover-box-shadow, var(--t-card-hover-box-shadow, var(--app-shadow-3, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 8px 16px rgba(0, 0, 0, 0.14))))}:host(:not([is-static])) .container.clickable:hover,:host(:not([is-static])) .container.clickable:active,:host(:not([is-static])) .container.clickable:focus{color:var(--tct-card-color, var(--t-card-color, var(--t-text, #4d4d4d)));box-shadow:var(--const-double-focus-ring)}:host(:not([is-static])) .container.clickable:hover{box-shadow:var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:focus:hover{box-shadow:var(--const-double-focus-ring), var(--comp-card-hover-box-shadow)}:host(:not([is-static])) .container.clickable:active{box-shadow:var(--tct-card-active-box-shadow, var(--t-card-active-box-shadow, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14))))}}:host(:not([is-static])) .container.is-touch{--comp-chevron-size:var(--tct-card-chevron-size, var(--t-card-chevron-size, 26px));grid-template-columns:1fr var(--comp-chevron-size)}:host(:not([is-static])) .container.has-avatar.is-touch{grid-template-columns:var(--comp-avatar-size) 1fr var(--comp-chevron-size)}.content{overflow:hidden;display:grid;gap:var(--tct-card-content-gap, var(--t-card-content-gap, var(--app-scale-1x, 5px)));align-content:start}h3,p{margin:0;padding:0;line-height:var(--tct-card-font-height, var(--t-card-font-height, 20px))}h3{font-weight:var(--tct-card-font-weight, var(--t-card-font-weight, 600));font-size:var(--tct-card-font-size, var(--t-card-font-size, 17px));text-overflow:ellipsis;overflow:hidden;white-space:nowrap}p{text-overflow:ellipsis;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.bar{--comp-bar-border-radius:calc(var(--comp-border-radius) - var(--comp-border-width));border-radius:var(--comp-bar-border-radius) 0 0 var(--comp-bar-border-radius);position:absolute;inset:0 auto auto 0;width:var(--comp-bar-width);background:var(--comp-bar-color);height:100%}.bar.color-primary{--comp-bar-color:var(--tct-card-bar-color-primary, var(--t-primary, #5446a4))}.bar.color-secondary{--comp-bar-color:var(--tct-card-bar-color-secondary, var(--t-secondary, #b6b3cc))}.bar.color-tertiary{--comp-bar-color:var(--tct-card-bar-color-tertiary, var(--t-tertiary, #ebe8fc))}.bar.color-info{--comp-bar-color:var(--tct-card-bar-color-info, var(--const-stoplight-info, #0079c1))}.bar.color-success{--comp-bar-color:var(--tct-card-bar-color-success, var(--const-stoplight-success, #0e8a00))}.bar.color-warning{--comp-bar-color:var(--tct-card-bar-color-warning, var(--const-stoplight-warning, #c35500))}.bar.color-alert{--comp-bar-color:var(--tct-card-bar-color-alert, var(--const-stoplight-alert, #c35500))}.bar.color-accent-1{--comp-bar-color:var(--tct-card-bar-color-accent-1, var(--t-accent-1, #e05252))}.bar.color-accent-2{--comp-bar-color:var(--tct-card-bar-color-accent-2, var(--t-accent-2, #e09952))}.bar.color-accent-3{--comp-bar-color:var(--tct-card-bar-color-accent-3, var(--t-accent-3, #e0e052))}.bar.color-accent-4{--comp-bar-color:var(--tct-card-bar-color-accent-4, var(--t-accent-4, #99e052))}.bar.color-accent-5{--comp-bar-color:var(--tct-card-bar-color-accent-5, var(--t-accent-5, #52e052))}.bar.color-accent-6{--comp-bar-color:var(--tct-card-bar-color-accent-6, var(--t-accent-6, #52e099))}.bar.color-accent-7{--comp-bar-color:var(--tct-card-bar-color-accent-7, var(--t-accent-7, #52e0e0))}.bar.color-accent-8{--comp-bar-color:var(--tct-card-bar-color-accent-8, var(--t-accent-8, #5299e0))}.bar.color-accent-9{--comp-bar-color:var(--tct-card-bar-color-accent-9, var(--t-accent-9, #5252e0))}.bar.color-accent-10{--comp-bar-color:var(--tct-card-bar-color-accent-10, var(--t-accent-10, #9952e0))}.bar.color-accent-11{--comp-bar-color:var(--tct-card-bar-color-accent-11, var(--t-accent-11, #e052e0))}.bar.color-accent-12{--comp-bar-color:var(--tct-card-bar-color-accent-12, var(--t-accent-12, #e05299))}.touch-indicator{align-self:center;--tct-icon-size:var(--comp-chevron-size)}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { r as e, c as a, h as t, H as r, g as o } from "./index-7a5365e2.js";
2
2
 
3
- import { l as n } from "./index-f2a66217.js";
3
+ import { l as n } from "./index-e4c2bfff.js";
4
4
 
5
5
  const s = "*{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 #0066cc)}: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-carousel .swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;transition:all 0.2s}q2-carousel-pane.q2-carousel-pane{--comp-carousel-pane-tween:var(--tct-tween-1, var(--app-tween-1, 0.2s ease));--comp-carousel-shadow:var(--app-shadow-2, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 4px 8px rgba(0, 0, 0, 0.14));cursor:grab}q2-carousel-pane.q2-carousel-pane:not([is-active-pane]) *{cursor:pointer}q2-carousel-pane.q2-carousel-pane:focus{box-shadow:none}q2-carousel-pane.q2-carousel-pane:focus .q2-carousel-pane-main-content{outline:none;box-shadow:var(--const-double-focus-ring)}q2-carousel-pane.q2-carousel-pane button{border:0;background:transparent;transition:all 0.2s;opacity:0.3;cursor:pointer}q2-carousel-pane.q2-carousel-pane button:hover{opacity:0.7}q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content{box-shadow:var(--comp-carousel-shadow);transition:var(--comp-carousel-pane-tween);background:var(--tct-carousel-background, var(--tct-carousel-background-color, var(--t-carousel-background-color, var(--tct-white, var(--app-white, #ffffff)))));border:var(--tct-carousel-pane-border-width, var(--t-carousel-pane-border-width, 0px)) solid var(--tct-carousel-pane-border-color, var(--t-carousel-pane-border-color, var(--tct-gray-11, var(--t-gray-11, var(--tct-gray-l1, var(--app-gray-l1, #cccccc))))));border-radius:var(--tct-carousel-pane-border-radius, var(--t-carousel-pane-border-radius, 8px));padding:var(--tct-carousel-pane-padding, var(--t-carousel-pane-padding, 7px));height:var(--tct-carousel-pane-height, var(--t-carousel-pane-height, 10em))}q2-carousel-pane.q2-carousel-pane .q2-carousel-pane-main-content:hover{box-shadow:var(--const-double-focus-ring), var(--comp-carousel-shadow)}q2-carousel-pane.q2-carousel-pane[slot-frameless]:not([slot-frameless=false]) .q2-carousel-pane-main-content{box-shadow:none;border:0;border-radius:0;padding:0}";
6
6
 
@@ -99,7 +99,7 @@ const c = class {
99
99
  render() {
100
100
  const {label: e} = this;
101
101
  return t(r, {
102
- key: "2aedd4957b29975f2a33168729e4764f9a5054f4",
102
+ key: "cd1455adf662c5c746a4521da041ddfba07282a8",
103
103
  class: this.generatePaneClass(this.currentPaneIndex),
104
104
  tabIndex: this.isActivePane ? 0 : -1,
105
105
  role: "group",
@@ -108,10 +108,10 @@ const c = class {
108
108
  "aria-label": e ? n(e) : n("tecton.element.carousel.itemDescription", [ (this.currentPaneIndex + 1).toString(), (this.siblingCount || 0).toString() ]),
109
109
  onClick: this.paneClicked
110
110
  }, t("article", {
111
- key: "1b1f852451f3f58f96b0e38a6051b49f83b9fb3c",
111
+ key: "5f3c81731a5ec90fcb5af184396d3e430be61b19",
112
112
  class: "q2-carousel-pane-main-content"
113
113
  }, t("slot", {
114
- key: "00bec6dca522ec9ebea3285405ed3bf94eea65ae"
114
+ key: "556cf2a83bc1c6715b9693d1d9eaa651ba83785a"
115
115
  })));
116
116
  }
117
117
  get hostElement() {
@@ -1,6 +1,6 @@
1
1
  import { r as e, c as t, h as i, F as n, H as s, g as r } from "./index-7a5365e2.js";
2
2
 
3
- import { c as o, l as a, a as l, o as c, i as f } from "./index-f2a66217.js";
3
+ import { c as o, l as a, a as l, o as c, i as f } from "./index-e4c2bfff.js";
4
4
 
5
5
  /**
6
6
  * SSR Window 4.0.2
@@ -1,6 +1,6 @@
1
1
  import { r, c as a, h as t, g as e } from "./index-7a5365e2.js";
2
2
 
3
- import { o as i, l as n } from "./index-f2a66217.js";
3
+ import { o as i, l as n } from "./index-e4c2bfff.js";
4
4
 
5
5
  import { _ as o, c as s, e as v, l as f, u, s as l, i as h, g as d, n as c, Z as p, a as m, b as y, t as b, d as S, r as g, f as P, G as w, h as M, j as I, S as D, m as L, k as x, o as N, p as T, q as k, P as C, v as A, w as E, x as O, y as B, z as F, A as z, C as G, B as U, D as V, E as R, F as q, H as K, I as j, L as _, J as Z, K as $, M as X, N as Y, O as H, Q as J, R as W, T as Q, U as rr, V as ar, W as tr, X as er, Y as ir, $ as nr, a0 as or, a1 as sr, a2 as vr, a3 as fr, a4 as ur, a5 as lr, a6 as hr, a7 as dr, a8 as cr, a9 as pr, aa as mr, ab as yr, ac as br, ad as Sr, ae as gr, af as Pr } from "./charting-1abfb877.js";
6
6
 
@@ -4284,10 +4284,10 @@ const aa = class {
4284
4284
  // #region Render Methods
4285
4285
  render() {
4286
4286
  return t("div", {
4287
- key: "30a28bc85debc198a9f18f255921135b894c1977",
4287
+ key: "9d314fbeaf3f97a5845fc7e7c990abfc1107dd45",
4288
4288
  class: "container"
4289
4289
  }, t("div", {
4290
- key: "2809c713137cc4469eff5a65c3680da8f9b83a37",
4290
+ key: "4be51fb27a8307dd80a6872babfc4a520c14bde5",
4291
4291
  ref: r => this.chartContainer = r,
4292
4292
  class: "chart-container",
4293
4293
  role: "img",