q2-tecton-elements 1.69.1 → 1.70.0

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 (273) hide show
  1. package/dist/bundle-report.json +2246 -355
  2. package/dist/cjs/click-elsewhere_3.cjs.entry.js +2 -2
  3. package/dist/cjs/{index-D2LFCsNP.js → index-SpDCZABA.js} +2 -2
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/q2-action-group_2.cjs.entry.js +1 -1
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +2 -2
  7. package/dist/cjs/q2-badge_2.cjs.entry.js +11 -4
  8. package/dist/cjs/q2-btn_2.cjs.entry.js +6 -2
  9. package/dist/cjs/q2-calendar.cjs.entry.js +5 -3
  10. package/dist/cjs/q2-card-image.cjs.entry.js +8 -6
  11. package/dist/cjs/q2-card.cjs.entry.js +2 -2
  12. package/dist/cjs/q2-carousel-pane.cjs.entry.js +1 -1
  13. package/dist/cjs/q2-carousel.cjs.entry.js +1 -1
  14. package/dist/cjs/q2-chart-area.cjs.entry.js +1 -1
  15. package/dist/cjs/q2-chart-bar.cjs.entry.js +1 -1
  16. package/dist/cjs/q2-chart-donut.cjs.entry.js +2 -2
  17. package/dist/cjs/q2-checkbox-group.cjs.entry.js +1 -1
  18. package/dist/cjs/q2-checkbox_2.cjs.entry.js +4 -3
  19. package/dist/cjs/q2-context.cjs.entry.js +1 -1
  20. package/dist/cjs/q2-currency.cjs.entry.js +1 -1
  21. package/dist/cjs/q2-data-table.cjs.entry.js +6 -3
  22. package/dist/cjs/q2-detail.cjs.entry.js +2 -2
  23. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  24. package/dist/cjs/q2-dropdown.cjs.entry.js +3 -3
  25. package/dist/cjs/q2-editable-field.cjs.entry.js +12 -4
  26. package/dist/cjs/q2-file-picker.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  28. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  29. package/dist/cjs/q2-legend.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-link_2.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-loc.cjs.entry.js +20 -2
  32. package/dist/cjs/q2-message.cjs.entry.js +1 -1
  33. package/dist/cjs/q2-meter.cjs.entry.js +2 -2
  34. package/dist/cjs/q2-modal.cjs.entry.js +3 -3
  35. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-otp.cjs.entry.js +1 -1
  39. package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
  40. package/dist/cjs/q2-pill.cjs.entry.js +1 -1
  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 +1 -1
  44. package/dist/cjs/q2-search.cjs.entry.js +101 -12
  45. package/dist/cjs/q2-section.cjs.entry.js +2 -2
  46. package/dist/cjs/q2-select.cjs.entry.js +36 -6
  47. package/dist/cjs/q2-stepper-pane.cjs.entry.js +1 -1
  48. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +24 -18
  49. package/dist/cjs/q2-stepper.cjs.entry.js +5 -4
  50. package/dist/cjs/q2-surface.cjs.entry.js +95 -0
  51. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  52. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  53. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  54. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  55. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  56. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  57. package/dist/cjs/tecton-tab-pane.cjs.entry.js +2 -2
  58. package/dist/collection/collection-manifest.json +1 -0
  59. package/dist/collection/components/q2-action-sheet/q2-action-sheet.css +1 -1
  60. package/dist/collection/components/q2-btn/q2-btn.css +32 -17
  61. package/dist/collection/components/q2-btn/q2-btn.js +6 -1
  62. package/dist/collection/components/q2-calendar/q2-calendar.js +24 -2
  63. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +4 -0
  64. package/dist/collection/components/q2-card/q2-card.css +2 -2
  65. package/dist/collection/components/q2-card-image/q2-card-image.css +3 -0
  66. package/dist/collection/components/q2-card-image/q2-card-image.js +25 -23
  67. package/dist/collection/components/q2-chart-area/q2-chart-area.css +4 -0
  68. package/dist/collection/components/q2-chart-bar/q2-chart-bar.css +4 -0
  69. package/dist/collection/components/q2-chart-donut/q2-chart-donut.css +1 -1
  70. package/dist/collection/components/q2-checkbox/q2-checkbox.js +2 -1
  71. package/dist/collection/components/q2-currency/q2-currency.css +1 -1
  72. package/dist/collection/components/q2-data-table/q2-data-table.js +5 -2
  73. package/dist/collection/components/q2-detail/q2-detail.css +12 -12
  74. package/dist/collection/components/q2-dropdown/q2-dropdown.js +2 -2
  75. package/dist/collection/components/q2-editable-field/q2-editable-field.js +11 -3
  76. package/dist/collection/components/q2-input/q2-input.css +11 -1
  77. package/dist/collection/components/q2-input/q2-input.js +29 -2
  78. package/dist/collection/components/q2-input/test/q2-input-test.vr.js +8 -0
  79. package/dist/collection/components/q2-item/q2-item.css +10 -5
  80. package/dist/collection/components/q2-item/test/q2-item-test.vr.js +132 -0
  81. package/dist/collection/components/q2-legend/q2-legend.css +2 -2
  82. package/dist/collection/components/q2-list/q2-list.css +1 -1
  83. package/dist/collection/components/q2-loc/q2-loc.js +42 -1
  84. package/dist/collection/components/q2-message/q2-message.css +4 -0
  85. package/dist/collection/components/q2-meter/q2-meter.css +3 -3
  86. package/dist/collection/components/q2-modal/q2-modal.css +1 -1
  87. package/dist/collection/components/q2-modal/q2-modal.js +2 -2
  88. package/dist/collection/components/q2-otp/q2-otp.css +33 -0
  89. package/dist/collection/components/q2-otp/test/q2-otp-test.vr.js +83 -0
  90. package/dist/collection/components/q2-popover/q2-popover.css +2 -1
  91. package/dist/collection/components/q2-radio/q2-radio.css +2 -0
  92. package/dist/collection/components/q2-search/q2-search.css +30 -0
  93. package/dist/collection/components/q2-search/q2-search.js +99 -10
  94. package/dist/collection/components/q2-search/test/q2-search-test.vr.js +145 -0
  95. package/dist/collection/components/q2-section/q2-section.css +1 -1
  96. package/dist/collection/components/q2-select/q2-select.css +4 -2
  97. package/dist/collection/components/q2-select/q2-select.js +54 -4
  98. package/dist/collection/components/q2-select/test/q2-select-test.vr.js +5 -0
  99. package/dist/collection/components/q2-stepper/q2-stepper.css +2 -2
  100. package/dist/collection/components/q2-stepper/q2-stepper.js +3 -2
  101. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +2 -2
  102. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +22 -16
  103. package/dist/collection/components/q2-surface/q2-surface.css +348 -0
  104. package/dist/collection/components/q2-surface/q2-surface.js +381 -0
  105. package/dist/collection/components/q2-surface/test/q2-surface-test.vr.js +108 -0
  106. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  107. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  108. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  109. package/dist/collection/components/q2-toast/q2-toast.js +3 -1
  110. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  111. package/dist/collection/utils/index.js +2 -2
  112. package/dist/components/index.js +12 -10
  113. package/dist/components/index2.js +3 -3
  114. package/dist/components/q2-action-sheet.js +1 -1
  115. package/dist/components/q2-btn2.js +5 -1
  116. package/dist/components/q2-calendar.js +294 -290
  117. package/dist/components/q2-card-image.js +9 -6
  118. package/dist/components/q2-card.js +14 -14
  119. package/dist/components/q2-chart-donut.js +1 -1
  120. package/dist/components/q2-checkbox2.js +12 -12
  121. package/dist/components/q2-currency.js +1 -1
  122. package/dist/components/q2-data-table.js +4 -4
  123. package/dist/components/q2-detail.js +1 -1
  124. package/dist/components/q2-dropdown.js +8 -8
  125. package/dist/components/q2-editable-field.js +15 -5
  126. package/dist/components/q2-input2.js +46 -26
  127. package/dist/components/q2-item2.js +1 -1
  128. package/dist/components/q2-legend2.js +51 -51
  129. package/dist/components/q2-list2.js +1 -1
  130. package/dist/components/q2-loc.js +23 -8
  131. package/dist/components/q2-meter.js +10 -10
  132. package/dist/components/q2-modal.js +54 -54
  133. package/dist/components/q2-popover2.js +1 -1
  134. package/dist/components/q2-search.js +106 -51
  135. package/dist/components/q2-section.js +1 -1
  136. package/dist/components/q2-select2.js +25 -9
  137. package/dist/components/q2-stepper-vertical.js +72 -63
  138. package/dist/components/q2-stepper.js +73 -71
  139. package/dist/components/q2-surface.d.ts +11 -0
  140. package/dist/components/q2-surface.js +109 -0
  141. package/dist/components/q2-tab-container.js +12 -12
  142. package/dist/components/q2-tab-pane.js +6 -6
  143. package/dist/components/q2-tag2.js +5 -5
  144. package/dist/components/tecton-tab-pane.js +10 -10
  145. package/dist/esm/click-elsewhere_3.entry.js +2 -2
  146. package/dist/esm/{index-Bx4m6N0g.js → index-Cps4jSQM.js} +2 -2
  147. package/dist/esm/loader.js +1 -1
  148. package/dist/esm/q2-action-group_2.entry.js +1 -1
  149. package/dist/esm/q2-action-sheet.entry.js +2 -2
  150. package/dist/esm/q2-badge_2.entry.js +11 -4
  151. package/dist/esm/q2-btn_2.entry.js +6 -2
  152. package/dist/esm/q2-calendar.entry.js +5 -3
  153. package/dist/esm/q2-card-image.entry.js +8 -6
  154. package/dist/esm/q2-card.entry.js +2 -2
  155. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  156. package/dist/esm/q2-carousel.entry.js +1 -1
  157. package/dist/esm/q2-chart-area.entry.js +1 -1
  158. package/dist/esm/q2-chart-bar.entry.js +1 -1
  159. package/dist/esm/q2-chart-donut.entry.js +2 -2
  160. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  161. package/dist/esm/q2-checkbox_2.entry.js +4 -3
  162. package/dist/esm/q2-context.entry.js +1 -1
  163. package/dist/esm/q2-currency.entry.js +1 -1
  164. package/dist/esm/q2-data-table.entry.js +6 -3
  165. package/dist/esm/q2-detail.entry.js +2 -2
  166. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  167. package/dist/esm/q2-dropdown.entry.js +3 -3
  168. package/dist/esm/q2-editable-field.entry.js +12 -4
  169. package/dist/esm/q2-file-picker.entry.js +1 -1
  170. package/dist/esm/q2-icon.entry.js +1 -1
  171. package/dist/esm/q2-item.entry.js +2 -2
  172. package/dist/esm/q2-legend.entry.js +1 -1
  173. package/dist/esm/q2-link_2.entry.js +2 -2
  174. package/dist/esm/q2-loc.entry.js +20 -2
  175. package/dist/esm/q2-message.entry.js +1 -1
  176. package/dist/esm/q2-meter.entry.js +2 -2
  177. package/dist/esm/q2-modal.entry.js +3 -3
  178. package/dist/esm/q2-month-picker.entry.js +1 -1
  179. package/dist/esm/q2-optgroup.entry.js +1 -1
  180. package/dist/esm/q2-option.entry.js +1 -1
  181. package/dist/esm/q2-otp.entry.js +1 -1
  182. package/dist/esm/q2-pagination.entry.js +1 -1
  183. package/dist/esm/q2-pill.entry.js +1 -1
  184. package/dist/esm/q2-radio-group.entry.js +1 -1
  185. package/dist/esm/q2-radio.entry.js +1 -1
  186. package/dist/esm/q2-relative-time.entry.js +1 -1
  187. package/dist/esm/q2-search.entry.js +101 -12
  188. package/dist/esm/q2-section.entry.js +2 -2
  189. package/dist/esm/q2-select.entry.js +36 -6
  190. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  191. package/dist/esm/q2-stepper-vertical.entry.js +24 -18
  192. package/dist/esm/q2-stepper.entry.js +5 -4
  193. package/dist/esm/q2-surface.entry.js +93 -0
  194. package/dist/esm/q2-tab-container.entry.js +2 -2
  195. package/dist/esm/q2-tab-pane.entry.js +1 -1
  196. package/dist/esm/q2-tecton-elements.js +1 -1
  197. package/dist/esm/q2-textarea.entry.js +1 -1
  198. package/dist/esm/q2-toast.entry.js +1 -1
  199. package/dist/esm/q2-tooltip.entry.js +1 -1
  200. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  201. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +2 -2
  202. package/dist/q2-tecton-elements/{index-Bx4m6N0g.js → index-Cps4jSQM.js} +3 -3
  203. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +1 -1
  204. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +2 -2
  205. package/dist/q2-tecton-elements/q2-badge_2.entry.js +51 -32
  206. package/dist/q2-tecton-elements/q2-btn_2.entry.js +6 -2
  207. package/dist/q2-tecton-elements/q2-calendar.entry.js +7 -4
  208. package/dist/q2-tecton-elements/q2-card-image.entry.js +65 -62
  209. package/dist/q2-tecton-elements/q2-card.entry.js +2 -2
  210. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +1 -1
  211. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  212. package/dist/q2-tecton-elements/q2-chart-area.entry.js +54 -54
  213. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
  214. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +7 -7
  215. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +1 -1
  216. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +18 -18
  217. package/dist/q2-tecton-elements/q2-context.entry.js +1 -1
  218. package/dist/q2-tecton-elements/q2-currency.entry.js +1 -1
  219. package/dist/q2-tecton-elements/q2-data-table.entry.js +50 -50
  220. package/dist/q2-tecton-elements/q2-detail.entry.js +2 -2
  221. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  222. package/dist/q2-tecton-elements/q2-dropdown.entry.js +16 -16
  223. package/dist/q2-tecton-elements/q2-editable-field.entry.js +15 -8
  224. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  225. package/dist/q2-tecton-elements/q2-icon.entry.js +1 -1
  226. package/dist/q2-tecton-elements/q2-item.entry.js +2 -2
  227. package/dist/q2-tecton-elements/q2-legend.entry.js +1 -1
  228. package/dist/q2-tecton-elements/q2-link_2.entry.js +2 -2
  229. package/dist/q2-tecton-elements/q2-loc.entry.js +20 -6
  230. package/dist/q2-tecton-elements/q2-message.entry.js +1 -1
  231. package/dist/q2-tecton-elements/q2-meter.entry.js +2 -2
  232. package/dist/q2-tecton-elements/q2-modal.entry.js +55 -55
  233. package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
  234. package/dist/q2-tecton-elements/q2-optgroup.entry.js +1 -1
  235. package/dist/q2-tecton-elements/q2-option.entry.js +7 -7
  236. package/dist/q2-tecton-elements/q2-otp.entry.js +1 -1
  237. package/dist/q2-tecton-elements/q2-pagination.entry.js +1 -1
  238. package/dist/q2-tecton-elements/q2-pill.entry.js +1 -1
  239. package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
  240. package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
  241. package/dist/q2-tecton-elements/q2-relative-time.entry.js +1 -1
  242. package/dist/q2-tecton-elements/q2-search.entry.js +108 -53
  243. package/dist/q2-tecton-elements/q2-section.entry.js +2 -2
  244. package/dist/q2-tecton-elements/q2-select.entry.js +25 -10
  245. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  246. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +75 -66
  247. package/dist/q2-tecton-elements/q2-stepper.entry.js +47 -45
  248. package/dist/q2-tecton-elements/q2-surface.entry.js +89 -0
  249. package/dist/q2-tecton-elements/q2-tab-container.entry.js +13 -13
  250. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +2 -2
  251. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  252. package/dist/q2-tecton-elements/q2-textarea.entry.js +1 -1
  253. package/dist/q2-tecton-elements/q2-toast.entry.js +5 -5
  254. package/dist/q2-tecton-elements/q2-tooltip.entry.js +8 -8
  255. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  256. package/dist/types/components/q2-calendar/q2-calendar.d.ts +2 -0
  257. package/dist/types/components/q2-card-image/q2-card-image.d.ts +5 -5
  258. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +1 -0
  259. package/dist/types/components/q2-input/q2-input.d.ts +3 -0
  260. package/dist/types/components/q2-item/test/q2-item-test.vr.d.ts +1 -0
  261. package/dist/types/components/q2-loc/q2-loc.d.ts +6 -0
  262. package/dist/types/components/q2-modal/q2-modal.d.ts +1 -1
  263. package/dist/types/components/q2-otp/test/q2-otp-test.vr.d.ts +1 -0
  264. package/dist/types/components/q2-search/q2-search.d.ts +7 -0
  265. package/dist/types/components/q2-search/test/q2-search-test.vr.d.ts +1 -0
  266. package/dist/types/components/q2-select/q2-select.d.ts +4 -0
  267. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +2 -1
  268. package/dist/types/components/q2-surface/q2-surface.d.ts +54 -0
  269. package/dist/types/components/q2-surface/test/q2-surface-test.vr.d.ts +1 -0
  270. package/dist/types/components/q2-toast/q2-toast.d.ts +3 -1
  271. package/dist/types/components.d.ts +259 -13
  272. package/dist/types/utils/index.d.ts +3 -1
  273. package/package.json +4 -3
