q2-tecton-elements 1.69.0 → 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 (275) hide show
  1. package/dist/bundle-report.json +2249 -358
  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 +10 -6
  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 +109 -16
  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-pagination/q2-pagination.js +9 -5
  91. package/dist/collection/components/q2-popover/q2-popover.css +2 -1
  92. package/dist/collection/components/q2-radio/q2-radio.css +2 -0
  93. package/dist/collection/components/q2-search/q2-search.css +30 -0
  94. package/dist/collection/components/q2-search/q2-search.js +108 -15
  95. package/dist/collection/components/q2-search/test/q2-search-test.vr.js +145 -0
  96. package/dist/collection/components/q2-section/q2-section.css +1 -1
  97. package/dist/collection/components/q2-select/q2-select.css +4 -2
  98. package/dist/collection/components/q2-select/q2-select.js +54 -4
  99. package/dist/collection/components/q2-select/test/q2-select-test.vr.js +5 -0
  100. package/dist/collection/components/q2-stepper/q2-stepper.css +2 -2
  101. package/dist/collection/components/q2-stepper/q2-stepper.js +3 -2
  102. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.css +2 -2
  103. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +22 -16
  104. package/dist/collection/components/q2-surface/q2-surface.css +348 -0
  105. package/dist/collection/components/q2-surface/q2-surface.js +381 -0
  106. package/dist/collection/components/q2-surface/test/q2-surface-test.vr.js +108 -0
  107. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  108. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  109. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  110. package/dist/collection/components/q2-toast/q2-toast.js +3 -1
  111. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +2 -2
  112. package/dist/collection/utils/index.js +2 -2
  113. package/dist/components/index.js +12 -10
  114. package/dist/components/index2.js +3 -3
  115. package/dist/components/q2-action-sheet.js +1 -1
  116. package/dist/components/q2-btn2.js +5 -1
  117. package/dist/components/q2-calendar.js +294 -290
  118. package/dist/components/q2-card-image.js +9 -6
  119. package/dist/components/q2-card.js +14 -14
  120. package/dist/components/q2-chart-donut.js +1 -1
  121. package/dist/components/q2-checkbox2.js +12 -12
  122. package/dist/components/q2-currency.js +1 -1
  123. package/dist/components/q2-data-table.js +4 -4
  124. package/dist/components/q2-detail.js +1 -1
  125. package/dist/components/q2-dropdown.js +8 -8
  126. package/dist/components/q2-editable-field.js +15 -5
  127. package/dist/components/q2-input2.js +46 -26
  128. package/dist/components/q2-item2.js +1 -1
  129. package/dist/components/q2-legend2.js +51 -51
  130. package/dist/components/q2-list2.js +1 -1
  131. package/dist/components/q2-loc.js +23 -8
  132. package/dist/components/q2-meter.js +10 -10
  133. package/dist/components/q2-modal.js +54 -54
  134. package/dist/components/q2-pagination.js +28 -27
  135. package/dist/components/q2-popover2.js +1 -1
  136. package/dist/components/q2-search.js +128 -71
  137. package/dist/components/q2-section.js +1 -1
  138. package/dist/components/q2-select2.js +25 -9
  139. package/dist/components/q2-stepper-vertical.js +72 -63
  140. package/dist/components/q2-stepper.js +73 -71
  141. package/dist/components/q2-surface.d.ts +11 -0
  142. package/dist/components/q2-surface.js +109 -0
  143. package/dist/components/q2-tab-container.js +12 -12
  144. package/dist/components/q2-tab-pane.js +6 -6
  145. package/dist/components/q2-tag2.js +5 -5
  146. package/dist/components/tecton-tab-pane.js +10 -10
  147. package/dist/esm/click-elsewhere_3.entry.js +2 -2
  148. package/dist/esm/{index-Bx4m6N0g.js → index-Cps4jSQM.js} +2 -2
  149. package/dist/esm/loader.js +1 -1
  150. package/dist/esm/q2-action-group_2.entry.js +1 -1
  151. package/dist/esm/q2-action-sheet.entry.js +2 -2
  152. package/dist/esm/q2-badge_2.entry.js +11 -4
  153. package/dist/esm/q2-btn_2.entry.js +6 -2
  154. package/dist/esm/q2-calendar.entry.js +5 -3
  155. package/dist/esm/q2-card-image.entry.js +8 -6
  156. package/dist/esm/q2-card.entry.js +2 -2
  157. package/dist/esm/q2-carousel-pane.entry.js +1 -1
  158. package/dist/esm/q2-carousel.entry.js +1 -1
  159. package/dist/esm/q2-chart-area.entry.js +1 -1
  160. package/dist/esm/q2-chart-bar.entry.js +1 -1
  161. package/dist/esm/q2-chart-donut.entry.js +2 -2
  162. package/dist/esm/q2-checkbox-group.entry.js +1 -1
  163. package/dist/esm/q2-checkbox_2.entry.js +4 -3
  164. package/dist/esm/q2-context.entry.js +1 -1
  165. package/dist/esm/q2-currency.entry.js +1 -1
  166. package/dist/esm/q2-data-table.entry.js +6 -3
  167. package/dist/esm/q2-detail.entry.js +2 -2
  168. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  169. package/dist/esm/q2-dropdown.entry.js +3 -3
  170. package/dist/esm/q2-editable-field.entry.js +12 -4
  171. package/dist/esm/q2-file-picker.entry.js +1 -1
  172. package/dist/esm/q2-icon.entry.js +1 -1
  173. package/dist/esm/q2-item.entry.js +2 -2
  174. package/dist/esm/q2-legend.entry.js +1 -1
  175. package/dist/esm/q2-link_2.entry.js +2 -2
  176. package/dist/esm/q2-loc.entry.js +20 -2
  177. package/dist/esm/q2-message.entry.js +1 -1
  178. package/dist/esm/q2-meter.entry.js +2 -2
  179. package/dist/esm/q2-modal.entry.js +3 -3
  180. package/dist/esm/q2-month-picker.entry.js +1 -1
  181. package/dist/esm/q2-optgroup.entry.js +1 -1
  182. package/dist/esm/q2-option.entry.js +1 -1
  183. package/dist/esm/q2-otp.entry.js +1 -1
  184. package/dist/esm/q2-pagination.entry.js +10 -6
  185. package/dist/esm/q2-pill.entry.js +1 -1
  186. package/dist/esm/q2-radio-group.entry.js +1 -1
  187. package/dist/esm/q2-radio.entry.js +1 -1
  188. package/dist/esm/q2-relative-time.entry.js +1 -1
  189. package/dist/esm/q2-search.entry.js +109 -16
  190. package/dist/esm/q2-section.entry.js +2 -2
  191. package/dist/esm/q2-select.entry.js +36 -6
  192. package/dist/esm/q2-stepper-pane.entry.js +1 -1
  193. package/dist/esm/q2-stepper-vertical.entry.js +24 -18
  194. package/dist/esm/q2-stepper.entry.js +5 -4
  195. package/dist/esm/q2-surface.entry.js +93 -0
  196. package/dist/esm/q2-tab-container.entry.js +2 -2
  197. package/dist/esm/q2-tab-pane.entry.js +1 -1
  198. package/dist/esm/q2-tecton-elements.js +1 -1
  199. package/dist/esm/q2-textarea.entry.js +1 -1
  200. package/dist/esm/q2-toast.entry.js +1 -1
  201. package/dist/esm/q2-tooltip.entry.js +1 -1
  202. package/dist/esm/tecton-tab-pane.entry.js +2 -2
  203. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +2 -2
  204. package/dist/q2-tecton-elements/{index-Bx4m6N0g.js → index-Cps4jSQM.js} +3 -3
  205. package/dist/q2-tecton-elements/q2-action-group_2.entry.js +1 -1
  206. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +2 -2
  207. package/dist/q2-tecton-elements/q2-badge_2.entry.js +51 -32
  208. package/dist/q2-tecton-elements/q2-btn_2.entry.js +6 -2
  209. package/dist/q2-tecton-elements/q2-calendar.entry.js +7 -4
  210. package/dist/q2-tecton-elements/q2-card-image.entry.js +65 -62
  211. package/dist/q2-tecton-elements/q2-card.entry.js +2 -2
  212. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +1 -1
  213. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  214. package/dist/q2-tecton-elements/q2-chart-area.entry.js +54 -54
  215. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +3 -3
  216. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +7 -7
  217. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +1 -1
  218. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +18 -18
  219. package/dist/q2-tecton-elements/q2-context.entry.js +1 -1
  220. package/dist/q2-tecton-elements/q2-currency.entry.js +1 -1
  221. package/dist/q2-tecton-elements/q2-data-table.entry.js +50 -50
  222. package/dist/q2-tecton-elements/q2-detail.entry.js +2 -2
  223. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  224. package/dist/q2-tecton-elements/q2-dropdown.entry.js +16 -16
  225. package/dist/q2-tecton-elements/q2-editable-field.entry.js +15 -8
  226. package/dist/q2-tecton-elements/q2-file-picker.entry.js +1 -1
  227. package/dist/q2-tecton-elements/q2-icon.entry.js +1 -1
  228. package/dist/q2-tecton-elements/q2-item.entry.js +2 -2
  229. package/dist/q2-tecton-elements/q2-legend.entry.js +1 -1
  230. package/dist/q2-tecton-elements/q2-link_2.entry.js +2 -2
  231. package/dist/q2-tecton-elements/q2-loc.entry.js +20 -6
  232. package/dist/q2-tecton-elements/q2-message.entry.js +1 -1
  233. package/dist/q2-tecton-elements/q2-meter.entry.js +2 -2
  234. package/dist/q2-tecton-elements/q2-modal.entry.js +55 -55
  235. package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
  236. package/dist/q2-tecton-elements/q2-optgroup.entry.js +1 -1
  237. package/dist/q2-tecton-elements/q2-option.entry.js +7 -7
  238. package/dist/q2-tecton-elements/q2-otp.entry.js +1 -1
  239. package/dist/q2-tecton-elements/q2-pagination.entry.js +25 -24
  240. package/dist/q2-tecton-elements/q2-pill.entry.js +1 -1
  241. package/dist/q2-tecton-elements/q2-radio-group.entry.js +1 -1
  242. package/dist/q2-tecton-elements/q2-radio.entry.js +1 -1
  243. package/dist/q2-tecton-elements/q2-relative-time.entry.js +1 -1
  244. package/dist/q2-tecton-elements/q2-search.entry.js +118 -61
  245. package/dist/q2-tecton-elements/q2-section.entry.js +2 -2
  246. package/dist/q2-tecton-elements/q2-select.entry.js +25 -10
  247. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +1 -1
  248. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +75 -66
  249. package/dist/q2-tecton-elements/q2-stepper.entry.js +47 -45
  250. package/dist/q2-tecton-elements/q2-surface.entry.js +89 -0
  251. package/dist/q2-tecton-elements/q2-tab-container.entry.js +13 -13
  252. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +2 -2
  253. package/dist/q2-tecton-elements/q2-tecton-elements.esm.js +1 -1
  254. package/dist/q2-tecton-elements/q2-textarea.entry.js +1 -1
  255. package/dist/q2-tecton-elements/q2-toast.entry.js +5 -5
  256. package/dist/q2-tecton-elements/q2-tooltip.entry.js +8 -8
  257. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +6 -6
  258. package/dist/types/components/q2-calendar/q2-calendar.d.ts +2 -0
  259. package/dist/types/components/q2-card-image/q2-card-image.d.ts +5 -5
  260. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +1 -0
  261. package/dist/types/components/q2-input/q2-input.d.ts +3 -0
  262. package/dist/types/components/q2-item/test/q2-item-test.vr.d.ts +1 -0
  263. package/dist/types/components/q2-loc/q2-loc.d.ts +6 -0
  264. package/dist/types/components/q2-modal/q2-modal.d.ts +1 -1
  265. package/dist/types/components/q2-otp/test/q2-otp-test.vr.d.ts +1 -0
  266. package/dist/types/components/q2-search/q2-search.d.ts +7 -0
  267. package/dist/types/components/q2-search/test/q2-search-test.vr.d.ts +1 -0
  268. package/dist/types/components/q2-select/q2-select.d.ts +4 -0
  269. package/dist/types/components/q2-stepper-vertical/q2-stepper-vertical.d.ts +2 -1
  270. package/dist/types/components/q2-surface/q2-surface.d.ts +54 -0
  271. package/dist/types/components/q2-surface/test/q2-surface-test.vr.d.ts +1 -0
  272. package/dist/types/components/q2-toast/q2-toast.d.ts +3 -1
  273. package/dist/types/components.d.ts +259 -13
  274. package/dist/types/utils/index.d.ts +3 -1
  275. package/package.json +4 -3
