q2-tecton-elements 1.71.1 → 1.72.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 (267) hide show
  1. package/dist/bundle-report.json +1282 -594
  2. package/dist/cjs/click-elsewhere_3.cjs.entry.js +10 -9
  3. package/dist/cjs/{index-SpDCZABA.js → index-BY3aao8R.js} +1 -1
  4. package/dist/cjs/loader.cjs.js +1 -1
  5. package/dist/cjs/{q2-action-group_2.cjs.entry.js → q2-action-group.cjs.entry.js} +1 -89
  6. package/dist/cjs/q2-action-sheet.cjs.entry.js +1 -1
  7. package/dist/cjs/q2-badge_2.cjs.entry.js +113 -12
  8. package/dist/cjs/q2-btn_2.cjs.entry.js +2 -2
  9. package/dist/cjs/q2-calendar.cjs.entry.js +7 -5
  10. package/dist/cjs/q2-card-image.cjs.entry.js +4 -4
  11. package/dist/cjs/q2-card.cjs.entry.js +1 -1
  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 +1 -1
  17. package/dist/cjs/q2-checkbox-group.cjs.entry.js +2 -2
  18. package/dist/cjs/q2-checkbox_2.cjs.entry.js +3 -3
  19. package/dist/cjs/q2-context.cjs.entry.js +4 -3
  20. package/dist/cjs/q2-data-table.cjs.entry.js +2 -2
  21. package/dist/cjs/q2-detail.cjs.entry.js +1 -1
  22. package/dist/cjs/q2-dropdown-item.cjs.entry.js +1 -1
  23. package/dist/cjs/q2-dropdown.cjs.entry.js +3 -3
  24. package/dist/cjs/q2-editable-field.cjs.entry.js +38 -37
  25. package/dist/cjs/q2-file-picker.cjs.entry.js +60 -4
  26. package/dist/cjs/q2-icon.cjs.entry.js +1 -1
  27. package/dist/cjs/q2-item.cjs.entry.js +2 -2
  28. package/dist/cjs/q2-link_2.cjs.entry.js +1 -1
  29. package/dist/cjs/q2-loc.cjs.entry.js +1 -1
  30. package/dist/cjs/q2-message.cjs.entry.js +2 -2
  31. package/dist/cjs/q2-meter.cjs.entry.js +1 -1
  32. package/dist/cjs/q2-modal.cjs.entry.js +59 -17
  33. package/dist/cjs/q2-month-picker.cjs.entry.js +1 -1
  34. package/dist/cjs/q2-optgroup.cjs.entry.js +1 -1
  35. package/dist/cjs/q2-option.cjs.entry.js +1 -1
  36. package/dist/cjs/q2-otp.cjs.entry.js +1 -1
  37. package/dist/cjs/q2-pagination.cjs.entry.js +1 -1
  38. package/dist/cjs/q2-pill.cjs.entry.js +2 -2
  39. package/dist/cjs/q2-radio-group.cjs.entry.js +22 -4
  40. package/dist/cjs/q2-radio.cjs.entry.js +3 -3
  41. package/dist/cjs/q2-relative-time.cjs.entry.js +3 -3
  42. package/dist/cjs/q2-resize-observer.cjs.entry.js +92 -0
  43. package/dist/cjs/q2-search.cjs.entry.js +13 -4
  44. package/dist/cjs/q2-section.cjs.entry.js +7 -7
  45. package/dist/cjs/q2-select.cjs.entry.js +39 -20
  46. package/dist/cjs/q2-stepper-pane.cjs.entry.js +2 -2
  47. package/dist/cjs/q2-stepper-vertical.cjs.entry.js +2 -2
  48. package/dist/cjs/q2-stepper.cjs.entry.js +1 -1
  49. package/dist/cjs/q2-surface.cjs.entry.js +1 -1
  50. package/dist/cjs/q2-tab-container.cjs.entry.js +2 -2
  51. package/dist/cjs/q2-tab-pane.cjs.entry.js +1 -1
  52. package/dist/cjs/q2-tecton-elements.cjs.js +1 -1
  53. package/dist/cjs/q2-textarea.cjs.entry.js +1 -1
  54. package/dist/cjs/q2-toast.cjs.entry.js +1 -1
  55. package/dist/cjs/q2-tooltip.cjs.entry.js +1 -1
  56. package/dist/cjs/tecton-tab-pane.cjs.entry.js +5 -3
  57. package/dist/collection/components/q2-btn/q2-btn.css +79 -21
  58. package/dist/collection/components/q2-btn/test/q2-btn-test.vr.js +156 -3
  59. package/dist/collection/components/q2-calendar/q2-calendar.css +3 -0
  60. package/dist/collection/components/q2-calendar/q2-calendar.js +5 -3
  61. package/dist/collection/components/q2-calendar/test/q2-calendar-test.vr.js +23 -2
  62. package/dist/collection/components/q2-card/test/q2-card-test.vr.js +4 -0
  63. package/dist/collection/components/q2-card-image/q2-card-image.css +89 -134
  64. package/dist/collection/components/q2-card-image/q2-card-image.js +4 -4
  65. package/dist/collection/components/q2-card-image/test/q2-card-image-test.vr.js +4 -0
  66. package/dist/collection/components/q2-carousel/test/q2-carousel-test.vr.js +13 -0
  67. package/dist/collection/components/q2-checkbox/q2-checkbox.css +2 -2
  68. package/dist/collection/components/q2-checkbox-group/q2-checkbox-group.css +2 -0
  69. package/dist/collection/components/q2-context/q2-context.css +5 -0
  70. package/dist/collection/components/q2-context/q2-context.js +2 -1
  71. package/dist/collection/components/q2-context/test/q2-context-test.vr.js +11 -1
  72. package/dist/collection/components/q2-data-table/q2-data-table.css +3 -0
  73. package/dist/collection/components/q2-data-table/test/q2-data-table-test.vr.js +5 -0
  74. package/dist/collection/components/q2-dropdown/q2-dropdown.css +2 -0
  75. package/dist/collection/components/q2-dropdown/q2-dropdown.js +1 -1
  76. package/dist/collection/components/q2-dropdown/test/q2-dropdown-test.vr.js +30 -0
  77. package/dist/collection/components/q2-editable-field/q2-editable-field.css +2 -0
  78. package/dist/collection/components/q2-editable-field/q2-editable-field.js +38 -43
  79. package/dist/collection/components/q2-file-picker/q2-file-picker.css +27 -0
  80. package/dist/collection/components/q2-file-picker/q2-file-picker.js +98 -2
  81. package/dist/collection/components/q2-file-picker/test/q2-file-picker-test.vr.js +22 -0
  82. package/dist/collection/components/q2-input/q2-input.css +67 -1
  83. package/dist/collection/components/q2-input/q2-input.js +155 -13
  84. package/dist/collection/components/q2-input/test/q2-input-test.vr.js +35 -0
  85. package/dist/collection/components/q2-item/q2-item.css +3 -1
  86. package/dist/collection/components/q2-item/test/q2-item-test.vr.js +6 -0
  87. package/dist/collection/components/q2-message/q2-message.css +5 -5
  88. package/dist/collection/components/q2-modal/q2-modal.css +40 -3
  89. package/dist/collection/components/q2-modal/q2-modal.js +100 -16
  90. package/dist/collection/components/q2-modal/test/q2-modal-test.vr.js +25 -0
  91. package/dist/collection/components/q2-pill/q2-pill.css +2 -2
  92. package/dist/collection/components/q2-popover/q2-popover.css +3 -2
  93. package/dist/collection/components/q2-popover/q2-popover.js +8 -7
  94. package/dist/collection/components/q2-radio/q2-radio.css +158 -104
  95. package/dist/collection/components/q2-radio/q2-radio.js +1 -1
  96. package/dist/collection/components/q2-radio/test/q2-radio-test.vr.js +25 -2
  97. package/dist/collection/components/q2-radio-group/q2-radio-group.css +39 -2
  98. package/dist/collection/components/q2-radio-group/q2-radio-group.js +68 -2
  99. package/dist/collection/components/q2-radio-group/test/q2-radio-group-test.vr.js +43 -1
  100. package/dist/collection/components/q2-relative-time/q2-relative-time.js +2 -2
  101. package/dist/collection/components/q2-search/q2-search.css +2 -0
  102. package/dist/collection/components/q2-search/q2-search.js +11 -2
  103. package/dist/collection/components/q2-section/q2-section.css +2 -0
  104. package/dist/collection/components/q2-section/q2-section.js +6 -6
  105. package/dist/collection/components/q2-select/q2-select.css +3 -0
  106. package/dist/collection/components/q2-select/q2-select.js +41 -19
  107. package/dist/collection/components/q2-select/test/q2-select-test.vr.js +13 -0
  108. package/dist/collection/components/q2-stepper-pane/q2-stepper-pane.js +1 -1
  109. package/dist/collection/components/q2-stepper-vertical/q2-stepper-vertical.js +1 -1
  110. package/dist/collection/components/q2-surface/q2-surface.js +1 -1
  111. package/dist/collection/components/q2-tab-container/q2-tab-container.js +1 -1
  112. package/dist/collection/components/q2-tab-pane/q2-tab-pane.js +1 -1
  113. package/dist/collection/components/q2-tag/q2-tag.js +1 -1
  114. package/dist/collection/components/tecton-tab-pane/tecton-tab-pane.js +5 -3
  115. package/dist/collection/utils/index.js +1 -1
  116. package/dist/collection/utils/test/vr-helpers.js +16 -2
  117. package/dist/components/index2.js +1 -1
  118. package/dist/components/q2-btn2.js +1 -1
  119. package/dist/components/q2-calendar.js +11 -9
  120. package/dist/components/q2-card-image.js +24 -24
  121. package/dist/components/q2-checkbox-group.js +6 -6
  122. package/dist/components/q2-checkbox2.js +1 -1
  123. package/dist/components/q2-context.js +27 -26
  124. package/dist/components/q2-data-table.js +1 -1
  125. package/dist/components/q2-dropdown.js +21 -21
  126. package/dist/components/q2-editable-field.js +33 -35
  127. package/dist/components/q2-file-picker.js +70 -10
  128. package/dist/components/q2-input2.js +268 -163
  129. package/dist/components/q2-item2.js +1 -1
  130. package/dist/components/q2-message2.js +24 -24
  131. package/dist/components/q2-modal.js +96 -78
  132. package/dist/components/q2-pill.js +1 -1
  133. package/dist/components/q2-popover2.js +29 -26
  134. package/dist/components/q2-radio-group.js +70 -40
  135. package/dist/components/q2-radio.js +40 -55
  136. package/dist/components/q2-relative-time.js +5 -5
  137. package/dist/components/q2-search.js +17 -12
  138. package/dist/components/q2-section.js +33 -33
  139. package/dist/components/q2-select2.js +49 -42
  140. package/dist/components/q2-stepper-pane.js +15 -11
  141. package/dist/components/q2-stepper-vertical.js +4 -4
  142. package/dist/components/q2-surface.js +3 -3
  143. package/dist/components/q2-tab-container.js +21 -21
  144. package/dist/components/q2-tab-pane.js +2 -2
  145. package/dist/components/q2-tag2.js +5 -5
  146. package/dist/components/tecton-tab-pane.js +8 -7
  147. package/dist/esm/click-elsewhere_3.entry.js +10 -9
  148. package/dist/esm/{index-Cps4jSQM.js → index-DJw6Feh0.js} +1 -1
  149. package/dist/esm/loader.js +1 -1
  150. package/dist/esm/{q2-action-group_2.entry.js → q2-action-group.entry.js} +3 -90
  151. package/dist/esm/q2-action-sheet.entry.js +1 -1
  152. package/dist/esm/q2-badge_2.entry.js +113 -12
  153. package/dist/esm/q2-btn_2.entry.js +2 -2
  154. package/dist/esm/q2-calendar.entry.js +7 -5
  155. package/dist/esm/q2-card-image.entry.js +4 -4
  156. package/dist/esm/q2-card.entry.js +1 -1
  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 +1 -1
  162. package/dist/esm/q2-checkbox-group.entry.js +2 -2
  163. package/dist/esm/q2-checkbox_2.entry.js +3 -3
  164. package/dist/esm/q2-context.entry.js +4 -3
  165. package/dist/esm/q2-data-table.entry.js +2 -2
  166. package/dist/esm/q2-detail.entry.js +1 -1
  167. package/dist/esm/q2-dropdown-item.entry.js +1 -1
  168. package/dist/esm/q2-dropdown.entry.js +3 -3
  169. package/dist/esm/q2-editable-field.entry.js +38 -37
  170. package/dist/esm/q2-file-picker.entry.js +60 -4
  171. package/dist/esm/q2-icon.entry.js +1 -1
  172. package/dist/esm/q2-item.entry.js +2 -2
  173. package/dist/esm/q2-link_2.entry.js +1 -1
  174. package/dist/esm/q2-loc.entry.js +1 -1
  175. package/dist/esm/q2-message.entry.js +2 -2
  176. package/dist/esm/q2-meter.entry.js +1 -1
  177. package/dist/esm/q2-modal.entry.js +59 -17
  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 +2 -2
  184. package/dist/esm/q2-radio-group.entry.js +22 -4
  185. package/dist/esm/q2-radio.entry.js +3 -3
  186. package/dist/esm/q2-relative-time.entry.js +3 -3
  187. package/dist/esm/q2-resize-observer.entry.js +90 -0
  188. package/dist/esm/q2-search.entry.js +13 -4
  189. package/dist/esm/q2-section.entry.js +7 -7
  190. package/dist/esm/q2-select.entry.js +39 -20
  191. package/dist/esm/q2-stepper-pane.entry.js +2 -2
  192. package/dist/esm/q2-stepper-vertical.entry.js +2 -2
  193. package/dist/esm/q2-stepper.entry.js +1 -1
  194. package/dist/esm/q2-surface.entry.js +1 -1
  195. package/dist/esm/q2-tab-container.entry.js +2 -2
  196. package/dist/esm/q2-tab-pane.entry.js +1 -1
  197. package/dist/esm/q2-tecton-elements.js +1 -1
  198. package/dist/esm/q2-textarea.entry.js +1 -1
  199. package/dist/esm/q2-toast.entry.js +1 -1
  200. package/dist/esm/q2-tooltip.entry.js +1 -1
  201. package/dist/esm/tecton-tab-pane.entry.js +5 -3
  202. package/dist/q2-tecton-elements/click-elsewhere_3.entry.js +32 -29
  203. package/dist/q2-tecton-elements/{index-Cps4jSQM.js → index-DJw6Feh0.js} +1 -1
  204. package/dist/q2-tecton-elements/{q2-action-group_2.entry.js → q2-action-group.entry.js} +35 -113
  205. package/dist/q2-tecton-elements/q2-action-sheet.entry.js +1 -1
  206. package/dist/q2-tecton-elements/q2-badge_2.entry.js +240 -140
  207. package/dist/q2-tecton-elements/q2-btn_2.entry.js +2 -2
  208. package/dist/q2-tecton-elements/q2-calendar.entry.js +14 -12
  209. package/dist/q2-tecton-elements/q2-card-image.entry.js +9 -9
  210. package/dist/q2-tecton-elements/q2-card.entry.js +1 -1
  211. package/dist/q2-tecton-elements/q2-carousel-pane.entry.js +1 -1
  212. package/dist/q2-tecton-elements/q2-carousel.entry.js +1 -1
  213. package/dist/q2-tecton-elements/q2-chart-area.entry.js +31 -31
  214. package/dist/q2-tecton-elements/q2-chart-bar.entry.js +16 -16
  215. package/dist/q2-tecton-elements/q2-chart-donut.entry.js +6 -6
  216. package/dist/q2-tecton-elements/q2-checkbox-group.entry.js +2 -2
  217. package/dist/q2-tecton-elements/q2-checkbox_2.entry.js +7 -7
  218. package/dist/q2-tecton-elements/q2-context.entry.js +22 -21
  219. package/dist/q2-tecton-elements/q2-data-table.entry.js +34 -34
  220. package/dist/q2-tecton-elements/q2-detail.entry.js +1 -1
  221. package/dist/q2-tecton-elements/q2-dropdown-item.entry.js +1 -1
  222. package/dist/q2-tecton-elements/q2-dropdown.entry.js +15 -15
  223. package/dist/q2-tecton-elements/q2-editable-field.entry.js +38 -40
  224. package/dist/q2-tecton-elements/q2-file-picker.entry.js +61 -6
  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-link_2.entry.js +1 -1
  228. package/dist/q2-tecton-elements/q2-loc.entry.js +1 -1
  229. package/dist/q2-tecton-elements/q2-message.entry.js +24 -24
  230. package/dist/q2-tecton-elements/q2-meter.entry.js +1 -1
  231. package/dist/q2-tecton-elements/q2-modal.entry.js +61 -45
  232. package/dist/q2-tecton-elements/q2-month-picker.entry.js +1 -1
  233. package/dist/q2-tecton-elements/q2-optgroup.entry.js +11 -11
  234. package/dist/q2-tecton-elements/q2-option.entry.js +1 -1
  235. package/dist/q2-tecton-elements/q2-otp.entry.js +1 -1
  236. package/dist/q2-tecton-elements/q2-pagination.entry.js +1 -1
  237. package/dist/q2-tecton-elements/q2-pill.entry.js +2 -2
  238. package/dist/q2-tecton-elements/q2-radio-group.entry.js +55 -34
  239. package/dist/q2-tecton-elements/q2-radio.entry.js +38 -53
  240. package/dist/q2-tecton-elements/q2-relative-time.entry.js +12 -12
  241. package/dist/q2-tecton-elements/q2-resize-observer.entry.js +81 -0
  242. package/dist/q2-tecton-elements/q2-search.entry.js +23 -18
  243. package/dist/q2-tecton-elements/q2-section.entry.js +33 -33
  244. package/dist/q2-tecton-elements/q2-select.entry.js +30 -23
  245. package/dist/q2-tecton-elements/q2-stepper-pane.entry.js +20 -16
  246. package/dist/q2-tecton-elements/q2-stepper-vertical.entry.js +5 -5
  247. package/dist/q2-tecton-elements/q2-stepper.entry.js +1 -1
  248. package/dist/q2-tecton-elements/q2-surface.entry.js +3 -3
  249. package/dist/q2-tecton-elements/q2-tab-container.entry.js +20 -20
  250. package/dist/q2-tecton-elements/q2-tab-pane.entry.js +4 -4
  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 +1 -1
  254. package/dist/q2-tecton-elements/q2-tooltip.entry.js +1 -1
  255. package/dist/q2-tecton-elements/tecton-tab-pane.entry.js +8 -7
  256. package/dist/types/components/q2-card-image/q2-card-image.d.ts +1 -1
  257. package/dist/types/components/q2-dropdown/test/q2-dropdown-test.vr.d.ts +1 -0
  258. package/dist/types/components/q2-editable-field/q2-editable-field.d.ts +6 -1
  259. package/dist/types/components/q2-file-picker/q2-file-picker.d.ts +20 -0
  260. package/dist/types/components/q2-input/q2-input.d.ts +28 -2
  261. package/dist/types/components/q2-modal/q2-modal.d.ts +10 -1
  262. package/dist/types/components/q2-radio-group/q2-radio-group.d.ts +14 -0
  263. package/dist/types/components/q2-search/q2-search.d.ts +1 -0
  264. package/dist/types/components/q2-select/q2-select.d.ts +8 -2
  265. package/dist/types/components.d.ts +119 -11
  266. package/dist/types/utils/test/vr-helpers.d.ts +2 -0
  267. package/package.json +3 -3
