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 { r as t, h as r, g as a, c as e, F as i, H as o } from "./index-Cqkz7Bnm.js";
1
+ import { r as t, h as r, g as a, c as i, F as e, H as s } from "./index-Cqkz7Bnm.js";
2
2
 
3
- import { l as s, c as n, g as p, s as c, d, o as u, i as l, u as f, h as m, n as h, r as x, f as v } from "./index-Cps4jSQM.js";
3
+ import { l as o, c as n, g as p, s as c, d, o as l, i as u, u as f, h, n as m, r as x, f as v } from "./index-DJw6Feh0.js";
4
4
 
5
5
  import { m as b } from "./mirror-emit-DUjY_ucm.js";
6
6
 
@@ -26,11 +26,11 @@ const g = class {
26
26
  }
27
27
  get badgeText() {
28
28
  const {maxLength: t, computedMaxLength: r} = this;
29
- let a = this.value, e = Math.abs(Number(a));
29
+ let a = this.value, i = Math.abs(Number(a));
30
30
  if (!a) return "";
31
- if ("string" == typeof a && (a = s(a), e = Math.abs(Number(a))), "string" == typeof a && isNaN(e)) return a.substring(0, r);
32
- const i = t ? r : 2, o = Math.pow(10, i) - 1;
33
- return e > o ? o.toLocaleString() + "+" : e.toLocaleString();
31
+ if ("string" == typeof a && (a = o(a), i = Math.abs(Number(a))), "string" == typeof a && isNaN(i)) return a.substring(0, r);
32
+ const e = t ? r : 2, s = Math.pow(10, e) - 1;
33
+ return i > s ? s.toLocaleString() + "+" : i.toLocaleString();
34
34
  }