@@ -1,8 +1,8 @@
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, w as a } 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
- const l = class {
5
+ const h = class {
6
6
  constructor(e) {
7
7
  t(this, e), this.tctChange = i(this, "tctChange", 7), this.tctClose = i(this, "tctClose", 7),
8
8
  this.tctInput = i(this, "tctInput", 7), this.tctOpen = i(this, "tctOpen", 7),
@@ -68,6 +68,7 @@ const l = 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 l = 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 l = 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 l = 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 l = 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,26 +181,31 @@ const l = 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
- var i, e, s;
189
+ var i, e, s, o;
190
+ // Delegate programmatic focus from the host to the inner input
191
+ t && r(t, this.hostElement) && (null === (i = this.innerInputField) || void 0 === i || i.focus());
179
192
  // Ignore focus that originates inside the popover (e.g., tabbing into a slotted
180
193
  // popover-bottom action button). Without this gate, the focus event bubbles up and
181
194
  // re-opens a just-closed popover as the user is trying to leave it.
182
- const o = null !== (i = ("function" == typeof (null == t ? void 0 : t.composedPath) ? t.composedPath() : [])[0]) && void 0 !== i ? i : null == t ? void 0 : t.target;
183
- o && (null === (e = this.popoverElement) || void 0 === e ? void 0 : e.contains(o)) || (this.inputFocused = !0,
184
- this.isShowingSelectionDisplay && (
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;
196
+ n && (null === (s = this.popoverElement) || void 0 === s ? void 0 : s.contains(n)) || (this.inputFocused = !0,
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 && (
185
201
  // Clear the flag before mutating searchText so the filter watcher runs against the
186
202
  // new query, not the stale "showing a selection" guard.
187
- this.isShowingSelectionDisplay = !1, this.multiple ?
203
+ this.isShowingSelectionDisplay = !1, this.clearSelectedDisplay(), this.multiple ?
188
204
  // Multi-select always opens to a fresh search after a selection.
189
205
  this.searchText = "" : this.value && (
190
206
  // Single-select: pre-select the displayed text so the next keystroke replaces it
191
207
  // — typeahead pattern used by Material Autocomplete, Headless UI Combobox, etc.
192
- null === (s = this.innerInputField) || void 0 === s || s.select())), this.open || this.openDropdown());
208
+ null === (o = this.innerInputField) || void 0 === o || o.select())), this.open || this.openDropdown());
193
209
  }
194
210
  onFocusOut(t) {
195
211
  var i;
@@ -225,13 +241,13 @@ const l = class {
225
241
  * @testOnly
226
242
  */
227
243
  async closePopover() {
228
- this.closeDropdown(), await a();
244
+ this.closeDropdown(), await l();
229
245
  }
230
246
  /**
231
247
  * Opens the popover.
232
248
  * @testOnly
233
249
  */ async openPopover() {
234
- this.openDropdown(), await a();
250
+ this.openDropdown(), await l();
235
251
  }
236
252
  /**
237
253
  * Resets the search to its initial state: clears the input, the
@@ -243,8 +259,9 @@ const l = class {
243
259
  * Emits `tctClose` as a side effect of closing the popover if it is open.
244
260
  * Does not emit `tctChange`.
245
261
  */ async reset() {
246
- this.value = "", this.selectedOptions = [], this.searchText = "", this.isShowingSelectionDisplay = !1,
247
- 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({
248
265
  query: ""
249
266
  });
250
267
  }
@@ -266,14 +283,14 @@ const l = class {
266
283
  this.open || await this.openPopover(), e.forEach((t => {
267
284
  var i;
268
285
  null === (i = this.optionElements.find((i => i.value === t))) || void 0 === i || i.click();
269
- })), i.closePopover && (await this.closePopover(), await a());
286
+ })), i.closePopover && (await this.closePopover(), await l());
270
287
  }