@@ -1,6 +1,6 @@
1
- import { proxyCustomElement as t, HTMLElement as r, createEvent as a, h as e, Fragment as i, Host as o, transformTag as s } from "@stencil/core/internal/client";
1
+ import { proxyCustomElement as t, HTMLElement as r, createEvent as a, h as i, Fragment as e, Host as s, transformTag as o } from "@stencil/core/internal/client";
2
2
 
3
- import { c as n, d as p, s as c, h as d, o as u, i as l, l as f, m, b as h, n as x, r as v, g as b } from "./index2.js";
3
+ import { c as n, d as p, s as c, h as l, o as d, i as u, l as f, m, b as h, n as x, r as v, g as b } from "./index2.js";
4
4
 
5
5
  import { m as g } from "./mirror-emit.js";
6
6
 
@@ -21,80 +21,80 @@ function formatNumber(t = "", r = {
21
21
  allowDecimal: !1,
22
22
  allowNegative: !0
23
23
  }, a = !1) {
24
- const e = "-" === t[0];
25
- let i = t;
26
- const o = !!r.allowDecimal && !!r.decimals;
24
+ const i = "-" === t[0];
25
+ let e = t;
26
+ const s = !!r.allowDecimal && !!r.decimals;
27
27
  if (a) {
28
- const t = i.replace(/[^\d.]/g, "");
29
- i = t && Number(t).toFixed(o ? r.decimals : 0) || "";
28
+ const t = e.replace(/[^\d.]/g, "");
29
+ e = t && Number(t).toFixed(s ? r.decimals : 0) || "";
30
30
  }
31
- i = i.replace(/[^\d]/g, "");
32
- let {integerString: s, decimalString: n} = function(t, r = !1, a) {
31
+ e = e.replace(/[^\d]/g, "");
32
+ let {integerString: o, decimalString: n} = function(t, r = !1, a) {
33
33
  if (!r) return {
34
34
  integerString: t,
35
35
  decimalString: ""
36
36
  };
37
- const e = t.length - a;
38
- let i = t.substring(0, e).padStart(1, "0");
39
- i.length > 1 && "0" === i[0] && (i = i.substring(1));
40
- const o = t.substring(e).padStart(a, "0");
37
+ const i = t.length - a;
38
+ let e = t.substring(0, i).padStart(1, "0");
39
+ e.length > 1 && "0" === e[0] && (e = e.substring(1));
40
+ const s = t.substring(i).padStart(a, "0");
41
41
  return {
42
- integerString: i,
43
- decimalString: o
42
+ integerString: e,
43
+ decimalString: s
44
44
  };
45
- }(i, o, r.decimals), p = r.decimalSeparator;
45
+ }(e, s, r.decimals), p = r.decimalSeparator;
46
46
  // define decimalString
47
- o || (p = "", n = "");
47
+ s || (p = "", n = "");
48
48
  // define negative
49
- const c = r.allowNegative && e ? "-" : "";
50
- i = `${c}${s}${p}${n}`,
49
+ const c = r.allowNegative && i ? "-" : "";
50
+ e = `${c}${o}${p}${n}`,
51
51
  // format integerString
52
- s = s.replace(/\B(?=(\d{3})+(?!\d))/g, r.thousandsSeparator);
53
- const d = c || s ? `${c}${s}${p}${n}` : "", u = c || s ? `${c}${r.prefix}${s}${p}${n}${r.suffix}` : "";
54
- let l = d.length - i.length;
55
- p && (l += r.decimalSeparator.length);
52
+ o = o.replace(/\B(?=(\d{3})+(?!\d))/g, r.thousandsSeparator);
53
+ const l = c || o ? `${c}${o}${p}${n}` : "", d = c || o ? `${c}${r.prefix}${o}${p}${n}${r.suffix}` : "";
54
+ let u = l.length - e.length;
55
+ p && (u += r.decimalSeparator.length);
56
56
  return {
57
- value: i,
58
- formattedValue: d,
59
- fullyFormattedValue: u,
57
+ value: e,
58
+ formattedValue: l,
59
+ fullyFormattedValue: d,
60
60
  prefix: r.prefix || r.suffix,
61
61
  suffix: "",
62
- formattingCharacterCount: l,
63
- maxlength: Number.MAX_SAFE_INTEGER.toString().length + l + n.length,
64
- unformattedValue: `${s.replace(/[^0-9]/g, "")}${n}`.replace(/^0+/, "")
62
+ formattingCharacterCount: u,
63
+ maxlength: Number.MAX_SAFE_INTEGER.toString().length + u + n.length,
64
+ unformattedValue: `${o.replace(/[^0-9]/g, "")}${n}`.replace(/^0+/, "")
65
65
  };
66
66
  }
67
67
 
68
68
  function formatValue(t = "", r = "", a) {
69
- const e = a && a.prefix || "", i = a && a.suffix || "";
69
+ const i = a && a.prefix || "", e = a && a.suffix || "";
70
70
  if (!t || !r) {
71
71
  return {
72
72
  value: t,
73
73
  formattedValue: t,
74
- fullyFormattedValue: `${e}${t}${i}`,
75
- prefix: e.trim() || i.trim(),
74
+ fullyFormattedValue: `${i}${t}${e}`,
75
+ prefix: i.trim() || e.trim(),
76
76
  formattingCharacterCount: 0,
77
77
  unformattedValue: t
78
78
  };
79
79
  }
80
- const {unformattedValue: o, formattedValue: s, formattingCharacterCount: n} = function(t, r) {
81
- const a = r.split(""), e = function(t) {
80
+ const {unformattedValue: s, formattedValue: o, formattingCharacterCount: n} = function(t, r) {
81
+ const a = r.split(""), i = function(t) {
82
82
  const r = M.join("|"), a = t.replace(new RegExp(`[${r}]`, "g"), "").split("");
83
83
  return new Set(a);
84
84
  }(r);
85
- let i = 0, o = 0, s = "";
85
+ let e = 0, s = 0, o = "";
86
86
  const n = a.reduce(((r, a) => {
87
- if (i >= t.length) return r;
87
+ if (e >= t.length) return r;
88
88
  if (function(t) {
89
89
  return C.includes(t);
90
- }(a) && isStaticFormattingChar(t[i], e)) return r;
90
+ }(a) && isStaticFormattingChar(t[e], i)) return r;
91
91
  if (function(t) {
92
92
  return M.includes(t);
93
93
  }(a)) {
94
94
  if (
95
95
  // Step value index if formatting character pushed out of place by user input
96
- i = getNextNonFormattingCharIndex(t, i, e), i >= t.length) return r;
97
- const o = function(t, r) {
96
+ e = getNextNonFormattingCharIndex(t, e, i), e >= t.length) return r;
97
+ const s = function(t, r) {
98
98
  switch (r) {
99
99
  case "#":
100
100
  case "?":
@@ -114,34 +114,34 @@ function formatValue(t = "", r = "", a) {
114
114
  return t;
115
115
  }
116
116
  return t;
117
- }(t[i], a);
118
- r += o, s += o, i++;
117
+ }(t[e], a);
118
+ r += s, o += s, e++;
119
119
  } else
120
120
  // Static formatting characters added directly to formatted string
121
- r += a, o++, a === t[i] &&
121
+ r += a, s++, a === t[e] &&
122
122
  // Continue to walk value if next value at this index matches formatting character
123
- i++;
123
+ e++;
124
124
  return r;
125
125
  }), "");
126
126
  return {
127
- unformattedValue: s,
127
+ unformattedValue: o,
128
128
  formattedValue: n,
129
- formattingCharacterCount: o
129
+ formattingCharacterCount: s
130
130
  };
131
- }(t, r), p = `${e}${s}${i}`, c = r.length, d = function(t, r, a) {
131
+ }(t, r), p = `${i}${o}${e}`, c = r.length, l = function(t, r, a) {
132
132
  return t.replace(new RegExp(`[${C.join("|")}]`, "g"), "").length + r.length + a.length;
133
133
  }
134
134
  // decimal data source: http://www.iso.org/iso/home/standards/currency_codes.htm 09/Nov/2016
135
- (r, e, i);
135
+ (r, i, e);
136
136
  return {
137
- value: o,
138
- formattedValue: s,
137
+ value: s,
138
+ formattedValue: o,
139
139
  fullyFormattedValue: p,
140
- prefix: e.trim() || i.trim(),
140
+ prefix: i.trim() || e.trim(),
141
141
  formattingCharacterCount: n,
142
142
  maxlength: c,
143
- minFormattedLength: d,
144
- unformattedValue: o
143
+ minFormattedLength: l,
144
+ unformattedValue: s
145
145
  };
146
146
  }