@@ -1,6 +1,6 @@
1
1
  import { r as t, c as i, h as e, F as s, g as o } from "./index-Cqkz7Bnm.js";
2
2
 
3
- import { l as n, o as r, i as a, w as l } from "./index-Bx4m6N0g.js";
3
+ import { o as n, i as r, w as l, l as a } from "./index-Cps4jSQM.js";
4
4
 
5
5
  const h = class {
6
6
  constructor(e) {
@@ -68,6 +68,7 @@ const h = class {
68
68
  * results and only the selected options. Only applies to `multiple` (multi-select).
69
69
  */
70
70
  this.showSelectedToggle = !1, this.clearAll = () => {
71
+ this.clearSelectedDisplay();
71
72
  const {multiple: t} = this;
72
73
  this.value = "", this.selectedOptions = [], this.searchText = "", this.isShowingSelectionDisplay = !1,
73
74
  this.showSelected = !1,
@@ -81,9 +82,9 @@ const h = class {
81
82
  query: ""
82
83
  });
83
84
  }, this.handleSelectionChanges = t => {
84
- var i, e, s, o, r, a, l;
85
- const {multiple: h} = this;
86
- if (h) {
85
+ var i, e, s, o, n;
86
+ const {multiple: r} = this;
87
+ if (r) {
87
88
  const s = (null !== (i = t.values) && void 0 !== i ? i : []).map((t => t.value)), o = null !== (e = t.value) && void 0 !== e ? e : "";
88
89
  this.selectedOptions = s,
89
90
  // Preserve the in-progress query — the user may want to keep refining and pick more
@@ -97,16 +98,20 @@ const h = class {
97
98
  const i = null !== (s = t.value) && void 0 !== s ? s : "";
98
99
  // Re-clicking the already-selected single-select option closes the popover
99
100
  // with no state change and no `tctChange`.
100
- if (i === this.value && "" !== i)
101
- // Focus before close so the focus event fires while open===true, which
102
- // causes onFocus to skip openDropdown (it's already open at that point).
103
- return null === (o = this.innerInputField) || void 0 === o || o.focus(), void this.closeDropdown();
101
+ if (i === this.value && "" !== i) {
102
+ const t = this.optionElements.find((t => t.value === i));
103
+ return this.searchText = this.optionDisplayText(t, i), this.isShowingSelectionDisplay = !0,
104
+ this.checkSelectedDisplay(),
105
+ // Focus before close so the focus event fires while open===true, which
106
+ // causes onFocus to skip openDropdown (it's already open at that point).
107
+ null === (o = this.innerInputField) || void 0 === o || o.focus(), void this.closeDropdown();
108
+ }
104
109
  this.value = i;
105
- const e = this.optionElements.find((t => t.value === i)), h = (null == e ? void 0 : e.display) ? n(e.display) : null !== (a = null === (r = null == e ? void 0 : e.textContent) || void 0 === r ? void 0 : r.trim()) && void 0 !== a ? a : i;
106
- this.searchText = h, this.isShowingSelectionDisplay = !0,
110
+ const e = this.optionElements.find((t => t.value === i)), r = this.optionDisplayText(e, i);
111
+ this.searchText = r, this.isShowingSelectionDisplay = !0, this.checkSelectedDisplay(),
107
112
  // Focus before close: the focus event fires while open===true so onFocus's
108
113
  // openDropdown call is a no-op, then closeDropdown brings us to closed+focused.
109
- null === (l = this.innerInputField) || void 0 === l || l.focus(), this.closeDropdown(),
114
+ null === (n = this.innerInputField) || void 0 === n || n.focus(), this.closeDropdown(),
110
115
  this.tctChange.emit({
111
116
  value: i,
112
117
  selectedOptions: i ? [ i ] : [],
@@ -122,10 +127,11 @@ const h = class {
122
127
  }, this.inputInputHandler = t => {
123
128
  t.stopPropagation();
124
129
  const i = t.detail.value;
130
+ this.isShowingSelectionDisplay && this.clearSelectedDisplay(),
125
131
  // Preserve `value` while the user types — they're searching, not deselecting.
126
132
  // `handleSelectionChanges` updates value if they pick a different option,
127
133
  // and `revertToSelectedDisplay` restores the display on blur.
128
- this.searchText = i, this.isShowingSelectionDisplay = !1, this.open || this.openDropdown(),
134
+ this.searchText = i, this.isShowingSelectionDisplay = !1, this.open || this.openDropdown(),
129
135
  // Local filter applies the new query synchronously; we can announce the count now.
130
136
  // In async mode (filter=false) results land later — onLoadingChange handles the
131
137
  // 'Loading' announcement and the post-fetch count.
@@ -138,14 +144,19 @@ const h = class {
138
144
  var t, i, e;
139
145
  const s = this.hostElement.shadowRoot;
140
146
  if (!s) return;
141
- const o = s.querySelector('slot[name="popover-top"]'), n = s.querySelector('slot[name="popover-bottom"]'), r = s.querySelector('slot[name="empty"]'), a = (null !== (t = null == o ? void 0 : o.assignedNodes().length) && void 0 !== t ? t : 0) > 0, l = (null !== (i = null == n ? void 0 : n.assignedNodes().length) && void 0 !== i ? i : 0) > 0, h = (null !== (e = null == r ? void 0 : r.assignedNodes().length) && void 0 !== e ? e : 0) > 0, c = this.optionElements.length > 0;
142
- this.hasPopoverTop !== a && (this.hasPopoverTop = a), this.hasPopoverBottom !== l && (this.hasPopoverBottom = l),
147
+ const o = s.querySelector('slot[name="popover-top"]'), n = s.querySelector('slot[name="popover-bottom"]'), r = s.querySelector('slot[name="empty"]'), l = (null !== (t = null == o ? void 0 : o.assignedNodes().length) && void 0 !== t ? t : 0) > 0, a = (null !== (i = null == n ? void 0 : n.assignedNodes().length) && void 0 !== i ? i : 0) > 0, h = (null !== (e = null == r ? void 0 : r.assignedNodes().length) && void 0 !== e ? e : 0) > 0, c = this.optionElements.length > 0;
148
+ this.hasPopoverTop !== l && (this.hasPopoverTop = l), this.hasPopoverBottom !== a && (this.hasPopoverBottom = a),
143
149
  this.hasEmptySlot !== h && (this.hasEmptySlot = h), this.hasOptions !== c && (this.hasOptions = c),
144
150
  // If input-only mode just turned on while popover was open, close it.
145
151
  this.open && this.isInputOnlyMode && this.closeDropdown(), this.checkSelectedOptions(),
146
152
  this.multilineOptions && this.applyMultilineOptions();
147
153
  }, this.onOptionListChange = t => {
148
154
  t.stopPropagation(), this.handleSelectionChanges(t.detail);
155
+ }, this.onSelectedDisplayMousedown = t => {
156
+ var i;
157
+ t.preventDefault(), t.stopPropagation(), this.isShowingSelectionDisplay = !1, this.clearSelectedDisplay(),
158
+ this.value && (null === (i = this.innerInputField) || void 0 === i || i.select()),
159
+ this.open || this.openDropdown();
149
160
  }, this.onViewportResize = () => {
150
161
  if (!this.open || !this.popoverAlignment) return;
151
162
  const t = this.getResolvedPopoverWidth();
@@ -170,23 +181,26 @@ const h = class {
170
181
  this.buildStructuredSelectedOptions(), this.applyMultilineOptions();
171
182
  }
172
183
  componentDidLoad() {
173
- this.initMutationObserver(), r(this.hostElement), this.setCustomLabel();
184
+ this.initMutationObserver(), n(this.hostElement), this.setCustomLabel();
174
185
  }
175
186
  // #endregion
176
187
  // #region Listeners
177
188
  onFocus(t) {
178
189
  var i, e, s, o;
179
190
  // Delegate programmatic focus from the host to the inner input
180
- t && a(t, this.hostElement) && (null === (i = this.innerInputField) || void 0 === i || i.focus());
191
+ t && r(t, this.hostElement) && (null === (i = this.innerInputField) || void 0 === i || i.focus());
181
192
  // Ignore focus that originates inside the popover (e.g., tabbing into a slotted
182
193
  // popover-bottom action button). Without this gate, the focus event bubbles up and
183
194
  // re-opens a just-closed popover as the user is trying to leave it.
184
195
  const n = null !== (e = ("function" == typeof (null == t ? void 0 : t.composedPath) ? t.composedPath() : [])[0]) && void 0 !== e ? e : null == t ? void 0 : t.target;
185
196
  n && (null === (s = this.popoverElement) || void 0 === s ? void 0 : s.contains(n)) || (this.inputFocused = !0,
186
- this.isShowingSelectionDisplay && (
197
+ // Only switch away from the selection display when the user actively re-engages the
198
+ // field (popover is closed). During the post-selection focus that closes the popover,
199
+ // `open` is still true — clearing here would immediately discard the rich display.
200
+ this.isShowingSelectionDisplay && !this.open && (
187
201
  // Clear the flag before mutating searchText so the filter watcher runs against the
188
202
  // new query, not the stale "showing a selection" guard.
189
- this.isShowingSelectionDisplay = !1, this.multiple ?
203
+ this.isShowingSelectionDisplay = !1, this.clearSelectedDisplay(), this.multiple ?
190
204
  // Multi-select always opens to a fresh search after a selection.
191
205
  this.searchText = "" : this.value && (
192
206
  // Single-select: pre-select the displayed text so the next keystroke replaces it
@@ -245,8 +259,9 @@ const h = class {
245
259
  * Emits `tctClose` as a side effect of closing the popover if it is open.
246
260
  * Does not emit `tctChange`.
247
261
  */ async reset() {
248
- this.value = "", this.selectedOptions = [], this.searchText = "", this.isShowingSelectionDisplay = !1,
249
- this.showSelected = !1, this.closeDropdown(), this.tctInput.emit({
262
+ this.clearSelectedDisplay(), this.value = "", this.selectedOptions = [], this.searchText = "",
263
+ this.isShowingSelectionDisplay = !1, this.showSelected = !1, this.closeDropdown(),
264
+ this.tctInput.emit({
250
265
  query: ""
251
266
  });
252
267
  }
@@ -275,7 +290,7 @@ const h = class {
275
290
  onLoadingChange(t) {
276
291
  // When loading turns on with the input focused but the popover was closed (because
277
292
  // input-only mode was active), open the popover so the spinner is visible.
278
- t && this.inputFocused && !this.open && this.openDropdown(), t ? this.setStatusMessage(n("tecton.element.search.loading")) : this.open && this.announceResults();
293
+ t && this.inputFocused && !this.open && this.openDropdown(), t ? this.setStatusMessage(a("tecton.element.search.loading")) : this.open && this.announceResults();
279
294
  }
280
295
  onMultilineOptionsChange() {
281
296
  this.applyMultilineOptions();
@@ -321,6 +336,11 @@ const h = class {
321
336
  // total count (no selection display in the input to subtract from).
322
337
  this.isShowingSelectionDisplay ? e > 1 ? "+" + (e - 1) : null : `${e}`;
323
338
  }
339
+ get firstSelectedOptionElement() {
340
+ var t, i;
341
+ const e = this.multiple ? null === (t = this.selectedOptions) || void 0 === t ? void 0 : t[0] : this.value;
342
+ return e && null !== (i = this.optionElements.find((t => t.value === e))) && void 0 !== i ? i : null;
343
+ }
324
344
  get innerInputContainer() {
325
345
  var t, i, e;
326
346
  return null !== (e = null === (i = null === (t = this.inputField) || void 0 === t ? void 0 : t.shadowRoot) || void 0 === i ? void 0 : i.querySelector(".input-container")) && void 0 !== e ? e : null;
@@ -347,6 +367,9 @@ const h = class {
347
367
  const t = this.hostElement.querySelector("q2-option:not([hidden])"), i = t ? window.getComputedStyle(t).minHeight : null, e = i && /^([\d.]+)px$/.exec(i), s = e ? parseFloat(e[1]) : NaN, o = Number.isFinite(s) && s > 0 ? s : 44;
348
368
  return this.minRows * o;
349
369
  }
370
+ get selectedDisplaySlot() {
371
+ return this.hostElement.querySelector('[slot="_selected-display"]');
372
+ }
350
373
  get visibleOptionElements() {
351
374
  return this.optionElements.filter((t => !t.hidden));
352
375
  }
@@ -356,7 +379,7 @@ const h = class {
356
379
  this.inputFocused && t.push("is-focused"), t.join(" ");
357
380
  }
358
381
  announceResults() {
359
- const t = this.visibleOptionElements.length, i = 0 === t ? n("tecton.element.search.noResults") : n("tecton.element.search.results", [ t ]);
382
+ const t = this.visibleOptionElements.length, i = 0 === t ? a("tecton.element.search.noResults") : a("tecton.element.search.results", [ t ]);
360
383
  this.setStatusMessage(i);
361
384
  }
362
385
  applyLocalFilter() {
@@ -372,12 +395,34 @@ const h = class {
372
395
  const {multilineOptions: t} = this;
373
396
  this.optionElements.forEach((i => i.multiline = t));
374
397
  }
398
+ checkSelectedDisplay() {
399
+ var t;
400
+ const {multilineOptions: i, isShowingSelectionDisplay: e, value: s, multiple: o, selectedOptions: n, firstSelectedOptionElement: r} = this, l = o ? !(null == n ? void 0 : n.length) : !s;
401
+ if (!i || !e || l) return this.clearSelectedDisplay();
402
+ if (!r || r.display) return this.clearSelectedDisplay();
403
+ const a = r.firstElementChild;
404
+ if (!a) return this.clearSelectedDisplay();
405
+ const h = a.cloneNode(!0);
406
+ h.querySelectorAll("[hide-on-select]").forEach((t => t.remove()));
407
+ let c = this.selectedDisplaySlot;
408
+ return c ? (null === (t = c.firstElementChild) || void 0 === t ? void 0 : t.outerHTML) !== h.outerHTML && c.replaceChildren(h) : (c = document.createElement("div"),
409
+ c.slot = "_selected-display",
410
+ // Prevent the non-focusable overlay from blurring the hidden input when clicked.
411
+ // Same pattern used by q2-input's clear button (onMouseDown preventDefault).
412
+ c.addEventListener("mousedown", this.onSelectedDisplayMousedown), c.appendChild(h),
413
+ this.hostElement.appendChild(c)), c;
414
+ }
375
415
  checkSelectedOptions() {
376
416
  const {multiple: t, selectedOptions: i, value: e} = this;
377
417
  this.optionElements.forEach((s => {
378
418
  s.selected = t ? i.includes(s.value) : s.value === e;
379
419
  }));
380
420
  }
421
+ clearSelectedDisplay() {
422
+ const t = this.selectedDisplaySlot;
423
+ return t && (t.removeEventListener("mousedown", this.onSelectedDisplayMousedown),
424
+ t.remove()), null;
425
+ }
381
426
  closeDropdown() {
382
427
  this.open && (this.open = !1, this.tctClose.emit());
383
428
  }
@@ -394,29 +439,33 @@ const h = class {
394
439
  this.readonly || this.disabled || this.open || this.isInputOnlyMode || (this.open = !0,
395
440
  this.tctOpen.emit());
396
441
  }
442
+ optionDisplayText(t, i = "") {
443
+ var e, s;
444
+ return (null == t ? void 0 : t.display) ? a(t.display) : this.multilineOptions ? "" : null !== (s = null === (e = null == t ? void 0 : t.textContent) || void 0 === e ? void 0 : e.trim()) && void 0 !== s ? s : i;
445
+ }
397
446
  revertToSelectedDisplay() {
398
- var t, i, e, s, o;
447
+ var t, i, e;
399
448
  if (this.multiple) {
400
449
  // Preserve an in-progress query — user blurred without selecting and may resume.
401
450
  if (this.searchText) return;
402
451
  // No in-progress query: show the first selection's display, paired with the badge.
403
- const s = null === (t = this.selectedOptions) || void 0 === t ? void 0 : t[0];
404
- if (!s) return;
405
- const o = this.optionElements.find((t => t.value === s));
452
+ const i = null === (t = this.selectedOptions) || void 0 === t ? void 0 : t[0];
453
+ if (!i) return;
454
+ const e = this.optionElements.find((t => t.value === i));
406
455
  // No matching slotted option (typical with async-fetched options that haven't
407
456
  // re-populated yet) — leave the query alone rather than blanking it.
408
- if (!o) return;
409
- const r = o.display ? n(o.display) : null !== (e = null === (i = o.textContent) || void 0 === i ? void 0 : i.trim()) && void 0 !== e ? e : "";
410
- return this.searchText = r, void (this.isShowingSelectionDisplay = !0);
457
+ if (!e) return;
458
+ const s = this.optionDisplayText(e);
459
+ return this.searchText = s, void (this.isShowingSelectionDisplay = !0);
411
460
  }
412
461
  // Single-select: if a value is set, snap the input back to its display.
413
462
  // If nothing is selected, leave any in-progress query alone.
414
463
  if (!this.value) return;
415
- const r = this.optionElements.find((t => t.value === this.value));
464
+ const s = this.optionElements.find((t => t.value === this.value));
416
465
  // Same guard: don't clobber an in-progress query when the matching option isn't in the DOM.
417
- if (!r) return;
418
- const a = r.display ? n(r.display) : null !== (o = null === (s = r.textContent) || void 0 === s ? void 0 : s.trim()) && void 0 !== o ? o : "";
419
- this.isShowingSelectionDisplay = !0, this.searchText !== a && (this.searchText = a);
466
+ if (!s) return;
467
+ const o = s.display ? a(s.display) : this.multilineOptions ? "" : null !== (e = null === (i = s.textContent) || void 0 === i ? void 0 : i.trim()) && void 0 !== e ? e : "";
468
+ this.isShowingSelectionDisplay = !0, this.searchText !== o ? this.searchText = o : this.checkSelectedDisplay();
420
469
  }
421
470
  setCustomLabel() {
422
471
  var t;
@@ -439,45 +488,51 @@ const h = class {
439
488
  }
440
489
  // #endregion
441
490
  // #region Render Methods
491
+ renderCustomDisplay() {
492
+ return this.checkSelectedDisplay() ? e("slot", {
493
+ name: "_selected-display",
494
+ slot: "custom-display"
495
+ }) : null;
496
+ }
442
497
  renderEmpty() {
443
498
  return this.hasEmptySlot ? e("slot", {
444
499
  name: "empty"
445
500
  }) : e("div", {
446
501
  class: "no-results"
447
- }, n(this.noResultsMessage));
502
+ }, a(this.noResultsMessage));
448
503
  }
449
504
  renderMultiSelectHeader() {
450
505
  var t, i;
451
506
  if (!this.multiple || !this.showSelectedToggle) return null;
452
- const s = null !== (i = null === (t = this.selectedOptions) || void 0 === t ? void 0 : t.length) && void 0 !== i ? i : 0, o = this.visibleOptionElements.length, {showSelected: r} = this;
507
+ const s = null !== (i = null === (t = this.selectedOptions) || void 0 === t ? void 0 : t.length) && void 0 !== i ? i : 0, o = this.visibleOptionElements.length, {showSelected: n} = this;
453
508
  return e("div", {
454
509
  class: "multi-select-header"
455
510
  }, e("fieldset", null, e("legend", {
456
- "aria-label": n("tecton.element.search.multiHeader.showing")
457
- }, n("tecton.element.search.multiHeader.showing")), e("div", null, e("input", {
511
+ "aria-label": a("tecton.element.search.multiHeader.showing")
512
+ }, a("tecton.element.search.multiHeader.showing")), e("div", null, e("input", {
458
513
  class: "sr",
459
514
  type: "radio",
460
515
  id: `${this.optionListId}-results`,
461
516
  name: `${this.optionListId}-view`,
462
517
  value: "results",
463
- checked: !r,
464
- "aria-label": n("tecton.element.search.multiHeader.resultsAriaLabel", [ o ]),
518
+ checked: !n,
519
+ "aria-label": a("tecton.element.search.multiHeader.resultsAriaLabel", [ o ]),
465
520
  onClick: this.showAllOptions
466
521
  }), e("label", {
467
522
  htmlFor: `${this.optionListId}-results`
468
- }, n("tecton.element.search.multiHeader.results", [ o ]))), e("div", null, e("input", {
523
+ }, a("tecton.element.search.multiHeader.results", [ o ]))), e("div", null, e("input", {
469
524
  class: "sr",
470
525
  type: "radio",
471
526
  id: `${this.optionListId}-selected`,
472
527
  name: `${this.optionListId}-view`,
473
528
  value: "selected",
474
529
  disabled: 0 === s,
475
- checked: r,
476
- "aria-label": n("tecton.element.search.multiHeader.selectedAriaLabel", [ s ]),
530
+ checked: n,
531
+ "aria-label": a("tecton.element.search.multiHeader.selectedAriaLabel", [ s ]),
477
532
  onClick: this.showSelectedOptions
478
533
  }), e("label", {
479
534
  htmlFor: `${this.optionListId}-selected`
480
- }, n("tecton.element.search.multiHeader.selected", [ s ])))));
535
+ }, a("tecton.element.search.multiHeader.selected", [ s ])))));
481
536
  }
482
537
  renderOptionsDropdown() {
483
538
  var t;
@@ -518,7 +573,7 @@ const h = class {
518
573
  ref: t => this.optionList = t,
519
574
  type: "listbox",
520
575
  id: this.optionListId,
521
- label: n(this.listLabel),
576
+ label: a(this.listLabel),
522
577
  multiple: this.multiple,
523
578
  selectedOptions: this.structuredSelectedOptions,
524
579
  showSelected: this.showSelected,
@@ -541,32 +596,32 @@ const h = class {
541
596
  }
542
597
  render() {
543
598
  return e(s, {
544
- key: "918ec8192e1dca668611c06f30f002413d87abca"
599
+ key: "0686476c153375c6c3cca61cdeaf1267c5ca6b20"
545
600
  }, e("div", {
546
- key: "a6b81bd23e5d7224986175fc02b21e2fd1433f04",
601
+ key: "f5ed583b8da30b2222dd4a466a37e1c10b589fa7",
547
602
  "aria-live": "polite",
548
603
  "aria-atomic": "true",
549
604
  role: "status",
550
605
  class: "sr"
551
606
  }, this.statusMessage), e("click-elsewhere", {
552
- key: "7f83f9b669917b5430aedca1595aee0837edd4da",
607
+ key: "f1172a06706ea799f6020d21610004450e051d9a",
553
608
  class: this.wrapperClasses,
554
609
  role: "presentation",
555
610
  onChange: this.onClickElsewhere
556
611
  }, e("q2-input", {
557
- key: "7d8de986679460091123baa023a791dcdaecc58a",
612
+ key: "75675f105bd09279650e6aae6b869e0f3f99c270",
558
613
  ref: t => this.inputField = t,
559
614
  class: "q2-search-input",
560
- label: this.label && n(this.label) || "",
615
+ label: this.label && a(this.label) || "",
561
616
  value: this.searchText,
562
617
  iconLeft: "search",
563
618
  clearable: this.clearable && !this.loading && !!this.searchText,
564
619
  disabled: this.disabled,
565
620
  optional: this.optional,
566
621
  readonly: !!this.readonly,
567
- placeholder: this.placeholder ? n(this.placeholder) : void 0,
622
+ placeholder: this.placeholder ? a(this.placeholder) : void 0,
568
623
  hideLabel: this.hideLabel,
569
- errors: Array.isArray(this.errors) && this.errors.length > 0 && this.errors.map((t => n(t))) || this.invalid && [ "tecton.element.search.invalid" ] || [],
624
+ errors: Array.isArray(this.errors) && this.errors.length > 0 && this.errors.map((t => a(t))) || this.invalid && [ "tecton.element.search.invalid" ] || [],
570
625
  ariaExpanded: this.isInputOnlyMode ? void 0 : `${this.open}`,
571
626
  ariaControls: this.isInputOnlyMode ? void 0 : this.optionListId,
572
627
  ariaHaspopup: this.isInputOnlyMode ? void 0 : "listbox",
@@ -577,7 +632,7 @@ const h = class {
577
632
  onChange: t => t.stopPropagation(),
578
633
  onTctChange: t => t.stopPropagation(),
579
634
  badgeValue: this.badgeValue
580
- }), this.renderOptionsDropdown()));
635
+ }, this.renderCustomDisplay()), this.renderOptionsDropdown()));
581
636
  }
582
637
  get hostElement() {
583
638
  return o(this);
@@ -606,6 +661,6 @@ const h = class {
606
661
  }
607
662
  };
608
663
 
609
- h.style = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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-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, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14));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, 4px)));--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:var(--tct-search-margin, var(--tct-search-margin-top, var(--app-scale-5x, 25px)) 0 var(--tct-search-margin-bottom, var(--app-scale-5x, 25px)))}.q2-search-container{display:block;position:relative}.q2-search-input{margin:0;--tct-input-min-height:var(--tct-search-input-min-height, initial);--tct-input-max-height:var(--tct-search-input-max-height, none);--tct-input-horizontal-gap:var(--tct-search-input-horizontal-gap, var(--app-scale-2x, 10px));--tct-input-icon-container-icon-min-width:var(--tct-search-icon-min-width, fit-content)}.popover-content{display:flex;flex-direction:column}.popover-content[data-loading=true]{min-height:var(--tct-search-loading-popover-height, var(--app-scale-12x, 60px));position:relative}.popover-content[data-loading=true] .loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.popover-content[data-loading=true] .loading-overlay q2-loading{--tct-loading-spinner-size:var(--tct-search-loading-spinner-size, var(--app-scale-8x, 40px));width:1em;height:1em}.popover-top-container[hidden],.popover-bottom-container[hidden]{display:none}.popover-top-container{position:sticky;top:0;z-index:5}.popover-top-container .multi-select-header{padding:var(--tct-search-multi-select-header-padding, var(--app-scale-2x, 10px));background:var(--tct-search-multi-select-header-background, var(--t-base, #ffffff));display:flex;gap:var(--app-scale-2x, 10px);align-items:center}.popover-top-container .multi-select-header fieldset{margin:0;padding:0;border:0;display:flex;gap:var(--app-scale-2x, 10px)}.popover-top-container .multi-select-header legend{padding:0;float:left}.popover-top-container .multi-select-header label{cursor:pointer;padding:var(--tct-search-multi-select-option-padding, 2px 5px);font-size:var(--tct-search-multi-select-option-font-size, inherit);border-radius:var(--tct-search-multi-select-option-border-radius, var(--app-border-radius-1, 4px));background:var(--tct-search-multi-select-option-background, transparent);color:var(--tct-search-multi-select-option-font-color, inherit)}.popover-top-container .multi-select-header label:hover{background:var(--tct-search-multi-select-option-hover-background, var(--t-gray-14, #f2f2f2));color:var(--tct-search-multi-select-option-hover-font-color, var(--t-gray-5, #404040))}.popover-top-container .multi-select-header input:checked+label,.popover-top-container .multi-select-header input:checked+label:enabled:hover{background:var(--tct-search-multi-select-option-active-background, var(--t-gray-4, #333333));color:var(--tct-search-multi-select-option-active-font-color, var(--t-base, #ffffff))}.popover-top-container .multi-select-header input:disabled+label{opacity:var(--tct-search-multi-select-option-disabled-opacity, var(--app-disabled-opacity, 0.4));cursor:not-allowed}.popover-top-container .multi-select-header input:focus-visible+label{box-shadow:var(--const-double-focus-ring)}.no-results{padding:var(--tct-search-no-results-padding, var(--app-scale-3x, 15px));color:var(--tct-search-no-results-font-color, var(--t-textA, rgba(77, 77, 77, 0.77)));text-align:center}";
664
+ h.style = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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-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, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14));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, 4px)));--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:var(--tct-search-margin, var(--tct-search-margin-top, var(--app-scale-5x, 25px)) 0 var(--tct-search-margin-bottom, var(--app-scale-5x, 25px)))}::slotted([slot=_selected-display]){width:100%;min-height:var(--comp-selected-display-height, 44px)}.q2-search-container{display:block;position:relative}.q2-search-input{margin:0;--tct-input-min-height:var(--tct-search-input-min-height, initial);--tct-input-max-height:var(--tct-search-input-max-height, none);--tct-input-horizontal-gap:var(--tct-search-input-horizontal-gap, var(--app-scale-2x, 10px));--tct-input-icon-container-icon-min-width:var(--tct-search-icon-min-width, fit-content)}.popover-content{display:flex;flex-direction:column}.popover-content[data-loading=true]{min-height:var(--tct-search-loading-popover-height, var(--app-scale-12x, 60px));position:relative}.popover-content[data-loading=true] .loading-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.popover-content[data-loading=true] .loading-overlay q2-loading{--tct-loading-spinner-size:var(--tct-search-loading-spinner-size, var(--app-scale-8x, 40px));width:1em;height:1em}.popover-top-container[hidden],.popover-bottom-container[hidden]{display:none}.popover-top-container{position:sticky;top:0;z-index:5}.popover-top-container .multi-select-header{padding:var(--tct-search-multi-select-header-padding, var(--app-scale-2x, 10px));background:var(--tct-search-multi-select-header-background, var(--t-base, #ffffff));display:flex;gap:var(--app-scale-2x, 10px);align-items:center}.popover-top-container .multi-select-header fieldset{margin:0;padding:0;border:0;display:flex;gap:var(--app-scale-2x, 10px)}.popover-top-container .multi-select-header legend{padding:0;float:left}.popover-top-container .multi-select-header label{cursor:pointer;padding:var(--tct-search-multi-select-option-padding, 2px 5px);font-size:var(--tct-search-multi-select-option-font-size, inherit);border-radius:var(--tct-search-multi-select-option-border-radius, var(--app-border-radius-1, 4px));background:var(--tct-search-multi-select-option-background, transparent);color:var(--tct-search-multi-select-option-font-color, inherit)}.popover-top-container .multi-select-header label:hover{background:var(--tct-search-multi-select-option-hover-background, var(--t-gray-14, #f2f2f2));color:var(--tct-search-multi-select-option-hover-font-color, var(--t-gray-5, #404040))}.popover-top-container .multi-select-header input:checked+label,.popover-top-container .multi-select-header input:checked+label:enabled:hover{background:var(--tct-search-multi-select-option-active-background, var(--t-gray-4, #333333));color:var(--tct-search-multi-select-option-active-font-color, var(--t-base, #ffffff))}.popover-top-container .multi-select-header input:disabled+label{opacity:var(--tct-search-multi-select-option-disabled-opacity, var(--app-disabled-opacity, 0.4));cursor:not-allowed}.popover-top-container .multi-select-header input:focus-visible+label{box-shadow:var(--const-double-focus-ring)}.no-results{padding:var(--tct-search-no-results-padding, var(--app-scale-3x, 15px));color:var(--tct-search-no-results-font-color, var(--t-textA, rgba(77, 77, 77, 0.77)));text-align:center}";
610
665
 
611
666
  export { h as q2_search }
@@ -1,6 +1,6 @@
1
1
  import { r as t, c as e, h as i, g as a } from "./index-Cqkz7Bnm.js";
2
2
 
3
- import { a as n, o as s, i as r, n as o, l as c } from "./index-Bx4m6N0g.js";
3
+ import { a as n, o as s, i as r, n as o, l as c } from "./index-Cps4jSQM.js";
4
4
 
5
5
  import { m as d } from "./mirror-emit-DUjY_ucm.js";
6
6
 
@@ -188,6 +188,6 @@ const h = class {
188
188
  }
189
189
  };
190
190
 
191
- h.style = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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;background:var(--tct-section-background, var(--tct-section-background-color, var(--t-section-background-color, var(--tct-section-bg, var(--t-section-bg, var(--app-white, #ffffff))))));color:var(--tct-section-font-color, var(--t-section-font-color, var(--t-text, #4d4d4d)));border-radius:var(--tct-section-border-radius, var(--t-section-border-radius, var(--app-border-radius-1, 4px)));margin:var(--tct-section-margin, var(--t-section-margin, var(--app-scale-3x, 15px)));border-width:var(--tct-section-border-width, 0);border-style:var(--tct-section-border-style, solid);border-color:var(--tct-section-border-color, none)}@media screen and (max-width: 767px){:host{--comp-default-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-margin, var(--t-section-margin, var(--comp-default-margin)))}}@media print{:host{--comp-default-print-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-print-margin, var(--comp-default-print-margin))}}.wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-1, 0.2s ease)));--comp-default-wrapper-padding:var(--app-scale-1x, 5px) 0;border-radius:var(--tct-section-border-radius, var(--t-section-border-radius, var(--app-border-radius-1, 4px)));display:block;padding:var(--tct-section-wrapper-padding, var(--t-section-wrapper-padding, var(--comp-default-wrapper-padding)))}.wrapper:hover{box-shadow:var(--tct-section-wrapper-hover-box-shadow, var(--t-section-wrapper-hover-box-shadow, inherit))}:host([collapsible]) .wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-2, 0.4s ease)))}header{--comp-default-header-padding:0 var(--app-scale-3x, 15px);padding:var(--tct-section-header-padding, var(--t-section-header-padding, var(--comp-default-header-padding)));display:flex}@media print{header{padding:var(--tct-section-header-print-padding, 0)}}header.has-header{min-height:var(--tct-section-header-min-height, var(--t-section-header-min-height, 44px))}.header-content{flex:1 1 100%;min-width:0;align-self:center}:host([collapsible]) .header-content{cursor:pointer}.title{margin:var(--tct-section-title-margin, 0);font-size:var(--tct-section-title-font-size, 20px);font-weight:var(--tct-section-title-font-weight, 600);text-transform:var(--tct-section-title-text-transform, none);letter-spacing:var(--tct-section-title-letter-spacing, inherit)}q2-icon{transition:transform var(--comp-tween)}:host(:not([expanded])) q2-icon,:host([expanded=false]) q2-icon{transform:rotate(180deg)}.content-wrapper{height:auto}.content-wrapper.is-closed{display:none;overflow:hidden}.content-wrapper.is-transitioning{overflow:hidden}:host([collapsible]) .content-wrapper{transition:height var(--comp-tween)}.content{--comp-default-content-padding:var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);padding:var(--tct-section-content-padding, var(--t-section-content-padding, var(--comp-default-content-padding)))}@media print{.content{padding:var(--tct-section-content-print-padding, 0)}}.content:focus{box-shadow:none}:host([collapsible]) :host(:not([expanded])) .content{visibility:hidden}q2-btn{--tct-btn-icon-hover-background:var(--tct-section-btn-hover-background, var(--app-gray-l3, #f2f2f2));--tct-icon-stroke-primary:var(--tct-section-btn-icon-stroke-primary, var(--app-gray, #747474));--tct-icon-stroke-secondary:var(--tct-section-btn-icon-stroke-secondary, var(--app-gray, #747474))}";
191
+ h.style = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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;background:var(--tct-section-background, var(--tct-section-background-color, var(--t-section-background-color, var(--tct-section-bg, var(--t-section-bg, var(--app-white, #ffffff))))));color:var(--tct-section-font-color, var(--t-section-font-color, inherit));border-radius:var(--tct-section-border-radius, var(--t-section-border-radius, var(--app-border-radius-1, 4px)));margin:var(--tct-section-margin, var(--t-section-margin, var(--app-scale-3x, 15px)));border-width:var(--tct-section-border-width, 0);border-style:var(--tct-section-border-style, solid);border-color:var(--tct-section-border-color, none)}@media screen and (max-width: 767px){:host{--comp-default-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-margin, var(--t-section-margin, var(--comp-default-margin)))}}@media print{:host{--comp-default-print-margin:var(--app-scale-3x, 15px) 0;margin:var(--tct-section-print-margin, var(--comp-default-print-margin))}}.wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-1, 0.2s ease)));--comp-default-wrapper-padding:var(--app-scale-1x, 5px) 0;border-radius:var(--tct-section-border-radius, var(--t-section-border-radius, var(--app-border-radius-1, 4px)));display:block;padding:var(--tct-section-wrapper-padding, var(--t-section-wrapper-padding, var(--comp-default-wrapper-padding)))}.wrapper:hover{box-shadow:var(--tct-section-wrapper-hover-box-shadow, var(--t-section-wrapper-hover-box-shadow, inherit))}:host([collapsible]) .wrapper{--comp-tween:var(--tct-section-tween, var(--t-section-tween, var(--app-tween-2, 0.4s ease)))}header{--comp-default-header-padding:0 var(--app-scale-3x, 15px);padding:var(--tct-section-header-padding, var(--t-section-header-padding, var(--comp-default-header-padding)));display:flex}@media print{header{padding:var(--tct-section-header-print-padding, 0)}}header.has-header{min-height:var(--tct-section-header-min-height, var(--t-section-header-min-height, 44px))}.header-content{flex:1 1 100%;min-width:0;align-self:center}:host([collapsible]) .header-content{cursor:pointer}.title{margin:var(--tct-section-title-margin, 0);font-size:var(--tct-section-title-font-size, 20px);font-weight:var(--tct-section-title-font-weight, 600);text-transform:var(--tct-section-title-text-transform, none);letter-spacing:var(--tct-section-title-letter-spacing, inherit)}q2-icon{transition:transform var(--comp-tween)}:host(:not([expanded])) q2-icon,:host([expanded=false]) q2-icon{transform:rotate(180deg)}.content-wrapper{height:auto}.content-wrapper.is-closed{display:none;overflow:hidden}.content-wrapper.is-transitioning{overflow:hidden}:host([collapsible]) .content-wrapper{transition:height var(--comp-tween)}.content{--comp-default-content-padding:var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);padding:var(--tct-section-content-padding, var(--t-section-content-padding, var(--comp-default-content-padding)))}@media print{.content{padding:var(--tct-section-content-print-padding, 0)}}.content:focus{box-shadow:none}:host([collapsible]) :host(:not([expanded])) .content{visibility:hidden}q2-btn{--tct-btn-icon-hover-background:var(--tct-section-btn-hover-background, var(--app-gray-l3, #f2f2f2));--tct-icon-stroke-primary:var(--tct-section-btn-icon-stroke-primary, var(--app-gray, #747474));--tct-icon-stroke-secondary:var(--tct-section-btn-icon-stroke-secondary, var(--app-gray, #747474))}";
192
192
 
193
193
  export { h as q2_section }
@@ -1,6 +1,6 @@
1
1
  import { r as t, c as e, h as i, F as s, g as o } from "./index-Cqkz7Bnm.js";
2
2
 
3
- import { c as l, l as n, g as a, d as r, o as c, i as h, j as d, k as p, w as u } from "./index-Bx4m6N0g.js";
3
+ import { c as l, l as n, g as a, d as r, o as c, i as h, j as d, k as p, w as u } from "./index-Cps4jSQM.js";
4
4
 
5
5
  import { m as v } from "./mirror-emit-DUjY_ucm.js";
6
6
 
@@ -71,7 +71,9 @@ const g = class {
71
71
  * Each item in this array should correspond to the value of a `q2-option` element.
72
72
  * This property is only relevant for `multiple` (i.e., multi-select) implementations.
73
73
  */
74
- this.selectedOptions = [], this.addTouchEventListeners = () => {
74
+ this.selectedOptions = [],
75
+ /** Determines whether to show a success state. The error state takes precedence when both are set. */
76
+ this.valid = !1, this.addTouchEventListeners = () => {
75
77
  a() && this.popoverElement && this.popoverElement.addEventListener("touchmove", this.handleTouchMove, {
76
78
  passive: !0
77
79
  });
@@ -158,6 +160,13 @@ const g = class {
158
160
  }, this.onPopoverState = ({detail: {open: t, action: e}}) => {
159
161
  t && !this.searchText || ("select" !== e && this.optionList.setActiveElement(null),
160
162
  this.inputField.focus()), this.open !== t && (this.open = t);
163
+ }, this.onSelectedDisplayClick = t => {
164
+ // Stop click from bubbling to q2-input's onClick (which would toggle the dropdown)
165
+ t.stopPropagation(), this.open || (this.prioritizeSearch = this.searchable, this.clearSelectedDisplay(),
166
+ this.openDropdownWithoutActiveElement()), this.focusInput();
167
+ }, this.onSelectedDisplayMousedown = t => {
168
+ // Prevent focus shift away from the hidden input
169
+ t.preventDefault();
161
170
  }, this.removeTouchEventListeners = () => {
162
171
  a() && this.popoverElement && this.popoverElement.removeEventListener("touchmove", this.handleTouchMove);
163
172
  }, this.showAllOptions = () => {
@@ -303,7 +312,9 @@ const g = class {
303
312
  t !== e && this.optionElements.forEach((e => e.multiline = t));
304
313
  }
305
314
  openChanged(t) {
306
- t ? this.addTouchEventListeners() : this.removeTouchEventListeners(), this.scheduledAfterRender.push((async () => {
315
+ t ? this.addTouchEventListeners() : (this.removeTouchEventListeners(),
316
+ // Reset prioritizeSearch when dropdown closes to ensure selected display can be restored
317
+ this.prioritizeSearch = !1), this.scheduledAfterRender.push((async () => {
307
318
  await u();
308
319
  const {popoverTopContainer: e, popoverElement: i} = this, s = t && (null == e ? void 0 : e.offsetHeight) || 0;
309
320
  s ? i.style.setProperty("--comp-popover-top-container-height", `${s}px`) : i.style.removeProperty("--comp-popover-top-container-height");
@@ -398,9 +409,11 @@ const g = class {
398
409
  const r = l.firstElementChild.cloneNode(!0);
399
410
  if (r.querySelectorAll("[hide-on-select]").forEach((t => t.remove())), t) {
400
411
  const e = 0 === t.clientHeight ? "auto" : `${t.clientHeight}px`;
401
- t.style.setProperty("--comp-selected-display-height", e), t.firstElementChild.outerHTML !== r.outerHTML && t.replaceChild(r, t.firstElementChild);
402
- } else t = document.createElement("div"), t.slot = "_selected-display", t.appendChild(r),
403
- this.hostElement.appendChild(t);
412
+ t.style.setProperty("--comp-selected-display-height", e), t.firstElementChild.outerHTML !== r.outerHTML && t.replaceChild(r, t.firstElementChild),
413
+ t.removeEventListener("mousedown", this.onSelectedDisplayMousedown), t.addEventListener("mousedown", this.onSelectedDisplayMousedown),
414
+ t.removeEventListener("click", this.onSelectedDisplayClick), t.addEventListener("click", this.onSelectedDisplayClick);
415
+ } else t = document.createElement("div"), t.slot = "_selected-display", t.addEventListener("mousedown", this.onSelectedDisplayMousedown),
416
+ t.addEventListener("click", this.onSelectedDisplayClick), t.appendChild(r), this.hostElement.appendChild(t);
404
417
  return t;
405
418
  }
406
419
  checkSelectedDisplayHeight() {
@@ -419,8 +432,9 @@ const g = class {
419
432
  }));
420
433
  }
421
434
  clearSelectedDisplay() {
422
- var t;
423
- null === (t = this.selectedDisplaySlot) || void 0 === t || t.remove();
435
+ const t = this.selectedDisplaySlot;
436
+ t && (t.removeEventListener("mousedown", this.onSelectedDisplayMousedown), t.removeEventListener("click", this.onSelectedDisplayClick),
437
+ t.remove());
424
438
  }
425
439
  clearValue() {
426
440
  const {multiple: t} = this;
@@ -538,6 +552,7 @@ const g = class {
538
552
  readonly: !!this.readonly,
539
553
  placeholder: this.placeholder || void 0,
540
554
  hideLabel: this.hideLabel,
555
+ valid: this.valid,
541
556
  ariaExpanded: `${this.open}`,
542
557
  ariaControls: "option-list",
543
558
  ariaHaspopup: "listbox",
@@ -602,7 +617,7 @@ const g = class {
602
617
  }
603
618
  render() {
604
619
  return i("click-elsewhere", {
605
- key: "d83fb08f6af3a98edc661170f83d89af991275ec",
620
+ key: "a08e10cf8bd4e2d3f210d36003417f2a1dec4b21",
606
621
  class: this.wrapperClasses,
607
622
  role: "presentation",
608
623
  onChange: this.clickedElsewhere
@@ -637,6 +652,6 @@ const g = class {
637
652
  }
638
653
  };
639
654
 
640
- g.style = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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-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, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14));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, 4px)));--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{--comp-default-select-margin:var(--tct-select-margin-top, var(--t-select-margin-top, var(--app-scale-5x, 25px))) 0 var(--tct-select-margin-bottom, var(--t-select-margin-bottom, var(--app-scale-5x, 25px)));display:block;margin:var(--tct-select-margin, var(--comp-default-select-margin))}.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)))}.popover-content{display:flex;flex-direction:column-reverse}.popover-bottom-container{position:sticky;bottom:0;z-index:5}.popover-top-container{position:sticky;top:0;z-index:5}.popover-top-container .multi-select-header{padding:var(--tct-scale-2, var(--app-scale-2x, 10px)) var(--tct-scale-2, var(--app-scale-2x, 10px));background:var(--app-white);display:flex;gap:var(--app-scale-2x, 10px);align-items:center}.popover-top-container .multi-select-header fieldset{margin:0;padding:0;border:0;display:flex;gap:var(--app-scale-2x, 10px)}.popover-top-container .multi-select-header legend{padding:0;float:left}.popover-top-container .multi-select-header label{cursor:pointer;padding:var(--tct-select-multi-select-option-padding, var(--t-select-multi-select-option-padding, var(--tct-btn-badge-padding, var(--t-btn-badge-padding, 2px 5px))));font-size:var(--tct-select-multi-select-option-font-size, var(--t-select-multi-select-option-font-size, var(--tct-btn-badge-font-size, var(--t-btn-badge-font-size, inherit))));border-radius:var(--tct-select-multi-select-option-radius, var(--t-select-multi-select-option-radius, var(--tct-btn-badge-border-radius, var(--t-btn-badge-border-radius, var(--app-border-radius-1, 4px)))));background:var(--tct-select-multi-select-option-background, var(--tct-select-multi-select-option-bg, var(--t-select-multi-select-option-bg, var(--tct-badge-background, var(--tct-btn-badge-bg, var(--t-btn-badge-bg, transparent))))));color:var(--tct-select-multi-select-option-color, var(--t-select-multi-select-option-color, var(--tct-btn-badge-font-color, var(--t-btn-badge-font-color, inherit))))}.popover-top-container .multi-select-header label:hover{background:var(--tct-select-multi-select-option-hover-background, var(--tct-select-multi-select-option-hover-background-color, var(--t-select-multi-select-option-hover-background-color, var(--tct-btn-badge-hover-bg, var(--t-btn-badge-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--app-gray-l3, #f2f2f2))))))));color:var(--tct-select-multi-select-option-hover-color, var(--tct-select-multi-select-option-color, var(--t-select-multi-select-option-color, var(--tct-btn-badge-hover-font-color, var(--t-btn-badge-hover-font-color, var(--tct-gray-5, var(--t-gray-5, var(--app-gray-d2, #404040))))))))}.popover-top-container .multi-select-header input:checked+label,.popover-top-container .multi-select-header input:checked+label:enabled:hover{background:var(--tct-select-multi-select-option-active-background, var(--tct-select-multi-select-option-active-background-color, var(--t-select-multi-select-option-active-background-color, var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e)))));color:var(--tct-select-multi-select-option-active-color, var(--t-select-multi-select-option-active-color, var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--app-white, #ffffff)))))}.popover-top-container .multi-select-header input:disabled+label{opacity:var(--tct-select-multi-select-option-disabled-opacity, var(--t-select-multi-select-option-disabled-opacity, var(--tct-btn-disabled-opacity, var(--t-btn-disabled-opacity, var(--app-disabled-opacity, 0.4)))));cursor:not-allowed}.popover-top-container .multi-select-header input:focus-visible+label{box-shadow:var(--const-double-focus-ring)}";
655
+ g.style = "*{box-sizing:border-box}*:active{outline:none}*:focus-visible{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-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, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14));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, 4px)));--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{--comp-default-select-margin:var(--tct-select-margin-top, var(--t-select-margin-top, var(--app-scale-5x, 25px))) 0 var(--tct-select-margin-bottom, var(--t-select-margin-bottom, var(--app-scale-5x, 25px)));display:block;margin:var(--tct-select-margin, var(--comp-default-select-margin))}.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);padding-top:var(--tct-select-selected-display-padding, var(--app-scale-2x, 10px));padding-bottom:var(--tct-select-selected-display-padding, var(--app-scale-2x, 10px))}.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)))}.popover-content{display:flex;flex-direction:column-reverse}.popover-bottom-container{position:sticky;bottom:0;z-index:5}.popover-top-container{position:sticky;top:0;z-index:5}.popover-top-container .multi-select-header{padding:var(--tct-scale-2, var(--app-scale-2x, 10px)) var(--tct-scale-2, var(--app-scale-2x, 10px));background:var(--app-white);display:flex;gap:var(--app-scale-2x, 10px);align-items:center}.popover-top-container .multi-select-header fieldset{margin:0;padding:0;border:0;display:flex;gap:var(--app-scale-2x, 10px)}.popover-top-container .multi-select-header legend{padding:0;float:left}.popover-top-container .multi-select-header label{cursor:pointer;padding:var(--tct-select-multi-select-option-padding, var(--t-select-multi-select-option-padding, var(--tct-btn-badge-padding, var(--t-btn-badge-padding, 2px 5px))));font-size:var(--tct-select-multi-select-option-font-size, var(--t-select-multi-select-option-font-size, var(--tct-btn-badge-font-size, var(--t-btn-badge-font-size, inherit))));border-radius:var(--tct-select-multi-select-option-radius, var(--t-select-multi-select-option-radius, var(--tct-btn-badge-border-radius, var(--t-btn-badge-border-radius, var(--app-border-radius-1, 4px)))));background:var(--tct-select-multi-select-option-background, var(--tct-select-multi-select-option-bg, var(--t-select-multi-select-option-bg, var(--tct-badge-background, var(--tct-btn-badge-bg, var(--t-btn-badge-bg, transparent))))));color:var(--tct-select-multi-select-option-color, var(--t-select-multi-select-option-color, var(--tct-btn-badge-font-color, var(--t-btn-badge-font-color, inherit))))}.popover-top-container .multi-select-header label:hover{background:var(--tct-select-multi-select-option-hover-background, var(--tct-select-multi-select-option-hover-background-color, var(--t-select-multi-select-option-hover-background-color, var(--tct-btn-badge-hover-bg, var(--t-btn-badge-hover-bg, var(--tct-gray-14, var(--t-gray-14, var(--app-gray-l3, #f2f2f2))))))));color:var(--tct-select-multi-select-option-hover-color, var(--tct-select-multi-select-option-color, var(--t-select-multi-select-option-color, var(--tct-btn-badge-hover-font-color, var(--t-btn-badge-hover-font-color, var(--tct-gray-5, var(--t-gray-5, var(--app-gray-d2, #404040))))))))}.popover-top-container .multi-select-header input:checked+label,.popover-top-container .multi-select-header input:checked+label:enabled:hover{background:var(--tct-select-multi-select-option-active-background, var(--tct-select-multi-select-option-active-background-color, var(--t-select-multi-select-option-active-background-color, var(--tct-btn-primary-bg, var(--t-btn-primary-bg, #2e2e2e)))));color:var(--tct-select-multi-select-option-active-color, var(--t-select-multi-select-option-active-color, var(--tct-btn-primary-font-color, var(--t-btn-primary-font-color, var(--app-white, #ffffff)))))}.popover-top-container .multi-select-header input:disabled+label{opacity:var(--tct-select-multi-select-option-disabled-opacity, var(--t-select-multi-select-option-disabled-opacity, var(--tct-btn-disabled-opacity, var(--t-btn-disabled-opacity, var(--app-disabled-opacity, 0.4)))));cursor:not-allowed}.popover-top-container .multi-select-header input:focus-visible+label{box-shadow:var(--const-double-focus-ring)}";
641
656
 
642
657
  export { g as q2_select }
@@ -2,7 +2,7 @@ import { r as t, c as e, h as i, F as s, H as a, g as n } from "./index-Cqkz7Bnm
2
2
 
3
3
  import { b as o } from "./component-DaQM9u3s.js";
4
4
 
5
- import { c as h, n as d, l as c } from "./index-Bx4m6N0g.js";
5
+ import { c as h, n as d, l as c } from "./index-Cps4jSQM.js";
6
6
 
7
7
  import { m as r } from "./mirror-emit-DUjY_ucm.js";
8
8