271
288
  // #endregion
272
289
  // #region Watchers
273
290
  onLoadingChange(t) {
274
291
  // When loading turns on with the input focused but the popover was closed (because
275
292
  // input-only mode was active), open the popover so the spinner is visible.
276
- 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();
277
294
  }
278
295
  onMultilineOptionsChange() {
279
296
  this.applyMultilineOptions();
@@ -319,6 +336,11 @@ const l = class {
319
336
  // total count (no selection display in the input to subtract from).
320
337
  this.isShowingSelectionDisplay ? e > 1 ? "+" + (e - 1) : null : `${e}`;
321
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
+ }
322
344
  get innerInputContainer() {
323
345
  var t, i, e;
324
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;
@@ -345,6 +367,9 @@ const l = class {
345
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;
346
368
  return this.minRows * o;
347
369
  }
370
+ get selectedDisplaySlot() {
371
+ return this.hostElement.querySelector('[slot="_selected-display"]');
372
+ }
348
373
  get visibleOptionElements() {
349
374
  return this.optionElements.filter((t => !t.hidden));
350
375
  }
@@ -354,7 +379,7 @@ const l = class {
354
379
  this.inputFocused && t.push("is-focused"), t.join(" ");
355
380
  }
356
381
  announceResults() {
357
- 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 ]);
358
383
  this.setStatusMessage(i);
359
384
  }