147
147
 
@@ -1448,13 +1448,13 @@ const A = {
1448
1448
  };
1449
1449
 
1450
1450
  function formatCurrency(t, r = "USD", a = !1) {
1451
- let e = r || "", i = !0;
1452
- e.includes("-integer") && (e = e.split("-integer")[0], i = !1);
1453
- const o = A[e];
1454
- if (!o) return formatValue(t);
1451
+ let i = r || "", e = !0;
1452
+ i.includes("-integer") && (i = i.split("-integer")[0], e = !1);
1453
+ const s = A[i];
1454
+ if (!s) return formatValue(t);
1455
1455
  return formatNumber(t, {
1456
- ...o,
1457
- allowDecimal: i && o.decimals > 0,
1456
+ ...s,
1457
+ allowDecimal: e && s.decimals > 0,
1458
1458
  allowNegative: !1
1459
1459
  }, a);
1460
1460
  }
@@ -2450,11 +2450,11 @@ function formatCurrency(t, r = "USD", a = !1) {
2450
2450
  };
2451
2451
 
2452
2452
  function formatPhoneNumber(t, r = "US") {
2453
- const {mask: a, prefix: e} = D[r] || D.US, i = {
2454
- prefix: e
2455
- }, o = (t || "").replace(/[^0-9]/g, "");
2453
+ const {mask: a, prefix: i} = D[r] || D.US, e = {
2454
+ prefix: i
2455
+ }, s = (t || "").replace(/[^0-9]/g, "");
2456
2456
  // Brazil need edge case handle, mobile: (xx) xxxxx-xxxx, land phone: (xx) xxxx-xxxx
2457
- return "BR" === r && 11 === o.length ? formatValue(o, "(##) #####-####", i) : formatValue(o, a, i);
2457
+ return "BR" === r && 11 === s.length ? formatValue(s, "(##) #####-####", e) : formatValue(s, a, e);
2458
2458
  }
2459
2459
 