35
35
  get computedMaxLength() {
36
36
  return Math.min(18, this.maxLength || 18);
@@ -69,80 +69,80 @@ function formatNumber(t = "", r = {
69
69
  allowDecimal: !1,
70
70
  allowNegative: !0
71
71
  }, a = !1) {
72
- const e = "-" === t[0];
73
- let i = t;
74
- const o = !!r.allowDecimal && !!r.decimals;
72
+ const i = "-" === t[0];
73
+ let e = t;
74
+ const s = !!r.allowDecimal && !!r.decimals;
75
75
  if (a) {
76
- const t = i.replace(/[^\d.]/g, "");
77
- i = t && Number(t).toFixed(o ? r.decimals : 0) || "";
76
+ const t = e.replace(/[^\d.]/g, "");
77
+ e = t && Number(t).toFixed(s ? r.decimals : 0) || "";
78
78
  }
79
- i = i.replace(/[^\d]/g, "");
80
- let {integerString: s, decimalString: n} = function(t, r = !1, a) {
79
+ e = e.replace(/[^\d]/g, "");
80
+ let {integerString: o, decimalString: n} = function(t, r = !1, a) {
81
81
  if (!r) return {
82
82
  integerString: t,
83
83
  decimalString: ""
84
84
  };
85
- const e = t.length - a;
86
- let i = t.substring(0, e).padStart(1, "0");
87
- i.length > 1 && "0" === i[0] && (i = i.substring(1));
88
- const o = t.substring(e).padStart(a, "0");
85
+ const i = t.length - a;
86
+ let e = t.substring(0, i).padStart(1, "0");
87
+ e.length > 1 && "0" === e[0] && (e = e.substring(1));
88
+ const s = t.substring(i).padStart(a, "0");
89
89
  return {
90
- integerString: i,
91
- decimalString: o
90
+ integerString: e,
91
+ decimalString: s
92
92
  };
93
- }(i, o, r.decimals), p = r.decimalSeparator;
93
+ }(e, s, r.decimals), p = r.decimalSeparator;
94
94
  // define decimalString
95
- o || (p = "", n = "");
95
+ s || (p = "", n = "");
96
96
  // define negative
97
- const c = r.allowNegative && e ? "-" : "";
98
- i = `${c}${s}${p}${n}`,
97
+ const c = r.allowNegative && i ? "-" : "";
98
+ e = `${c}${o}${p}${n}`,
99
99
  // format integerString
100
- s = s.replace(/\B(?=(\d{3})+(?!\d))/g, r.thousandsSeparator);
101
- const d = c || s ? `${c}${s}${p}${n}` : "", u = c || s ? `${c}${r.prefix}${s}${p}${n}${r.suffix}` : "";
102
- let l = d.length - i.length;
103
- p && (l += r.decimalSeparator.length);
100
+ o = o.replace(/\B(?=(\d{3})+(?!\d))/g, r.thousandsSeparator);
101
+ const d = c || o ? `${c}${o}${p}${n}` : "", l = c || o ? `${c}${r.prefix}${o}${p}${n}${r.suffix}` : "";
102
+ let u = d.length - e.length;
103
+ p && (u += r.decimalSeparator.length);
104
104
  return {
105
- value: i,
105
+ value: e,
106
106
  formattedValue: d,
107
- fullyFormattedValue: u,
107
+ fullyFormattedValue: l,
108
108
  prefix: r.prefix || r.suffix,
109
109
  suffix: "",
110
- formattingCharacterCount: l,
111
- maxlength: Number.MAX_SAFE_INTEGER.toString().length + l + n.length,
112
- unformattedValue: `${s.replace(/[^0-9]/g, "")}${n}`.replace(/^0+/, "")
110
+ formattingCharacterCount: u,
111
+ maxlength: Number.MAX_SAFE_INTEGER.toString().length + u + n.length,
112
+ unformattedValue: `${o.replace(/[^0-9]/g, "")}${n}`.replace(/^0+/, "")
113
113
  };
114
114
  }
115
115
 
116
116
  function formatValue(t = "", r = "", a) {
117
- const e = a && a.prefix || "", i = a && a.suffix || "";
117
+ const i = a && a.prefix || "", e = a && a.suffix || "";
118
118
  if (!t || !r) {
119
119
  return {
120
120
  value: t,
121
121
  formattedValue: t,
122
- fullyFormattedValue: `${e}${t}${i}`,
123
- prefix: e.trim() || i.trim(),
122
+ fullyFormattedValue: `${i}${t}${e}`,
123
+ prefix: i.trim() || e.trim(),
124
124
  formattingCharacterCount: 0,
125
125
  unformattedValue: t
126
126
  };
127
127
  }
128
- const {unformattedValue: o, formattedValue: s, formattingCharacterCount: n} = function(t, r) {
129
- const a = r.split(""), e = function(t) {
128
+ const {unformattedValue: s, formattedValue: o, formattingCharacterCount: n} = function(t, r) {
129
+ const a = r.split(""), i = function(t) {
130
130
  const r = k.join("|"), a = t.replace(new RegExp(`[${r}]`, "g"), "").split("");
131
131
  return new Set(a);
132
132
  }(r);
133
- let i = 0, o = 0, s = "";
133
+ let e = 0, s = 0, o = "";
134
134
  const n = a.reduce(((r, a) => {
135
- if (i >= t.length) return r;
135
+ if (e >= t.length) return r;
136
136
  if (function(t) {
137
137
  return S.includes(t);
138
- }(a) && isStaticFormattingChar(t[i], e)) return r;
138
+ }(a) && isStaticFormattingChar(t[e], i)) return r;
139
139
  if (function(t) {
140
140
  return k.includes(t);
141
141
  }(a)) {
142
142
  if (
143
143
  // Step value index if formatting character pushed out of place by user input
144
- i = getNextNonFormattingCharIndex(t, i, e), i >= t.length) return r;
145
- const o = function(t, r) {
144
+ e = getNextNonFormattingCharIndex(t, e, i), e >= t.length) return r;
145
+ const s = function(t, r) {
146
146
  switch (r) {
147
147
  case "#":
148
148
  case "?":
@@ -162,34 +162,34 @@ function formatValue(t = "", r = "", a) {
162
162
  return t;
163
163
  }
164
164
  return t;
165
- }(t[i], a);
166
- r += o, s += o, i++;
165
+ }(t[e], a);
166
+ r += s, o += s, e++;
167
167
  } else
168
168
  // Static formatting characters added directly to formatted string
169
- r += a, o++, a === t[i] &&
169
+ r += a, s++, a === t[e] &&
170
170
  // Continue to walk value if next value at this index matches formatting character
171
- i++;
171
+ e++;
172
172
  return r;
173
173
  }), "");
174
174
  return {
175
- unformattedValue: s,
175
+ unformattedValue: o,
176
176
  formattedValue: n,
177
- formattingCharacterCount: o
177
+ formattingCharacterCount: s
178
178
  };
179
- }(t, r), p = `${e}${s}${i}`, c = r.length, d = function(t, r, a) {
179
+ }(t, r), p = `${i}${o}${e}`, c = r.length, d = function(t, r, a) {
180
180
  return t.replace(new RegExp(`[${S.join("|")}]`, "g"), "").length + r.length + a.length;
181
181
  }
182
182
  // decimal data source: http://www.iso.org/iso/home/standards/currency_codes.htm 09/Nov/2016
183
- (r, e, i);
183
+ (r, i, e);
184
184
  return {
185
- value: o,
186
- formattedValue: s,
185
+ value: s,
186
+ formattedValue: o,
187
187
  fullyFormattedValue: p,
188
- prefix: e.trim() || i.trim(),
188
+ prefix: i.trim() || e.trim(),
189
189
  formattingCharacterCount: n,
190
190
  maxlength: c,
191
191
  minFormattedLength: d,
192
- unformattedValue: o
192
+ unformattedValue: s
193
193
  };
194
194
  }
195
195
 
@@ -207,7 +207,7 @@ function getNextNonFormattingCharIndex(t, r, a) {
207
207
  return isStaticFormattingChar(t[r], a) ? getNextNonFormattingCharIndex(t, ++r, a) : r;
208
208
  }
209
209
 
210
- const w = {
210
+ const y = {
211
211
  AED: {
212
212
  prefix: "",
213
213
  suffix: "د.إ",
@@ -1498,13 +1498,13 @@ const w = {
1498
1498
  };
1499
1499
 
1500
1500
  function formatCurrency(t, r = "USD", a = !1) {
1501
- let e = r || "", i = !0;
1502
- e.includes("-integer") && (e = e.split("-integer")[0], i = !1);
1503
- const o = w[e];
1504
- if (!o) return formatValue(t);
1501
+ let i = r || "", e = !0;
1502
+ i.includes("-integer") && (i = i.split("-integer")[0], e = !1);
1503
+ const s = y[i];
1504
+ if (!s) return formatValue(t);
1505
1505
  return formatNumber(t, {
1506
- ...o,
1507
- allowDecimal: i && o.decimals > 0,
1506
+ ...s,
1507
+ allowDecimal: e && s.decimals > 0,
1508
1508
  allowNegative: !1
1509
1509
  }, a);
1510
1510
  }
@@ -1516,7 +1516,7 @@ function formatCurrency(t, r = "USD", a = !1) {
1516
1516
  * To regenerate this file, run: pnpm generate:phone-formats
1517
1517
  * Only regenerate when upgrading google-libphonenumber or fixing generation bugs.
1518
1518
  * See scripts/generatePhoneFormats.js for details.
1519
- */ const y = {
1519
+ */ const w = {
1520
1520
  AC: {
1521
1521
  mask: "#####",
1522
1522
  prefix: "+247 "
@@ -2500,11 +2500,11 @@ function formatCurrency(t, r = "USD", a = !1) {
2500
2500
  };
2501
2501
 
2502
2502
  function formatPhoneNumber(t, r = "US") {
2503
- const {mask: a, prefix: e} = y[r] || y.US, i = {
2504
- prefix: e
2505
- }, o = (t || "").replace(/[^0-9]/g, "");
2503
+ const {mask: a, prefix: i} = w[r] || w.US, e = {
2504
+ prefix: i
2505
+ }, s = (t || "").replace(/[^0-9]/g, "");
2506
2506
  // Brazil need edge case handle, mobile: (xx) xxxxx-xxxx, land phone: (xx) xxxx-xxxx
2507
- return "BR" === r && 11 === o.length ? formatValue(o, "(##) #####-####", i) : formatValue(o, a, i);
2507
+ return "BR" === r && 11 === s.length ? formatValue(s, "(##) #####-####", e) : formatValue(s, a, e);
2508
2508
  }
2509
2509
 
2510
2510
  function formatSSN(t) {
@@ -2555,21 +2555,21 @@ function getNumberFormat(t) {
2555
2555
  }
2556
2556
 
2557
2557
  function formatNumeric(t = "", r = "", a = !1) {
2558
- const e = getNumberFormat(r);
2559
- if (!e) {
2558
+ const i = getNumberFormat(r);
2559
+ if (!i) {
2560
2560
  return formatValue((t || "").replace(/[^\d.,-]/g, ""));
2561
2561
  }
2562
- return formatNumber(t, e, a);
2562
+ return formatNumber(t, i, a);
2563
2563
  }
2564
2564
 
2565
2565
  function formatPercentage(t = "", r = "", a = !1) {
2566
- const e = getNumberFormat(r);
2567
- if (!e) {
2566
+ const i = getNumberFormat(r);
2567
+ if (!i) {
2568
2568
  return formatValue((t || "").replace(/[^\d.,-]/g, ""), void 0, {
2569
2569
  suffix: "%"
2570
2570
  });
2571
2571
  }
2572
- return e.suffix = "%", formatNumber(t, e, a);
2572
+ return i.suffix = "%", formatNumber(t, i, a);
2573
2573
  }
2574
2574
 
2575
2575
  const C = {
@@ -3003,18 +3003,16 @@ const N = {
3003
3003
  clabe: "text"
3004
3004
  }, I = class {
3005
3005
  constructor(r) {
3006
- t(this, r), this.change = e(this, "change", 7), this.clear = e(this, "clear", 7),
3007
- this.formatted = e(this, "formatted", 7), this.input = e(this, "input", 7), this.invalid = e(this, "invalid", 7),
3008
- this.tctChange = e(this, "tctChange", 5), this.tctClear = e(this, "tctClear", 7),
3009
- this.tctFormatted = e(this, "tctFormatted", 7), this.tctInput = e(this, "tctInput", 7),
3010
- this.tctInvalid = e(this, "tctInvalid", 7),
3006
+ t(this, r), this.change = i(this, "change", 7), this.clear = i(this, "clear", 7),
3007
+ this.formatted = i(this, "formatted", 7), this.input = i(this, "input", 7), this.invalid = i(this, "invalid", 7),
3008
+ this.tctChange = i(this, "tctChange", 5), this.tctClear = i(this, "tctClear", 7),
3009
+ this.tctFormatted = i(this, "tctFormatted", 7), this.tctInput = i(this, "tctInput", 7),
3010
+ this.tctInvalid = i(this, "tctInvalid", 7),
3011
3011
  // #region Own Properties
3012
3012
  this.guid = n(), this.isClickEvent = !1, this.isMobile = p(), this.scheduledAfterRender = [],
3013
3013
  // #endregion
3014
3014
  // #region State Properties
3015
3015
  this.checkSlotCount = 0, this.isSmall = !1,
3016
- // #endregion
3017
- // #region Public Property API
3018
3016
  /**
3019
3017
  * Sets readonly to true on the input without adding the "read only" label.
3020
3018
  *
@@ -3040,7 +3038,7 @@ const N = {
3040
3038
  /**
3041
3039
  * Displays a toggle button at the end of the input field which shows or hides the actual value.
3042
3040
  * @info
3043
- * Only applicable when `type` is `text`, `password`, or `ssn`.
3041
+ * Applicable when `type` is `text`, `password`, `ssn`, or `tin`, or when `visibleLastCount` is set.
3044
3042
  */
3045
3043
  this.showVisibilityToggle = !1,
3046
3044
  /** 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. */
@@ -3071,7 +3069,7 @@ const N = {
3071
3069
  this._updateValueOnInput && (this.value = r.value), b(this, [ "input", "tctInput" ], r),
3072
3070
  this.formattedValueObject.value || b(this, [ "clear", "tctClear" ], {
3073
3071
  source: "input"
3074
- }), this.setCursorPosition(t);
3072
+ }), this.setCursorPosition(t), this.scheduleVisibleLastScrollSync();
3075
3073
  }, this.initMutationObserver = () => {
3076
3074
  if (!("MutationObserver" in window)) return;
3077
3075
  const t = new MutationObserver(this.onMutationObserved);
@@ -3098,11 +3096,11 @@ const N = {
3098
3096
  }
3099
3097
  }));
3100
3098
  }, this.onInputClick = () => {
3101
- this.shouldCursorStayAtEnd && this.placeCursorAtEnd();
3099
+ this.shouldCursorStayAtEnd && this.placeCursorAtEnd(), this.scheduleVisibleLastScrollSync();
3102
3100
  }, this.onInputFocus = () => {
3103
3101
  "INPUT" === this.inputField.tagName && this.scheduledAfterRender.push((() => {
3104
3102
  this.isClickEvent && this.shouldCursorStartAtEnd ? this.placeCursorAtEnd() : this.setCursorPosition(this.calculateCursorPositionOnFocus()),
3105
- this.isClickEvent = !1;
3103
+ this.isClickEvent = !1, this.syncVisibleLastScroll();
3106
3104
  })), this.hasFocus = !0, c(this), this.valueOnFocus = this.value;
3107
3105
  }, this.onInputInput = t => {
3108
3106
  t.stopPropagation(), "currency" === this.type && this.handleCurrencyDeletion(t);
@@ -3127,13 +3125,21 @@ const N = {
3127
3125
  const r = t.clipboardData.getData("text"), a = this.getFormattedValue(r, !0);
3128
3126
  t.preventDefault(), this.handleDataInput(a);
3129
3127
  }
3128
+ }, this.onInputScroll = () => {
3129
+ this.syncVisibleLastScroll();
3130
3130
  }, this.onMutationObserved = () => {
3131
3131
  // Updating checkSlotCount to force re-render when slot content changes
3132
3132
  this.checkSlotCount = this.checkSlotCount + 1;
3133
3133
  }, this.onRefocusInput = () => {
3134
3134
  this.showMessages && (this.inputField.focus(), c(this));
3135
3135
  }, this.onToggleVisibility = () => {
3136
- this.hostElement.dispatchEvent(new FocusEvent("focus")), this.textHidden = !this.textHidden;
3136
+ this.hostElement.dispatchEvent(new FocusEvent("focus")), void 0 !== this.normalizedVisibleLastCount && (this.value = this.formattedValueObject.value),
3137
+ this.textHidden = !this.textHidden;
3138
+ }, this.syncVisibleLastScroll = () => {
3139
+ var t, r;
3140
+ if (!this.visibleLastContentRef) return;
3141
+ const a = null !== (r = null === (t = this.inputField) || void 0 === t ? void 0 : t.scrollLeft) && void 0 !== r ? r : 0;
3142
+ this.visibleLastContentRef.style.setProperty("--tct-input-visible-last-count-scroll-left", `${a}px`);
3137
3143
  }, this.validateInput = () => {
3138
3144
  var t, r, a;
3139
3145
  return this.validity = null === (t = this.inputRef) || void 0 === t ? void 0 : t.validity,
@@ -3159,11 +3165,11 @@ const N = {
3159
3165
  this.manageClearableResizeObserver(this.clearable);
3160
3166
  }
3161
3167
  componentDidLoad() {
3162
- u(this.hostElement), this.pseudo || (this.inputField.value = this.formattedValueObject.formattedValue),
3168
+ l(this.hostElement), this.pseudo || (this.inputField.value = this.formattedValueObject.formattedValue),
3163
3169
  this.autofocus && this.inputField.focus(), this.initMutationObserver();
3164
3170
  }
3165
3171
  componentDidRender() {
3166
- this.scheduledAfterRender.forEach((t => t())), this.scheduledAfterRender = [];
3172
+ this.scheduledAfterRender.forEach((t => t())), this.scheduledAfterRender = [], this.syncVisibleLastScroll();
3167
3173
  }
3168
3174
  // #endregion
3169
3175
  // #region Listeners
@@ -3171,7 +3177,7 @@ const N = {
3171
3177
  t instanceof CustomEvent ? t.target !== this.hostElement || this.hostElement.onchange || (this.value = t.detail.value) : t.stopPropagation();
3172
3178
  }
3173
3179
  onHostElementFocus(t) {
3174
- l(t, this.hostElement) && this.inputField.focus();
3180
+ u(t, this.hostElement) && this.inputField.focus();
3175
3181
  }
3176
3182
  // #endregion
3177
3183
  // #region Public Methods API
@@ -3207,7 +3213,7 @@ const N = {
3207
3213
  updateComboboxAriaLabel() {
3208
3214
  // Set aria-label directly on host for combobox role
3209
3215
  // (can't use ariaLabel prop as it has deprecated handling that hides the label)
3210
- "combobox" === this._role && this.label && this.hostElement.setAttribute("aria-label", s(this.label));
3216
+ "combobox" === this._role && this.label && this.hostElement.setAttribute("aria-label", o(this.label));
3211
3217
  }
3212
3218
  ariaLabelObserver() {
3213
3219
  // Skip deprecated ariaLabel handling for combobox role
@@ -3238,6 +3244,11 @@ const N = {
3238
3244
  hintsObserver() {
3239
3245
  this.hasFocus && this.scheduledAfterRender.push((() => c(this)));
3240
3246
  }
3247
+ textHiddenObserver() {
3248
+ this.textHidden ? this.scheduleVisibleLastScrollSync() : this.scheduledAfterRender.push((() => {
3249
+ this.inputField.value = this.formattedValueObject.formattedValue;
3250
+ }));
3251
+ }
3241
3252
  typeObserver() {
3242
3253
  this.formatAndUpdateValueFromProp();
3243
3254
  }
@@ -3277,25 +3288,46 @@ const N = {
3277
3288
  if (!this.formattedValueObject.prefix) return "search" === this.type ? "search" : this.formattedValueObject.leftIcon ? this.formattedValueObject.leftIcon : this.iconLeft;
3278
3289
  }
3279
3290
  get computedType() {
3280
- return [ "password", "text", "ssn" ].includes(this.type) && this.textHidden ? "password" : this.type && N[this.type] || "text";
3291
+ return this.textHidden && ([ "password", "text", "ssn", "tin" ].includes(this.type) || void 0 !== this.normalizedVisibleLastCount) ? "password" : this.type && N[this.type] || "text";
3292
+ }
3293
+ get currencyCode() {
3294
+ if ("currency" !== this.type) return;
3295
+ const t = void 0 === this.formatModifier ? "USD" : this.formatModifier || "", r = t.includes("-integer") ? t.split("-integer")[0] : t;
3296
+ return y[r] ? r : void 0;
3297
+ }
3298
+ get currencyDescription() {
3299
+ const t = this.currencyCode;
3300
+ if (t) try {
3301
+ const r = document.documentElement.lang || "en-US";
3302
+ return new Intl.DisplayNames(r, {
3303
+ type: "currency"
3304
+ }).of(t) || t;
3305
+ } catch (r) {
3306
+ return t;
3307
+ }
3308
+ }
3309
+ get currencyDescriptionId() {
3310
+ return `${this.inputId}-currency-description`;
3281
3311
  }
3282
3312
  get hasCustomDisplaySlot() {
3283
- return m(this.hostElement, "custom-display");
3313
+ return h(this.hostElement, "custom-display");
3284
3314
  }
3285
3315
  get hasError() {
3286
3316
  return Array.isArray(this.errors) && this.errors.length > 0;
3287
3317
  }
3288
3318
  get hasInputLeftSlot() {
3289
- return m(this.hostElement, "input-left");
3319
+ return h(this.hostElement, "input-left");
3290
3320
  }
3291
3321
  get hasInputRightSlot() {
3292
- return m(this.hostElement, "input-right");
3322
+ return h(this.hostElement, "input-right");
3293
3323
  }
3294
3324
  get hasValidState() {
3295
3325
  return this.valid && !this.hasError;
3296
3326
  }
3297
3327
  get inputDescribedBy() {
3298
- return this.showMessages || this.hasError ? `${this.inputId}-description` : void 0;
3328
+ const t = [];
3329
+ return this.currencyDescription && t.push(this.currencyDescriptionId), this._ariaDescription && t.push(`${this.inputId}-aria-description`),
3330
+ (this.showMessages || this.hasError) && t.push(`${this.inputId}-description`), t.length ? t.join(" ") : void 0;
3299
3331
  }
3300
3332
  get inputField() {
3301
3333
  return this.hostElement.shadowRoot.querySelector(".input-field");
@@ -3317,9 +3349,42 @@ const N = {
3317
3349
  get isMaskedType() {
3318
3350
  return [ "currency", "phone", "ssn", "tin", "alphanumeric", "alpha", "numeric", "percentage", "postal", "date", "credit-card", "cif", "routingnumber", "swift", "iban", "clabe" ].includes(this.type);
3319
3351
  }
3352
+ get maskedDisplayParts() {
3353
+ var t, r;
3354
+ if (!this.textHidden) return {
3355
+ maskedCharacters: [],
3356
+ visibleValue: ""
3357
+ };
3358
+ const a = this.normalizedVisibleLastCount, i = null !== (r = null === (t = this.formattedValueObject) || void 0 === t ? void 0 : t.formattedValue) && void 0 !== r ? r : "";
3359
+ if (void 0 === a || !i) return {
3360
+ maskedCharacters: [],
3361
+ visibleValue: ""
3362
+ };
3363
+ const e = Array.from(i);
3364
+ if (a >= e.length) return {
3365
+ maskedCharacters: [],
3366
+ visibleValue: i
3367
+ };
3368
+ const s = e.length - a;
3369
+ return {
3370
+ maskedCharacters: e.slice(0, s),
3371
+ visibleValue: e.slice(s).join("")
3372
+ };
3373
+ }
3374
+ get maskedDisplayValue() {
3375
+ const {maskedCharacters: t, visibleValue: r} = this.maskedDisplayParts;
3376
+ return `${"*".repeat(t.length)}${r}`;
3377
+ }
3320
3378
  get messages() {
3321
3379
  return this.errors && this.errors.length > 0 && this.errors || this.hints && this.hints.length > 0 && this.hints || [];
3322
3380
  }
3381
+ get normalizedVisibleLastCount() {
3382
+ if ([ "currency", "password", "date" ].includes(this.type)) return;
3383
+ const t = this.visibleLastCount;
3384
+ if (null == t || "" === t) return;
3385
+ const r = Number(t);
3386
+ return !Number.isFinite(r) || r < 0 ? void 0 : Math.floor(r);
3387
+ }
3323
3388
  get shouldCursorStartAtEnd() {
3324
3389
  return "currency" === this.type;
3325
3390
  }
@@ -3332,6 +3397,9 @@ const N = {
3332
3397
  get showMessages() {
3333
3398
  return this.messages.length > 0 && !this.hideMessages;
3334
3399
  }
3400
+ get showVisibilityToggleButton() {
3401
+ return this.showVisibilityToggle && ([ "password", "text", "ssn", "tin" ].includes(this.type) || void 0 !== this.normalizedVisibleLastCount);
3402
+ }
3335
3403
  get stringValue() {
3336
3404
  return "[object Object]" === Object.prototype.toString.call(this.value) ? "" : this.value && String(this.value) || "";
3337
3405
  }
@@ -3339,7 +3407,7 @@ const N = {
3339
3407
  return "tecton.element.input.toggleAriaLabel." + (this.textHidden ? "show" : "hide");
3340
3408
  }
3341
3409
  get visibilityToggleText() {
3342
- return s("tecton.element.input.toggle." + (this.textHidden ? "show" : "hide"));
3410
+ return o("tecton.element.input.toggle." + (this.textHidden ? "show" : "hide"));
3343
3411
  }
3344
3412
  get wrapperClasses() {
3345
3413
  const t = [ "field-container" ];
@@ -3353,18 +3421,18 @@ const N = {
3353
3421
  }
3354
3422
  calculateCursorPositionOnFocus() {
3355
3423
  var t, r, a;
3356
- 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;
3424
+ 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;
3357
3425
  return {
3358
- startingPosition: null !== (a = null == e ? void 0 : e.selectionStart) && void 0 !== a ? a : i,
3359
- valueLength: i,
3360
- previousValueLength: i,
3426
+ startingPosition: null !== (a = null == i ? void 0 : i.selectionStart) && void 0 !== a ? a : e,
3427
+ valueLength: e,
3428
+ previousValueLength: e,
3361
3429
  hasSelection: window.getSelection().toString().length > 0
3362
3430
  };
3363
3431
  }
3364
3432
  calculateCursorPositionOnInput() {
3365
- const t = this.inputField, r = this.formattedValueObject.formattedValue.length, a = t.value.length, e = "currency" === this.type ? r : 0;
3433
+ const t = this.inputField, r = this.formattedValueObject.formattedValue.length, a = t.value.length, i = "currency" === this.type ? r : 0;
3366
3434
  return {
3367
- startingPosition: t && t.selectionStart || e,
3435
+ startingPosition: t && t.selectionStart || i,
3368
3436
  valueLength: r,
3369
3437
  previousValueLength: t && a,
3370
3438
  hasSelection: !1
@@ -3411,13 +3479,13 @@ const N = {
3411
3479
  if (this.textSelectedForDeletion) return void (this.textSelectedForDeletion = !1);
3412
3480
  // We only care about "Backspace" and "Delete" events
3413
3481
  if (![ "deleteContentBackward", "deleteContentForward" ].includes(t.inputType)) return;
3414
- const r = t.target, a = r.selectionStart, {formattedValue: e} = this.formattedValueObject;
3482
+ const r = t.target, a = r.selectionStart, {formattedValue: i} = this.formattedValueObject;
3415
3483
  if (null === a) return;
3416
- let i;
3484
+ let e;
3417
3485
  switch (t.inputType) {
3418
3486
  case "deleteContentBackward":
3419
- const t = e.substring(0, a + 1), r = /[a-zA-Z0-9]$/.test(t);
3420
- i = {
3487
+ const t = i.substring(0, a + 1), r = /[a-zA-Z0-9]$/.test(t);
3488
+ e = {
3421
3489
  leftIndex: r ? a : a - 1,
3422
3490
  rightIndex: r ? a + 1 : a,
3423
3491
  afterCursorOffset: 0,
@@ -3426,10 +3494,10 @@ const N = {
3426
3494
  break;
3427
3495
 
3428
3496
  case "deleteContentForward":
3429
- const o = e.substring(a), s = /^[a-zA-Z0-9]/.test(o);
3430
- i = {
3431
- leftIndex: s ? a : a + 1,
3432
- rightIndex: s ? a + 1 : a + 2,
3497
+ const s = i.substring(a), o = /^[a-zA-Z0-9]/.test(s);
3498
+ e = {
3499
+ leftIndex: o ? a : a + 1,
3500
+ rightIndex: o ? a + 1 : a + 2,
3433
3501
  afterCursorOffset: 1,
3434
3502
  newCursorOffset: 0
3435
3503
  };
@@ -3439,10 +3507,10 @@ const N = {
3439
3507
  return;
3440
3508
  }
3441
3509
  // Ensure the cursor doesn't move with a newly formatted value
3442
- 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);
3510
+ 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);
3443
3511
  r.value = n, r.setSelectionRange(p, p),
3444
3512
  // This handles a runtime issue when a character is deleted from the beginning of the input
3445
- 0 === p && h((() => r.setSelectionRange(p, p)));
3513
+ 0 === p && m((() => r.setSelectionRange(p, p)));
3446
3514
  }
3447
3515
  handleDataInput(t) {
3448
3516
  void 0 === this.maxlength || t.unformattedValue.length <= this.maxlength || t.unformattedValue.length <= this.formattedValueObject.unformattedValue.length ? this.formattedValueObject = t : this.maxlength && (t = this.getFormattedValue(t.unformattedValue.substring(0, this.maxlength), !1),
@@ -3452,17 +3520,20 @@ const N = {
3452
3520
  const {inputField: t} = this;
3453
3521
  t.selectionStart = t.selectionEnd = t.value.length;
3454
3522
  }
3523
+ scheduleVisibleLastScrollSync() {
3524
+ this.maskedDisplayValue && m(this.syncVisibleLastScroll);
3525
+ }
3455
3526
  setCursorPosition(t) {
3456
3527
  if (this.canSetSelection && !t.hasSelection) {
3457
- const r = this.inputField, {valueLength: a, previousValueLength: e, startingPosition: i} = t;
3458
- if ("currency" === this.type) if (e - a == 1) r.setSelectionRange(i - 1, i - 1); else {
3459
- const t = e - a;
3460
- r.setSelectionRange(i - t, i - t);
3528
+ const r = this.inputField, {valueLength: a, previousValueLength: i, startingPosition: e} = t;
3529
+ if ("currency" === this.type) if (i - a == 1) r.setSelectionRange(e - 1, e - 1); else {
3530
+ const t = i - a;
3531
+ r.setSelectionRange(e - t, e - t);
3461
3532
  }
3462
3533
  if ("currency" !== this.type) {
3463
- const t = a - e, o = i + (t > 0 ? t : 0);
3534
+ const t = a - i, s = e + (t > 0 ? t : 0);
3464
3535
  // Never allow the cursor to move in reverse
3465
- r.setSelectionRange(o, o);
3536
+ r.setSelectionRange(s, s);
3466
3537
  }
3467
3538
  }
3468
3539
  }
@@ -3484,7 +3555,8 @@ const N = {
3484
3555
  }, r("div", {
3485
3556
  class: "input-icons-container-left"
3486
3557
  }, this.formattedValueObject.prefix && r("div", {
3487
- class: "input-prefix"
3558
+ class: "input-prefix",
3559
+ "aria-hidden": "currency" === this.type ? "true" : void 0
3488
3560
  }, this.formattedValueObject.prefix), this.computedIconLeft && r("div", null, r("q2-icon", {
3489
3561
  type: this.computedIconLeft,
3490
3562
  class: this.computedClassForIconLeft
@@ -3510,7 +3582,7 @@ const N = {
3510
3582
  class: "input-icons-container-right"
3511
3583
  }, r("q2-btn", {
3512
3584
  class: this.clearClasses.join(" "),
3513
- label: s("tecton.element.input.clear", [ this.label ]),
3585
+ label: o("tecton.element.input.clear", [ this.label ]),
3514
3586
  hideLabel: !0,
3515
3587
  "test-id": "clearButton",
3516
3588
  onMouseDown: t => t.preventDefault(),
@@ -3519,16 +3591,17 @@ const N = {
3519
3591
  }, r("q2-icon", {
3520
3592
  type: "close",
3521
3593
  class: "icon-clear"
3522
- })), [ "password", "text", "ssn", "tin" ].includes(this.type) && this.showVisibilityToggle && r("q2-btn", {
3594
+ })), this.showVisibilityToggleButton && r("q2-btn", {
3523
3595
  class: "btn-visibility-toggle",
3524
3596
  "test-id": "toggleVisibilityButton",
3525
3597
  onClick: this.onToggleVisibility,
3526
- label: s(this.visibilityToggleAriaLabel, {
3598
+ label: o(this.visibilityToggleAriaLabel, {
3527
3599
  label: this.label
3528
3600
  }),
3529
3601
  "hide-label": !0
3530
3602
  }, this.visibilityToggleText), this.formattedValueObject.suffix && r("span", {
3531
- class: "input-suffix"
3603
+ class: "input-suffix",
3604
+ "aria-hidden": "currency" === this.type ? "true" : void 0
3532
3605
  }, this.formattedValueObject.suffix), this.badgeValue && r("q2-badge", {
3533
3606
  size: "large",
3534
3607
  theme: this.badgeTheme
@@ -3551,10 +3624,13 @@ const N = {
3551
3624
  class: "icon-right"
3552
3625
  })), a && r("slot", {
3553
3626
  name: "input-right"
3554
- })));
3627
+ })), this.currencyDescription && r("span", {
3628
+ id: this.currencyDescriptionId,
3629
+ class: "sr"
3630
+ }, this.currencyDescription));
3555
3631
  }
3556
3632
  renderPseudoInputDOM() {
3557
- const t = !this.value && !!this.placeholder, {ariaOwns: a, ariaHaspopup: e, ariaExpanded: i, ariaActivedescendant: o} = this.ariaAttributes;
3633
+ const t = !this.value && !!this.placeholder, {ariaOwns: a, ariaHaspopup: i, ariaExpanded: e, ariaActivedescendant: s} = this.ariaAttributes;
3558
3634
  return r("div", {
3559
3635
  class: "pseudo-input-container"
3560
3636
  }, r("button", {
@@ -3564,9 +3640,9 @@ const N = {
3564
3640
  "aria-describedby": this.inputDescribedBy,
3565
3641
  "aria-invalid": `${this.hasError}`,
3566
3642
  "aria-owns": a,
3567
- "aria-haspopup": e,
3568
- "aria-expanded": i,
3569
- "aria-activedescendant": o,
3643
+ "aria-haspopup": i,
3644
+ "aria-expanded": e,
3645
+ "aria-activedescendant": s,
3570
3646
  role: this.role || void 0,
3571
3647
  disabled: !!this.disabled,
3572
3648
  "test-id": "q2InputInnerClearButton",
@@ -3578,15 +3654,31 @@ const N = {
3578
3654
  name: "custom-display"
3579
3655
  }, r("span", {
3580
3656
  class: t ? "placeholder-text" : ""
3581
- }, s(t ? this.placeholder : this.value))))));
3657
+ }, o(t ? this.placeholder : this.value))))));
3582
3658
  }
3583
3659
  renderStandardInputDOM() {
3584
- const {hasCustomDisplaySlot: t} = this, a = [ "input-field" ], {ariaOwns: e, ariaHaspopup: o, ariaActivedescendant: n, ariaExpanded: p} = this.ariaAttributes;
3585
- return t && a.push("sr"), r(i, null, t && r("div", {
3660
+ const {hasCustomDisplaySlot: t} = this, a = [ "input-field" ], {ariaOwns: i, ariaHaspopup: s, ariaActivedescendant: n, ariaExpanded: p} = this.ariaAttributes, {maskedCharacters: c, visibleValue: d} = this.maskedDisplayParts;
3661
+ return t && a.push("sr"), this.maskedDisplayValue && a.push("has-visible-last-count"),
3662
+ r(e, null, t && r("div", {
3586
3663
  class: "custom-display-container"
3587
3664
  }, r("slot", {
3588
3665
  name: "custom-display"
3589
- })), r("input", {
3666
+ })), r("div", {
3667
+ class: "standard-input-container"
3668
+ }, this.maskedDisplayValue && r("span", {
3669
+ class: "visible-last-count-value",
3670
+ "aria-hidden": "true"
3671
+ }, r("span", {
3672
+ ref: t => this.visibleLastContentRef = t,
3673
+ class: "visible-last-count-content"
3674
+ }, c.map((t => r("span", {
3675
+ class: "visible-last-count-character",
3676
+ "data-character": t
3677
+ }, r("span", {
3678
+ class: "visible-last-count-mask"
3679
+ }, "*")))), r("span", {
3680
+ class: "visible-last-count-visible-value"
3681
+ }, d))), r("input", {
3590
3682
  ref: t => this.inputRef = t,
3591
3683
  class: a.join(" "),
3592
3684
  id: this.inputId,
@@ -3600,8 +3692,8 @@ const N = {
3600
3692
  "aria-describedby": this.inputDescribedBy,
3601
3693
  "aria-required": `${!this.optional}`,
3602
3694
  "aria-invalid": `${this.hasError}`,
3603
- "aria-owns": e,
3604
- "aria-haspopup": o,
3695
+ "aria-owns": i,
3696
+ "aria-haspopup": s,
3605
3697
  "aria-activedescendant": n,
3606
3698
  "aria-expanded": p || void 0,
3607
3699
  role: this._role || void 0,
@@ -3609,7 +3701,7 @@ const N = {
3609
3701
  autocapitalize: this.autocapitalize,
3610
3702
  autocorrect: "on" === this.autocorrect ? "on" : "off",
3611
3703
  autofocus: this.autofocus,
3612
- placeholder: this.placeholder && s(this.placeholder) || void 0,
3704
+ placeholder: this.placeholder && o(this.placeholder) || void 0,
3613
3705
  "test-id": "inputField",
3614
3706
  readonly: this.readonly || this._preventEntry,
3615
3707
  disabled: !!this.disabled,
@@ -3619,23 +3711,28 @@ const N = {
3619
3711
  onKeyDown: this.onInputKeydown,
3620
3712
  onMouseDown: this.onInputMousedown,
3621
3713
  onInput: this.onInputInput,
3714
+ onScroll: this.onInputScroll,
3622
3715
  onPaste: this.onInputPaste,
3623
3716
  inputmode: this.inputMode,
3624
3717
  pattern: this.pattern || void 0
3625
- }));
3718
+ })));
3626
3719
  }
3627
3720
  render() {
3628
3721
  const {ariaControls: t, ariaExpanded: a} = this.ariaAttributes;
3629
- return r(o, {
3630
- key: "877bcbc79e4891cab10a027fd4d53cab9852779e",
3722
+ return r(s, {
3723
+ key: "aea772f2158fa032157fcbb26bb49a97dc2e5a1b",
3631
3724
  role: this._role,
3632
3725
  "aria-controls": t,
3633
3726
  "aria-expanded": a
3634
3727
  }, r("div", {
3635
- key: "0150e85d50d8c69dc16a50fc900cdc78729fc6ec",
3728
+ key: "6b0cdf179216c359cb2db01176f563d77c19780e",
3636
3729
  class: this.wrapperClasses
3637
- }, r("div", {
3638
- key: "6fef0d2a694ef81a7967fd86365a64237ea29d96",
3730
+ }, this._ariaDescription && r("span", {
3731
+ key: "816be1dac83810f66ee0204a5be1a8421833e20b",
3732
+ id: `${this.inputId}-aria-description`,
3733
+ class: "sr"
3734
+ }, this._ariaDescription), r("div", {
3735
+ key: "1e4fd3b4bbe5103b7bad2af07ebfecb36c3d1743",
3639
3736
  class: "label-wrapper"
3640
3737
  }, x(this), this.renderCountDOM()), this.renderInputContainerDOM(), v(this)));
3641
3738
  }
@@ -3668,6 +3765,9 @@ const N = {
3668
3765
  hints: [ {
3669
3766
  hintsObserver: 0
3670
3767
  } ],
3768
+ textHidden: [ {
3769
+ textHiddenObserver: 0
3770
+ } ],
3671
3771
  type: [ {
3672
3772
  typeObserver: 0
3673
3773
  } ],
@@ -3678,6 +3778,6 @@ const N = {
3678
3778
  }
3679
3779
  };
3680
3780
 
3681
- I.style = '*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@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)))))}';
3781
+ I.style = '*{box-sizing:border-box}*:active{outline:none}*:focus-visible{outline:none;box-shadow:var(--const-double-focus-ring, 0 0 0 2px #ffffff, 0 0 0 4px #0066cc)}:host{box-shadow:none !important}::-moz-focus-inner{border:none}input,textarea,button{font-family:inherit;font-size:inherit;font-stretch:inherit}:host(.sr),:host(.sr) button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.sr,.sr button{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none}:host([hidden]){display:none}.invisible{visibility:hidden}@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)))))}';
3682
3782
 
3683
3783
  export { g as q2_badge, I as q2_input }