360
385
  applyLocalFilter() {
@@ -370,12 +395,34 @@ const l = class {
370
395
  const {multilineOptions: t} = this;
371
396
  this.optionElements.forEach((i => i.multiline = t));
372
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
+ }
373
415
  checkSelectedOptions() {
374
416
  const {multiple: t, selectedOptions: i, value: e} = this;
375
417
  this.optionElements.forEach((s => {
376
418
  s.selected = t ? i.includes(s.value) : s.value === e;
377
419
  }));
378
420
  }
421
+ clearSelectedDisplay() {
422
+ const t = this.selectedDisplaySlot;
423
+ return t && (t.removeEventListener("mousedown", this.onSelectedDisplayMousedown),
424
+ t.remove()), null;
425
+ }
379
426
  closeDropdown() {
380
427
  this.open && (this.open = !1, this.tctClose.emit());
381
428
  }
@@ -392,29 +439,33 @@ const l = class {
392
439
  this.readonly || this.disabled || this.open || this.isInputOnlyMode || (this.open = !0,
393
440
  this.tctOpen.emit());
394
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
+ }
395
446
  revertToSelectedDisplay() {
396
- var t, i, e, s, o;
447
+ var t, i, e;
397
448
  if (this.multiple) {
398
449
  // Preserve an in-progress query — user blurred without selecting and may resume.
399
450
  if (this.searchText) return;
400
451
  // No in-progress query: show the first selection's display, paired with the badge.
401
- const s = null === (t = this.selectedOptions) || void 0 === t ? void 0 : t[0];
402
- if (!s) return;
403
- 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));
404
455
  // No matching slotted option (typical with async-fetched options that haven't
405
456
  // re-populated yet) — leave the query alone rather than blanking it.
406
- if (!o) return;
407
- const r = o.display ? n(o.display) : null !== (e = null === (i = o.textContent) || void 0 === i ? void 0 : i.trim()) && void 0 !== e ? e : "";
408
- 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);
409
460
  }