2460
2460
  function formatSSN(t) {
@@ -2505,24 +2505,24 @@ function getNumberFormat(t) {
2505
2505
  }
2506
2506
 
2507
2507
  function formatNumeric(t = "", r = "", a = !1) {
2508
- const e = getNumberFormat(r);
2509
- if (!e) {
2508
+ const i = getNumberFormat(r);
2509
+ if (!i) {
2510
2510
  return formatValue((t || "").replace(/[^\d.,-]/g, ""));
2511
2511
  }
2512
- return formatNumber(t, e, a);
2512
+ return formatNumber(t, i, a);
2513
2513
  }
2514
2514
 
2515
2515
  function formatPercentage(t = "", r = "", a = !1) {
2516
- const e = getNumberFormat(r);
2517
- if (!e) {
2516
+ const i = getNumberFormat(r);
2517
+ if (!i) {
2518
2518
  return formatValue((t || "").replace(/[^\d.,-]/g, ""), void 0, {
2519
2519
  suffix: "%"
2520
2520
  });
2521
2521
  }
2522
- return e.suffix = "%", formatNumber(t, e, a);
2522
+ return i.suffix = "%", formatNumber(t, i, a);
2523
2523
  }
2524
2524
 
2525
- const I = {
2525
+ const V = {
2526
2526
  AF: "####",
2527
2527
  AL: "####",
2528
2528
  DZ: "#####",
@@ -2747,11 +2747,11 @@ const I = {
2747
2747
  };
2748
2748
 
2749
2749
  function formatPostalCode(t, r = "US") {
2750
- const a = I[r];
2750
+ const a = V[r];
2751
2751
  return a ? formatValue(t, a) : formatAlphanumeric(t);
2752
2752
  }
2753
2753
 
2754
- const N = {
2754
+ const I = {
2755
2755
  "MM/DD/YYYY": "##/##/####",
2756
2756
  "M/D/YYYY": "#?/#?/####",
2757
2757
  "MM/DD/YY": "##/##/##",
@@ -2775,7 +2775,7 @@ const N = {
2775
2775
  };
2776
2776
 
2777
2777
  function formatDate(t, r = "MM/DD/YYYY") {
2778
- const a = formatValue(t, N[null == r ? void 0 : r.toUpperCase()] || N["MM/DD/YYYY"]);
2778
+ const a = formatValue(t, I[null == r ? void 0 : r.toUpperCase()] || I["MM/DD/YYYY"]);
2779
2779
  return {
2780
2780
  ...a,
2781
2781
  value: a.formattedValue
@@ -2834,7 +2834,7 @@ const unknownFormatter = function(t) {
2834
2834
  };
2835
2835
 
2836
2836
  /* tslint:enable:cyclomatic-complexity */
2837
- const V = {
2837
+ const N = {
2838
2838
  detectCreditCardTypeFromValue:
2839
2839
  /* tslint:disable:cyclomatic-complexity */
2840
2840
  function(t) {
@@ -2897,7 +2897,7 @@ const V = {
2897
2897
  },
2898
2898
  format: function(t) {
2899
2899
  // have a initial generic mask which then converts to specific mask
2900
- const r = V.detectCreditCardTypeFromValue(t), a = L[r](t);
2900
+ const r = N.detectCreditCardTypeFromValue(t), a = L[r](t);
2901
2901
  return t.length < 2 && "unknown" === r && (a.leftIcon = "card"), a;
2902
2902
  },
2903
2903
  amexFormatter,
@@ -2963,8 +2963,6 @@ const F = {
2963
2963
  // #endregion
2964
2964
  // #region State Properties
2965
2965
  this.checkSlotCount = 0, this.isSmall = !1,
2966
- // #endregion
2967
- // #region Public Property API
2968
2966
  /**
2969
2967
  * Sets readonly to true on the input without adding the "read only" label.
2970
2968
  *
@@ -2990,7 +2988,7 @@ const F = {
2990
2988
  /**
2991
2989
  * Displays a toggle button at the end of the input field which shows or hides the actual value.
2992
2990
  * @info
2993
- * Only applicable when `type` is `text`, `password`, or `ssn`.
2991
+ * Applicable when `type` is `text`, `password`, `ssn`, or `tin`, or when `visibleLastCount` is set.
2994
2992
  */
2995
2993
  this.showVisibilityToggle = !1,
2996
2994
  /** Specifies the field's expected [input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Form_%3Cinput%3E_types), and provides the optimal keyboard on mobile devices. */
@@ -3021,7 +3019,7 @@ const F = {
3021
3019
  this._updateValueOnInput && (this.value = r.value), g(this, [ "input", "tctInput" ], r),
3022
3020
  this.formattedValueObject.value || g(this, [ "clear", "tctClear" ], {
3023
3021
  source: "input"
3024
- }), this.setCursorPosition(t);
3022
+ }), this.setCursorPosition(t), this.scheduleVisibleLastScrollSync();
3025
3023
  }, this.initMutationObserver = () => {
3026
3024
  if (!("MutationObserver" in window)) return;
3027
3025
  const t = new MutationObserver(this.onMutationObserved);
@@ -3048,11 +3046,11 @@ const F = {
3048
3046
  }
3049
3047
  }));
3050
3048
  }, this.onInputClick = () => {
3051
- this.shouldCursorStayAtEnd && this.placeCursorAtEnd();
3049
+ this.shouldCursorStayAtEnd && this.placeCursorAtEnd(), this.scheduleVisibleLastScrollSync();
3052
3050
  }, this.onInputFocus = () => {
3053
3051
  "INPUT" === this.inputField.tagName && this.scheduledAfterRender.push((() => {
3054
3052
  this.isClickEvent && this.shouldCursorStartAtEnd ? this.placeCursorAtEnd() : this.setCursorPosition(this.calculateCursorPositionOnFocus()),
3055
- this.isClickEvent = !1;
3053
+ this.isClickEvent = !1, this.syncVisibleLastScroll();
3056
3054
  })), this.hasFocus = !0, c(this), this.valueOnFocus = this.value;
3057
3055
  }, this.onInputInput = t => {
3058
3056
  t.stopPropagation(), "currency" === this.type && this.handleCurrencyDeletion(t);
@@ -3077,13 +3075,21 @@ const F = {
3077
3075
  const r = t.clipboardData.getData("text"), a = this.getFormattedValue(r, !0);
3078
3076
  t.preventDefault(), this.handleDataInput(a);
3079
3077
  }
3078
+ }, this.onInputScroll = () => {
3079
+ this.syncVisibleLastScroll();
3080
3080
  }, this.onMutationObserved = () => {
3081
3081
  // Updating checkSlotCount to force re-render when slot content changes
3082
3082
  this.checkSlotCount = this.checkSlotCount + 1;
3083
3083
  }, this.onRefocusInput = () => {
3084
3084
  this.showMessages && (this.inputField.focus(), c(this));
3085
3085
  }, this.onToggleVisibility = () => {
3086
- this.hostElement.dispatchEvent(new FocusEvent("focus")), this.textHidden = !this.textHidden;
3086
+ this.hostElement.dispatchEvent(new FocusEvent("focus")), void 0 !== this.normalizedVisibleLastCount && (this.value = this.formattedValueObject.value),
3087
+ this.textHidden = !this.textHidden;
3088
+ }, this.syncVisibleLastScroll = () => {
3089
+ var t, r;
3090
+ if (!this.visibleLastContentRef) return;
3091
+ const a = null !== (r = null === (t = this.inputField) || void 0 === t ? void 0 : t.scrollLeft) && void 0 !== r ? r : 0;
3092
+ this.visibleLastContentRef.style.setProperty("--tct-input-visible-last-count-scroll-left", `${a}px`);
3087
3093
  }, this.validateInput = () => {
3088
3094
  var t, r, a;
3089
3095
  return this.validity = null === (t = this.inputRef) || void 0 === t ? void 0 : t.validity,
@@ -3105,15 +3111,15 @@ const F = {
3105
3111
  var t, r;
3106
3112
  return null !== (r = null === (t = this.formattedValueObject) || void 0 === t ? void 0 : t.formattedValue) && void 0 !== r ? r : "";
3107
3113
  }
3108
- }), d(this), this.updateComboboxAriaLabel(), void 0 === this.textHidden && (this.textHidden = "password" === this.type),
3114
+ }), l(this), this.updateComboboxAriaLabel(), void 0 === this.textHidden && (this.textHidden = "password" === this.type),
3109
3115
  this.manageClearableResizeObserver(this.clearable);
3110
3116
  }
3111
3117
  componentDidLoad() {
3112
- u(this.hostElement), this.pseudo || (this.inputField.value = this.formattedValueObject.formattedValue),
3118
+ d(this.hostElement), this.pseudo || (this.inputField.value = this.formattedValueObject.formattedValue),
3113
3119
  this.autofocus && this.inputField.focus(), this.initMutationObserver();
3114
3120
  }
3115
3121
  componentDidRender() {
3116
- this.scheduledAfterRender.forEach((t => t())), this.scheduledAfterRender = [];
3122
+ this.scheduledAfterRender.forEach((t => t())), this.scheduledAfterRender = [], this.syncVisibleLastScroll();
3117
3123
  }
3118
3124
  // #endregion
3119
3125
  // #region Listeners
@@ -3121,7 +3127,7 @@ const F = {
3121
3127
  t instanceof CustomEvent ? t.target !== this.hostElement || this.hostElement.onchange || (this.value = t.detail.value) : t.stopPropagation();
3122
3128
  }
3123
3129
  onHostElementFocus(t) {
3124
- l(t, this.hostElement) && this.inputField.focus();
3130
+ u(t, this.hostElement) && this.inputField.focus();
3125
3131
  }
3126
3132
  // #endregion
3127
3133
  // #region Public Methods API
@@ -3162,7 +3168,7 @@ const F = {
3162
3168
  ariaLabelObserver() {
3163
3169
  // Skip deprecated ariaLabel handling for combobox role
3164
3170
  // (combobox sets aria-label directly for accessibility without hiding the visual label)
3165
- "combobox" !== this._role && d(this);
3171
+ "combobox" !== this._role && l(this);
3166
3172
  }
3167
3173
  manageClearableResizeObserver(t) {
3168
3174
  var r;
@@ -3188,6 +3194,11 @@ const F = {
3188
3194
  hintsObserver() {
3189
3195
  this.hasFocus && this.scheduledAfterRender.push((() => c(this)));
3190
3196
  }
3197
+ textHiddenObserver() {
3198
+ this.textHidden ? this.scheduleVisibleLastScrollSync() : this.scheduledAfterRender.push((() => {
3199
+ this.inputField.value = this.formattedValueObject.formattedValue;
3200
+ }));
3201
+ }
3191
3202
  typeObserver() {
3192
3203
  this.formatAndUpdateValueFromProp();
3193
3204
  }
@@ -3227,7 +3238,26 @@ const F = {
3227
3238
  if (!this.formattedValueObject.prefix) return "search" === this.type ? "search" : this.formattedValueObject.leftIcon ? this.formattedValueObject.leftIcon : this.iconLeft;
3228
3239
  }
3229
3240
  get computedType() {
3230
- return [ "password", "text", "ssn" ].includes(this.type) && this.textHidden ? "password" : this.type && F[this.type] || "text";
3241
+ return this.textHidden && ([ "password", "text", "ssn", "tin" ].includes(this.type) || void 0 !== this.normalizedVisibleLastCount) ? "password" : this.type && F[this.type] || "text";
3242
+ }
3243
+ get currencyCode() {
3244
+ if ("currency" !== this.type) return;
3245
+ const t = void 0 === this.formatModifier ? "USD" : this.formatModifier || "", r = t.includes("-integer") ? t.split("-integer")[0] : t;
3246
+ return A[r] ? r : void 0;
3247
+ }
3248
+ get currencyDescription() {
3249
+ const t = this.currencyCode;
3250
+ if (t) try {
3251
+ const r = document.documentElement.lang || "en-US";
3252
+ return new Intl.DisplayNames(r, {
3253
+ type: "currency"
3254
+ }).of(t) || t;
3255
+ } catch (r) {
3256
+ return t;
3257
+ }
3258
+ }
3259
+ get currencyDescriptionId() {
3260
+ return `${this.inputId}-currency-description`;
3231
3261
  }
3232
3262
  get hasCustomDisplaySlot() {
3233
3263
  return h(this.hostElement, "custom-display");
@@ -3245,7 +3275,9 @@ const F = {
3245
3275
  return this.valid && !this.hasError;
3246
3276
  }
3247
3277
  get inputDescribedBy() {
3248
- return this.showMessages || this.hasError ? `${this.inputId}-description` : void 0;
3278
+ const t = [];
3279
+ return this.currencyDescription && t.push(this.currencyDescriptionId), this._ariaDescription && t.push(`${this.inputId}-aria-description`),
3280
+ (this.showMessages || this.hasError) && t.push(`${this.inputId}-description`), t.length ? t.join(" ") : void 0;
3249
3281
  }
3250
3282
  get inputField() {
3251
3283
  return this.hostElement.shadowRoot.querySelector(".input-field");
@@ -3267,9 +3299,42 @@ const F = {
3267
3299
  get isMaskedType() {
3268
3300
  return [ "currency", "phone", "ssn", "tin", "alphanumeric", "alpha", "numeric", "percentage", "postal", "date", "credit-card", "cif", "routingnumber", "swift", "iban", "clabe" ].includes(this.type);
3269
3301
  }
3302
+ get maskedDisplayParts() {
3303
+ var t, r;
3304
+ if (!this.textHidden) return {
3305
+ maskedCharacters: [],
3306
+ visibleValue: ""
3307
+ };
3308
+ const a = this.normalizedVisibleLastCount, i = null !== (r = null === (t = this.formattedValueObject) || void 0 === t ? void 0 : t.formattedValue) && void 0 !== r ? r : "";
3309
+ if (void 0 === a || !i) return {
3310
+ maskedCharacters: [],
3311
+ visibleValue: ""
3312
+ };
3313
+ const e = Array.from(i);
3314
+ if (a >= e.length) return {
3315
+ maskedCharacters: [],
3316
+ visibleValue: i
3317
+ };
3318
+ const s = e.length - a;
3319
+ return {
3320
+ maskedCharacters: e.slice(0, s),
3321
+ visibleValue: e.slice(s).join("")
3322
+ };
3323
+ }
3324
+ get maskedDisplayValue() {
3325
+ const {maskedCharacters: t, visibleValue: r} = this.maskedDisplayParts;
3326
+ return `${"*".repeat(t.length)}${r}`;
3327
+ }
3270
3328
  get messages() {
3271
3329
  return this.errors && this.errors.length > 0 && this.errors || this.hints && this.hints.length > 0 && this.hints || [];
3272
3330
  }
3331
+ get normalizedVisibleLastCount() {
3332
+ if ([ "currency", "password", "date" ].includes(this.type)) return;
3333
+ const t = this.visibleLastCount;
3334
+ if (null == t || "" === t) return;
3335
+ const r = Number(t);
3336
+ return !Number.isFinite(r) || r < 0 ? void 0 : Math.floor(r);
3337
+ }
3273
3338
  get shouldCursorStartAtEnd() {
3274
3339
  return "currency" === this.type;
3275
3340
  }
@@ -3282,6 +3347,9 @@ const F = {
3282
3347
  get showMessages() {
3283
3348
  return this.messages.length > 0 && !this.hideMessages;
3284
3349
  }
3350
+ get showVisibilityToggleButton() {
3351
+ return this.showVisibilityToggle && ([ "password", "text", "ssn", "tin" ].includes(this.type) || void 0 !== this.normalizedVisibleLastCount);
3352
+ }
3285
3353
  get stringValue() {
3286
3354
  return "[object Object]" === Object.prototype.toString.call(this.value) ? "" : this.value && String(this.value) || "";
3287
3355
  }
@@ -3303,18 +3371,18 @@ const F = {
3303
3371
  }
3304
3372
  calculateCursorPositionOnFocus() {
3305
3373
  var t, r, a;
3306
- const {inputField: e} = this, i = null !== (r = null === (t = null == e ? void 0 : e.value) || void 0 === t ? void 0 : t.length) && void 0 !== r ? r : 0;
3374
+ const {inputField: i} = this, e = null !== (r = null === (t = null == i ? void 0 : i.value) || void 0 === t ? void 0 : t.length) && void 0 !== r ? r : 0;
3307
3375
  return {
3308
- startingPosition: null !== (a = null == e ? void 0 : e.selectionStart) && void 0 !== a ? a : i,
3309
- valueLength: i,
3310
- previousValueLength: i,
3376
+ startingPosition: null !== (a = null == i ? void 0 : i.selectionStart) && void 0 !== a ? a : e,
3377
+ valueLength: e,
3378
+ previousValueLength: e,
3311
3379
  hasSelection: window.getSelection().toString().length > 0
3312
3380
  };
3313
3381
  }
3314
3382
  calculateCursorPositionOnInput() {
3315
- const t = this.inputField, r = this.formattedValueObject.formattedValue.length, a = t.value.length, e = "currency" === this.type ? r : 0;
3383
+ const t = this.inputField, r = this.formattedValueObject.formattedValue.length, a = t.value.length, i = "currency" === this.type ? r : 0;
3316
3384
  return {
3317
- startingPosition: t && t.selectionStart || e,
3385
+ startingPosition: t && t.selectionStart || i,
3318
3386
  valueLength: r,
3319
3387
  previousValueLength: t && a,
3320
3388
  hasSelection: !1
@@ -3346,7 +3414,7 @@ const F = {
3346
3414
  swift: formatSwift,
3347
3415
  iban: formatIBAN,
3348
3416
  clabe: formatCLABE,
3349
- "credit-card": V.format
3417
+ "credit-card": N.format
3350
3418
  };
3351
3419
  return a[this.type] ? a[this.type](t, this.formatModifier, r) : {
3352
3420
  value: t,
@@ -3361,13 +3429,13 @@ const F = {
3361
3429
  if (this.textSelectedForDeletion) return void (this.textSelectedForDeletion = !1);
3362
3430
  // We only care about "Backspace" and "Delete" events
3363
3431
  if (![ "deleteContentBackward", "deleteContentForward" ].includes(t.inputType)) return;
3364
- const r = t.target, a = r.selectionStart, {formattedValue: e} = this.formattedValueObject;
3432
+ const r = t.target, a = r.selectionStart, {formattedValue: i} = this.formattedValueObject;
3365
3433
  if (null === a) return;
3366
- let i;
3434
+ let e;
3367
3435
  switch (t.inputType) {
3368
3436
  case "deleteContentBackward":
3369
- const t = e.substring(0, a + 1), r = /[a-zA-Z0-9]$/.test(t);
3370
- i = {
3437
+ const t = i.substring(0, a + 1), r = /[a-zA-Z0-9]$/.test(t);
3438
+ e = {
3371
3439
  leftIndex: r ? a : a - 1,
3372
3440
  rightIndex: r ? a + 1 : a,
3373
3441
  afterCursorOffset: 0,
@@ -3376,10 +3444,10 @@ const F = {
3376
3444
  break;
3377
3445
 
3378
3446
  case "deleteContentForward":
3379
- const o = e.substring(a), s = /^[a-zA-Z0-9]/.test(o);
3380
- i = {
3381
- leftIndex: s ? a : a + 1,
3382
- rightIndex: s ? a + 1 : a + 2,
3447
+ const s = i.substring(a), o = /^[a-zA-Z0-9]/.test(s);
3448
+ e = {
3449
+ leftIndex: o ? a : a + 1,
3450
+ rightIndex: o ? a + 1 : a + 2,
3383
3451
  afterCursorOffset: 1,
3384
3452
  newCursorOffset: 0
3385
3453
  };
@@ -3389,7 +3457,7 @@ const F = {
3389
3457
  return;
3390
3458
  }
3391
3459
  // Ensure the cursor doesn't move with a newly formatted value
3392
- const o = [ e.substring(0, i.leftIndex), e.substring(i.rightIndex) ].join(""), s = e.length - a - i.afterCursorOffset, n = this.getFormattedValue(o, !1).formattedValue, p = Math.max(n.length - s + i.newCursorOffset, 0);
3460
+ const s = [ i.substring(0, e.leftIndex), i.substring(e.rightIndex) ].join(""), o = i.length - a - e.afterCursorOffset, n = this.getFormattedValue(s, !1).formattedValue, p = Math.max(n.length - o + e.newCursorOffset, 0);
3393
3461
  r.value = n, r.setSelectionRange(p, p),
3394
3462
  // This handles a runtime issue when a character is deleted from the beginning of the input
3395
3463
  0 === p && x((() => r.setSelectionRange(p, p)));
@@ -3402,17 +3470,20 @@ const F = {
3402
3470
  const {inputField: t} = this;
3403
3471
  t.selectionStart = t.selectionEnd = t.value.length;
3404
3472
  }
3473
+ scheduleVisibleLastScrollSync() {
3474
+ this.maskedDisplayValue && x(this.syncVisibleLastScroll);
3475
+ }
3405
3476
  setCursorPosition(t) {
3406
3477
  if (this.canSetSelection && !t.hasSelection) {
3407
- const r = this.inputField, {valueLength: a, previousValueLength: e, startingPosition: i} = t;
3408
- if ("currency" === this.type) if (e - a == 1) r.setSelectionRange(i - 1, i - 1); else {
3409
- const t = e - a;
3410
- r.setSelectionRange(i - t, i - t);
3478
+ const r = this.inputField, {valueLength: a, previousValueLength: i, startingPosition: e} = t;
3479
+ if ("currency" === this.type) if (i - a == 1) r.setSelectionRange(e - 1, e - 1); else {
3480
+ const t = i - a;
3481
+ r.setSelectionRange(e - t, e - t);
3411
3482
  }
3412
3483
  if ("currency" !== this.type) {
3413
- const t = a - e, o = i + (t > 0 ? t : 0);
3484
+ const t = a - i, s = e + (t > 0 ? t : 0);
3414
3485
  // Never allow the cursor to move in reverse
3415
- r.setSelectionRange(o, o);
3486
+ r.setSelectionRange(s, s);
3416
3487
  }
3417
3488
  }
3418
3489
  }
@@ -3421,44 +3492,45 @@ const F = {
3421
3492
  renderCountDOM() {
3422
3493
  if (!this.showCount) return;
3423
3494
  const {maxlength: t, formattedValueObject: r} = this;
3424
- return e("div", {
3495
+ return i("div", {
3425
3496
  class: "count-tag"
3426
3497
  }, r.unformattedValue.length, t && `/${t}`);
3427
3498
  }
3428
3499
  renderInputContainerDOM() {
3429
3500
  const {hasInputLeftSlot: t, hasInputRightSlot: r} = this;
3430
- return e("div", {
3501
+ return i("div", {
3431
3502
  class: "input-container",
3432
3503
  tabindex: -1,
3433
3504
  "test-id": "inputContainer"
3434
- }, e("div", {
3505
+ }, i("div", {
3435
3506
  class: "input-icons-container-left"
3436
- }, this.formattedValueObject.prefix && e("div", {
3437
- class: "input-prefix"
3438
- }, this.formattedValueObject.prefix), this.computedIconLeft && e("div", null, e("q2-icon", {
3507
+ }, this.formattedValueObject.prefix && i("div", {
3508
+ class: "input-prefix",
3509
+ "aria-hidden": "currency" === this.type ? "true" : void 0
3510
+ }, this.formattedValueObject.prefix), this.computedIconLeft && i("div", null, i("q2-icon", {
3439
3511
  type: this.computedIconLeft,
3440
3512
  class: this.computedClassForIconLeft
3441
- })), t && e("slot", {
3513
+ })), t && i("slot", {
3442
3514
  name: "input-left"
3443
- }), this.showIconSeparator && e("div", {
3515
+ }), this.showIconSeparator && i("div", {
3444
3516
  class: "vertical-separator"
3445
- }), this.hasError && "currency" === this.type && e("div", {
3517
+ }), this.hasError && "currency" === this.type && i("div", {
3446
3518
  "test-id": "divIconError",
3447
3519
  onClick: this.onRefocusInput
3448
- }, e("q2-icon", {
3520
+ }, i("q2-icon", {
3449
3521
  type: "error",
3450
3522
  class: "icon-error",
3451
3523
  "test-id": "iconError"
3452
- })), this.hasValidState && "currency" === this.type && e("div", {
3524
+ })), this.hasValidState && "currency" === this.type && i("div", {
3453
3525
  class: "input-valid-icon-container",
3454
3526
  "test-id": "divIconValid"
3455
- }, e("q2-icon", {
3527
+ }, i("q2-icon", {
3456
3528
  type: "success",
3457
3529
  class: "icon-valid",
3458
3530
  "test-id": "iconValid"
3459
- }))), this.pseudo ? this.renderPseudoInputDOM() : this.renderStandardInputDOM(), e("div", {
3531
+ }))), this.pseudo ? this.renderPseudoInputDOM() : this.renderStandardInputDOM(), i("div", {
3460
3532
  class: "input-icons-container-right"
3461
- }, e("q2-btn", {
3533
+ }, i("q2-btn", {
3462
3534
  class: this.clearClasses.join(" "),
3463
3535
  label: f("tecton.element.input.clear", [ this.label ]),
3464
3536
  hideLabel: !0,
@@ -3466,10 +3538,10 @@ const F = {
3466
3538
  onMouseDown: t => t.preventDefault(),
3467
3539
  onClick: this.onClearInput,
3468
3540
  onKeyDown: t => t.stopPropagation()
3469
- }, e("q2-icon", {
3541
+ }, i("q2-icon", {
3470
3542
  type: "close",
3471
3543
  class: "icon-clear"
3472
- })), [ "password", "text", "ssn", "tin" ].includes(this.type) && this.showVisibilityToggle && e("q2-btn", {
3544
+ })), this.showVisibilityToggleButton && i("q2-btn", {
3473
3545
  class: "btn-visibility-toggle",
3474
3546
  "test-id": "toggleVisibilityButton",
3475
3547
  onClick: this.onToggleVisibility,
@@ -3477,37 +3549,41 @@ const F = {
3477
3549
  label: this.label
3478
3550
  }),
3479
3551
  "hide-label": !0
3480
- }, this.visibilityToggleText), this.formattedValueObject.suffix && e("span", {
3481
- class: "input-suffix"
3482
- }, this.formattedValueObject.suffix), this.badgeValue && e("q2-badge", {
3552
+ }, this.visibilityToggleText), this.formattedValueObject.suffix && i("span", {
3553
+ class: "input-suffix",
3554
+ "aria-hidden": "currency" === this.type ? "true" : void 0
3555
+ }, this.formattedValueObject.suffix), this.badgeValue && i("q2-badge", {
3483
3556
  size: "large",
3484
3557
  theme: this.badgeTheme
3485
- }, this.badgeValue), this.hasValidState && "currency" !== this.type && e("div", {
3558
+ }, this.badgeValue), this.hasValidState && "currency" !== this.type && i("div", {
3486
3559
  class: "input-valid-icon-container",
3487
3560
  "test-id": "divIconValid"
3488
- }, e("q2-icon", {
3561
+ }, i("q2-icon", {
3489
3562
  type: "success",
3490
3563
  class: "icon-valid",
3491
3564
  "test-id": "iconValid"
3492
- })), this.hasError && "currency" !== this.type && e("div", {
3565
+ })), this.hasError && "currency" !== this.type && i("div", {
3493
3566
  "test-id": "divIconError",
3494
3567
  onClick: this.onRefocusInput
3495
- }, e("q2-icon", {
3568
+ }, i("q2-icon", {
3496
3569
  type: "error",
3497
3570
  class: "icon-error",
3498
3571
  "test-id": "iconError"
3499
- })), this.iconRight && !this.formattedValueObject.suffix && e("div", null, e("q2-icon", {
3572
+ })), this.iconRight && !this.formattedValueObject.suffix && i("div", null, i("q2-icon", {
3500
3573
  type: this.iconRight,
3501
3574
  class: "icon-right"
3502
- })), r && e("slot", {
3575
+ })), r && i("slot", {
3503
3576
  name: "input-right"
3504
- })));
3577
+ })), this.currencyDescription && i("span", {
3578
+ id: this.currencyDescriptionId,
3579
+ class: "sr"
3580
+ }, this.currencyDescription));
3505
3581
  }
3506
3582
  renderPseudoInputDOM() {
3507
- const t = !this.value && !!this.placeholder, {ariaOwns: r, ariaHaspopup: a, ariaExpanded: i, ariaActivedescendant: o} = this.ariaAttributes;
3508
- return e("div", {
3583
+ const t = !this.value && !!this.placeholder, {ariaOwns: r, ariaHaspopup: a, ariaExpanded: e, ariaActivedescendant: s} = this.ariaAttributes;
3584
+ return i("div", {
3509
3585
  class: "pseudo-input-container"
3510
- }, e("button", {
3586
+ }, i("button", {
3511
3587
  class: "input-field",
3512
3588
  type: "button",
3513
3589
  id: this.inputId,
@@ -3515,28 +3591,44 @@ const F = {
3515
3591
  "aria-invalid": `${this.hasError}`,
3516
3592
  "aria-owns": r,
3517
3593
  "aria-haspopup": a,
3518
- "aria-expanded": i,
3519
- "aria-activedescendant": o,
3594
+ "aria-expanded": e,
3595
+ "aria-activedescendant": s,
3520
3596
  role: this.role || void 0,
3521
3597
  disabled: !!this.disabled,
3522
3598
  "test-id": "q2InputInnerClearButton",
3523
3599
  onFocus: this.onInputFocus,
3524
3600
  onBlur: this.onInputBlur
3525
- }, e("div", {
3601
+ }, i("div", {
3526
3602
  class: "custom-display-container"
3527
- }, e("slot", {
3603
+ }, i("slot", {
3528
3604
  name: "custom-display"
3529
- }, e("span", {
3605
+ }, i("span", {
3530
3606
  class: t ? "placeholder-text" : ""
3531
3607
  }, f(t ? this.placeholder : this.value))))));
3532
3608
  }
3533
3609
  renderStandardInputDOM() {
3534
- const {hasCustomDisplaySlot: t} = this, r = [ "input-field" ], {ariaOwns: a, ariaHaspopup: o, ariaActivedescendant: s, ariaExpanded: n} = this.ariaAttributes;
3535
- return t && r.push("sr"), e(i, null, t && e("div", {
3610
+ const {hasCustomDisplaySlot: t} = this, r = [ "input-field" ], {ariaOwns: a, ariaHaspopup: s, ariaActivedescendant: o, ariaExpanded: n} = this.ariaAttributes, {maskedCharacters: p, visibleValue: c} = this.maskedDisplayParts;
3611
+ return t && r.push("sr"), this.maskedDisplayValue && r.push("has-visible-last-count"),
3612
+ i(e, null, t && i("div", {
3536
3613
  class: "custom-display-container"
3537
- }, e("slot", {
3614
+ }, i("slot", {
3538
3615
  name: "custom-display"
3539
- })), e("input", {
3616
+ })), i("div", {
3617
+ class: "standard-input-container"
3618
+ }, this.maskedDisplayValue && i("span", {
3619
+ class: "visible-last-count-value",
3620
+ "aria-hidden": "true"
3621
+ }, i("span", {
3622
+ ref: t => this.visibleLastContentRef = t,
3623
+ class: "visible-last-count-content"
3624
+ }, p.map((t => i("span", {
3625
+ class: "visible-last-count-character",
3626
+ "data-character": t
3627
+ }, i("span", {
3628
+ class: "visible-last-count-mask"
3629
+ }, "*")))), i("span", {
3630
+ class: "visible-last-count-visible-value"
3631
+ }, c))), i("input", {
3540
3632
  ref: t => this.inputRef = t,
3541
3633
  class: r.join(" "),
3542
3634
  id: this.inputId,
@@ -3551,8 +3643,8 @@ const F = {
3551
3643
  "aria-required": `${!this.optional}`,
3552
3644
  "aria-invalid": `${this.hasError}`,
3553
3645
  "aria-owns": a,
3554
- "aria-haspopup": o,
3555
- "aria-activedescendant": s,
3646
+ "aria-haspopup": s,
3647
+ "aria-activedescendant": o,
3556
3648
  "aria-expanded": n || void 0,
3557
3649
  role: this._role || void 0,
3558
3650
  autocomplete: this.computedAutocomplete,
@@ -3569,23 +3661,28 @@ const F = {
3569
3661
  onKeyDown: this.onInputKeydown,
3570
3662
  onMouseDown: this.onInputMousedown,
3571
3663
  onInput: this.onInputInput,
3664
+ onScroll: this.onInputScroll,
3572
3665
  onPaste: this.onInputPaste,
3573
3666
  inputmode: this.inputMode,
3574
3667
  pattern: this.pattern || void 0
3575
- }));
3668
+ })));
3576
3669
  }
3577
3670
  render() {
3578
3671
  const {ariaControls: t, ariaExpanded: r} = this.ariaAttributes;
3579
- return e(o, {
3580
- key: "877bcbc79e4891cab10a027fd4d53cab9852779e",
3672
+ return i(s, {
3673
+ key: "aea772f2158fa032157fcbb26bb49a97dc2e5a1b",
3581
3674
  role: this._role,
3582
3675
  "aria-controls": t,
3583
3676
  "aria-expanded": r
3584
- }, e("div", {
3585
- key: "0150e85d50d8c69dc16a50fc900cdc78729fc6ec",
3677
+ }, i("div", {
3678
+ key: "6b0cdf179216c359cb2db01176f563d77c19780e",
3586
3679
  class: this.wrapperClasses
3587
- }, e("div", {
3588
- key: "6fef0d2a694ef81a7967fd86365a64237ea29d96",
3680
+ }, this._ariaDescription && i("span", {
3681
+ key: "816be1dac83810f66ee0204a5be1a8421833e20b",
3682
+ id: `${this.inputId}-aria-description`,
3683
+ class: "sr"
3684
+ }, this._ariaDescription), i("div", {
3685
+ key: "1e4fd3b4bbe5103b7bad2af07ebfecb36c3d1743",
3589
3686
  class: "label-wrapper"
3590
3687
  }, v(this), this.renderCountDOM()), this.renderInputContainerDOM(), b(this)));
3591
3688
  }
@@ -3618,6 +3715,9 @@ const F = {
3618
3715
  hints: [ {
3619
3716
  hintsObserver: 0
3620
3717
  } ],
3718
+ textHidden: [ {
3719
+ textHiddenObserver: 0
3720
+ } ],
3621
3721
  type: [ {
3622
3722
  typeObserver: 0
3623
3723
  } ],
@@ -3627,9 +3727,10 @@ const F = {
3627
3727
  };
3628
3728
  }
3629
3729
  static get style() {
3630
- return '*{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}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}:host{--comp-default-input-margin:var(--tct-input-margin-top, var(--t-input-margin-top, var(--app-scale-5x, 25px))) 0 var(--tct-input-margin-bottom, var(--t-input-margin-bottom, var(--app-scale-5x, 25px)));display:block;margin:var(--tct-input-margin, var(--comp-default-input-margin));font-size:var(--tct-input-font-size, var(--t-input-font-size, var(--app-font-size, inherit)))}:host([hidden]){display:none}.field-container,.input-container{position:relative}.field-container{--comp-input-tween:var(--tct-input-tween, var(--t-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))))}.field-container.is-small .btn-clear{--tct-btn-icon-width:20px;--tct-icon-size:17px}.input-label{--comp-label-padding:var(--tct-input-label-padding, 0 var(--tct-input-label-padding-right, var(--t-input-label-padding-right, 0)) 0 var(--tct-input-label-padding-left, var(--t-input-label-padding-left, 0)));display:block;padding:var(--comp-label-padding);color:var(--tct-input-label-font-color, var(--t-input-label-font-color, inherit));font-size:var(--tct-input-label-font-size, var(--t-input-label-font-size, inherit));font-weight:var(--tct-input-label-font-weight, var(--t-input-label-font-weight, 600));text-transform:var(--tct-input-label-text-transform, var(--t-input-label-text-transform, none));letter-spacing:var(--tct-input-label-letter-spacing, var(--t-input-label-letter-spacing, inherit));transition:color var(--comp-input-tween)}.optional-tag{--comp-label-optional-margin:var(--tct-input-label-optional-margin, 0 0 0 var(--tct-input-label-optional-margin-left, var(--t-input-label-optional-margin-left, var(--tct-scale-1, var(--app-scale-1x, 5px)))));margin:var(--comp-label-optional-margin);color:var(--tct-input-label-optional-font-color, var(--t-input-label-optional-font-color, var(--t-textA, var(--t-a11y-gray-color, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-input-label-optional-font-size, var(--t-input-label-optional-font-size, var(--app-font-size-small, var(--const-px-12, 12px))));font-weight:var(--tct-input-label-optional-font-weight, var(--t-input-label-optional-font-weight, 400));line-height:1em}.count-tag{color:var(--tct-input-count-font-color, var(--t-textA, var(--t-a11y-gray-color, rgba(77, 77, 77, 0.77))));font-size:var(--tct-input-count-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));font-weight:var(--tct-input-count-font-weight, 400);text-align:right;width:var(--tct-input-count-width, auto)}.label-wrapper{--comp-label-margin:var(--tct-input-label-margin, var(--tct-input-label-margin-top, var(--t-input-label-margin-top, 0)) 0 var(--tct-input-label-margin-bottom, var(--t-input-label-margin-bottom, var(--tct-scale-1, var(--app-scale-1x, 5px)))));display:flex;gap:var(--tct-input-label-gap, var(--app-scale-2x, 10px));justify-content:space-between;align-items:end;margin:var(--comp-label-margin);line-height:var(--tct-input-label-line-height, var(--t-input-label-line-height, inherit))}.label-wrapper:has(label.sr){margin:0}.input-container{--comp-input-background:var(--tct-input-background, var(--tct-input-bg, var(--t-input-bg, var(--t-gray-14, #fcfcfd))));--comp-input-backdrop-filter:var(--tct-input-backdrop-filter, none);--comp-input-horizontal-gap:var(--tct-input-horizontal-gap, var(--t-input-horizontal-gap, 0));--comp-input-border-top-left-radius:var(--tct-input-border-top-left-radius, var(--t-input-border-top-left-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 4px))));--comp-input-border-top-right-radius:var(--tct-input-border-top-right-radius, var(--t-input-border-top-right-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 4px))));--comp-input-border-bottom-right-radius:var(--tct-input-border-bottom-right-radius, var(--t-input-border-bottom-right-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 4px))));--comp-input-border-bottom-left-radius:var(--tct-input-border-bottom-left-radius, var(--t-input-border-bottom-left-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 4px))));--comp-calc-input-border-top-left-radius:calc( var(--comp-input-border-top-left-radius) - var(--tct-input-border-top-width, var(--t-input-border-top-width, 1px)) - var(--tct-input-border-left-width, var(--t-input-border-left-width, 1px)) );--comp-calc-input-border-top-right-radius:calc( var(--comp-input-border-top-right-radius) - var(--tct-input-border-top-width, var(--t-input-border-top-width, 1px)) - var(--tct-input-border-right-width, var(--t-input-border-right-width, 1px)) );--comp-calc-input-border-bottom-left-radius:calc( var(--comp-input-border-bottom-left-radius) - var(--tct-input-border-bottom-width, var(--t-input-border-bottom-width, 1px)) - var(--tct-input-border-left-width, var(--t-input-border-left-width, 1px)) );--comp-calc-input-border-bottom-right-radius:calc( var(--comp-input-border-bottom-right-radius) - var(--tct-input-border-bottom-width, var(--t-input-border-bottom-width, 1px)) - var(--tct-input-border-right-width, var(--t-input-border-right-width, 1px)) );--comp-input-border-radius:var(--comp-input-border-top-left-radius) var(--comp-input-border-top-right-radius) var(--comp-input-border-bottom-right-radius) var(--comp-input-border-bottom-left-radius);--comp-input-border-width:var(--tct-input-border-top-width, 1px) var(--tct-input-border-right-width, 1px) var(--tct-input-border-bottom-width, 1px) var(--tct-input-border-left-width, 1px);--comp-input-border-color:var(--tct-input-border-color, var(--t-input-border-color, var(--t-a11y-gray-color-AA, #404040)));--comp-input-prefix-clearance:calc(3 * var(--tct-input-prefix-font-size, var(--const-px-14, 14px)) + var(--tct-scale-1, 5px));--comp-input-icon-clearance:34px;--comp-input-min-height:var(--tct-input-min-height, var(--t-input-min-height, 44px));--comp-input-max-height:var(--tct-input-max-height, var(--t-input-max-height));--comp-input-hover-ring-color:var(--tct-input-hover-ring-color, var(--t-input-hover-ring-color));--comp-input-hover-ring:0 0 0 2px var(--t-base), 0 0 0 4px var(--comp-input-hover-ring-color), var(--tct-input-hover-box-shadow, var(--t-input-hover-box-shadow, 0 0 transparent));background:var(--comp-input-background);backdrop-filter:var(--comp-input-backdrop-filter);display:flex;align-items:center;gap:var(--tct-input-container-gap, var(--app-scale-2x, 10px));padding-inline:var(--tct-input-container-padding-inline);border-width:var(--comp-input-border-width);border-style:solid;border-color:var(--comp-input-border-color);border-radius:var(--comp-input-border-radius);box-shadow:var(--tct-input-box-shadow, var(--t-input-box-shadow, none));transition:background var(--comp-input-tween), backdrop-filter var(--comp-input-tween), border-width var(--comp-input-tween), border-color var(--comp-input-tween), box-shadow var(--comp-input-tween)}:host([disabled]:not([disabled=false])) .input-container{cursor:not-allowed;opacity:var(--tct-input-disabled-opacity, var(--t-input-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))));backdrop-filter:var(--tct-input-disabled-backdrop-filter, var(--comp-input-backdrop-filter))}.has-error .input-container{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #d20a0a));backdrop-filter:var(--tct-input-error-backdrop-filter, var(--comp-input-backdrop-filter));background:var(--tct-input-error-background, var(--comp-input-background));box-shadow:var(--tct-input-error-box-shadow, var(--comp-input-hover-ring))}.input-container:hover{border-color:var(--tct-input-hover-border-color, var(--comp-input-border-color));background:var(--tct-input-hover-background, var(--comp-input-background));backdrop-filter:var(--tct-input-hover-backdrop-filter, var(--comp-input-backdrop-filter));box-shadow:var(--tct-input-hover-box-shadow, var(--comp-input-hover-ring))}.has-error .input-container:hover{border-color:var(--tct-input-error-hover-border-color, var(--tct-input-error-border-color, var(--const-stoplight-alert, #d20a0a)));backdrop-filter:var(--tct-input-error-hover-backdrop-filter, var(--tct-input-error-backdrop-filter, var(--tct-input-hover-backdrop-filter, var(--comp-input-backdrop-filter))));background:var(--tct-input-error-hover-background, var(--tct-input-error-background, var(--comp-input-background)));box-shadow:var(--tct-input-error-hover-box-shadow, var(--tct-input-error-box-shadow, var(--comp-input-hover-ring)))}.has-focus .input-container{border-color:var(--tct-input-focus-border-color, var(--t-input-focus-border-color, var(--comp-input-border-color)));background:var(--tct-input-focus-background, var(--comp-input-background));backdrop-filter:var(--tct-input-focus-backdrop-filter, var(--comp-input-backdrop-filter));box-shadow:var(--tct-input-focus-box-shadow, var(--const-double-focus-ring))}.has-focus.has-error .input-container,.has-focus.has-error .input-container:hover{border-color:var(--tct-input-error-focus-border-color, var(--tct-input-error-border-color, var(--const-stoplight-alert, #d20a0a)));backdrop-filter:var(--tct-input-error-focus-backdrop-filter, var(--tct-input-error-backdrop-filter, var(--tct-input-focus-backdrop-filter, var(--comp-input-backdrop-filter))));background:var(--tct-input-error-focus-background, var(--tct-input-error-background, var(--comp-input-background)));box-shadow:var(--tct-input-error-focus-box-shadow, var(--tct-input-error-box-shadow, var(--const-double-focus-ring)))}.input-container:has(.input-field:is(:-webkit-autofill,:autofill)){background:var(--tct-input-autofill-background, #faffbc);color:var(--tct-input-autofill-font-color, var(--t-text, inherit))}.input-container:has(.input-field:is(:-webkit-autofill,:autofill)) .input-field{box-shadow:0 0 0 1000px var(--tct-input-autofill-background, #faffbc) inset;color:var(--tct-input-autofill-font-color, var(--t-text, inherit));-webkit-text-fill-color:var(--tct-input-autofill-font-color, var(--t-text, inherit))}.input-field{flex:1;border:0;-webkit-appearance:none;appearance:none;box-sizing:border-box;min-height:var(--comp-input-min-height);max-height:var(--comp-input-max-height);overflow-y:hidden;height:var(--tct-input-height, var(--t-input-height, 44px));width:100%;padding:var(--tct-input-padding, 0);background:transparent;color:var(--tct-input-font-color, var(--t-input-font-color, var(--t-text, inherit)));display:inline-block;text-align:var(--tct-input-align, "start");font-weight:var(--tct-input-font-weight, var(--t-input-font-weight, 400));letter-spacing:var(--tct-input-letter-spacing, var(--t-input-letter-spacing, inherit));}.input-field:focus{outline:none;box-shadow:none}.input-field::-webkit-outer-spin-button,.input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-field[type=number]{-moz-appearance:textfield}.input-field::-ms-reveal,.input-field::-ms-clear{display:none}.input-field[type=search]::-webkit-search-decoration,.input-field[type=search]::-webkit-search-cancel-button,.input-field[type=search]::-webkit-search-results-button,.input-field[type=search]::-webkit-search-results-decoration{display:none}.input-field[disabled]:not([disabled=false]){cursor:not-allowed}.right-aligned .input-field{text-align:right}.input-field:is(input){flex:1}.input-field:is(input)[readonly]:not([readonly=false]){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-field:is(button){display:inline-flex;align-items:center}.has-custom-display .input-field:is(button){height:auto;padding:0}.input-field:is(button) span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.input-field[readonly]:not([readonly=false]){pointer-events:none}.custom-display-container{max-width:100%}.has-custom-display .custom-display-container{width:100%}.has-custom-display .custom-display-container ::slotted([slot=custom-display]){--comp-default-padding:var(--app-scale-2x, 10px) var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);padding:var(--tct-input-padding, var(--t-input-padding, var(--comp-default-padding)))}.input-field::placeholder,.placeholder-text{color:var(--tct-input-placeholder-font-color, var(--t-input-placeholder-font-color, var(--t-textA, var(--app-gray-d1, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-input-placeholder-font-size, var(--t-input-placeholder-font-size, var(--tct-input-font-size, var(--t-input-font-size, var(--app-font-size, inherit)))));font-weight:var(--tct-input-placeholder-font-weight, var(--t-input-placeholder-font-weight, var(--tct-input-font-weight, var(--t-input-font-weight, inherit))));line-height:var(--tct-input-placeholder-font-size, var(--t-input-placeholder-font-size, var(--tct-input-font-size, var(--t-input-font-size, var(--app-font-size, inherit)))));padding:var(--tct-input-placeholder-padding, var(--t-input-placeholder-padding, var(--tct-input-padding, var(--t-input-padding, inherit))))}.pseudo-input-container{min-width:0;flex:1}.input-icons-container-left,.input-icons-container-right{--tct-btn-icon-hover-background:var(--tct-input-btn-hover-background);--tct-btn-hover-background:var(--tct-input-btn-hover-background);display:flex;flex-direction:row;align-items:center;gap:var(--comp-input-horizontal-gap)}.input-icons-container-left q2-btn q2-icon,.input-icons-container-left ::slotted(q2-btn),.input-icons-container-right q2-btn q2-icon,.input-icons-container-right ::slotted(q2-btn){--tct-icon-stroke-primary:var(--tct-input-btn-icon-stroke-primary);--tct-icon-stroke-secondary:var(--tct-input-btn-icon-stroke-secondary)}.input-icons-container-left>div:not(.vertical-separator),.input-icons-container-right>div:not(.vertical-separator){min-width:var(--tct-input-icon-container-icon-min-width, 44px);display:flex;justify-content:center;align-items:center;font-size:var(--tct-input-icon-container-font-size, inherit)}.input-icons-container-left:empty,.input-icons-container-right:empty{display:var(--tct-input-icon-container-empty-display, block)}.input-icons-container-left{padding-left:var(--comp-input-horizontal-gap)}.input-icons-container-left q2-btn:first-child,.input-icons-container-left ::slotted(q2-btn:first-child){--tct-btn-icon-border-radius:var(--comp-calc-input-border-top-left-radius) 0 0 var(--comp-calc-input-border-bottom-left-radius)}.input-icons-container-right{padding-right:var(--comp-input-horizontal-gap);--comp-visibility-toggle-padding:0px var(--app-scale-2x, 10px)}.input-icons-container-right q2-btn:last-child,.input-icons-container-right ::slotted(q2-btn:last-child){--tct-btn-icon-border-radius:0 var(--comp-calc-input-border-top-right-radius) var(--comp-calc-input-border-bottom-right-radius) 0}.input-icons-container-right .btn-visibility-toggle{--tct-btn-height:var(--comp-input-min-height);--tct-btn-padding-inline:var(--tct-input-visibility-toggle-padding, var(--app-scale-2x, 10px));--tct-btn-font-weight:var(--tct-input-visibility-toggle-font-weight, 400);color:var(--tct-input-visibility-toggle-font-color, var(--t-primary, #0079c1));font-size:var(--tct-input-visibility-toggle-font-size, var(--app-font-size-small, var(--const-px-12, 12px)))}q2-icon{margin-top:calc(var(--tct-input-border-top-width, var(--t-input-border-top-width, 1px)) / 2);margin-bottom:calc(var(--tct-input-border-bottom-width, var(--t-input-border-bottom-width, 1px)) / 2);pointer-events:none;color:var(--tct-input-icon-stroke-primary, var(--t-input-icon-stroke-primary, var(--t-a11y-gray-color, var(--t-textA, var(--app-gray, #747474)))));--tct-icon-stroke-primary:var(--tct-input-icon-stroke-primary, var(--t-input-icon-stroke-primary, var(--t-a11y-gray-color, var(--t-textA, var(--app-gray, #747474)))));--tct-icon-stroke-secondary:var(--tct-input-icon-stroke-secondary, var(--t-a11y-gray-color, var(--t-textA, var(--app-gray, #747474))))}.icon-left-muted{opacity:0.5}.input-prefix,.input-suffix{min-height:var(--comp-input-min-height);max-height:var(--comp-input-max-height);height:var(--tct-input-height, var(--t-input-height, 44px));font-size:var(--tct-input-prefix-font-size, var(--t-input-prefix-font-size, inherit));font-weight:var(--tct-input-prefix-font-weight, 400);color:var(--tct-input-prefix-font-color, var(--t-input-prefix-font-color, inherit));background:var(--tct-input-prefix-background, var(--tct-input-prefix-bg, var(--t-input-prefix-bg, var(--tct-input-background, var(--tct-input-bg, var(--t-input-bg, var(--tct-gray-14, var(--t-gray-14, #f2f2f2))))))));transition:color var(--comp-input-tween), background var(--comp-input-tween)}.input-prefix{border-top-left-radius:var(--comp-calc-input-border-top-left-radius);border-bottom-left-radius:var(--comp-calc-input-border-bottom-left-radius);pointer-events:none;}.input-suffix{border-top-right-radius:var(--comp-calc-input-border-top-right-radius);border-bottom-right-radius:var(--comp-calc-input-border-bottom-right-radius)}.icon-error{color:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a));--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a))}.icon-valid{color:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--tct-icon-stroke-primary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}.messages-container{height:0px;overflow:hidden;background:var(--tct-message-background, var(--tct-message-bg, var(--t-message-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))))));box-shadow:var(--tct-input-message-box-shadow, var(--t-input-message-box-shadow, var(--tct-box-shadow-1, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)))));transition:height var(--tct-input-messages-tween, var(--t-input-messages-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));margin-top:var(--tct-input-messages-margin-top, 2px);z-index:var(--tct-input-messages-z-index, 5);position:absolute;width:100%;color:var(--tct-input-messages-font-color, var(--t-input-messages-font-color, inherit));border-radius:var(--tct-message-border-radius, var(--app-border-radius-1, inherit))}.has-error label{color:var(--tct-input-error-label-font-color, var(--t-input-error-label-font-color, var(--tct-input-label-font-color, var(--t-input-label-font-color, inherit))))}.has-error:not(.has-focus) .input-prefix,.has-error:not(.has-focus) .input-suffix{color:var(--tct-input-error-prefix-font-color, var(--t-input-error-prefix-font-color, inherit));background:var(--tct-input-error-prefix-background, var(--tct-input-error-prefix-bg, var(--t-input-error-prefix-bg, var(--tct-input-background, var(--tct-input-bg, var(--t-input-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))))))))}.icon-left{width:26px;height:26px}.vertical-separator{height:calc(var(--comp-input-min-height) - 2px);border-right-width:var(--tct-input-prefix-border-width, 1px);border-right-style:solid;border-right-color:var(--tct-input-prefix-border-color, var(--t-input-prefix-border-color, var(--tct-input-border-color, var(--t-input-border-color, var(--t-a11y-gray-color-AA, #404040)))))}';
3730
+ return '*{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}@container style(--t-prefers-motion: "reduced"){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}@container (not style(--t-prefers-motion: "normal")) and (not style(--t-prefers-motion: "reduced")){@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:0.01ms !important;transition-duration:0.01ms !important;animation-delay:0ms !important;transition-delay:0ms !important}}}:host{--comp-default-input-margin:var(--tct-input-margin-top, var(--t-input-margin-top, var(--app-scale-5x, 25px))) 0 var(--tct-input-margin-bottom, var(--t-input-margin-bottom, var(--app-scale-5x, 25px)));display:block;margin:var(--tct-input-margin, var(--comp-default-input-margin));font-size:var(--tct-input-font-size, var(--t-input-font-size, var(--app-font-size, inherit)));letter-spacing:inherit}:host([hidden]){display:none}.field-container,.input-container{position:relative}.field-container{--comp-input-tween:var(--tct-input-tween, var(--t-input-tween, var(--tct-tween-2, var(--app-tween-2, 0.4s ease))))}.field-container.is-small .btn-clear{--tct-btn-icon-width:20px;--tct-icon-size:var(--tct-input-icon-size, var(--const-px-18, 18px))}.input-label{--comp-label-padding:var(--tct-input-label-padding, 0 var(--tct-input-label-padding-right, var(--t-input-label-padding-right, 0)) 0 var(--tct-input-label-padding-left, var(--t-input-label-padding-left, 0)));display:block;padding:var(--comp-label-padding);color:var(--tct-input-label-font-color, var(--t-input-label-font-color, inherit));font-size:var(--tct-input-label-font-size, var(--t-input-label-font-size, inherit));font-weight:var(--tct-input-label-font-weight, var(--t-input-label-font-weight, 600));text-transform:var(--tct-input-label-text-transform, var(--t-input-label-text-transform, none));letter-spacing:var(--tct-input-label-letter-spacing, var(--t-input-label-letter-spacing, inherit));transition:color var(--comp-input-tween)}.optional-tag{--comp-label-optional-margin:var(--tct-input-label-optional-margin, 0 0 0 var(--tct-input-label-optional-margin-left, var(--t-input-label-optional-margin-left, var(--tct-scale-1, var(--app-scale-1x, 5px)))));margin:var(--comp-label-optional-margin);color:var(--tct-input-label-optional-font-color, var(--t-input-label-optional-font-color, var(--t-textA, var(--t-a11y-gray-color, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-input-label-optional-font-size, var(--t-input-label-optional-font-size, var(--app-font-size-small, var(--const-px-12, 12px))));font-weight:var(--tct-input-label-optional-font-weight, var(--t-input-label-optional-font-weight, 400));line-height:1em}.count-tag{color:var(--tct-input-count-font-color, var(--t-textA, var(--t-a11y-gray-color, rgba(77, 77, 77, 0.77))));font-size:var(--tct-input-count-font-size, var(--app-font-size-small, var(--const-px-12, 12px)));font-weight:var(--tct-input-count-font-weight, 400);text-align:right;width:var(--tct-input-count-width, auto)}.label-wrapper{--comp-label-margin:var(--tct-input-label-margin, var(--tct-input-label-margin-top, var(--t-input-label-margin-top, 0)) 0 var(--tct-input-label-margin-bottom, var(--t-input-label-margin-bottom, var(--tct-scale-1, var(--app-scale-1x, 5px)))));display:flex;gap:var(--tct-input-label-gap, var(--app-scale-2x, 10px));justify-content:space-between;align-items:end;margin:var(--comp-label-margin);line-height:var(--tct-input-label-line-height, var(--t-input-label-line-height, inherit))}.label-wrapper:has(label.sr){margin:0}.input-container{--comp-input-background:var(--tct-input-background, var(--tct-input-bg, var(--t-input-bg, var(--t-gray-14, #fcfcfd))));--comp-input-backdrop-filter:var(--tct-input-backdrop-filter, none);--comp-input-horizontal-gap:var(--tct-input-horizontal-gap, var(--t-input-horizontal-gap, 0));--comp-input-border-top-left-radius:var(--tct-input-border-top-left-radius, var(--t-input-border-top-left-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 4px))));--comp-input-border-top-right-radius:var(--tct-input-border-top-right-radius, var(--t-input-border-top-right-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 4px))));--comp-input-border-bottom-right-radius:var(--tct-input-border-bottom-right-radius, var(--t-input-border-bottom-right-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 4px))));--comp-input-border-bottom-left-radius:var(--tct-input-border-bottom-left-radius, var(--t-input-border-bottom-left-radius, var(--tct-border-radius-1, var(--app-border-radius-1, 4px))));--comp-calc-input-border-top-left-radius:calc( var(--comp-input-border-top-left-radius) - var(--tct-input-border-top-width, var(--t-input-border-top-width, 1px)) - var(--tct-input-border-left-width, var(--t-input-border-left-width, 1px)) );--comp-calc-input-border-top-right-radius:calc( var(--comp-input-border-top-right-radius) - var(--tct-input-border-top-width, var(--t-input-border-top-width, 1px)) - var(--tct-input-border-right-width, var(--t-input-border-right-width, 1px)) );--comp-calc-input-border-bottom-left-radius:calc( var(--comp-input-border-bottom-left-radius) - var(--tct-input-border-bottom-width, var(--t-input-border-bottom-width, 1px)) - var(--tct-input-border-left-width, var(--t-input-border-left-width, 1px)) );--comp-calc-input-border-bottom-right-radius:calc( var(--comp-input-border-bottom-right-radius) - var(--tct-input-border-bottom-width, var(--t-input-border-bottom-width, 1px)) - var(--tct-input-border-right-width, var(--t-input-border-right-width, 1px)) );--comp-input-border-radius:var(--comp-input-border-top-left-radius) var(--comp-input-border-top-right-radius) var(--comp-input-border-bottom-right-radius) var(--comp-input-border-bottom-left-radius);--comp-input-border-width:var(--tct-input-border-top-width, 1px) var(--tct-input-border-right-width, 1px) var(--tct-input-border-bottom-width, 1px) var(--tct-input-border-left-width, 1px);--comp-input-border-color:var(--tct-input-border-color, var(--t-input-border-color, var(--t-a11y-gray-color-AA, #404040)));--comp-input-prefix-clearance:calc(3 * var(--tct-input-prefix-font-size, var(--const-px-14, 14px)) + var(--tct-scale-1, 5px));--comp-input-icon-clearance:34px;--comp-input-min-height:var(--tct-input-min-height, var(--t-input-min-height, 44px));--comp-input-max-height:var(--tct-input-max-height, var(--t-input-max-height));--comp-input-hover-ring-color:var(--tct-input-hover-ring-color, var(--t-input-hover-ring-color));--comp-input-hover-ring:0 0 0 2px var(--t-base), 0 0 0 4px var(--comp-input-hover-ring-color), var(--tct-input-hover-box-shadow, var(--t-input-hover-box-shadow, 0 0 transparent));background:var(--comp-input-background);backdrop-filter:var(--comp-input-backdrop-filter);display:flex;align-items:center;gap:var(--tct-input-container-gap, var(--app-scale-2x, 10px));padding-inline:var(--tct-input-container-padding-inline);border-width:var(--comp-input-border-width);border-style:solid;border-color:var(--comp-input-border-color);border-radius:var(--comp-input-border-radius);box-shadow:var(--tct-input-box-shadow, var(--t-input-box-shadow, none));transition:background var(--comp-input-tween), backdrop-filter var(--comp-input-tween), border-width var(--comp-input-tween), border-color var(--comp-input-tween), box-shadow var(--comp-input-tween)}:host([disabled]:not([disabled=false])) .input-container{cursor:not-allowed;opacity:var(--tct-input-disabled-opacity, var(--t-input-disabled-opacity, var(--tct-disabled-opacity, var(--app-disabled-opacity, 0.4))));backdrop-filter:var(--tct-input-disabled-backdrop-filter, var(--comp-input-backdrop-filter))}.has-error .input-container{border-color:var(--tct-input-error-border-color, var(--const-stoplight-alert, #d20a0a));backdrop-filter:var(--tct-input-error-backdrop-filter, var(--comp-input-backdrop-filter));background:var(--tct-input-error-background, var(--comp-input-background));box-shadow:var(--tct-input-error-box-shadow, var(--comp-input-hover-ring))}.input-container:hover{border-color:var(--tct-input-hover-border-color, var(--comp-input-border-color));background:var(--tct-input-hover-background, var(--comp-input-background));backdrop-filter:var(--tct-input-hover-backdrop-filter, var(--comp-input-backdrop-filter));box-shadow:var(--tct-input-hover-box-shadow, var(--comp-input-hover-ring))}.has-error .input-container:hover{border-color:var(--tct-input-error-hover-border-color, var(--tct-input-error-border-color, var(--const-stoplight-alert, #d20a0a)));backdrop-filter:var(--tct-input-error-hover-backdrop-filter, var(--tct-input-error-backdrop-filter, var(--tct-input-hover-backdrop-filter, var(--comp-input-backdrop-filter))));background:var(--tct-input-error-hover-background, var(--tct-input-error-background, var(--comp-input-background)));box-shadow:var(--tct-input-error-hover-box-shadow, var(--tct-input-error-box-shadow, var(--comp-input-hover-ring)))}.has-focus .input-container{border-color:var(--tct-input-focus-border-color, var(--t-input-focus-border-color, var(--comp-input-border-color)));background:var(--tct-input-focus-background, var(--comp-input-background));backdrop-filter:var(--tct-input-focus-backdrop-filter, var(--comp-input-backdrop-filter));box-shadow:var(--tct-input-focus-box-shadow, var(--const-double-focus-ring))}.has-focus.has-error .input-container,.has-focus.has-error .input-container:hover{border-color:var(--tct-input-error-focus-border-color, var(--tct-input-error-border-color, var(--const-stoplight-alert, #d20a0a)));backdrop-filter:var(--tct-input-error-focus-backdrop-filter, var(--tct-input-error-backdrop-filter, var(--tct-input-focus-backdrop-filter, var(--comp-input-backdrop-filter))));background:var(--tct-input-error-focus-background, var(--tct-input-error-background, var(--comp-input-background)));box-shadow:var(--tct-input-error-focus-box-shadow, var(--tct-input-error-box-shadow, var(--const-double-focus-ring)))}.input-container:has(.input-field:is(:-webkit-autofill,:autofill)){background:var(--tct-input-autofill-background, #faffbc);color:var(--tct-input-autofill-font-color, var(--t-text, inherit))}.input-container:has(.input-field:is(:-webkit-autofill,:autofill)) .input-field{box-shadow:0 0 0 1000px var(--tct-input-autofill-background, #faffbc) inset;color:var(--tct-input-autofill-font-color, var(--t-text, inherit));-webkit-text-fill-color:var(--tct-input-autofill-font-color, var(--t-text, inherit))}.standard-input-container{position:relative;display:flex;flex:1;min-width:0}.visible-last-count-value{position:absolute;inset:0;z-index:0;box-sizing:border-box;display:flex;align-items:center;overflow:hidden;padding:var(--tct-input-padding, 0);color:var(--tct-input-font-color, var(--t-input-font-color, var(--t-text, inherit)));font-weight:var(--tct-input-font-weight, var(--t-input-font-weight, 400));font-family:var(--tct-input-visible-last-count-font-family, monospace);letter-spacing:var(--tct-input-letter-spacing, var(--t-input-letter-spacing, inherit));pointer-events:none;text-overflow:ellipsis;white-space:nowrap}.visible-last-count-content{display:inline-flex;align-items:center;flex:0 0 auto;transform:translateX(calc(var(--tct-input-visible-last-count-scroll-left, 0px) * -1))}.visible-last-count-character{display:inline-grid;flex:0 0 auto}.visible-last-count-character::before{content:attr(data-character);grid-area:1/1;visibility:hidden}.visible-last-count-visible-value{flex:0 0 auto}.visible-last-count-mask{grid-area:1/1;justify-self:center;transform:translateY(var(--tct-input-visible-last-count-mask-translate-y, 0))}.input-field{flex:1;border:0;-webkit-appearance:none;appearance:none;box-sizing:border-box;min-height:var(--comp-input-min-height);max-height:var(--comp-input-max-height);overflow-y:hidden;height:var(--tct-input-height, var(--t-input-height, 44px));width:100%;padding:var(--tct-input-padding, 0);background:transparent;color:var(--tct-input-font-color, var(--t-input-font-color, var(--t-text, inherit)));display:inline-block;text-align:var(--tct-input-align, "start");font-weight:var(--tct-input-font-weight, var(--t-input-font-weight, 400));letter-spacing:var(--tct-input-letter-spacing, var(--t-input-letter-spacing, inherit));}.input-field.has-visible-last-count{position:relative;z-index:1;color:transparent;caret-color:var(--tct-input-font-color, var(--t-input-font-color, var(--t-text, auto)));-webkit-text-fill-color:transparent;font-family:var(--tct-input-visible-last-count-font-family, monospace)}.input-field:focus{outline:none;box-shadow:none}.input-field::-webkit-outer-spin-button,.input-field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-field[type=number]{-moz-appearance:textfield}.input-field::-ms-reveal,.input-field::-ms-clear{display:none}.input-field[type=search]::-webkit-search-decoration,.input-field[type=search]::-webkit-search-cancel-button,.input-field[type=search]::-webkit-search-results-button,.input-field[type=search]::-webkit-search-results-decoration{display:none}.input-field[disabled]:not([disabled=false]){cursor:not-allowed}.right-aligned .input-field{text-align:right}.input-field:is(input){flex:1}.input-field:is(input)[readonly]:not([readonly=false]){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-field:is(button){display:inline-flex;align-items:center}.has-custom-display .input-field:is(button){height:auto;padding:0}.input-field:is(button) span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.input-field[readonly]:not([readonly=false]){pointer-events:none}.custom-display-container{max-width:100%}.has-custom-display .custom-display-container{width:100%}.has-custom-display .custom-display-container ::slotted([slot=custom-display]){--comp-default-padding:var(--app-scale-2x, 10px) var(--app-scale-2x, 10px) var(--app-scale-3x, 15px);padding:var(--tct-input-padding, var(--t-input-padding, var(--comp-default-padding)))}.input-field::placeholder,.placeholder-text{color:var(--tct-input-placeholder-font-color, var(--t-input-placeholder-font-color, var(--t-textA, var(--app-gray-d1, rgba(77, 77, 77, 0.77)))));font-size:var(--tct-input-placeholder-font-size, var(--t-input-placeholder-font-size, var(--tct-input-font-size, var(--t-input-font-size, var(--app-font-size, inherit)))));font-weight:var(--tct-input-placeholder-font-weight, var(--t-input-placeholder-font-weight, var(--tct-input-font-weight, var(--t-input-font-weight, inherit))));line-height:var(--tct-input-placeholder-font-size, var(--t-input-placeholder-font-size, var(--tct-input-font-size, var(--t-input-font-size, var(--app-font-size, inherit)))));padding:var(--tct-input-placeholder-padding, var(--t-input-placeholder-padding, var(--tct-input-padding, var(--t-input-padding, inherit))))}.pseudo-input-container{min-width:0;flex:1}.input-icons-container-left,.input-icons-container-right{--tct-icon-size:var(--tct-input-icon-size, var(--const-px-18, 18px));--tct-btn-icon-hover-background:var(--tct-input-btn-hover-background);--tct-btn-hover-background:var(--tct-input-btn-hover-background);display:flex;flex-direction:row;align-items:center;gap:var(--comp-input-horizontal-gap)}.input-icons-container-left q2-btn q2-icon,.input-icons-container-left ::slotted(q2-btn),.input-icons-container-right q2-btn q2-icon,.input-icons-container-right ::slotted(q2-btn){--tct-icon-stroke-primary:var(--tct-input-btn-icon-stroke-primary);--tct-icon-stroke-secondary:var(--tct-input-btn-icon-stroke-secondary)}.input-icons-container-left>div:not(.vertical-separator),.input-icons-container-right>div:not(.vertical-separator){min-width:var(--tct-input-icon-container-icon-min-width, 44px);display:flex;justify-content:center;align-items:center;font-size:var(--tct-input-icon-container-font-size, inherit)}.input-icons-container-left:empty,.input-icons-container-right:empty{display:var(--tct-input-icon-container-empty-display, block)}.input-icons-container-left{padding-left:var(--comp-input-horizontal-gap)}.input-icons-container-left q2-btn:first-child,.input-icons-container-left ::slotted(q2-btn:first-child){--tct-btn-icon-border-radius:var(--comp-calc-input-border-top-left-radius) 0 0 var(--comp-calc-input-border-bottom-left-radius)}.input-icons-container-right{padding-right:var(--comp-input-horizontal-gap);--comp-visibility-toggle-padding:0px var(--app-scale-2x, 10px)}.input-icons-container-right q2-btn:last-child,.input-icons-container-right ::slotted(q2-btn:last-child){--tct-btn-icon-border-radius:0 var(--comp-calc-input-border-top-right-radius) var(--comp-calc-input-border-bottom-right-radius) 0}.input-icons-container-right .btn-visibility-toggle{--tct-btn-height:var(--comp-input-min-height);--tct-btn-padding-inline:var(--tct-input-visibility-toggle-padding, var(--app-scale-2x, 10px));--tct-btn-font-weight:var(--tct-input-visibility-toggle-font-weight, 400);color:var(--tct-input-visibility-toggle-font-color, var(--t-primary, #0079c1));font-size:var(--tct-input-visibility-toggle-font-size, var(--app-font-size-small, var(--const-px-12, 12px)))}q2-icon{margin-top:calc(var(--tct-input-border-top-width, var(--t-input-border-top-width, 1px)) / 2);margin-bottom:calc(var(--tct-input-border-bottom-width, var(--t-input-border-bottom-width, 1px)) / 2);pointer-events:none;color:var(--tct-input-icon-stroke-primary, var(--t-input-icon-stroke-primary, var(--t-a11y-gray-color, var(--t-textA, var(--app-gray, #747474)))));--tct-icon-stroke-primary:var(--tct-input-icon-stroke-primary, var(--t-input-icon-stroke-primary, var(--t-a11y-gray-color, var(--t-textA, var(--app-gray, #747474)))));--tct-icon-stroke-secondary:var(--tct-input-icon-stroke-secondary, var(--t-a11y-gray-color, var(--t-textA, var(--app-gray, #747474))))}.icon-left-muted{opacity:0.5}.input-prefix,.input-suffix{min-height:var(--comp-input-min-height);max-height:var(--comp-input-max-height);height:var(--tct-input-height, var(--t-input-height, 44px));font-size:var(--tct-input-prefix-font-size, var(--t-input-prefix-font-size, inherit));font-weight:var(--tct-input-prefix-font-weight, 400);color:var(--tct-input-prefix-font-color, var(--t-input-prefix-font-color, inherit));background:var(--tct-input-prefix-background, var(--tct-input-prefix-bg, var(--t-input-prefix-bg, var(--tct-input-background, var(--tct-input-bg, var(--t-input-bg, var(--tct-gray-14, var(--t-gray-14, #f2f2f2))))))));transition:color var(--comp-input-tween), background var(--comp-input-tween)}.input-prefix{border-top-left-radius:var(--comp-calc-input-border-top-left-radius);border-bottom-left-radius:var(--comp-calc-input-border-bottom-left-radius);pointer-events:none;}.input-suffix{border-top-right-radius:var(--comp-calc-input-border-top-right-radius);border-bottom-right-radius:var(--comp-calc-input-border-bottom-right-radius)}.icon-error{color:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a));--tct-icon-stroke-primary:var(--tct-stoplight-error, var(--const-stoplight-alert, #d20a0a))}.icon-valid{color:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00));--tct-icon-stroke-primary:var(--tct-stoplight-success, var(--const-stoplight-success, #0e8a00))}.messages-container{height:0px;overflow:hidden;background:var(--tct-message-background, var(--tct-message-bg, var(--t-message-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2)))))));box-shadow:var(--tct-input-message-box-shadow, var(--t-input-message-box-shadow, var(--tct-box-shadow-1, var(--app-shadow-1, 0px 0px 2px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)))));transition:height var(--tct-input-messages-tween, var(--t-input-messages-tween, var(--tct-tween-1, var(--app-tween-1, 0.2s ease))));margin-top:var(--tct-input-messages-margin-top, 2px);z-index:var(--tct-input-messages-z-index, 5);position:absolute;width:100%;color:var(--tct-input-messages-font-color, var(--t-input-messages-font-color, inherit));border-radius:var(--tct-message-border-radius, var(--app-border-radius-1, inherit))}.messages-container li:only-child{list-style:none}.has-error label{color:var(--tct-input-error-label-font-color, var(--t-input-error-label-font-color, var(--tct-input-label-font-color, var(--t-input-label-font-color, inherit))))}.has-error:not(.has-focus) .input-prefix,.has-error:not(.has-focus) .input-suffix{color:var(--tct-input-error-prefix-font-color, var(--t-input-error-prefix-font-color, inherit));background:var(--tct-input-error-prefix-background, var(--tct-input-error-prefix-bg, var(--t-input-error-prefix-bg, var(--tct-input-background, var(--tct-input-bg, var(--t-input-bg, var(--tct-gray-14, var(--t-gray-14, var(--tct-gray-l3, var(--app-gray-l3, #f2f2f2))))))))))}.icon-left{width:26px;height:26px}.vertical-separator{height:calc(var(--comp-input-min-height) - 2px);border-right-width:var(--tct-input-prefix-border-width, 1px);border-right-style:solid;border-right-color:var(--tct-input-prefix-border-color, var(--t-input-prefix-border-color, var(--tct-input-border-color, var(--t-input-border-color, var(--t-a11y-gray-color-AA, #404040)))))}';
3631
3731
  }
3632
3732
  }, [ 257, "q2-input", {
3733
+ _ariaDescription: [ 1, "_aria-description" ],
3633
3734
  _preventEntry: [ 1028, "_prevent-entry" ],
3634
3735
  _role: [ 1025 ],
3635
3736
  _updateValueOnInput: [ 1028, "_update-value-on-input" ],
@@ -3673,6 +3774,7 @@ const F = {
3673
3774
  valid: [ 516 ],
3674
3775
  validity: [ 1040 ],
3675
3776
  value: [ 1025 ],
3777
+ visibleLastCount: [ 514, "visible-last-count" ],
3676
3778
  checkSlotCount: [ 32 ],
3677
3779
  formattedValueObject: [ 32 ],
3678
3780
  hasFocus: [ 32 ],
@@ -3705,6 +3807,9 @@ const F = {
3705
3807
  hints: [ {
3706
3808
  hintsObserver: 0
3707
3809
  } ],
3810
+ textHidden: [ {
3811
+ textHiddenObserver: 0
3812
+ } ],
3708
3813
  type: [ {
3709
3814
  typeObserver: 0
3710
3815
  } ],
@@ -3718,23 +3823,23 @@ function defineCustomElement() {
3718
3823
  [ "q2-input", "q2-badge", "q2-btn", "q2-icon", "q2-loading" ].forEach((t => {
3719
3824
  switch (t) {
3720
3825
  case "q2-input":
3721
- customElements.get(s(t)) || customElements.define(s(t), E);
3826
+ customElements.get(o(t)) || customElements.define(o(t), E);
3722
3827
  break;
3723
3828
 
3724
3829
  case "q2-badge":
3725
- customElements.get(s(t)) || S();
3830
+ customElements.get(o(t)) || S();
3726
3831
  break;
3727
3832
 
3728
3833
  case "q2-btn":
3729
- customElements.get(s(t)) || k();
3834
+ customElements.get(o(t)) || k();
3730
3835
  break;
3731
3836
 
3732
3837
  case "q2-icon":
3733
- customElements.get(s(t)) || w();
3838
+ customElements.get(o(t)) || w();
3734
3839
  break;
3735
3840
 
3736
3841
  case "q2-loading":
3737
- customElements.get(s(t)) || y();
3842
+ customElements.get(o(t)) || y();
3738
3843
  }
3739
3844
  }));
3740
3845
  }