410
461
  // Single-select: if a value is set, snap the input back to its display.
411
462
  // If nothing is selected, leave any in-progress query alone.
412
463
  if (!this.value) return;
413
- const r = this.optionElements.find((t => t.value === this.value));
464
+ const s = this.optionElements.find((t => t.value === this.value));
414
465
  // Same guard: don't clobber an in-progress query when the matching option isn't in the DOM.
415
- if (!r) return;
416
- const a = r.display ? n(r.display) : null !== (o = null === (s = r.textContent) || void 0 === s ? void 0 : s.trim()) && void 0 !== o ? o : "";
417
- 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();
418
469
  }
419
470
  setCustomLabel() {
420
471
  var t;
@@ -437,45 +488,51 @@ const l = class {
437
488
  }
438
489
  // #endregion
439
490
  // #region Render Methods
491
+ renderCustomDisplay() {
492
+ return this.checkSelectedDisplay() ? e("slot", {
493
+ name: "_selected-display",
494
+ slot: "custom-display"
495
+ }) : null;
496
+ }
440
497
  renderEmpty() {
441
498
  return this.hasEmptySlot ? e("slot", {
442
499
  name: "empty"
443
500
  }) : e("div", {
444
501
  class: "no-results"
445
- }, n(this.noResultsMessage));
502
+ }, a(this.noResultsMessage));
446
503
  }
447
504
  renderMultiSelectHeader() {
448
505
  var t, i;
449
506
  if (!this.multiple || !this.showSelectedToggle) return null;
450
- 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;
451
508
  return e("div", {
452
509
  class: "multi-select-header"
453
510
  }, e("fieldset", null, e("legend", {
454
- "aria-label": n("tecton.element.search.multiHeader.showing")
455
- }, 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", {
456
513
  class: "sr",
457
514
  type: "radio",
458
515
  id: `${this.optionListId}-results`,
459
516
  name: `${this.optionListId}-view`,
460
517
  value: "results",
461
- checked: !r,
462
- "aria-label": n("tecton.element.search.multiHeader.resultsAriaLabel", [ o ]),
518
+ checked: !n,
519
+ "aria-label": a("tecton.element.search.multiHeader.resultsAriaLabel", [ o ]),
463
520
  onClick: this.showAllOptions
464
521
  }), e("label", {
465
522
  htmlFor: `${this.optionListId}-results`
466
- }, 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", {
467
524
  class: "sr",
468
525
  type: "radio",
469
526
  id: `${this.optionListId}-selected`,
470
527
  name: `${this.optionListId}-view`,
471
528
  value: "selected",
472
529
  disabled: 0 === s,
473
- checked: r,
474
- "aria-label": n("tecton.element.search.multiHeader.selectedAriaLabel", [ s ]),
530
+ checked: n,
531
+ "aria-label": a("tecton.element.search.multiHeader.selectedAriaLabel", [ s ]),
475
532
  onClick: this.showSelectedOptions
476
533
  }), e("label", {
477
534
  htmlFor: `${this.optionListId}-selected`
478
- }, n("tecton.element.search.multiHeader.selected", [ s ])))));
535
+ }, a("tecton.element.search.multiHeader.selected", [ s ])))));
479
536
  }
480
537
  renderOptionsDropdown() {
481
538
  var t;
@@ -516,7 +573,7 @@ const l = class {
516
573
  ref: t => this.optionList = t,
517
574
  type: "listbox",
518
575
  id: this.optionListId,
519
- label: n(this.listLabel),
576
+ label: a(this.listLabel),
520
577
  multiple: this.multiple,
521
578
  selectedOptions: this.structuredSelectedOptions,
522
579
  showSelected: this.showSelected,
@@ -539,32 +596,32 @@ const l = class {
539
596
  }
540
597
  render() {
541
598
  return e(s, {
542
- key: "25d659528e22b848146b76d76f5bdb94da246d02"
599
+ key: "0686476c153375c6c3cca61cdeaf1267c5ca6b20"
543
600
  }, e("div", {
544
- key: "6a46b01c7d9598bbf887a1c579dd500588303ad6",
601
+ key: "f5ed583b8da30b2222dd4a466a37e1c10b589fa7",
545
602
  "aria-live": "polite",
546
603
  "aria-atomic": "true",
547
604
  role: "status",
548
605
  class: "sr"
549
606
  }, this.statusMessage), e("click-elsewhere", {
550
- key: "22a8cbf8de37dfe302ca63904cc8fc22841018a6",
607
+ key: "f1172a06706ea799f6020d21610004450e051d9a",
551
608
  class: this.wrapperClasses,
552
609
  role: "presentation",
553
610
  onChange: this.onClickElsewhere
554
611
  }, e("q2-input", {
555
- key: "e96361aec59e427a3a5b59d95b7c4aefd3b9d169",
612
+ key: "75675f105bd09279650e6aae6b869e0f3f99c270",
556
613
  ref: t => this.inputField = t,
557
614
  class: "q2-search-input",
558
- label: this.label && n(this.label) || "",
615
+ label: this.label && a(this.label) || "",
559
616
  value: this.searchText,
560
617
  iconLeft: "search",
561
618
  clearable: this.clearable && !this.loading && !!this.searchText,
562
619
  disabled: this.disabled,
563
620
  optional: this.optional,
564
621
  readonly: !!this.readonly,
565
- placeholder: this.placeholder ? n(this.placeholder) : void 0,
622
+ placeholder: this.placeholder ? a(this.placeholder) : void 0,
566
623
  hideLabel: this.hideLabel,
567
- 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" ] || [],
568
625
  ariaExpanded: this.isInputOnlyMode ? void 0 : `${this.open}`,
569
626
  ariaControls: this.isInputOnlyMode ? void 0 : this.optionListId,
570
627
  ariaHaspopup: this.isInputOnlyMode ? void 0 : "listbox",
@@ -575,7 +632,7 @@ const l = class {
575
632
  onChange: t => t.stopPropagation(),
576
633
  onTctChange: t => t.stopPropagation(),
577
634
  badgeValue: this.badgeValue
578
- }), this.renderOptionsDropdown()));
635
+ }, this.renderCustomDisplay()), this.renderOptionsDropdown()));
579
636
  }
580
637
  get hostElement() {
581
638
  return o(this);
@@ -604,6 +661,6 @@ const l = class {
604
661
  }
605
662
  };
606
663
 
607
- l.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}";
608
665
 
609
- export { l as q2_search }
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